projects/guix·blob kernel-updates · refs

504 lines · 19.9 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2024 Artyom V. Poptsov <[email protected]>
3;;; Copyright © 2024-2025 Sharlatan Hellseher <[email protected]>
4;;; Copyright © 2025 Vasilii Smirnov <[email protected]>
5;;;
6;;; This file is part of GNU Guix.
7;;;
8;;; GNU Guix is free software; you can redistribute it and/or modify it
9;;; under the terms of the GNU General Public License as published by
10;;; the Free Software Foundation; either version 3 of the License, or (at
11;;; your option) any later version.
12;;;
13;;; GNU Guix is distributed in the hope that it will be useful, but
14;;; WITHOUT ANY WARRANTY; without even the implied warranty of
15;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16;;; GNU General Public License for more details.
17;;;
18;;; You should have received a copy of the GNU General Public License
19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20
21(define-module (gnu packages specifications)
22 #:use-module ((guix licenses) #:prefix license:)
23 #:use-module (guix gexp)
24 #:use-module (guix utils)
25 #:use-module (guix download)
26 #:use-module (guix git-download)
27 #:use-module (guix packages)
28 #:use-module (guix build-system copy))
29
30(define-public specification-astropy-data
31 (package
32 (name "specification-astropy-data")
33 ;; XXX: There are no release or tags, total size is about 403MiB, where we
34 ;; need some portion of it e.g. coordinates/sites.json.
35 (properties '((commit . "7db2a3fef77343cc3007d25c79fcc905b48dc96d")
36 (revision . "3")))
37 (version (git-version "0.0.0"
38 (assoc-ref properties 'revision)
39 (assoc-ref properties 'commit)))
40 (source
41 (origin
42 (method git-fetch)
43 (uri (git-reference
44 (url "https://github.com/astropy/astropy-data")
45 (commit (assoc-ref properties 'commit))))
46 (file-name (git-file-name name version))
47 (sha256
48 (base32 "0wl2mxyv974q7si33irl6jvfd432ymnbrsxyrz9xvczlvn87f67b"))
49 (modules '((guix build utils)))
50 (snippet
51 ;; XXX: Keep just some portion with valulable data and no license
52 ;; issues.
53 #~(delete-all-but "."
54 "allsky" "coordinates" "galactic_center" "l1448"))))
55 (build-system copy-build-system)
56 (arguments
57 (list
58 #:install-plan
59 #~'(("allsky" "share/allsky")
60 ("coordinates" "share/coordinates")
61 ("galactic_center" "share/galactic_center")
62 ("l1448" "share/l1448"))))
63 (home-page "https://github.com/astropy/astropy-data")
64 (synopsis "Astropy Data Source")
65 (description
66 "This package provides the source for the @url{http://data.astropy.org/,
67Astropy Data Server}.
68
69@itemize
70@item coordinates/sietes.json - stores the online site registry used by
71@code{astropy.coordinates.EarthLocation}
72
73@item allsky/allsky_rosat.fits -
74@url{http://heasarc.gsfc.nasa.gov/docs/rosat/rass.html, ROSAT} Soft X-ray
75Diffuse Background in the 3/4 keV band, in an Aitoff projection
76
77@item allsky/ligo_simulated.fits.gz -
78@url{http://www.ligo.org/scientists/first2years/, All-sky posterior map} in
79HEALPIX format for a simulated event observed by the Advanced Laser
80Interferometer Gravitational-wave Observatory (aLIGO).
81
82@item galactic_center/gc_2mass_k.fits -
83@url{http://irsa.ipac.caltech.edu/Missions/2mass.html, 2MASS} K-band image
84towards the Galactic Center
85
86@item galactic_center/gc_msx_e.fits -
87@url{http://irsa.ipac.caltech.edu/Missions/msx.html, MSX} E-band (21.34
88microns) image towards the Galactic Center
89
90@item galactic_center/gc_bolocam_gps.fits -
91@url{http://milkyway.colorado.edu/bgps/, Bolocam} 1.1mm image towards the
92Galactic Center
93
94@item l1448/l1448_13co.fits - 13CO spectral cube of the L1448 star-formation
95region
96@end itemize")
97 ;; XXX: No licenses are provided, use the same as Astropy.
98 (license license:bsd-3)))
99
100(define-public specification-ip2asn-v6
101 (package
102 (name "specification-ip2asn-v6")
103 (version "20240820024646")
104 (source
105 (origin
106 (method url-fetch)
107 ;; Upstream updates the file too often without any versioning provided,
108 ;; use archived variant.
109 (uri (string-append "https://web.archive.org/web/" version
110 "/https://iptoasn.com/data/ip2asn-v6.tsv.gz"))
111 (sha256
112 (base32 "1n2l0s6vg7v0nxprhi0gkrbqrjq5q91gra15bp2lr7p5kwki52xf"))))
113 (build-system copy-build-system)
114 (arguments
115 '(#:install-plan '(("ip2asn-v6.tsv" "share/data/"))))
116 (home-page "https://iptoasn.com")
117 (synopsis "Free IP address to ASN database")
118 (description
119 "This package provides a collection of IPv6 addresses to
120@acronym{Autonomous system, ASN}, a self-hosted API is available from
121@url{https://github.com/jedisct1/iptoasn-webservice}.")
122 ;; It's a TSV plain text file, distributed under Public Domain
123 ;; Dedication license
124 ;; <https://opendatacommons.org/licenses/pddl/1.0/>.
125 (license license:public-domain)))
126
127(define-public specification-ipld
128 (let ((commit "84a5cc6c168314a26be0d447c26fe76e46ce2a42")
129 (revision "0"))
130 (package
131 (name "specification-ipld")
132 (version (git-version "0.0.0" revision commit))
133 (source
134 (origin
135 (method git-fetch)
136 (uri (git-reference
137 (url "https://github.com/ipld/ipld")
138 (commit commit)))
139 (file-name (git-file-name name version))
140 (sha256
141 (base32 "0avgjp4hjkh4jmsxx09vnwi74rax6409k28h29jwfl95v42h6yyl"))))
142 (build-system copy-build-system)
143 (arguments
144 '(#:install-plan '(("./specs/schemas" "share/ipld/specs/"))
145 #:phases (modify-phases %standard-phases
146 (delete 'strip))))
147 (home-page "https://ipld.io/")
148 (synopsis "InterPlanetary Linked Data")
149 (description
150 "This package provides specification schemas of
151@acronym{InterPlanetary Linked Data, IPLD} which may be used for the test
152suites of application implementing the standard.")
153 ;; This library is dual-licensed under either of Apache 2.0 or MIT
154 ;; terms.
155 (license (list license:expat license:asl2.0)))))
156
157(define-public specification-json-schema-test-suite
158 (package
159 (name "specification-json-schema-test-suite")
160 ;; XXX: Upstream did not place any fresh tags since 2023, use the commit
161 ;; which is compatible with go-github-com-santhosh-tekuri-jsonschema-v6.
162 (properties '((commit . "83e866b46c9f9e7082fd51e83a61c5f2145a1ab7")
163 (revision . "0")))
164 (version (git-version "23.1.0"
165 (assoc-ref properties 'revision)
166 (assoc-ref properties 'commit)))
167 (source
168 (origin
169 (method git-fetch)
170 (uri (git-reference
171 (url "https://github.com/json-schema-org/JSON-Schema-Test-Suite")
172 (commit (assoc-ref properties 'commit))))
173 (file-name (git-file-name name version))
174 (sha256
175 (base32 "0fgp1rfxh8rp39i3sn8gbps3v1s892j4x37xggsqn1rva2rnh9kx"))))
176 (build-system copy-build-system)
177 (arguments
178 '(#:install-plan '(("./tests" "share/tests")
179 ("./remotes" "share/remotes"))))
180 (home-page "https://github.com/json-schema-org/JSON-Schema-Test-Suite")
181 (synopsis "Language agnostic test suite for the JSON Schema specifications")
182 (description
183 "This package provides a set of JSON objects that implementers of JSON
184Schema validation libraries can use to test their validators.
185
186It is meant to be language agnostic and should require only a JSON parser.
187The conversion of the JSON objects into tests within a specific language and
188test framework of choice is left to be done by the validator implementer.")
189 (license license:expat)))
190
191(define-public specification-iris-test-data
192 (package
193 (name "specification-iris-test-data")
194 (version "2.28")
195 (source
196 (origin
197 (method git-fetch)
198 (uri (git-reference
199 (url "https://github.com/SciTools/iris-test-data")
200 (commit (string-append "v" version))))
201 (file-name (git-file-name name version))
202 (sha256
203 (base32 "11pfd7jrmznvgcwwr4nfyd9w1rfx377svzlfzalbdcv7rhg2pcfx"))))
204 (build-system copy-build-system)
205 (arguments
206 '(#:install-plan '(("INDEX.md" "share/iris/")
207 ("test_data" "share/iris/")
208 ("version.txt" "share/iris/"))))
209 (home-page "https://scitools.org.uk/iris/docs/latest/")
210 (synopsis "Data and specs for Iris' tests")
211 (description
212 "This package provides a full Iris test data, it's artificially created
213data.")
214 (license license:ogl-psi1.0)))
215
216(define-public specification-multibase
217 (let ((commit "4c8344e37852773de155f587dcf5897771b3fc19")
218 (revision "1"))
219 (package
220 (name "specification-multibase")
221 (version (git-version "0.0.0" revision commit))
222 (source
223 (origin
224 (method git-fetch)
225 (uri (git-reference
226 (url "https://github.com/multiformats/multibase")
227 (commit commit)))
228 (file-name (git-file-name name version))
229 (sha256
230 (base32 "0lz4kdysa6nx7wf1i59647w7dgm344xpvfnsac3pfk2qdky2kq8b"))))
231 (build-system copy-build-system)
232 (arguments
233 '(#:install-plan
234 '(("." "share/multibase/"))))
235 (home-page "https://github.com/multiformats/multibase")
236 (synopsis "Self identifying base encodings")
237 (description
238 "Multibase is a protocol for disambiguating the encoding of
239base-encoded (e.g., @code{base32}, @code{base36}, @code{base64}, @code{base58}, etc.)
240binary appearing in text.")
241 (license (list license:expat license:cc-by-sa3.0)))))
242
243(define-public specification-multicodec
244 (let ((commit "36789e0856be22fa02f4dc55582ec670b2b4318b")
245 (revision "0"))
246 (package
247 (name "specification-multicodec")
248 (version (git-version "0.0.0" revision commit))
249 (source
250 (origin
251 (method git-fetch)
252 (uri (git-reference
253 (url "https://github.com/multiformats/multicodec")
254 (commit commit)))
255 (file-name (git-file-name name version))
256 (sha256
257 (base32 "0dyawicg8q4f8g6xj5bsj5l3c8rb8mrafjkrabc6a3p65845wp2r"))))
258 (build-system copy-build-system)
259 (arguments
260 '(#:install-plan '(("." "share/multicodec/"))
261 #:phases (modify-phases %standard-phases
262 (delete 'strip))))
263 (home-page "https://github.com/multiformats/multicodec")
264 (synopsis "Compact self-describing codecs")
265 (description
266 "Multicodec is an agreed-upon codec table. It is designed for use in binary
267representations, such as keys or identifiers (i.e @url{https://github.com/ipld/cid,
268CID}).")
269 (license (list license:expat license:cc-by-sa3.0)))))
270
271(define-public specification-multihash
272 (let ((commit "931febb97565395b1b6cd39ac677799df265a9e7")
273 (revision "0"))
274 (package
275 (name "specification-multihash")
276 (version (git-version "0.0.0" revision commit))
277 (source
278 (origin
279 (method git-fetch)
280 (uri (git-reference
281 (url "https://github.com/multiformats/multihash")
282 (commit commit)))
283 (file-name (git-file-name name version))
284 (sha256
285 (base32 "1axr35z3iz061fng0170bh873vy20rj2mspznycxm1qkrkrh7p5j"))))
286 (build-system copy-build-system)
287 (arguments
288 '(#:install-plan '(("." "share/multihash/"))
289 #:phases (modify-phases %standard-phases
290 (delete 'strip))))
291 (home-page "https://github.com/multiformats/multihash")
292 (synopsis "Self-describing hashes")
293 (description
294 "Multihash is a protocol for differentiating outputs from various
295well-established cryptographic hash functions, addressing size + encoding
296considerations.")
297 (license (list license:expat license:cc-by-sa3.0)))))
298
299(define-public specification-qifs
300 (let ((commit "da52cd936b3e34dac7ac12aa8066fc57676af106")
301 (revision "0"))
302 (package
303 (name "specification-qifs")
304 (version (git-version "0.0.0" revision commit))
305 (source
306 (origin
307 (method git-fetch)
308 (uri (git-reference
309 (url "https://github.com/qpackers/qifs")
310 (commit commit)))
311 (file-name (git-file-name name version))
312 (sha256
313 (base32 "08vb4j2id12hhkksn2q9b7v91jxhkhl84i947inflqmlmpzday8h"))))
314 (build-system copy-build-system)
315 (arguments
316 (list
317 #:install-plan
318 #~'(("./encoded" "share/encoded")
319 ("./qifs" "share/qifs"))))
320 (home-page "https://opencontainers.org/")
321 (synopsis "QIF corpus for QPACK encoder and decoder development")
322 (description
323 "This this package provides
324@url{https://en.wikipedia.org/wiki/Quicken_Interchange_Format, QIF}s
325specifications used in QPACK development and interop experiments. A QPACK
326encoder uses a QIF file as input. QIF files are stored in @code{qifs/}
327directory. A QPACK encoder produces a file whose format is described in
328@url{https://github.com/quicwg/base-drafts/wiki/QPACK-Offline-Interop, QPACK
329Offline Interop}. Outputs produced by various encoders are stored in
330@code{encoded/} directory.")
331 (license license:expat))))
332
333(define-public specification-referencing-suite
334 (package
335 (name "specification-referencing-suite")
336 (version "2025.1.1")
337 (source
338 (origin
339 (method git-fetch)
340 (uri (git-reference
341 (url "https://github.com/python-jsonschema/referencing-suite")
342 (commit (string-append "v" version))))
343 (file-name (git-file-name name version))
344 (sha256
345 (base32 "128ffd1waks07i9qhv6qqhdrhjj2lgwykfca8jm78szkh7kmblwq"))))
346 (build-system copy-build-system)
347 (arguments
348 (list
349 #:install-plan
350 #~'(("./tests" "share/tests"))))
351 (home-page "https://github.com/python-jsonschema/referencing-suite")
352 (synopsis "Language agnostic test suite for the referencing specifications")
353 (description
354 "This package contains a set of JSON objects that implementers of JSON
355referencing specifications can use to test their implementations.
356
357It is meant to be language agnostic and should require only a JSON parser.
358The conversion of the JSON objects into tests within a specific language and
359test framework of choice is left to be done by the implementer.")
360 (license license:expat)))
361
362(define-public specification-runtime-spec
363 (package
364 (name "specification-runtime-spec")
365 (version "1.3.0")
366 (source
367 (origin
368 (method git-fetch)
369 (uri (git-reference
370 (url "https://github.com/opencontainers/runtime-spec")
371 (commit (string-append "v" version))))
372 (file-name (git-file-name name version))
373 (sha256
374 (base32 "0vih1hp1jlmp1m476cgj3afaqrpd8gid6h73yp5r0qalb7n0ar07"))))
375 (build-system copy-build-system)
376 (outputs '("out" "golang-src"))
377 (arguments
378 (list
379 #:install-plan
380 #~'(("./schema" "share/runtime-spec/schema")
381 ("." "share/doc/" #:include-regexp ("\\.md$")))
382 #:phases
383 #~(modify-phases %standard-phases
384 (add-after 'install 'copy-src
385 (lambda _
386 (copy-recursively "specs-go"
387 (string-append #$output:golang-src
388 "/src/github.com"
389 "/opencontainers/runtime-spec/specs-go")))))))
390 (home-page "https://opencontainers.org/")
391 (synopsis "OCI Runtime Specification")
392 (description
393 "The Open Container Initiative develops specifications for standards on
394Operating System process and application containers. This package provides
395documentation, schemas and source of Golang module.")
396 (license license:asl2.0)))
397
398(define-public specification-specreduce-data
399 (let ((commit "dcba1c601348ee3a5797ae2d84a068d83393058e")
400 (revision "0"))
401 (package
402 (name "specification-specreduce-data")
403 (version (git-version "0.0.0" revision commit))
404 (source
405 (origin
406 (method git-fetch)
407 (uri (git-reference
408 (url "https://github.com/astropy/specreduce-data")
409 (commit commit)))
410 (file-name (git-file-name name version))
411 (sha256
412 (base32 "1c6mrjfykkfbbyg489h7czr65nz6bcb3gszz5xa2cg2ccs00m8ii"))))
413 (build-system copy-build-system)
414 (arguments
415 '(#:install-plan '(("specreduce_data/" "share/specreduce_data//"))
416 #:phases (modify-phases %standard-phases
417 (delete 'strip))))
418 (home-page "https://specreduce.readthedocs.io/")
419 (synopsis "Reference and calibration data for the reducing optical/IR spectra")
420 (description
421 "This package provides a general reference and calibration data for
422spectroscopic data reduction (e.g. standard star spectra, atmospheric
423extinction curves, line lists for calibration lamps).")
424 (license license:bsd-3))))
425
426(define-public specification-ybsc
427 (package
428 (name "specification-ybsc")
429 (version "5")
430 (source
431 (origin
432 (method url-fetch)
433 (uri (string-append "http://tdc-www.harvard.edu/catalogs/ybsc" version
434 ".gz"))
435 (sha256
436 (base32 "1vbvxhw1i3h2r61zgqy7hpwpa4pmc0jh6mknridvx3xyj0g4pi1x"))))
437 (build-system copy-build-system)
438 (arguments
439 (list
440 #:install-plan #~'(("ybsc5" "share/ybsc5"))
441 #:phases
442 #~(modify-phases %standard-phases
443 (add-after 'install 'install-documentation
444 (lambda _
445 (let ((doc (string-append #$output "/share/doc")))
446 (mkdir-p doc)
447 (with-directory-excursion doc
448 (copy-file
449 #+(origin
450 (method url-fetch)
451 (uri (string-append
452 "http://tdc-www.harvard.edu/catalogs/ybsc"
453 (package-version this-package) ".readme"))
454 (sha256
455 (base32
456 "0vki8cjwgwdfck43sbmm5d8qlk7sag6s2vqq8gp5z29nrpa0j93d")))
457 "README")
458 (copy-file
459 #+(origin
460 (method url-fetch)
461 (uri (string-append
462 "http://tdc-www.harvard.edu/catalogs/ybsc"
463 (package-version this-package) ".notes.gz"))
464 (sha256
465 (base32
466 "018lvy24pzf3ifq7dkryjnz2ny46311g4dnfifpv0rddmv7di2fl")))
467 "notes.gz")
468 (system* "gunzip" "notes.gz"))))))))
469 (home-page "http://tdc-www.harvard.edu/catalogs/bsc5.html")
470 (synopsis "Yale Bright Star Catalogue")
471 (description
472 "This package provides an ASCII version of @acronym{Yale Bright Star
473Catalogue, @url{https://en.wikipedia.org/wiki/Bright_Star_Catalogue, YBSC}}
474catalog which is a widely used source of basic astronomical and astrophysical
475data for stars brighter than magnitude 6.5. It provides 9110 stars including
476B1950 positions, proper motions, magnitudes, and, usually, spectral types.")
477 (license license:public-domain)))
478
479(define-public specification-yaml-test-suite
480 (package
481 (name "specification-yaml-test-suite")
482 (version "2022-01-17")
483 (source
484 (origin
485 (method git-fetch)
486 (uri (git-reference
487 (url "https://github.com/yaml/yaml-test-suite")
488 (commit (string-append "data-" version))))
489 (file-name (git-file-name name version))
490 (sha256
491 (base32 "00xcny67bp56xkvz4iq6d2prvj9p48z7r705xrw49invvgyp4wnd"))))
492 (build-system copy-build-system)
493 (arguments
494 (list
495 ;; TODO: Test data files are pure YAML files and generated from the main
496 ;; branch, see Makefile. Try to re-generate them during the packaging.
497 #:install-plan
498 #~'(("./" "share/testdata"))))
499 (home-page "https://github.com/yaml/yaml-test-suite")
500 (synopsis "Comprehensive, language independent Test Suite for YAML")
501 (description
502 "This package provides data for testing the correctness of YAML processors
503developed by @url{https://yaml.org/}.")
504 (license license:expat)))