Compare commits

...

45 commits

Author SHA1 Message Date
Foster Hangdaan
81c2963e07
gnu: endless-sky: Update to 0.10.16.
* gnu/packages/games.scm (endless-sky): Update to 0.10.16.
[inputs]: Add flac and libavif.

Change-Id: I461b27bf1507a41b37de5a30d53de66a5a106d1b
2026-01-24 16:29:53 +01:00
Yelninei
f0ab81c097
gnu: libgit2: Fix tests on 32bit systems.
This prevents a discrepancy between git_fs_path_lstat using different size
stat structs.

See https://github.com/libgit2/libgit2/issues/7169

* gnu/packages/version-control.scm (libgit2-1.9): Compile with
-D_FILE_OFFSET_BITS=64 on 32bit system.

Change-Id: Iab7df2c930b0fc0cb9030b754ad7b668d49a7034
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4860
2026-01-24 12:32:44 +01:00
Mathieu Lirzin
90defc6a0f
gnu: clojure-tools-deps-alpha: Update to 0.15.1254.
* gnu/packages/clojure.scm (clojure-tools-deps-alpha): Update to 0.15.1254.

Change-Id: I8a1564f67c9bf3a1e27e4294527f250503346c19
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #5162
2026-01-24 12:32:44 +01:00
Mathieu Lirzin
f816e9a6df
gnu: clojure-tools-cli: Update to 1.3.250.
* gnu/packages/clojure.scm (clojure-tools-cli): Update to 1.3.250.

Change-Id: I6de8f1fd991297158c3aa65ed8e8d5c1d120b13a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:43 +01:00
Mathieu Lirzin
91bf688f5a
gnu: clojure-tools-macro: Update to 0.2.2.
* gnu/packages/clojure.scm (clojure-tools-macro): Update to 0.2.2.

Change-Id: I2df68777bf9779cac3cd3679aea4cd19121ad48d
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:43 +01:00
Mathieu Lirzin
73fd3ad464
gnu: clojure-tools-analyzer-jvm: Update to 1.3.4.
* gnu/packages/clojure.scm (clojure-tools-analyzer-jvm): Update to 1.3.4.

Change-Id: I795b935ecd65aed05f538f53b5116d6d748da63a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:43 +01:00
Mathieu Lirzin
dc479ce1bf
gnu: clojure-tools-analyzer: Update to 1.2.1.
* gnu/packages/clojure.scm (clojure-tools-analyzer): Update to 1.2.1.

Change-Id: I2f523e4030d97b2d4834fb7afcaa7a2119f7f2f5
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:43 +01:00
Mathieu Lirzin
ea3317d9c2
gnu: clojure-data-xml: Update to 0.2.0-alpha10.
* gnu/packages/clojure.scm (clojure-data-xml): Update to 0.2.0-alpha10.

Change-Id: I64e9afa4f467684b296a5b01d6c215dc4722350e
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:43 +01:00
Mathieu Lirzin
57c927fafe
gnu: clojure-data-priority-map: Update to 1.2.1.
* gnu/packages/clojure.scm (clojure-data-priority-map): Update to 1.2.1.

Change-Id: I6ee17056c71cf3ae49987573ad966e5469c0fc61
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:43 +01:00
Mathieu Lirzin
8dc2387ec1
gnu: clojure-data-csv: Update to 1.1.1.
* gnu/packages/clojure.scm (clojure-data-csv): Update to 1.1.1.

Change-Id: Ibfa2778b67d88873697a405953b15ed473fa6551
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:43 +01:00
Mathieu Lirzin
e8a1e9a3a9
gnu: clojure-data-codec: Update to 0.2.1.
* gnu/packages/clojure.scm (clojure-data-codec): Update to 0.2.1.

Change-Id: I6d0117c30933a87b57e206a71f52a992194443e8
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:43 +01:00
Mathieu Lirzin
35d663e979
gnu: clojure-core-memoize: Update to 1.2.273.
* gnu/packages/clojure.scm (clojure-core-memoize): Update to 1.2.273.

Change-Id: I74f116c2395cd07dc0c0ca0536813ab42a513ef9
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:43 +01:00
Mathieu Lirzin
0487ac47e0
gnu: clojure-core-match: Update to 1.1.1.
* gnu/packages/clojure.scm (clojure-core-match): Update to 1.1.1.

Change-Id: Icd7d633cb696fe5cac004f1638d33e2a9fc46d7b
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:42 +01:00
Mathieu Lirzin
843aea279b
gnu: clojure-core-async: Update to 1.8.741.
* gnu/packages/clojure.scm (clojure-core-async): Update to 1.8.741.

Change-Id: I994d3e81d6ba08681cecd3d4e19a145637441411
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:42 +01:00
Mathieu Lirzin
036196369c
gnu: clojure-algo-monads: Update to 0.2.1.
* gnu/packages/clojure.scm (clojure-algo-monads): Update to 0.2.1.

Change-Id: I507ba0582b96ba9528c552f451a3bd7cd999d467
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:42 +01:00
Mathieu Lirzin
7b49734b71
gnu: clojure-tools-reader: Update to 1.6.0.
* gnu/packages/clojure.scm (clojure-tools-reader): Update to 1.6.0.

Change-Id: Ia76d47a38e52b52452e6d4320bc6dac631fa7c82
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:42 +01:00
Mathieu Lirzin
3db8e4262b
gnu: clojure-test-check: Update to 1.1.3.
* gnu/packages/clojure.scm (clojure-test-check): Update to 1.1.3.

Change-Id: Icbdd1c08031c4537cb88f7350dd96220ee739946
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:42 +01:00
Mathieu Lirzin
942ddefae2
gnu: clojure-tools-gitlibs: Update to 2.6.212.
* gnu/packages/clojure.scm (clojure-tools-gitlibs): Update to 2.6.212.

Change-Id: I5c88f2435568c5816f6f6c9d222b619c5d99cbf1
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:42 +01:00
Mathieu Lirzin
e0649603cc
gnu: clojure-tools-logging: Update to 1.3.1.
* gnu/packages/clojure.scm (clojure-tools-logging): Update to 1.3.1.

Change-Id: I04b5475a06ddc5ec385f00fa044880bac0e46618
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:42 +01:00
Mathieu Lirzin
e93da8693c
gnu: http-kit: Update to 2.8.1.
* gnu/packages/clojure.scm (http-kit): Update to 2.8.1.

Change-Id: I5c0a12457d4aab2c03dafe762c81d9c68911ea43
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:42 +01:00
Mathieu Lirzin
7b286b0809
gnu: clojure-data-json: Update to 2.5.2.
* gnu/packages/clojure.scm (clojure-data-json): Update to 2.5.2.

Change-Id: I92c1b67ccfbe2f11394e281465810444134bdef9
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:41 +01:00
Mathieu Lirzin
7155f4fd84
gnu: clojure-algo-generic: Update to 1.0.1.
* gnu/packages/clojure.scm (clojure-algo-generic): Update to 1.0.1.

Change-Id: I7b5d4367c66c994a6725071c52ae16d05a4e9fd4
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:41 +01:00
Mathieu Lirzin
5826939080
gnu: clojure-core-cache: Update to 1.2.249.
* gnu/packages/clojure.scm (clojure-core-cache): Update to 1.2.249.

Change-Id: I5ab6b0dcb3739707840489710c66842eda3aba34
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:41 +01:00
Mathieu Lirzin
08fd05112f
gnu: clojure: Reference existing packages.
* gnu/packages/clojure.scm (package-sources): New function.
(clojure): Use it.

