diff options
Diffstat (limited to 'software.sxml')
| -rw-r--r-- | software.sxml | 226 |
1 files changed, 1 insertions, 225 deletions
diff --git a/software.sxml b/software.sxml index cc6a308..9942eb7 100644 --- a/software.sxml +++ b/software.sxml | |||
| @@ -1,228 +1,4 @@ | |||
| 1 | (use-modules (ice-9 match) | 1 | (include "projects.scm") |
| 2 | (srfi srfi-9) | ||
| 3 | (srfi srfi-69) | ||
| 4 | (haunt utils)) | ||
| 5 | |||
| 6 | (define-record-type <project> | ||
| 7 | (project id name url logo members) | ||
| 8 | project? | ||
| 9 | (id project-id) | ||
| 10 | (name project-name) | ||
| 11 | (url project-url) | ||
| 12 | (logo project-logo) | ||
| 13 | (members project-members set-project-members!)) | ||
| 14 | |||
| 15 | (define-record-type <person> | ||
| 16 | (make-person name url avatar) | ||
| 17 | person? | ||
| 18 | (name person-name) | ||
| 19 | (url person-url) | ||
| 20 | (avatar person-avatar)) | ||
| 21 | |||
| 22 | (define* (person name #:optional url avatar) | ||
| 23 | (make-person name url avatar)) | ||
| 24 | |||
| 25 | (define %projects | ||
| 26 | (let ((table (make-hash-table)) | ||
| 27 | (placeholder-logo "/static/images/logos/placeholder.svg")) | ||
| 28 | (for-each | ||
| 29 | (match-lambda | ||
| 30 | ((id name url logo) | ||
| 31 | (hash-table-set! table id | ||
| 32 | (project id name url logo (list)))) | ||
| 33 | ((id name url) | ||
| 34 | (hash-table-set! table id | ||
| 35 | (project id name url placeholder-logo (list))))) | ||
| 36 | '((8sync | ||
| 37 | "8sync" | ||
| 38 | "https://www.gnu.org/software/8sync/" | ||
| 39 | "/static/images/logos/8sync.png") | ||
| 40 | (adns | ||
| 41 | "GNU adns" | ||
| 42 | "https://www.gnu.org/software/adns/") | ||
| 43 | (archimedes | ||
| 44 | "GNU Archimedes" | ||
| 45 | "https://www.gnu.org/software/archimedes/") | ||
| 46 | (binutils | ||
| 47 | "binutils" | ||
| 48 | "https://www.gnu.org/software/binutils/") | ||
| 49 | (classpath | ||
| 50 | "GNU Classpath" | ||
| 51 | "https://www.gnu.org/software/classpath/") | ||
| 52 | (dominion | ||
| 53 | "GNU Dominion" | ||
| 54 | "https://savannah.gnu.org/projects/dominion") | ||
| 55 | (gcc | ||
| 56 | "GNU Compiler Collection (GCC)" | ||
| 57 | "https://gcc.gnu.org" | ||
| 58 | "/static/images/logos/gcc.png") | ||
| 59 | (gdb | ||
| 60 | "GDB" | ||
| 61 | "https://www.gnu.org/software/gdb/" | ||
| 62 | "/static/images/logos/gdb.svg") | ||
| 63 | (glibc | ||
| 64 | "GNU C Library" | ||
| 65 | "https://www.gnu.org/software/libc/" | ||
| 66 | "/static/images/logos/glibc.jpg") | ||
| 67 | (gneural | ||
| 68 | "GNU Gneural Network" | ||
| 69 | "https://www.gnu.org/software/gneuralnetwork/" | ||
| 70 | "/static/images/logos/gneural_network.png") | ||
| 71 | (gnucobol | ||
| 72 | "GnuCOBOL" | ||
| 73 | "https://gnucobol.sourceforge.io/" | ||
| 74 | "/static/images/logos/gnucobol.png") | ||
| 75 | (gnupg | ||
| 76 | "GnuPG" | ||
| 77 | "https://gnupg.org" | ||
| 78 | "/static/images/logos/gnupg.png") | ||
| 79 | (gsl | ||
| 80 | "GNU Scientific Library" | ||
| 81 | "https://www.gnu.org/software/gsl/") | ||
| 82 | (guile | ||
| 83 | "GNU Guile" | ||
| 84 | "https://www.gnu.org/software/guile/" | ||
| 85 | "/static/images/logos/guile.svg") | ||
| 86 | (guile-debbugs | ||
| 87 | "Guile-Debbugs" | ||
| 88 | "https://savannah.gnu.org/projects/guile-debbugs/" | ||
| 89 | "/static/images/logos/guile.svg") | ||
| 90 | (guile-gnome | ||
| 91 | "Guile-GNOME" | ||
| 92 | "https://www.gnu.org/software/guile-gnome/" | ||
| 93 | "/static/images/logos/guile.svg") | ||
| 94 | (guile-opengl | ||
| 95 | "Guile-OpenGL" | ||
| 96 | "https://www.gnu.org/software/guile-opengl/" | ||
| 97 | "/static/images/logos/guile.svg") | ||
| 98 | (guile-rpc | ||
| 99 | "GNU Guile-RPC" | ||
| 100 | "https://www.gnu.org/software/guile-rpc/" | ||
| 101 | "/static/images/logos/guile.svg") | ||
| 102 | (guix | ||
| 103 | "GNU Guix" | ||
| 104 | "https://guix.gnu.org" | ||
| 105 | "/static/images/logos/guix.png") | ||
| 106 | (gwl | ||
| 107 | "Guix Workflow Language" | ||
| 108 | "https://guixwl.org" | ||
| 109 | "/static/images/logos/gwl.png") | ||
| 110 | (hurd | ||
| 111 | "GNU Hurd" | ||
| 112 | "https://hurd.gnu.org" | ||
| 113 | "/static/images/logos/hurd.png") | ||
| 114 | (indent | ||
| 115 | "GNU indent" | ||
| 116 | "https://www.gnu.org/software/indent/") | ||
| 117 | (libgcrypt | ||
| 118 | "GNU Libgcrypt" | ||
| 119 | "https://gnupg.org/related_software/libgcrypt/" | ||
| 120 | "/static/images/logos/gnupg.png") | ||
| 121 | (libtasn1 | ||
| 122 | "GNU Libtasn1" | ||
| 123 | "https://www.gnu.org/software/libtasn1/") | ||
| 124 | (lilypond | ||
| 125 | "GNU LilyPond" | ||
| 126 | "https://lilypond.org/" | ||
| 127 | "/static/images/logos/lilypond.png") | ||
| 128 | (liquid-war-6 | ||
| 129 | "Liquid War 6" | ||
| 130 | "https://www.gnu.org/software/liquidwar6/") | ||
| 131 | (mcsim | ||
| 132 | "GNU MCSim" | ||
| 133 | "https://www.gnu.org/software/mcsim/" | ||
| 134 | "/static/images/logos/mcsim.png") | ||
| 135 | (mediagoblin | ||
| 136 | "GNU MediaGoblin" | ||
| 137 | "https://mediagoblin.org/" | ||
| 138 | "/static/images/logos/mediagoblin.svg") | ||
| 139 | (mes | ||
| 140 | "GNU Mes" | ||
| 141 | "https://www.gnu.org/software/mes/") | ||
| 142 | (mpc | ||
| 143 | "GNU MPC" | ||
| 144 | "http://www.multiprecision.org/mpc/") | ||
| 145 | (nano-archimedes | ||
| 146 | "GNU Nano-Archimedes" | ||
| 147 | "https://www.gnu.org/software/archimedes/") | ||
| 148 | (shepherd | ||
| 149 | "GNU Shepherd" | ||
| 150 | "https://www.gnu.org/software/shepherd/") | ||
| 151 | (source-highlight | ||
| 152 | "GNU Source Highlight" | ||
| 153 | "https://www.gnu.org/software/src-highlite/") | ||
| 154 | (userv | ||
| 155 | "GNU userv" | ||
| 156 | "https://www.gnu.org/software/userv/"))) | ||
| 157 | table)) | ||
| 158 | |||
| 159 | (define-syntax-rule (define-member person projects ...) | ||
| 160 | (let ((p person)) | ||
| 161 | (for-each (lambda (project-id) | ||
| 162 | (let ((project | ||
| 163 | (hash-table-ref %projects project-id | ||
| 164 | (lambda () | ||
| 165 | (error (format #false | ||
| 166 | "Unknown project ~a for ~a~%" | ||
| 167 | project-id name)))))) | ||
| 168 | (set-project-members! | ||
| 169 | project (cons p (project-members project))))) | ||
| 170 | (quote (projects ...))))) | ||
| 171 | |||
| 172 | (define-member (person "Carlos O'Donell") | ||
| 173 | glibc gcc) | ||
| 174 | (define-member (person "Mark J. Wielaard" | ||
| 175 | "https://gnu.wildebeest.org/blog/mjw/") | ||
| 176 | classpath gcc glibc) | ||
| 177 | (define-member (person "Andy Wingo" | ||
| 178 | "https://wingolog.org") | ||
| 179 | guile guile-gnome guile-opengl) | ||
| 180 | (define-member (person "Ludovic Courtès" | ||
| 181 | "https://people.bordeaux.inria.fr/lcourtes/") | ||
| 182 | guix guile shepherd guile-rpc) | ||
| 183 | (define-member (person "Frederic Y. Bois") | ||
| 184 | mcsim) | ||
| 185 | (define-member (person "Andrej Shadura") | ||
| 186 | indent) | ||
| 187 | (define-member (person "Werner Koch") | ||
| 188 | gnupg libgcrypt) | ||
| 189 | (define-member (person "Mark Galassi") | ||
| 190 | gsl dominion) | ||
| 191 | (define-member (person "Jean Michel Sellier") | ||
| 192 | archimedes nano-archimedes gneural) | ||
| 193 | (define-member (person "Christopher Webber" | ||
| 194 | "https://dustycloud.org") | ||
| 195 | 8sync mediagoblin) | ||
| 196 | (define-member (person "Ian Jackson") | ||
| 197 | adns userv) | ||
| 198 | (define-member (person "Samuel Thibault") | ||
| 199 | hurd) | ||
| 200 | (define-member (person "Jan Nieuwenhuizen") | ||
| 201 | mes lilypond) | ||
| 202 | (define-member (person "Christian Mauduit") | ||
| 203 | liquid-war-6) | ||
| 204 | (define-member (person "Nikos Mavrogiannopoulos") | ||
| 205 | libtasn1) | ||
| 206 | (define-member (person "Andreas Enge") | ||
| 207 | mpc) | ||
| 208 | (define-member (person "Han-Wen Nienhuys") | ||
| 209 | lilypond) | ||
| 210 | (define-member (person "Tobias Geerinckx-Rice") | ||
| 211 | guix) | ||
| 212 | (define-member (person "Bernard Giroud") | ||
| 213 | gnucobol) | ||
| 214 | (define-member (person "Tom Tromey") | ||
| 215 | source-highlight) | ||
| 216 | (define-member (person "Jeff Law") | ||
| 217 | gcc) | ||
| 218 | (define-member (person "David Malcolm") | ||
| 219 | gcc) | ||
| 220 | (define-member (person "Ricardo Wurmus" | ||
| 221 | "https://elephly.net") | ||
| 222 | guix gwl guile-debbugs) | ||
| 223 | (define-member (person "Marius Bakke") | ||
| 224 | guix) | ||
| 225 | |||
| 226 | 2 | ||
| 227 | `((title . "Software") | 3 | `((title . "Software") |
| 228 | (author . "The GNU Assembly") | 4 | (author . "The GNU Assembly") |