diff options
author | Ludovic Courtès <ludo@gnu.org> | 2021-04-14 23:17:37 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2021-04-14 23:39:24 +0200 |
commit | 09e3c8bff91e9af7dbce3ecc7e585e1df7c0c0ae (patch) | |
tree | 57dc825895961255b3c76fb1aba9cd2ba67fbf86 | |
parent | software: Guarantee person pointer identity (!). (diff) |
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.
-rw-r--r-- | haunt.scm | 2 | ||||
-rw-r--r-- | index.md | 2 | ||||
-rw-r--r-- | people.sxml | 49 | ||||
-rw-r--r-- | posts/kickoff.md | 2 | ||||
-rw-r--r-- | projects.scm | 224 | ||||
-rw-r--r-- | software.sxml | 226 |
6 files changed, 278 insertions, 227 deletions
@@ -160,6 +160,8 @@ representation." | |||
160 | 160 | ||
161 | (sxml-page "/en/software/index.html" | 161 | (sxml-page "/en/software/index.html" |
162 | "software.sxml") | 162 | "software.sxml") |
163 | (sxml-page "/en/people/index.html" | ||
164 | "people.sxml") | ||
163 | (markdown-page "/en/documents/index.html" | 165 | (markdown-page "/en/documents/index.html" |
164 | "documents.md") | 166 | "documents.md") |
165 | (markdown-page "/en/contribute/index.html" | 167 | (markdown-page "/en/contribute/index.html" |
@@ -7,7 +7,7 @@ frontpage: yes | |||
7 | Here’s what “GNU” means to us: | 7 | Here’s what “GNU” means to us: |
8 | 8 | ||
9 | - Gathering under a New Umbrella — | 9 | - Gathering under a New Umbrella — |
10 | [We](https://wiki.gnu.tools/gnu:social-contract-endorsement), | 10 | [We](/en/people), |
11 | maintainers and contributors of [well-known free software | 11 | maintainers and contributors of [well-known free software |
12 | projects](/en/software) are making this place our new home, fighting | 12 | projects](/en/software) are making this place our new home, fighting |
13 | for the freedom of computer users and hacking the good hack. | 13 | for the freedom of computer users and hacking the good hack. |
diff --git a/people.sxml b/people.sxml new file mode 100644 index 0000000..e9ab88b --- /dev/null +++ b/people.sxml | |||
@@ -0,0 +1,49 @@ | |||
1 | (use-modules (srfi srfi-1)) | ||
2 | |||
3 | (include "projects.scm") | ||
4 | |||
5 | (define %members | ||
6 | ;; List of member/projects tuples. | ||
7 | (let ((table (make-hash-table eq? hashq))) | ||
8 | (hash-table-fold %projects | ||
9 | (lambda (key project lst) | ||
10 | (for-each (lambda (member) | ||
11 | (let ((projects (hash-table-ref/default | ||
12 | table member '()))) | ||
13 | (hash-table-set! table member | ||
14 | (cons project | ||
15 | projects)))) | ||
16 | (project-members project))) | ||
17 | '()) | ||
18 | (sort (delete-duplicates | ||
19 | (hash-table-fold table alist-cons '())) | ||
20 | (match-lambda* | ||
21 | (((member1 . _) (member2 . _)) | ||
22 | (string<? (person-name member1) | ||
23 | (person-name member2))))))) | ||
24 | |||
25 | `((title . "Software") | ||
26 | (author . "The GNU Assembly") | ||
27 | (date . ,(string->date* "2021-04-14 23:00")) | ||
28 | |||
29 | (content | ||
30 | ((h2 "People") | ||
31 | (p "The following maintainers and contributors participate in " | ||
32 | "the GNU Assembly and have endorsed the " | ||
33 | (a (@ (href "/en/documents/social-contract")) | ||
34 | "Social Contract") ":") | ||
35 | |||
36 | (ul ;; (@ (class "projects")) | ||
37 | ,@(map (match-lambda | ||
38 | ((person projects ...) | ||
39 | `(li (@ (class "person")) | ||
40 | ,(let ((home-page (person-url person))) | ||
41 | (if home-page | ||
42 | `(a (@ (href ,home-page)) | ||
43 | ,(person-name person)) | ||
44 | (person-name person))) | ||
45 | " (" | ||
46 | ,(string-join (map project-name projects) | ||
47 | ", ") | ||
48 | ")"))) | ||
49 | %members))))) | ||
diff --git a/posts/kickoff.md b/posts/kickoff.md index 8fa1d15..869475c 100644 --- a/posts/kickoff.md +++ b/posts/kickoff.md | |||
@@ -75,6 +75,6 @@ list](https://lists.gnu.tools/hyperkitty/list/assembly@lists.gnu.tools/) | |||
75 | is where this group discusses its organization, including | 75 | is where this group discusses its organization, including |
76 | [governance](/en/documents/governance). | 76 | [governance](/en/documents/governance). |
77 | 77 | ||
78 | Currently, the GNU Assembly consists of maintainers and developers from | 78 | Currently, the GNU Assembly consists of [maintainers and developers](/en/people) from |
79 | about [30 packages](/en/software)—old and young, small and big. You too | 79 | about [30 packages](/en/software)—old and young, small and big. You too |
80 | can [join us](/en/contribute)! | 80 | can [join us](/en/contribute)! |
diff --git a/projects.scm b/projects.scm new file mode 100644 index 0000000..9551582 --- /dev/null +++ b/projects.scm | |||
@@ -0,0 +1,224 @@ | |||
1 | (use-modules (ice-9 match) | ||
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) | ||
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") |