Change-Id: I9085c122cc84242264a9b3028165af7e72379477
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:41 +01:00
Mathieu Lirzin
e7b7fa6390
gnu: Add clojure-test-generative.
* gnu/packages/clojure.scm (clojure-test-generative): New variable.

Change-Id: I4798cca783b6e0c81243a96224002de65839068a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:41 +01:00
Mathieu Lirzin
a179385712
gnu: Add clojure-tools-namespace.
* gnu/packages/clojure.scm (clojure-tools-namespace): New variable.

Change-Id: I00ff6953d976af7309dac518e362d6fa129ef3a8
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:41 +01:00
Mathieu Lirzin
f4c70e99f9
gnu: Add clojure-data-generators.
* gnu/packages/clojure.scm (clojure-data-generators): New variable.

Change-Id: I013e1a323681304d92e9e1ce5ffa4b9c8f6080cf
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:41 +01:00
Mathieu Lirzin
804ddea526
gnu: Add clojure-core-specs-alpha.
* gnu/packages/clojure.scm (clojure-core-specs-alpha): New variable.

Change-Id: Ib74130d977c4cc40038f3f44e10875d953915e1b
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:41 +01:00
Mathieu Lirzin
6e2cadbfa0
gnu: Add clojure-spec-alpha.
* gnu/packages/clojure.scm (clojure-spec-alpha): New variable.

Change-Id: Id7136fd6637e920a40af5f6628ec8537a1fd9f51
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:41 +01:00
Mathieu Lirzin
24facf1bbd
gnu: Add clojure-java-classpath.
* gnu/packages/clojure.scm (clojure-java-classpath): New variable.

Change-Id: I46e87f1e7b41c77d0a7097729fe29176545c7e86
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:40 +01:00
Mathieu Lirzin
63cc24336f
gnu: Add cognitect-aws-api.
* gnu/packages/clojure.scm (cognitect-aws-api): New variable.
(clojure-tools-deps): Use it.

Change-Id: I1df8d2c5fceed621c1fc1676c9f766d0ac488b04
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:40 +01:00
Mathieu Lirzin
483582fee1
gnu: clojure-tools: Add missing SLF4J logger implementation.
Previously the following warning was appearing when running some ‘clj’
commands:

  SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
  SLF4J: Defaulting to no-operation (NOP) logger implementation
  SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

* gnu/packages/clojure.scm (clojure-tools)[inputs]: Add java-slf4j-nop.

Change-Id: I80d3575a5b533dfd6a3d42d8846170c7ae1b2268
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:40 +01:00
Mathieu Lirzin
5e72dee586
gnu: clojure-tools-deps: Default to local clojure jar.
* gnu/packages/clojure.scm (clojure-tools-deps): Reference clojure input jar
in “deps.edn” resource.

Change-Id: I0404a922c2717fc1a8f869d070f34be8a73e87b5
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:40 +01:00
Mathieu Lirzin
0d5e2fd391
gnu: clojure-tools-deps: Update to 0.28.1569.
* gnu/packages/clojure.scm (clojure-tools-deps): Update to 0.28.1569 and lint.

Change-Id: I4a976d8a12b79b7147670d87799c31c4bc56f9dd
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:40 +01:00
Mathieu Lirzin
80b505325b
gnu: clojure-tools: Update to 1.12.4.1582.
* gnu/packages/clojure.scm (clojure-tools): Update to 1.12.4.1582.

Change-Id: I7debf934c114837dfc86d0a646231872a64f1fdf
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:40 +01:00
Mathieu Lirzin
6af15438ea
gnu: clojure: Update to 1.12.4.
* gnu/packages/clojure.scm (clojure): Update to 1.12.4 and lint.

Change-Id: I6c540ffe6fdce267e094f9f86c8b6a9d4a8efbc3
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:40 +01:00
Dariqq
602e7ad5b9
gnu: unity-test: Add option for supporting 64bit integers.
* gnu/packages/check.scm (unity-test): Add patch and enable 64bit integer
option.
* gnu/packages/patches/unity-test-support-int64.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register patch-

Change-Id: Ib432c9112c3476e03f7607259c2dfe00ef98a90c
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Fixes: guix/guix#5673
Merges: #5675
2026-01-24 12:32:40 +01:00
Andy Tai
b843a3f5d8
gnu: jaro: Set paths.
* gnu/packages/guile-xyz.scm (jaro)[arguments]: Add ‘set-paths’ phase.

Change-Id: I0a1fe4124d4458a1585816398f5362759784acea
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #1988
2026-01-24 12:32:39 +01:00
Dariqq
920043cf0e
build: test-driver.scm: Fix test-reporting with guile 3.0.11.
With srfi-64 from guile 3.0.11 the test name is no longer in the
test-result-alist.

* build-aux/test-driver.scm (test-runner-gnu): Use test-runner-test-name to
access test-name.

Change-Id: I53d0fdd8db0d1af5e636e3f2a68280cd2bddfe4c
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #5836
2026-01-24 12:32:39 +01:00
Luis Guilherme Coelho
3b8fb6de62
artwork: Update commit.
* gnu/artwork.scm (%artwork-repository): Update commit.

Change-Id: I1524126ac1daf9e8eab6c35695a9d786602c78f6
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #5528
2026-01-24 12:32:39 +01:00
Ludovic Courtès
6aa00f4084
gnu: ttf2pt1: Modernize.
* gnu/packages/fontutils.scm (ttf2pt1)[source, arguments]: Use gexps.

Change-Id: I1974419be8a95823e29c45bd4c25c16e099002e0
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #5826
2026-01-24 12:32:39 +01:00
Ludovic Courtès
37ef9fb544
gnu: ttf2pt1: Fix compilation with glibc 2.41.
* gnu/packages/fontutils.scm (ttf2pt1)[source]: Patch ‘t1asm.c’.

Change-Id: I2e91a15177d349dcf64aea571debc4ce6bf0e996
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-01-24 12:32:39 +01:00
Andreas Enge
55e0744ec8
gnu: gerbera: Update to 3.0.0.
* gnu/packages/upnp.scm (gerbera): Update to 3.0.0.
[inputs]: Add icu4c and jsoncpp. Replace spdlog-1.13 by spdlog.
[arguments]<#:phases>{patch}: New phase to enable installation of bash
completion file.

Change-Id: Ic8c58057ab018926eb414d2c0929e7a079bcbf1b
2026-01-24 12:06:09 +01:00
Cayetano Santos
b155bcbe4d
gnu: tree-sitter-vhdl: Update to 1.3.1.
Old alemuller repository seems abandon, whereas the newest jpt13653903
looks maintained and up to date.

We keep old one as alemuller is still required by emacs-vhdl-ts-mode.

