From 09e3c8bff91e9af7dbce3ecc7e585e1df7c0c0ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 14 Apr 2021 23:17:37 +0200 Subject: Add /people. * projects.scm: New file, with code formerly... * software.sxml: ... here. Include it. * people.sxml: New file. * haunt.scm (static-pages): Add it. * posts/kickoff.md, index.md: Refer to it. --- software.sxml | 226 +--------------------------------------------------------- 1 file changed, 1 insertion(+), 225 deletions(-) (limited to 'software.sxml') diff --git a/software.sxml b/software.sxml index cc6a308..9942eb7 100644 --- a/software.sxml +++ b/software.sxml @@ -1,228 +1,4 @@ -(use-modules (ice-9 match) - (srfi srfi-9) - (srfi srfi-69) - (haunt utils)) - -(define-record-type - (project id name url logo members) - project? - (id project-id) - (name project-name) - (url project-url) - (logo project-logo) - (members project-members set-project-members!)) - -(define-record-type - (make-person name url avatar) - person? - (name person-name) - (url person-url) - (avatar person-avatar)) - -(define* (person name #:optional url avatar) - (make-person name url avatar)) - -(define %projects - (let ((table (make-hash-table)) - (placeholder-logo "/static/images/logos/placeholder.svg")) - (for-each - (match-lambda - ((id name url logo) - (hash-table-set! table id - (project id name url logo (list)))) - ((id name url) - (hash-table-set! table id - (project id name url placeholder-logo (list))))) - '((8sync - "8sync" - "https://www.gnu.org/software/8sync/" - "/static/images/logos/8sync.png") - (adns - "GNU adns" - "https://www.gnu.org/software/adns/") - (archimedes - "GNU Archimedes" - "https://www.gnu.org/software/archimedes/") - (binutils - "binutils" - "https://www.gnu.org/software/binutils/") - (classpath - "GNU Classpath" - "https://www.gnu.org/software/classpath/") - (dominion - "GNU Dominion" - "https://savannah.gnu.org/projects/dominion") - (gcc - "GNU Compiler Collection (GCC)" - "https://gcc.gnu.org" - "/static/images/logos/gcc.png") - (gdb - "GDB" - "https://www.gnu.org/software/gdb/" - "/static/images/logos/gdb.svg") - (glibc - "GNU C Library" - "https://www.gnu.org/software/libc/" - "/static/images/logos/glibc.jpg") - (gneural - "GNU Gneural Network" - "https://www.gnu.org/software/gneuralnetwork/" - "/static/images/logos/gneural_network.png") - (gnucobol - "GnuCOBOL" - "https://gnucobol.sourceforge.io/" - "/static/images/logos/gnucobol.png") - (gnupg - "GnuPG" - "https://gnupg.org" - "/static/images/logos/gnupg.png") - (gsl - "GNU Scientific Library" - "https://www.gnu.org/software/gsl/") - (guile - "GNU Guile" - "https://www.gnu.org/software/guile/" - "/static/images/logos/guile.svg") - (guile-debbugs - "Guile-Debbugs" - "https://savannah.gnu.org/projects/guile-debbugs/" - "/static/images/logos/guile.svg") - (guile-gnome - "Guile-GNOME" - "https://www.gnu.org/software/guile-gnome/" - "/static/images/logos/guile.svg") - (guile-opengl - "Guile-OpenGL" - "https://www.gnu.org/software/guile-opengl/" - "/static/images/logos/guile.svg") - (guile-rpc - "GNU Guile-RPC" - "https://www.gnu.org/software/guile-rpc/" - "/static/images/logos/guile.svg") - (guix - "GNU Guix" - "https://guix.gnu.org" - "/static/images/logos/guix.png") - (gwl - "Guix Workflow Language" - "https://guixwl.org" - "/static/images/logos/gwl.png") - (hurd - "GNU Hurd" - "https://hurd.gnu.org" - "/static/images/logos/hurd.png") - (indent - "GNU indent" - "https://www.gnu.org/software/indent/") - (libgcrypt - "GNU Libgcrypt" - "https://gnupg.org/related_software/libgcrypt/" - "/static/images/logos/gnupg.png") - (libtasn1 - "GNU Libtasn1" - "https://www.gnu.org/software/libtasn1/") - (lilypond - "GNU LilyPond" - "https://lilypond.org/" - "/static/images/logos/lilypond.png") - (liquid-war-6 - "Liquid War 6" - "https://www.gnu.org/software/liquidwar6/") - (mcsim - "GNU MCSim" - "https://www.gnu.org/software/mcsim/" - "/static/images/logos/mcsim.png") - (mediagoblin - "GNU MediaGoblin" - "https://mediagoblin.org/" - "/static/images/logos/mediagoblin.svg") - (mes - "GNU Mes" - "https://www.gnu.org/software/mes/") - (mpc - "GNU MPC" - "http://www.multiprecision.org/mpc/") - (nano-archimedes - "GNU Nano-Archimedes" - "https://www.gnu.org/software/archimedes/") - (shepherd - "GNU Shepherd" - "https://www.gnu.org/software/shepherd/") - (source-highlight - "GNU Source Highlight" - "https://www.gnu.org/software/src-highlite/") - (userv - "GNU userv" - "https://www.gnu.org/software/userv/"))) - table)) - -(define-syntax-rule (define-member person projects ...) - (let ((p person)) - (for-each (lambda (project-id) - (let ((project - (hash-table-ref %projects project-id - (lambda () - (error (format #false - "Unknown project ~a for ~a~%" - project-id name)))))) - (set-project-members! - project (cons p (project-members project))))) - (quote (projects ...))))) - -(define-member (person "Carlos O'Donell") - glibc gcc) -(define-member (person "Mark J. Wielaard" - "https://gnu.wildebeest.org/blog/mjw/") - classpath gcc glibc) -(define-member (person "Andy Wingo" - "https://wingolog.org") - guile guile-gnome guile-opengl) -(define-member (person "Ludovic Courtès" - "https://people.bordeaux.inria.fr/lcourtes/") - guix guile shepherd guile-rpc) -(define-member (person "Frederic Y. Bois") - mcsim) -(define-member (person "Andrej Shadura") - indent) -(define-member (person "Werner Koch") - gnupg libgcrypt) -(define-member (person "Mark Galassi") - gsl dominion) -(define-member (person "Jean Michel Sellier") - archimedes nano-archimedes gneural) -(define-member (person "Christopher Webber" - "https://dustycloud.org") - 8sync mediagoblin) -(define-member (person "Ian Jackson") - adns userv) -(define-member (person "Samuel Thibault") - hurd) -(define-member (person "Jan Nieuwenhuizen") - mes lilypond) -(define-member (person "Christian Mauduit") - liquid-war-6) -(define-member (person "Nikos Mavrogiannopoulos") - libtasn1) -(define-member (person "Andreas Enge") - mpc) -(define-member (person "Han-Wen Nienhuys") - lilypond) -(define-member (person "Tobias Geerinckx-Rice") - guix) -(define-member (person "Bernard Giroud") - gnucobol) -(define-member (person "Tom Tromey") - source-highlight) -(define-member (person "Jeff Law") - gcc) -(define-member (person "David Malcolm") - gcc) -(define-member (person "Ricardo Wurmus" - "https://elephly.net") - guix gwl guile-debbugs) -(define-member (person "Marius Bakke") - guix) - +(include "projects.scm") `((title . "Software") (author . "The GNU Assembly") -- cgit v1.2.1