* gnu/packages/tree-sitter.scm (tree-sitter-vhdl)[#:repository-url]:
Update.
[:get-cleanup-snippet]: Remove.
[:commit]: Remove.
(tree-sitter-vhdl-0): New variable.
* gnu/packages/emacs-xyz.scm (emacs-vhdl-ts-mode)[propagated-inputs]:
Remove tree-sitter-vhdl; add  tree-sitter-vhdl-0.

Merges guix/guix!5630

Change-Id: I514bf74b3a0fb6b9fa86e1277f23eb121059771c
2026-01-24 10:33:44 +01:00
Cayetano Santos
58a3cc8623
gnu: r-stringfish: Fix phases.
Dependency on ‘tbb-2020’ is removed during update to 0.18.0, see
adee931e79.

Merges guix/guix!5867

* gnu/packages/cran.scm (r-stringfish)[arguments]: Remove
’use-system-tbb #:phase.

Change-Id: Ia912c3dc7e39271d04cb7e1e681700ffb0c7dbae
2026-01-24 10:29:11 +01:00
14 changed files with 526 additions and 264 deletions

View file

@ -3,7 +3,7 @@ exec guile --no-auto-compile -e main -s "$0" "$@"
!#
;;;; test-driver.scm - Guile test driver for Automake testsuite harness
(define script-version "2023-12-08.14") ;UTC
(define script-version "2026-01-23.07") ;UTC
;;; Copyright © 2015, 2016 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2021 Maxim Cournoyer <maxim@guixotic.coop>
@ -151,7 +151,7 @@ cases based on their names."
(and show-duration? time-elapsed-seconds)))
(unless (and errors-only? (not (test-failed? runner)))
(format #t "test-name: ~A~%" (result 'test-name))
(format #t "test-name: ~A~%" (test-runner-test-name runner))
(format #t "location: ~A~%"
(string-append (result 'source-file) ":"
(number->string (result 'source-line))))

View file

@ -29,7 +29,7 @@
;;; Code:
(define %artwork-repository
(let ((commit "4c7f2ce6428a63e202cd2a9474a06f68a946934d"))
(let ((commit "08259679a0faef63e3ba169df5b937d836bd9262"))
(origin
(method git-fetch)
(uri (git-reference
@ -39,6 +39,6 @@
"-checkout"))
(sha256
(base32
"1rl569759q9wm1dxn7nkq3873d2k92giic7aa6jwzwr3n16prc7y")))))
"0anryix0y8w9brksiaz39r8c10vdd0fp4h96b9f3m4aw0xpv8xlf")))))
;;; artwork.scm ends here

View file

@ -2426,6 +2426,7 @@ dist_patch_DATA = \
%D%/packages/patches/uftrace-fix-tests.patch \
%D%/packages/patches/ultrastar-deluxe-no-freesans.patch \
%D%/packages/patches/unity-test-set-subdir-correctly.patch \
%D%/packages/patches/unity-test-support-int64.patch \
%D%/packages/patches/ungoogled-chromium-extension-search-path.patch \
%D%/packages/patches/ungoogled-chromium-RUNPATH.patch \
%D%/packages/patches/ungoogled-chromium-system-nspr.patch \

View file

@ -3410,11 +3410,13 @@ portable to just about any platform.")
(file-name (git-file-name name version))
(sha256
(base32 "1s0jj9f2zav49mn9ib90idcmb6hq93aczbqysn5hj6binjmrnjw3"))
(patches (search-patches "unity-test-set-subdir-correctly.patch"))))
(patches (search-patches "unity-test-set-subdir-correctly.patch"
"unity-test-support-int64.patch"))))
(build-system meson-build-system)
(arguments
(list #:configure-flags
#~(list "-Dsupport_double=true")
#~(list "-Dsupport_double=true"
"-Dsupport_int64=true")
#:phases
#~(modify-phases %standard-phases
(add-after 'patch-source-shebangs 'patch-more-shebangs

View file

@ -5,6 +5,7 @@
;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.com>
;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
;;; Copyright © 2025, 2026 Mathieu Lirzin <mthl@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -35,53 +36,232 @@
#:use-module (guix build-system clojure)
#:use-module (ice-9 match))
(define-public clojure
(let* ((lib (lambda (prefix version hash)
(origin (method url-fetch)
(uri (string-append "https://github.com/clojure/"
prefix version ".tar.gz"))
(sha256 (base32 hash)))))
;; The libraries below are needed to run the tests.
(libraries
`(("core-specs-alpha-src"
,(lib "core.specs.alpha/archive/v"
"0.4.74"
"1hgl3222381349s4w5bnz02gghxfc8jjsqxhrvgadvn8ybh3dcsp"))
("data-generators-src"
,(lib "data.generators/archive/data.generators-"
"1.0.0"
"0s3hf1njvs68b8igasikvzagzqxl0gbri7w2qhzsypkhfh60v2cp"))
("java-classpath-src"
,(lib "java.classpath/archive/java.classpath-"
"1.0.0"
"178zajjsc9phk5l61r8w9hcpk0wgc9a811pl7kjgvn7rg4l7fh7j"))
("spec-alpha-src"
,(lib "spec.alpha/archive/v"
"0.5.238"
"0h15q9cmxaa7l2pqwwcykfyql8vbw6ns2a4lqfchik1mpfpr9jrb"))
("test-check-src"
,(lib "test.check/archive/v"
"1.1.1"
"0kx8l79mhpnn94rpsgc7nac7gb222g7a47mzrycj8crfc54wf0c1"))
("test-generative-src"
,(lib "test.generative/archive/v"
"1.1.0"
"0sm3q4jkcn06b3r0m0p29z159zqc8jk3k02yz92xwvdbnywaqnfz"))
("tools-namespace-src"
,(lib "tools.namespace/archive/tools.namespace-"
"1.0.0"
"1ifpk93m33rj2xm1qnnninlsdvm1liqmsp9igr63pjjwwwjw1cnn"))
("tools-reader-src"
,(lib "tools.reader/archive/tools.reader-"
"1.3.2"
"1n4dhg61iyypnjbxmihhqjb7lfpc0lzfvlk4jd8w0yr6za414f3a"))))
(library-names (match libraries
(((library-name _) ...)
library-name))))
(define-public clojure-spec-alpha
(package
(name "clojure-spec-alpha")
(version "0.6.249")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/clojure/spec.alpha")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1rzy7mjzchsjpwkn3b5vg5hnmsj5h9ljxdjn48j92bgh7vl3k2r5"))))
(build-system clojure-build-system)
(arguments '(#:source-dirs '("src/main/clojure")
#:test-dirs '("src/test/clojure")
#:doc-dirs '()))
(native-inputs (list clojure-test-check))
(synopsis
"Clojure library to describe the structure of data and functions")
(description
"This package can be used to validate data, conform (destructure) data, explain
invalid data, generate examples that conform to the specs, and automatically
use generative testing to test functions.
Clojure depends on this library and provides it. Thus it is not recommended
to add a direct dependency on this package.")
(home-page "https://github.com/clojure/spec.alpha")
(license license:epl1.0)))
(define-public clojure-core-specs-alpha
(package
(name "clojure-core-specs-alpha")
(version "0.5.81")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/clojure/core.specs.alpha")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1hy060mb2hxirynkk36plx1rvpj6i2ldn8mvnwfd02wvjvh57dad"))))
(build-system clojure-build-system)
(arguments '(#:source-dirs '("src/main/clojure")
#:test-dirs '()
#:doc-dirs '()))
(synopsis "Describe clojure.core macros and functions")
(description
"This package contains specs to describe Clojure core macros and functions.
Clojure depends on this library and provides it. Thus it is not recommended
to add a direct dependency on this package.")
(home-page "https://github.com/clojure/core.specs.alpha")
(license license:epl1.0)))
(define-public clojure-java-classpath
(package
(name "clojure-java-classpath")
(version "1.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/clojure/java.classpath")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1k34yrx3gmvf46984zdgn2vb98ixf47q1vgh9p78bgmpyhrwzx2z"))))
(build-system clojure-build-system)
(arguments '(#:source-dirs '("src/main/clojure")
#:test-dirs '("src/test/clojure")
#:doc-dirs '()))
(synopsis "Examine the Java classpath from Clojure programs")
(description
"This package provides utilities for dealing with the JVM's classpath from
Clojure.")
(home-page "https://github.com/clojure/java.classpath")
(license license:epl1.0)))
(define-public clojure-data-generators
(package
(name "clojure-data-generators")
(version "1.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/clojure/data.generators")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1ynazp55v15zv5jwz1wh2p8cawjcmn0bwzgfs2dwrp6aq231jafm"))))
(build-system clojure-build-system)
(arguments '(#:source-dirs '("src/main/clojure")
#:test-dirs '("src/test/clojure")
#:doc-dirs '()))
(synopsis "Generators for random Clojure data")
(description
"This package contains various functions to generate random clojure data.")
(home-page "https://github.com/clojure/data.generators")
(license license:epl1.0)))
(define-public clojure-tools-namespace
(package
(name "clojure-tools-namespace")
(version "1.5.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/clojure/tools.namespace")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0j1lz3xnpgvyi0mcg9mjz7hrchf3hwhbhxi2163d739dxdx60s22"))))
(build-system clojure-build-system)
(arguments '(#:source-dirs '("src/main/clojure")
#:test-dirs '("src/test/clojure")
#:doc-dirs '()))
(propagated-inputs (list clojure-java-classpath
clojure-tools-reader))
(synopsis "Tools for managing namespaces in Clojure")
(description
"This package parses ns declarations from source files, extract their
dependencies, build a graph of namespace dependencies within a project, update
that graph as files change, and reload files in the correct order.
This is only about namespace dependencies within a single project. It has
nothing to do with Leiningen, Maven, JAR files, or repositories.")
(home-page "https://github.com/clojure/tools.namespace")
(license license:epl1.0)))
(define-public clojure-test-generative
(package
(name "clojure-test-generative")
(version "1.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/clojure/test.generative")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0lb72cr4s6rgpg18v3jr67ps6wx4p7j7mfzwnfgmm0v8rldlcycf"))))
(build-system clojure-build-system)
(arguments '(#:source-dirs '("src/main/clojure")
#:test-dirs '("src/examples/clojure")
#:doc-dirs '()))
(propagated-inputs (list clojure-tools-namespace
clojure-data-generators))
(synopsis "Generative test runner")
(description
"This package defines generators functions and property based testing macros.")
(home-page "https://github.com/clojure/test.generative")
(license license:epl1.0)))
(define-public clojure-test-check
(package
(name "clojure-test-check")
(version "1.1.3")
(home-page "https://github.com/clojure/test.check")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1j1x80rv0pli3g91wy01panlqbhgf7zqm7jdr2rzjqf2yyksc70n"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
#:test-dirs '("src/test/clojure")
#:doc-dirs '()))
(synopsis "QuickCheck for Clojure")
(description "@code{test.check} is a Clojure property-based testing tool
inspired by QuickCheck. The core idea of @code{test.check} is that instead of
enumerating expected input and output for unit tests, you write properties
about your function that should hold true for all inputs. This lets you write
concise, powerful tests.")
(license license:epl1.0)))
(define-public clojure-tools-reader
(package
(name "clojure-tools-reader")
(version "1.6.0")
(home-page "https://github.com/clojure/tools.reader")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"006zy7dpk678rzawqyqcypccw48bl4b9s4xjrwzhgq8z5s8v6lnd"))))
(build-system clojure-build-system)
(arguments
'(#:doc-dirs '()
#:source-dirs '("src/main/clojure")
#:test-dirs '("src/test/clojure")
#:test-exclude '(clojure.tools.common-tests))) ; Loaded by other tests.
(synopsis "Clojure reader written in Clojure")
(description "The clojure.tools.reader library offers all functionality
provided by the Clojure Core reader and more. It adds metadata such as column
and line numbers not only to lists, but also to symbols, vectors and maps.")
(license license:epl1.0)))
(define (package-sources . packages)
(map package-source packages))
(define-public clojure
(let ((provided-libraries (package-sources clojure-core-specs-alpha
clojure-spec-alpha))
(test-libraries (package-sources clojure-data-generators
clojure-java-classpath
clojure-test-check
clojure-test-generative
clojure-tools-namespace
clojure-tools-reader)))
(package
(name "clojure")
(version "1.12.0")
(version "1.12.4")
(source (let ((name+version (string-append name "-" version)))
(origin
(method git-fetch)
@ -90,47 +270,35 @@
(commit name+version)))
(file-name (string-append name+version "-checkout"))
(sha256
(base32 "17f62x9qq71yhcfpg2npv19xi9wcpgqj255nmvpfy1z2md64gawz")))))
(base32
"072dv6s2gxcg8snlgkpjk6bp1cb17bgfshdq6ijsa4yslpqbf9wc")))))
(build-system ant-build-system)
(inputs
`(("jre" ,icedtea)))
(inputs (list icedtea))
(arguments
`(#:imported-modules ((guix build clojure-utils)
(guix build clojure-build-system)
(guix build guile-build-system)
,@%ant-build-system-modules)
#:modules ((guix build ant-build-system)
((guix build clojure-build-system) #:prefix clj:)
(guix build clojure-utils)
(guix build java-utils)
(guix build utils)
(ice-9 match)
(ice-9 regex)
(srfi srfi-26))
#:test-target "test"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'unpack-library-sources
(lambda* (#:key inputs #:allow-other-keys)
(define (extract-library name)
(mkdir-p name)
(with-directory-excursion name
(invoke "tar"
"--extract"
"--verbose"
"--file" (assoc-ref inputs name)
"--strip-components=1")))
(for-each extract-library ',library-names)
(copy-recursively "core-specs-alpha-src/src/main/clojure"
"src/clj/")
(copy-recursively "spec-alpha-src/src/main/clojure"
"src/clj/")
#t))
(define (extract-provided-library name)
(copy-recursively
(string-append (assoc-ref inputs name) "/src/main/clojure")
"src/clj/"))
(for-each extract-provided-library
',(map origin-actual-file-name provided-libraries))))
(add-after 'unpack-library-sources 'fix-manifest-classpath
(lambda _
(substitute* "build.xml"
(("<attribute name=\"Class-Path\" value=\".\"/>") ""))
#t))
(("<attribute name=\"Class-Path\" value=\".\"/>") ""))))
(add-after 'unpack-library-sources 'clojure-spec-skip-macros
;; Disable spec macro instrumentation when compiling clojure.spec
;; See: https://clojure.atlassian.net/browse/CLJ-2254
@ -140,8 +308,7 @@
,(string-join
'("<sysproperty key=\"java.awt.headless\" value=\"true\"/>"
"<sysproperty key=\"clojure.spec.skip-macros\" value=\"true\"/>\n")
"\n")))
#t))
"\n")))))
(add-after 'unpack-library-sources 'clojure-spec-compile
;; Compile and include clojure.spec.alpha & clojure.core.specs.alpha
(lambda _
@ -152,28 +319,34 @@
"<arg value=\"clojure.spec.alpha\"/>"
"<arg value=\"clojure.spec.gen.alpha\"/>"
"<arg value=\"clojure.spec.test.alpha\"/>"
"<arg value=\"clojure.core.specs.alpha\"/>"))))
#t))
"<arg value=\"clojure.core.specs.alpha\"/>"))))))
(add-before 'build 'maven-classpath-properties
(lambda _
(define (make-classpath libraries)
(string-join (map (lambda (library)
(string-append library "/src/main/clojure"))
libraries) ":"))
(lambda* (#:key inputs #:allow-other-keys)
(define (source-dir library)
(string-append (assoc-ref inputs library) "/src/main/clojure"))
(let* ((libraries ',(map origin-actual-file-name test-libraries))
(test-classpath (map source-dir libraries)))
(with-output-to-file "maven-classpath.properties"
(lambda ()
(let ((classpath (make-classpath ',library-names)))
(display (string-append "maven.compile.classpath=" classpath "\n"))
(display (string-append "maven.test.classpath=" classpath "\n")))))
#t))
(lambda _
(display "maven.compile.classpath=\n")
(display (string-append "maven.test.classpath="
(string-join test-classpath ":")
"\n")))))))
(add-before 'check 'fix-test-classpath
;; Some java test files need access to compiled classes.
(lambda _
(substitute* "build.xml"
(("javac srcdir=\"\\$\\{jtestsrc\\}\"" cmd)
(string-append cmd " classpath=\"${build}\"")))))
(add-after 'build 'build-javadoc ant-build-javadoc)
(replace 'install (install-jars "./"))
(add-after 'install-license-files 'install-doc
(cut install-doc #:doc-dirs '("doc/clojure/") <...>))
(add-after 'install-doc 'install-javadoc
(install-javadoc "target/javadoc/"))
(add-after 'reset-gzip-timestamps 'reset-class-timestamps clj:reset-class-timestamps))))
(native-inputs libraries)
(add-after 'reset-gzip-timestamps 'reset-class-timestamps
clj:reset-class-timestamps))))
(native-inputs (append provided-libraries test-libraries))
(home-page "https://clojure.org/")
(synopsis "Lisp dialect running on the JVM")
(description "Clojure is a dynamic, general-purpose programming language,
@ -204,14 +377,14 @@ designs.")
(define-public clojure-tools
(package
(name "clojure-tools")
(version "1.11.1.1413")
(version "1.12.4.1582")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.clojure.org/install/clojure-tools-"
version
".tar.gz"))
(sha256 (base32 "1q0z71ifdxwvyy9gvq8mx8jbygf8cszrlhb3h22walfamnisbhwk"))
(sha256 (base32 "08gzfblnz0zhnk6pwr9vcm6y168psgrwmqww3wqk1v7j5gr68n7x"))
;; Remove AOT compiled JAR. The other JAR only contains uncompiled
;; Clojure source code.
(snippet
@ -251,7 +424,8 @@ designs.")
(inputs (list rlwrap
clojure
clojure-tools-deps
java-commons-logging-minimal))
java-commons-logging-minimal
java-slf4j-nop))
(home-page "https://clojure.org/releases/tools")
(synopsis "CLI tools for the Clojure programming language")
(description "The Clojure command line tools can be used to start a
@ -261,16 +435,16 @@ Clojure repl, use Clojure and Java libraries, and start Clojure programs.")
(define-public clojure-algo-generic
(package
(name "clojure-algo-generic")
(version "0.1.3")
(version "1.0.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/clojure/algo.generic")
(commit (string-append "algo.generic-" version))))
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1s6q10qp276dcpzv06bq1q3bvkvlw03qhmncqcs9cc6p9lc0w4p4"))))
(base32 "0i10rxk5jxsw1cm2a8rsq9zgl04173cbpaj02vvc9nb4ig219a8y"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure/")
@ -294,16 +468,16 @@ that can be implemented for any data type.")
(define-public clojure-algo-monads
(package
(name "clojure-algo-monads")
(version "0.1.6")
(version "0.2.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/clojure/algo.monads")
(commit (string-append "algo.monads-" version))))
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0mv3ba72hyhgasg2k3zy83ij61gak6cs4d6qgh8123z3j02mbh8p"))))
(base32 "1l420fzqr1mw45w1lz6iqx0s61m8w3r3ad8zmsg17cqahnfakh00"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure/")
@ -322,7 +496,7 @@ defining and using monads and useful monadic functions.")
(define-public clojure-core-async
(package
(name "clojure-core-async")
(version "1.6.681")
(version "1.8.741")
(home-page "https://github.com/clojure/core.async")
(source (origin
(method git-fetch)
@ -332,7 +506,7 @@ defining and using monads and useful monadic functions.")
(file-name (git-file-name name version))
(sha256
(base32
"1j9yz14hy2qs8g3flsqkn1sx9c0qlr5mmpy6ab1zml9yhbw5arzg"))))
"1m6lir2xr119yxz483cz0rfw4k3a40qmmsiwl2y7kyxy65vab60z"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@ -356,7 +530,7 @@ work on Communicating Sequential Processes (CSP).")
(define-public clojure-core-cache
(package
(name "clojure-core-cache")
(version "1.1.234")
(version "1.2.249")
(source (origin
(method git-fetch)
(uri (git-reference
@ -365,7 +539,7 @@ work on Communicating Sequential Processes (CSP).")
(file-name (git-file-name name version))
(sha256
(base32
"0jiq022kd5jdpmxz884rvg5317xmx7g3gnidkpcfsamchyfh5qxq"))))
"0hdwv5dsx49i12riz3frzshwkgw26ah43667lzga2n6zgpmrh8ii"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@ -383,16 +557,16 @@ cache and Naive cache backed with soft references.")
(define-public clojure-core-match
(package
(name "clojure-core-match")
(version "1.0.0")
(version "1.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/clojure/core.match")
(commit (string-append "core.match-" version))))
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0ajpxjv4yc282cm0jw8819fay2j6jqp9nfy69k7vll09q7vqsd22"))))
"09kijs81js7iy810qkzn7fi996gmf7bmlm2ax571zy0yr38i2hbr"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@ -408,7 +582,7 @@ It supports Clojure 1.5.1 and later as well as ClojureScript.")
(define-public clojure-core-memoize
(package
(name "clojure-core-memoize")
(version "1.1.266")
(version "1.2.273")
(source (origin
(method git-fetch)
(uri (git-reference
@ -417,7 +591,7 @@ It supports Clojure 1.5.1 and later as well as ClojureScript.")
(file-name (git-file-name name version))
(sha256
(base32
"0nys79zrvcnwgyxb91zlyl3nb4p6r6y4n5rbdvzqkvsxxazi9ji0"))))
"009fj19y464an66pryygmqbnx2dqk5wkp40rbkbgkir0ax0k6j3y"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@ -435,17 +609,17 @@ Least-recently-used, Least-used and Time-to-live.")
(define-public clojure-data-codec
(package
(name "clojure-data-codec")
(version "0.1.1")
(version "0.2.1")
(home-page "https://github.com/clojure/data.codec")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "data.codec-" version))))
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"192df1dmbwvf1x837mi731n9x94bdypaz18va45plzgdsh4xx6dr"))))
"1wxqwkbpaxjchh03lwy3ngyx6dwv7x7l1qhac42dl6bg213izil5"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@ -464,7 +638,7 @@ is on par with Java implementations, e.g., Apache commons-codec.")
(define-public clojure-data-csv
(package
(name "clojure-data-csv")
(version "1.0.1")
(version "1.1.1")
(home-page "https://github.com/clojure/data.csv")
(source (origin
(method git-fetch)
@ -474,7 +648,7 @@ is on par with Java implementations, e.g., Apache commons-codec.")
(file-name (git-file-name name version))
(sha256
(base32
"1mh1qli6xrw4s3yj9cxxh50z4m7z08indj3ya30znkhi4xsphii2"))))
"1i43qzjn29a0xb3q54sfrn8f77nmxd0v0fn9361as07yclh8jzif"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@ -489,7 +663,7 @@ relaxed.")
(define-public clojure-data-json
(package
(name "clojure-data-json")
(version "2.5.0")
(version "2.5.2")
(home-page "https://github.com/clojure/data.json")
(source (origin
(method git-fetch)
@ -499,7 +673,7 @@ relaxed.")
(file-name (git-file-name name version))
(sha256
(base32
"04k3fr9y1gp337h0d2zxam3aa3hl046r2g2qiizn7aq0rq6311p9"))))
"0xkcd6h5g7yhr839wci6dsynmbijj9r5mrrj70gx849mkhj98411"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@ -515,7 +689,7 @@ external dependencies")
(define-public clojure-data-priority-map
(package
(name "clojure-data-priority-map")
(version "1.2.0")
(version "1.2.1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -524,7 +698,7 @@ external dependencies")
(file-name (git-file-name name version))
(sha256
(base32
"0aynzrdl0w08q89nd069lcx8s6msqmwrpqnya63jv1l2pn3w6ij4"))))
"0yswqr6855n0rg0mfmjfdx0npzasm654m7sz4x0wl13grwgg220k"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@ -544,17 +718,17 @@ maps also support conj/peek/pop operations.")
(define-public clojure-data-xml
(package
(name "clojure-data-xml")
(version "0.2.0-alpha6")
(version "0.2.0-alpha10")
(home-page "https://github.com/clojure/data.xml")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "data.xml-" version))))
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"08vglcapq7sd9zhw8dw1y7dcdks7f21w1pw9p05i475i3bw4cf94"))))
"0mnhgrh20p2wwmq8a4631dkpxbgbijwi6sfhw5v784hzkjkfgkh6"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@ -564,6 +738,7 @@ maps also support conj/peek/pop operations.")
(modify-phases %standard-phases
(add-before 'build 'delete-cljs-tests
(lambda _
(delete-file "src/test/resources/clojure/data/xml/cljs_repl_nashorn.clj")
(delete-file "src/test/resources/clojure/data/xml/cljs_testsuite.clj")
(delete-file "src/test/clojure/clojure/data/xml/test_cljs.clj"))))))
(propagated-inputs (list clojure-data-codec))
@ -642,37 +817,10 @@ tree.
(home-page "https://github.com/Engelberg/instaparse")
(license license:epl1.0))))
(define-public clojure-test-check
(package
(name "clojure-test-check")
(version "1.1.1")
(home-page "https://github.com/clojure/test.check")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"09jvlibnxhjv0l57y0sa7yy5in67gq4sssag77hv2d980mwdnls6"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
#:test-dirs '("src/test/clojure")
#:doc-dirs '()))
(synopsis "QuickCheck for Clojure")
(description "@code{test.check} is a Clojure property-based testing tool
inspired by QuickCheck. The core idea of @code{test.check} is that instead of
enumerating expected input and output for unit tests, you write properties
about your function that should hold true for all inputs. This lets you write
concise, powerful tests.")
(license license:epl1.0)))
(define-public clojure-tools-analyzer
(package
(name "clojure-tools-analyzer")
(version "1.2.0")
(version "1.2.1")
(home-page "https://github.com/clojure/tools.analyzer")
(source (origin
(method git-fetch)
@ -682,7 +830,7 @@ concise, powerful tests.")
(file-name (git-file-name name version))
(sha256
(base32
"05v4i8qs5d51lh113phib0brkysphxa2d71khm840586432knyaa"))))
"0apa3gc45rmdj19plbvglpj6i9dadkgvvidj5mcnkzi9y3h0nr27"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@ -697,7 +845,7 @@ format.")
(define-public clojure-tools-analyzer-jvm
(package
(name "clojure-tools-analyzer-jvm")
(version "1.3.0")
(version "1.3.4")
(home-page "https://github.com/clojure/tools.analyzer.jvm")
(source (origin
(method git-fetch)
@ -707,7 +855,7 @@ format.")
(file-name (git-file-name name version))
(sha256
(base32
"13nxzdp15772hzl3jmi5014jkwldkm1qccfycwkk2pn64hycmnxl"))))
"0pk9z8zf9bgzj0wi98yx130l7570arnxfsg9508g1jvq83djpn21"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@ -725,16 +873,16 @@ tools.analyzer, providing additional JVM-specific passes.")
(define-public clojure-tools-macro
(package
(name "clojure-tools-macro")
(version "0.1.5")
(version "0.2.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/clojure/tools.macro")
(commit (string-append "tools.macro-" version))))
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "14mdxqkwja0cffmyfav5pbcli2qvw1mjdgz0n619a2z2036andx8"))))
(base32 "09xxp5vpf86akmn95mvjmd34a1pc48cjxbp6q4lvi3q8rhpkjfd5"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure/")
@ -748,16 +896,16 @@ tools.analyzer, providing additional JVM-specific passes.")
(define-public clojure-tools-cli
(package
(name "clojure-tools-cli")
(version "1.0.206")
(version "1.3.250")
(home-page "https://github.com/clojure/tools.cli")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "tools.cli-" version))))
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1hvk5zacl3fr8lfcbfgckaicqjx697j0kzw2x5hwj8j5xlr8ri2r"))))
(base32 "1nyw33w83gd7xlbpma03p4jwcdcp38h8y99x2rqw4zcnw19gsz4p"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure/")
@ -772,7 +920,7 @@ work with command-line arguments.")
(define-public clojure-tools-deps
(package
(name "clojure-tools-deps")
(version "0.18.1354")
(version "0.28.1569")
(home-page "https://github.com/clojure/tools.deps")
(source (origin
(method git-fetch)
@ -782,38 +930,26 @@ work with command-line arguments.")
(file-name (git-file-name name version))
(sha256
(base32
"0ls5nixhsjjhf3qz8kbyhmks5lw7a25zxl46yrizbw7vba3mzrpl"))))
"04s8cishxm1y4vnx8mpdk1qma6j0khmb356j69fsy14s615yjgfg"))))
(build-system clojure-build-system)
(arguments
`(#:source-dirs '("src/main/clojure" "src/main/resources")
#:java-source-dirs '("src/main/java")
#:test-dirs '("src/test/clojure")
#:doc-dirs '()
;; FIXME: Could not initialize class org.eclipse.aether.transport.http.SslSocketFactory
;; FIXME: Could not initialize class
;; org.eclipse.aether.transport.http.SslSocketFactory
#:tests? #f
#:phases
(modify-phases %standard-phases
;; FIXME: Currently, the S3 transporter depends on ClojureScript,
;; which is very difficult to package due to dependencies on Java
;; libraries with non-standard build systems. Instead of actually
;; packaging these libraries, we just remove the S3 transporter that
;; depends on them.
(add-after 'unpack 'remove-s3-transporter
(lambda _
(for-each delete-file
(list
(string-append
"src/main/clojure/clojure/"
"tools/deps/util/s3_aws_client.clj")
(string-append
"src/main/clojure/clojure/"
"tools/deps/util/s3_transporter.clj")
(string-append
"src/test/clojure/clojure/"
"tools/deps/util/test_s3_transporter.clj")))
(substitute*
"src/main/clojure/clojure/tools/deps/util/maven.clj"
(("clojure.tools.deps.util.s3-transporter")
"")))))))
(add-before 'build 'reference-clojure-jar-input
;; Use static clojure jar from build input at runtime by default.
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/main/resources/clojure/tools/deps/deps.edn"
(("org\\.clojure/clojure.*$")
(string-append "org.clojure/clojure {:local/root \""
(assoc-ref inputs "clojure")
"/share/java/clojure.jar\"}"))))))))
(propagated-inputs (list maven-resolver-api
maven-resolver-spi
maven-resolver-impl
@ -825,7 +961,8 @@ work with command-line arguments.")
maven-resolver-transport-file
clojure-tools-gitlibs
clojure-tools-cli
clojure-data-xml))
clojure-data-xml
cognitect-aws-api))
(synopsis "Clojure library supporting clojure-tools")
(description "This package provides a functional API for transitive
dependency graph expansion and the creation of classpaths.")
@ -837,7 +974,7 @@ dependency graph expansion and the creation of classpaths.")
;; Keeping it to give downstream packages a chance to upgrade
(package
(name "clojure-tools-deps-alpha")
(version "0.14.1212")
(version "0.15.1254")
(home-page "https://github.com/clojure/tools.deps.alpha")
(source (origin
(method git-fetch)
@ -847,7 +984,7 @@ dependency graph expansion and the creation of classpaths.")
(file-name (git-file-name name version))
(sha256
(base32
"0r8qfihii6cf95kl86x6zfldnm7wlkgda2qmq3340j1x03v244dd"))))
"17zvizzw637az7facwipsrg9b1kjci03aycg6w5pnjpg6b6nd5m6"))))
(build-system clojure-build-system)
(arguments
`(#:source-dirs '("src/main/clojure" "src/main/resources")
@ -899,7 +1036,7 @@ dependency graph expansion and the creation of classpaths.")
(define-public clojure-tools-gitlibs
(package
(name "clojure-tools-gitlibs")
(version "2.4.181")
(version "2.6.212")
(home-page "https://github.com/clojure/tools.gitlibs")
(source (origin
(method git-fetch)
@ -909,7 +1046,7 @@ dependency graph expansion and the creation of classpaths.")
(file-name (git-file-name name version))
(sha256
(base32
"1d8c79f33axghadwqa955yjfsxa6fgl8jq4nfll2zrp6sjw0597k"))))
"199n58dwh44rlb0m514swh6zx3flckq3lccxv9dwbypbv29n9ghq"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@ -927,7 +1064,7 @@ keeps a cache of git directories and working trees that can be reused.")
(define-public clojure-tools-logging
(package
(name "clojure-tools-logging")
(version "1.3.0")
(version "1.3.1")
(home-page "https://github.com/clojure/tools.logging")
(source (origin
(method git-fetch)
@ -937,7 +1074,7 @@ keeps a cache of git directories and working trees that can be reused.")
(file-name (git-file-name name version))
(sha256
(base32
"106n4cxsxzs0hvpsfi1h14b09xm6klrvj1g5fbd5nw8fj3mpkdac"))))
"1jdk7b6zm73m7nki76123ik6px9rl5g5wb06298v34h56qyck8lr"))))
(build-system clojure-build-system)
(arguments
'(#:doc-dirs '()
@ -971,36 +1108,10 @@ implementation, selected at runtime when the clojure.tools.logging namespace
is first loaded.")
(license license:epl1.0)))
(define-public clojure-tools-reader
(package
(name "clojure-tools-reader")
(version "1.5.0")
(home-page "https://github.com/clojure/tools.reader")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1jf05q4ym8z16qaxidx47g2gjv04qcf1wvkca3wqyiaszpvym4zz"))))
(build-system clojure-build-system)
(arguments
'(#:doc-dirs '()
#:source-dirs '("src/main/clojure")
#:test-dirs '("src/test/clojure")
#:test-exclude '(clojure.tools.common-tests))) ; Loaded by other tests.
(synopsis "Clojure reader written in Clojure")
(description "The clojure.tools.reader library offers all functionality
provided by the Clojure Core reader and more. It adds metadata such as column
and line numbers not only to lists, but also to symbols, vectors and maps.")
(license license:epl1.0)))
(define-public http-kit
(package
(name "http-kit")
(version "2.8.0")
(version "2.8.1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1009,7 +1120,7 @@ and line numbers not only to lists, but also to symbols, vectors and maps.")
(file-name (git-file-name name version))
(sha256
(base32
"1361bpb4sn3dbp215s7gf1bcrb45lgx3lk6lix7bndw9lahr5ank"))))
"1fqfl7a7ygfw43xjmmlwrl55xbz34qxpzc8230bpqvjh9n417h74"))))
(build-system clojure-build-system)
(arguments
'(#:java-source-dirs '("src/java")
@ -1023,3 +1134,59 @@ high-performance Clojure HTTP client and server library with WebSocket and
asynchronous support.")
(home-page "https://github.com/http-kit/http-kit")
(license license:asl2.0)))
(define-public cognitect-aws-api
(package
(name "cognitect-aws-api")
(version "0.8.774")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cognitect-labs/aws-api")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1y3impishicd8niy1vddx6c80pnbpz24zfr7vysi4r56p1vqnwmb"))
(modules '((guix build utils)))
(snippet
'(begin
(for-each delete-file
(list
;; Require Cognitect http client
"src/cognitect/aws/http/cognitect.clj"
;; Requires Babashka.
"test/src/bb_test_runner.clj"
;; Requires AWS Java SDK v2.
"test/src/cognitect/aws/jdk_v2.clj"
"test/src/cognitect/aws/signers_test.clj"
;; Remove integration tests.
"test/src/cognitect/aws/client/shared_test.clj"
"test/src/cognitect/aws/api_test.clj"
"test/src/cognitect/client/impl_test.clj"
"test/src/cognitect/client/test_double_test.clj"))
;; Remove integration tests
(delete-file-recursively "test/src/cognitect/aws/integration")))))
(build-system clojure-build-system)
(propagated-inputs (list clojure-core-async
clojure-tools-logging
clojure-data-json
clojure-data-xml))
(native-inputs (list clojure-test-check
http-kit))
(arguments `(#:source-dirs '("src")
#:doc-dirs '()
#:test-dirs '("test/src" "test/resources")
;; Allow using java.net.http client.
#:jdk ,openjdk11))
(synopsis
"Programmatic access to AWS services from Clojure programs")
(description
"This package is an idiomatic, data-oriented Clojure library for invoking AWS
APIs. While the library offers some helper and documentation functions you'll
use at development time, the only functions you ever need at runtime are
client, which creates a client for a given service and invoke, which invokes
an operation on the service. invoke takes a map and returns a map, and works
the same way for every operation on every service.")
(home-page "https://github.com/cognitect-labs/aws-api")
(license license:asl2.0)))

View file

@ -54949,9 +54949,6 @@ the @code{raster} package that is suitable for extracting raster values using
#:tests? #false
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'use-system-tbb
(lambda _
(setenv "TBB_ROOT" #$(this-package-input "tbb"))))
(add-before 'install 'relax-gcc-14-strictness
(lambda _
;; XXX FIXME: $HOME/.R/Makevars seems to be the only way to

View file

@ -10610,7 +10610,8 @@ with Emacs.")
(list
#:tests? #f ;the testing framework, test-hdl, requires network
#:test-command #~(list "make")))
(propagated-inputs (list tree-sitter-vhdl))
;; TODO: Switch to tree-sitter-vhdl once supported.
(propagated-inputs (list tree-sitter-vhdl-0))
(home-page "https://github.com/gmlarumbe/vhdl-ts-mode/")
(synopsis "VHDL Tree-sitter mode")
(description

View file

@ -8,7 +8,7 @@
;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2017, 2018, 20202022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2024 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018, 2019, 2020, 2021, 2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018-2021, 2023, 2026 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019, 2020, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
;;; Copyright © 2020, 2021, 2024 Nicolas Goaziou <mail@nicolasgoaziou.fr>
@ -1316,7 +1316,13 @@ TTF (TrueType/OpenType Font) files.")
"1l718n4k4widx49xz7qrj4mybzb8q67kp2jw7f47604ips4654mf"))
(modules '((guix build utils)))
(snippet
'(begin
#~(begin
;; Include <unistd.h> for the 'getopt' declaration.
(substitute* "t1asm.c"
(("#include <stdio.h>" all)
(string-append all "\n"
"#include <unistd.h>\n")))
;; Remove trailing backslashes in the sed expression of the
;; 'install' rule since sed would otherwise fail.
(substitute* "Makefile"
@ -1324,8 +1330,9 @@ TTF (TrueType/OpenType Font) files.")
#t))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ;no tests
#:phases (modify-phases %standard-phases
(list #:tests? #f ;no tests
#:phases
#~(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
@ -1335,8 +1342,7 @@ TTF (TrueType/OpenType Font) files.")
(("OWNER = .*")
"OWNER = `id -un`\n")
(("GROUP = .*")
"GROUP = `id -g`\n"))
#t)))
"GROUP = `id -g`\n")) #t)))
(replace 'build
(lambda _
(invoke "make" "-j"

View file

@ -9905,7 +9905,7 @@ your score gets higher, you level up and the blocks fall faster.")
(define-public endless-sky
(package
(name "endless-sky")
(version "0.10.14")
(version "0.10.16")
(source
(origin
(method git-fetch)
@ -9914,7 +9914,7 @@ your score gets higher, you level up and the blocks fall faster.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "198ijk95qhq5qicp27f26g0pqsqdgjyb9ll3dmd3dq8b68j3xyfc"))))
(base32 "1dk25wgbl385dwplq2a6wsdv53q6pylrqqkqrmvn59z7sd8vjywr"))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags #~(list "-DES_USE_VCPKG=0"
@ -9934,7 +9934,9 @@ your score gets higher, you level up and the blocks fall faster.")
(("games\\)") "bin)")))))))
(inputs
(list catch2-3
flac
glew
libavif
libjpeg-turbo
libmad
libpng

View file

@ -7673,6 +7673,24 @@ ftypes.")
(lambda* (#:key outputs #:allow-other-keys)
(install-file "jaro"
(string-append #$output "/bin"))))
(add-before 'install 'set-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "jaro"
(("^exec guile")
(string-append "exec "
(search-input-file inputs "/bin/guile")))
(("\"mimetype\"")
(string-append "\""
(search-input-file inputs "/bin/mimetype")
"\""))
(("\"file\"")
(string-append "\""
(search-input-file inputs "/bin/file")
"\""))
(("\"printf\"")
(string-append "\""
(search-input-file inputs "/bin/printf")
"\"")))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?

View file

@ -0,0 +1,47 @@
Upstream status: https://github.com/ThrowTheSwitch/Unity/pull/823
From 4d35efd1bc5ecfa67d73bf81e64ba54c08ed5318 Mon Sep 17 00:00:00 2001
From: Dariqq <77271900+Dariqq@users.noreply.github.com>
Date: Tue, 20 Jan 2026 18:10:14 +0000
Subject: [PATCH] meson: Add option for UNITY_SUPPORT_64
---
meson.build | 5 +++++
meson_options.txt | 1 +
2 files changed, 6 insertions(+)
diff --git a/meson.build b/meson.build
index 6585129..633beb3 100644
--- a/meson.build
+++ b/meson.build
@@ -26,6 +26,7 @@ project('unity', 'c',
build_fixture = get_option('extension_fixture')
build_memory = get_option('extension_memory')
support_double = get_option('support_double')
+support_int64 = get_option('support_int64')
unity_args = []
unity_src = []
@@ -48,6 +49,10 @@ if support_double
unity_args += '-DUNITY_INCLUDE_DOUBLE'
endif
+if support_int64
+ unity_args += '-DUNITY_SUPPORT_64'
+endif
+
unity_lib = static_library(meson.project_name(),
sources: unity_src,
c_args: unity_args,
diff --git a/meson_options.txt b/meson_options.txt
index 8e66784..d8ab7a7 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,3 +1,4 @@
option('extension_fixture', type: 'boolean', value: 'false', description: 'Whether to enable the fixture extension.')
option('extension_memory', type: 'boolean', value: 'false', description: 'Whether to enable the memory extension.')
option('support_double', type: 'boolean', value: 'false', description: 'Whether to enable double precision floating point assertions.')
+option('support_int64', type: 'boolean', value: false, description: 'Whether to enable support for 64bit integers. false means autodetect.')
--
2.52.0

View file

@ -12,6 +12,7 @@
;;; Copyright © 2025 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2025 Evgenii Klimov <eugene.dev@lipklim.org>
;;; Copyright © 2025 Felipe Silva <git@felipeqq2.rocks>
;;; Copyright © 2026 Cayetano Santos <csantosb@inventati.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -2016,6 +2017,17 @@ files.")))
"1.0.3"))
(define-public tree-sitter-vhdl
(tree-sitter-grammar
"vhdl" "VHDL"
"1q3phfp8wa7c0ava5488s6vpkvk5n5y8ilglg23h9lpygarx7fji"
"1.3.1"
#:repository-url "https://github.com/jpt13653903/tree-sitter-vhdl"))
;;; TODO: Remove this package when emacs-vhdl-ts-mode switches to jpt13653903.
;;; We keep old one as alemuller is still required by emacs-vhdl-ts-mode.
;;; See:
;;; https://github.com/gmlarumbe/vhdl-ts-mode/issues/17
(define-public tree-sitter-vhdl-0
(let ((version "0.1.1") ; In package.json, but untagged
(commit "a3b2d84990527c7f8f4ae219c332c00c33d2d8e5")
(revision "0"))

View file

@ -7,6 +7,7 @@
;;; Copyright © 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2023, 2024 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2026 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -32,6 +33,7 @@
#:use-module (gnu packages curl)
#:use-module (gnu packages file)
#:use-module (gnu packages gettext)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages javascript)
#:use-module (gnu packages linux)
@ -41,6 +43,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages python)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages video)
#:use-module (gnu packages xiph)
@ -207,7 +210,9 @@ It aims to be fully compliant with DLNA and UPnP-AV standards.")
(define-public gerbera
(package
(name "gerbera")
(version "2.5.0")
;; Version 3.1.1 requires libzippp, which would have to be packaged
;; before the next update.
(version "3.0.0")
(source
(origin
(method git-fetch)
@ -216,14 +221,20 @@ It aims to be fully compliant with DLNA and UPnP-AV standards.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0lhzjln7ljfvr696wsghhjqn2hrwwvxga4ifpxnjypraxkqkyzyx"))))
(base32 "0997zj56m60jkrkwh95b229vkl42nlmd6nnq5jqfb34kckhxvk3n"))))
(build-system cmake-build-system)
(arguments
(list
#:configure-flags
#~(list "-DWITH_SYSTEMD=NO"
"-DWITH_AVCODEC=YES"
"-DWITH_TESTS=YES")))
"-DWITH_TESTS=YES")
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'patch
(lambda _
(substitute* "CMakeLists.txt"
(("/usr/share") (string-append #$output "/share"))))))))
(inputs
(list curl
duktape
@ -231,12 +242,14 @@ It aims to be fully compliant with DLNA and UPnP-AV standards.")
ffmpeg
file
fmt
icu4c
jsoncpp
libebml
libexif
libmatroska
libupnp
pugixml
spdlog-1.13
spdlog
sqlite
taglib
`(,util-linux "lib")

View file

@ -1273,17 +1273,13 @@ other git-like projects such as @code{libgit2}.")
%build-inputs
(string-append "/bin/" ,(%current-target-system)
"-pkg-config"))))
'())))
'())
;; See https://github.com/libgit2/libgit2/issues/7169
,@(if (target-64bit?)
'()
'("-DCMAKE_C_FLAGS=-D_FILE_OFFSET_BITS=64"))))
#:phases
(modify-phases %standard-phases
,@(if (or (target-arm32?) (target-hurd?))
;; Some tests are flaky on armhf.
;; On GNU/Hurd, the 'diff/workdir' test in libgit2 1.7.1 fails
;; while comparing st.st_size to zero.
'((add-before 'check 'pre-check
(lambda _
(setenv "GITTEST_FLAKY_STAT" "true"))))
'())
;; Run checks more verbosely, unless we are cross-compiling.
(replace 'check
(lambda* (#:key (tests? #t) #:allow-other-keys)