forked from tribes/guix
Compare commits
425 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d58da8a56b | |||
| 230aa373f3 | |||
| e642300195 | |||
| 4470dd7386 | |||
| 88f0151d9f | |||
| 59c9c36db9 | |||
| c558339893 | |||
| 1d27f4029c | |||
| efec531f5e | |||
| 519524f996 | |||
| cdd0d9c716 | |||
| 30e435371e | |||
| 958ca14f47 | |||
| 2e2f80faba | |||
| b12d80aec3 | |||
| 02840cc74f | |||
| 6e89d38ce8 | |||
| a92a0ddaea | |||
| 6275c911bd | |||
| 93e1f4e363 | |||
| f45b68feb8 | |||
| 60005904e9 | |||
| 32c28c684a | |||
| 00a117d436 | |||
| 6d4cb99a15 | |||
| 010af50497 | |||
| 077aaa1138 | |||
| 2ae3c69679 | |||
| 1232e53526 | |||
| d41f362114 | |||
| b50a7973db | |||
| 7c3fec8a6d | |||
| ea0c0bec5d | |||
| 5ce978fa93 | |||
| e651fdb380 | |||
| a6a0c82d73 | |||
| 79cf0fb7a3 | |||
| 0e4fd181d9 | |||
| ebd886faeb | |||
| f8f2bdc24c | |||
| 333e1e5eda | |||
| 7ad0b7ec2a | |||
| aa0883d233 | |||
| 519210ce80 | |||
| 848fdc7d09 | |||
| a2f6d5c4ab | |||
| d08d7c6e5f | |||
| 74d6654633 | |||
| d32b285b2b | |||
| 542db8304e | |||
| 056dd112aa | |||
| 9448ec6fb2 | |||
| 94f9177cf8 | |||
| ab22501915 | |||
| 84a018b356 | |||
| 0ac92150b1 | |||
| 0afb832a3b | |||
| bb5e506f26 | |||
| 6b44fc4f9b | |||
| 82e58c26db | |||
| 35930066e5 | |||
| 9efc2a690e | |||
| 0e0884eb4f | |||
| 64668f7c15 | |||
| 7c52959ae4 | |||
| 8346bca4e5 | |||
| 395b003094 | |||
| 535ff8ec97 | |||
| d078db3272 | |||
| 9f47269602 | |||
| f75737f42c | |||
| cf005b5107 | |||
| d2a93e6113 | |||
| 7c3185afcb | |||
| cd5fb8ce34 | |||
| d339785a0f | |||
| 2d4ed08662 | |||
| ab63e29e90 | |||
| e2857e21fa | |||
| 105dbf7dee | |||
| d226cc4933 | |||
| 86a6006f41 | |||
| 8ba84edf99 | |||
| b7a1223052 | |||
| 9e7e40b8bd | |||
| 0801604990 | |||
| 5623e63313 | |||
| efc32c6684 | |||
| 20157dae27 | |||
| 2576c66e47 | |||
| bb2263102a | |||
| 3dadea4b6d | |||
| 51a1475599 | |||
| 60782c20d4 | |||
| 587fd2dad4 | |||
| 9a78e76076 | |||
| a2df6c460f | |||
| 5ecec89784 | |||
| 5192dc2ff3 | |||
| 4b25873c12 | |||
| b00a27c427 | |||
| f55793c575 | |||
| 0ac2a0fd18 | |||
| 5d6dfd8981 | |||
| ce279acd14 | |||
| 49bf395754 | |||
| 0ecfe335b9 | |||
| 2a0ac4cba5 | |||
| 09eda1627e | |||
| 0efdde91f6 | |||
| 9ce8160844 | |||
| 1dfcd17b4d | |||
| 7a4de7a900 | |||
| 46d1961908 | |||
| 4de4d270fb | |||
| fb62e8f046 | |||
| b063cd4aa7 | |||
| 228154a5bd | |||
| 4281704a25 | |||
| cb8db48a17 | |||
| a448bfa85a | |||
| 8148ca8437 | |||
| 6168d37404 | |||
| 992bcd7eed | |||
| 303b10692b | |||
| 4d033008a2 | |||
| ae36f472bc | |||
| 20263c4a82 | |||
| 5b7f0a952c | |||
| 724d0cc753 | |||
| b172762c2d | |||
| 5b0873aeb1 | |||
| e235f6d978 | |||
| 99d7436c1f | |||
| b1a4c062ce | |||
| 1434b4e6c7 | |||
| cb927b546e | |||
| 4eef7ffd5e | |||
| d392af43c5 | |||
| 63182d1ac9 | |||
| 1e0eb9e8df | |||
| 2dcf1ec33e | |||
| ed1b6b5451 | |||
| d7fd4eab51 | |||
| 32988df493 | |||
| 9aa7f05639 | |||
| f1f27c6838 | |||
| 290435009b | |||
| 09acdd3142 | |||
| 3c81c4b8b8 | |||
| 33b0df3b26 | |||
| 5356a7eeb9 | |||
| 5ddff69615 | |||
| 0297f8813f | |||
| 616e77b45a | |||
| 5667601c14 | |||
| d5f271ebf8 | |||
| 67a113614c | |||
| ed5ddd6b48 | |||
| a8d1edfc33 | |||
| d51ffa1829 | |||
| 8ad99d6eba | |||
| 03c688575f | |||
| 0c9b2cf0d0 | |||
| 7ec5abb669 | |||
| 2d59c06b08 | |||
| d5093ed37b | |||
| 76a918219e | |||
| 271592e456 | |||
| 32d69c2943 | |||
| 2e7ff3c604 | |||
| 0a6675db70 | |||
| 6b1bb5fbcc | |||
| 6997024ea9 | |||
| b104a808ca | |||
| ea4f8318dc | |||
| 972f8ba760 | |||
| 2455e97436 | |||
| 7db9c56b77 | |||
| b26b379a28 | |||
| fbef54aaf8 | |||
| d128cca4ff | |||
| 6249485f39 | |||
| e6ca4b6096 | |||
| 39a57da774 | |||
| c9b0157cd9 | |||
| 40a0d7327a | |||
| 266fb873b9 | |||
| 81e1d95904 | |||
| 90a917605b | |||
| b0bbd770f9 | |||
| c749fd2d10 | |||
| c6ec96a94d | |||
| dbc557eb05 | |||
| 28b519e8a9 | |||
| 99dc1a2645 | |||
| 063cff5c90 | |||
| 3dac82e790 | |||
| d5c3f170b0 | |||
| e9c2fb94ad | |||
| a9e412fc9d | |||
| e498671958 | |||
| 35fd588af0 | |||
| 74366285f0 | |||
| 3e2bd2e30b | |||
| 55bf53fe92 | |||
| 7b9c30de1f | |||
| 0c60cfcd37 | |||
| 1a19afcd97 | |||
| c1aa87625f | |||
| fdb8bdc689 | |||
| 011e027da5 | |||
| 58805ac414 | |||
| 902de8475b | |||
| 59d5a2daa7 | |||
| cab9246395 | |||
| 7ee70d0906 | |||
| 3516819a95 | |||
| b7dc8aea65 | |||
| 71c4428943 | |||
| bfd56b06cb | |||
| 55b4d55b69 | |||
| be8bbdd271 | |||
| 625ed9311c | |||
| 2d94d3f9de | |||
| 44a85eb6bd | |||
| a90e2453d5 | |||
| d7dac3985c | |||
| fe9dfb6abb | |||
| 9da5b5196a | |||
| 48983fab8d | |||
| 14ab247ece | |||
| 2ede88e3bc | |||
| a52bd8449b | |||
| 61f18e6d0c | |||
| e830350288 | |||
| 81c8d1c609 | |||
| c203995bf5 | |||
| a3a14c5693 | |||
| 40b59d5f47 | |||
| c57e1e118d | |||
| b770d4b370 | |||
| fd08e6589a | |||
| 2a59e5d392 | |||
| facb375f88 | |||
| f54a032cec | |||
| 58e3af17e2 | |||
| ec689e843a | |||
| 2c90e82e82 | |||
| 0b51ee66b7 | |||
| ff9db3d56f | |||
| d87a646b0a | |||
| 4bd47431d6 | |||
| 89710d99fa | |||
| 812d9b4717 | |||
| 82aa5d47fb | |||
| 6e5999d70b | |||
| 146da6cf12 | |||
| 91a164d588 | |||
| 79767ce7aa | |||
| ec18fea38b | |||
| fd5ccad45e | |||
| 4d617d8c11 | |||
| 7e42aacfc8 | |||
| 100454dbe8 | |||
| 45e1b3c776 | |||
| 86ea7a4aae | |||
| 0ec90936c9 | |||
| ddb12f1668 | |||
| 42d5d7f37a | |||
| 0a2dfdb6d7 | |||
| e3453ff65d | |||
| 3d59a38db3 | |||
| 608d01cf16 | |||
| 8164873c9e | |||
| 9bb46e6e02 | |||
| d2c355ce8d | |||
| 7021a9632b | |||
| cf5795c4cb | |||
| 461eaba666 | |||
| 1d3b78360c | |||
| c91470ede9 | |||
| 12bae54d87 | |||
| a87435ee58 | |||
| 863641c83b | |||
| 2858053d7d | |||
| 615ad81ecb | |||
| 7b52ea8ccb | |||
| ed73da496b | |||
| 38ee0d5528 | |||
| 1ed4f2b475 | |||
| 71edbd9f3b | |||
| 819d43b8ca | |||
| 2c5002242a | |||
| 5980f1cfe9 | |||
| b3e75b5e75 | |||
| 0f4ffa74ef | |||
| 73fcd73aeb | |||
| cd4a0e2b7b | |||
| f20e7c6eed | |||
| ead9f1d8fa | |||
| d3d7d66b3d | |||
| ec8d3861d6 | |||
| a7d11c6a0b | |||
| fc136e9cea | |||
| 05d9a5876b | |||
| a24c051191 | |||
| 74e9028499 | |||
| 0c8b130c72 | |||
| b73a2dcbf6 | |||
| c443a8b6bb | |||
| 1cc99c8565 | |||
| c1f2a0e477 | |||
| 8cef389d35 | |||
| b0a55661b1 | |||
| 08a731a380 | |||
| 25a6fbe2df | |||
| 36c3a0a640 | |||
| f7ee648345 | |||
| 12dcbe5876 | |||
| cb2d7fa28d | |||
| 669a6c8e99 | |||
| 1fea6b359f | |||
| 53808b13b8 | |||
| 1b59b93602 | |||
| 1850ff7a3f | |||
| 5962a29311 | |||
| 2a12c1a487 | |||
| 70f73592d3 | |||
| 1d81d04d2b | |||
| 4a2ea8fab6 | |||
| 1e87499a77 | |||
| 4a2281923a | |||
| 4a1ba85b97 | |||
| 61b8f6fd58 | |||
| 6e612616f0 | |||
| 7d7b8b6f68 | |||
| c13b02491f | |||
| 33e0ce57b4 | |||
| 0c56ccc9a9 | |||
| 0cd42af4f9 | |||
| cdd2690b02 | |||
| a1ab5b87f1 | |||
| 8023f009f2 | |||
| f9548eef30 | |||
| 7bb3ec9632 | |||
| 6def6eae95 | |||
| d68d535327 | |||
| f1ad9b5b82 | |||
| 4e067ef98d | |||
| ea1c939464 | |||
| 805dd1764e | |||
| 0a86d834fa | |||
| 3bebde3481 | |||
| 38a5dd01dd | |||
| 5054c24ed6 | |||
| 2b3782eb6e | |||
| 812fc780d4 | |||
| f82549d9f6 | |||
| e3c33d9ab4 | |||
| 6935e6c51d | |||
| 224abdac10 | |||
| e4cc300ea0 | |||
| 21a9802a71 | |||
| d2b987b81e | |||
| 0c474d32e7 | |||
| 64a3cdaff4 | |||
| 27a224f340 | |||
| f01eea2a37 | |||
| 0e8064d64d | |||
| 53cf71560f | |||
| 3d8d9624ec | |||
| 7ce90c2cce | |||
| e0d9777140 | |||
| 457a773e6f | |||
| 43000584aa | |||
| ba5170d715 | |||
| 2e2294ff26 | |||
| 75016a2ee8 | |||
| 243bc42768 | |||
| d3b79beaa8 | |||
| 1c5314a391 | |||
| d7e98c1ce6 | |||
| f392ac3983 | |||
| a223070138 | |||
| 27a8a8888b | |||
| 530c6f2668 | |||
| 366e125e34 | |||
| 1f3c679795 | |||
| 0bd6326d91 | |||
| ad94bc31ca | |||
| 99af411456 | |||
| 48c73c6275 | |||
| dc6f47a44b | |||
| 32e0002303 | |||
| 7203e3c522 | |||
| 710d198457 | |||
| 8cdef4cab6 | |||
| e626941500 | |||
| d6d1554fe7 | |||
| f9fddcc784 | |||
| 04dce5dab6 | |||
| 11425c84e4 | |||
| fdb46ae7b1 | |||
| 94b26ff284 | |||
| 24d0c0a951 | |||
| ec95989255 | |||
| 1242d59e81 | |||
| 869de1fc16 | |||
| f4a9869bbc | |||
| 8b304ac633 | |||
| 21f0be1aa3 | |||
| e7671c02a4 | |||
| 3a068fcbb3 | |||
| c4d76205b6 | |||
| 8d9372a851 | |||
| 2d894dcf17 | |||
| adaada46d2 | |||
| 48996087cb | |||
| 1994b75de1 | |||
| c0c636db0a | |||
| 194edf156f | |||
| e2cf2c8c6f | |||
| 2ddbccc761 | |||
| f664eb4ec8 |
@@ -68,6 +68,7 @@
|
||||
/doc/stamp-vti
|
||||
/doc/version.texi
|
||||
/doc/version-*.texi
|
||||
/etc/apparmor.d/tunables/guix
|
||||
/etc/committer.scm
|
||||
/etc/gnu-store.mount
|
||||
/etc/guix-daemon.cil
|
||||
|
||||
@@ -59,6 +59,7 @@ Mathieu Othacehe <mathieu.othacehe@parrot.com>
|
||||
Mathieu Othacehe <othacehe@gnu.org>
|
||||
Matthew James Kraai <kraai@ftbfs.org>
|
||||
Maxim Cournoyer <maxim@guixotic.coop> <maxim.cournoyer@gmail.com>
|
||||
Nguyễn Gia Phong <cnx@loang.net> <mcsinyx@disroot.org>
|
||||
Nikita Karetnikov <nikita@karetnikov.org> <nikita.karetnikov@gmail.com>
|
||||
nikita <nikita@n0.is>
|
||||
nikita <nikita@n0.is> ng0 <ng0@n0.is>
|
||||
|
||||
@@ -194,6 +194,7 @@ guix/scripts/import/go\.scm @guix/go
|
||||
tests/import/go\.scm @guix/go
|
||||
|
||||
gnu/packages/hare\.scm @guix/hare
|
||||
gnu/packages/hare-apps\.scm @guix/hare
|
||||
gnu/packages/hare-xyz\.scm @guix/hare
|
||||
guix/build-system/hare\.scm @guix/hare
|
||||
guix/build/hare-build-system\.scm @guix/hare
|
||||
|
||||
+44
-46
@@ -376,6 +376,7 @@ MODULES = \
|
||||
guix/scripts/import/luanti.scm \
|
||||
guix/scripts/import/minetest.scm \
|
||||
guix/scripts/import/npm-binary.scm \
|
||||
guix/scripts/import/nuget.scm \
|
||||
guix/scripts/import/opam.scm \
|
||||
guix/scripts/import/pypi.scm \
|
||||
guix/scripts/import/stackage.scm \
|
||||
@@ -505,7 +506,8 @@ EXAMPLES = \
|
||||
gnu/system/examples/plasma.tmpl \
|
||||
gnu/system/examples/raspberry-pi-64.tmpl \
|
||||
gnu/system/examples/raspberry-pi-64-nfs-root.tmpl \
|
||||
gnu/system/examples/vm-image.tmpl
|
||||
gnu/system/examples/vm-image.tmpl \
|
||||
gnu/system/examples/vm-image-efi.tmpl
|
||||
|
||||
GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go $(dist_noinst_DATA:%.scm=%.go)
|
||||
|
||||
@@ -746,6 +748,14 @@ dist_fishcompletion_DATA = etc/completion/fish/guix.fish
|
||||
# SELinux policy
|
||||
nodist_selinux_policy_DATA = etc/guix-daemon.cil
|
||||
|
||||
# AppArmor profiles.
|
||||
dist_apparmor_profile_DATA = \
|
||||
etc/apparmor.d/guix \
|
||||
etc/apparmor.d/guix-daemon
|
||||
|
||||
nodist_apparmor_profile_tunables_DATA = \
|
||||
etc/apparmor.d/tunables/guix
|
||||
|
||||
EXTRA_DIST += \
|
||||
.dir-locals.el \
|
||||
.guix-authorizations \
|
||||
@@ -763,9 +773,12 @@ EXTRA_DIST += \
|
||||
build-aux/compile-as-derivation.scm \
|
||||
build-aux/config.rpath \
|
||||
build-aux/convert-xref.scm \
|
||||
build-aux/cuirass/evaluate.scm \
|
||||
build-aux/extract-syscall-ranges.sh \
|
||||
build-aux/generate-authors.scm \
|
||||
build-aux/gitlog-to-changelog \
|
||||
build-aux/git-version-gen \
|
||||
build-aux/keep-only-translated.scm \
|
||||
build-aux/mdate-from-git.scm \
|
||||
build-aux/test-driver.scm \
|
||||
build-aux/update-NEWS.scm \
|
||||
@@ -781,6 +794,7 @@ EXTRA_DIST += \
|
||||
etc/manifests/kernels.scm \
|
||||
etc/manifests/release-minimal.scm \
|
||||
etc/manifests/release-desktop.scm \
|
||||
etc/manifests/release-user-packages.scm \
|
||||
etc/manifests/source.scm \
|
||||
etc/manifests/system-tests.scm \
|
||||
etc/manifests/time-travel.scm \
|
||||
@@ -1133,12 +1147,18 @@ system_flags = $(foreach system,$(1),-s $(system))
|
||||
# 5. Build the installation and VM images. The images will run 'guix'
|
||||
# corresponding to 'vX.Y.Z' + 1 commit, and they will install 'vX.Y.Z'.
|
||||
#
|
||||
# This 'release' target takes care of everything and copies the resulting
|
||||
# files to $(releasedir).
|
||||
# This is split into two targets, because a commit is made that has to be
|
||||
# pushed to Guix.
|
||||
# First, 'prepare-release' should be run, doing steps 1 and 2.
|
||||
# Then, the resulting commit should be pushed so that it's available
|
||||
# to be downloaded for the system images.
|
||||
# Afterwards, the 'release' target takes care of the rest. This 'release'
|
||||
# target takes care of everything and copies the resulting files to
|
||||
# $(releasedir).
|
||||
#
|
||||
# XXX: Depend on 'dist' rather than 'distcheck' to work around the Gettext
|
||||
# issue described at <https://savannah.gnu.org/bugs/index.php?51027>.
|
||||
release: dist-with-updated-version all
|
||||
prepare-release: dist-with-updated-version all
|
||||
@if ! git diff-index --quiet HEAD; then \
|
||||
echo "There are uncommitted changes; stopping." >&2 ; \
|
||||
exit 1 ; \
|
||||
@@ -1156,48 +1176,26 @@ release: dist-with-updated-version all
|
||||
$(top_builddir)/pre-inst-env guix build guix \
|
||||
$(call system_flags,$(SUPPORTED_SYSTEMS)) \
|
||||
-v1 --no-grafts --fallback
|
||||
# Generate the binary release tarballs.
|
||||
rm -f $(BINARY_TARBALLS)
|
||||
$(MAKE) $(BINARY_TARBALLS)
|
||||
for system in $(SUPPORTED_SYSTEMS) ; do \
|
||||
mv "guix-binary.$$system.tar.xz" \
|
||||
"$(releasedir)/guix-binary-$(PACKAGE_VERSION).$$system.tar.xz" ; \
|
||||
done
|
||||
# Build 'current-guix' to speed things up for the next step.
|
||||
$(top_builddir)/pre-inst-env guix build \
|
||||
-e '((@ (gnu packages package-management) current-guix))' \
|
||||
$(call system_flags,$(GUIX_SYSTEM_INSTALLER_SYSTEMS)) \
|
||||
-v1 --no-grafts --fallback
|
||||
# Generate the ISO installation images.
|
||||
for system in $(GUIX_SYSTEM_INSTALLER_SYSTEMS) ; do \
|
||||
GUIX_DISPLAYED_VERSION="`git describe --match=v* | sed -'es/^v//'`" ; \
|
||||
image=`$(top_builddir)/pre-inst-env \
|
||||
guix system image -t iso9660 \
|
||||
--label="GUIX_$${system}_$(VERSION)" \
|
||||
--system=$$system --fallback \
|
||||
gnu/system/install.scm` ; \
|
||||
if [ ! -f "$$image" ] ; then \
|
||||
echo "failed to produce Guix installation image for $$system" >&2 ; \
|
||||
exit 1 ; \
|
||||
fi ; \
|
||||
cp "$$image" "$(releasedir)/$(GUIX_SYSTEM_IMAGE_BASE).$$system.iso.tmp" ; \
|
||||
mv "$(releasedir)/$(GUIX_SYSTEM_IMAGE_BASE).$$system.iso.tmp" \
|
||||
"$(releasedir)/$(GUIX_SYSTEM_IMAGE_BASE).$$system.iso" ; \
|
||||
done
|
||||
# Generate the VM images.
|
||||
for system in $(GUIX_SYSTEM_VM_SYSTEMS) ; do \
|
||||
GUIX_DISPLAYED_VERSION="`git describe --match=v* | sed -'es/^v//'`" ; \
|
||||
image=`$(top_builddir)/pre-inst-env \
|
||||
guix system image -t qcow2 $(GUIX_SYSTEM_VM_IMAGE_FLAGS) \
|
||||
--save-provenance \
|
||||
--system=$$system --fallback \
|
||||
gnu/system/examples/vm-image.tmpl` ; \
|
||||
if [ ! -f "$$image" ] ; then \
|
||||
echo "failed to produce Guix VM image for $$system" >&2 ; \
|
||||
exit 1 ; \
|
||||
fi ; \
|
||||
cp "$$image" "$(releasedir)/$(GUIX_SYSTEM_VM_IMAGE_BASE).$$system.qcow2"; \
|
||||
done
|
||||
|
||||
@echo
|
||||
@echo "First step done! Source tarball is ready in $(releasedir)"
|
||||
@echo "Now push the resulting commit and run `make release`."
|
||||
@echo
|
||||
|
||||
# Make sure you've ran prepare-release prior to running release and pushed
|
||||
# the commit to Guix. It might be pushed to any branch, such as version-X.Y.Z.
|
||||
release: all
|
||||
# Build the artifacts for current commit.
|
||||
# Use time-machine for provenance.
|
||||
$(MKDIR_P) "$(releasedir)"
|
||||
@echo "Building guix inferior for current commit."
|
||||
COMMIT="$$(git rev-parse HEAD)" && \
|
||||
GUIX="$$(guix time-machine -q --commit=$$COMMIT)/bin/guix" && \
|
||||
echo "Building artifacts for current commit: $$COMMIT." && \
|
||||
ARTIFACTS="$$($$GUIX build --no-grafts \
|
||||
-f ./etc/teams/release/artifacts.scm)" && \
|
||||
echo "Artifacts built! Copying to $(releasedir)" && \
|
||||
cp -f "$$ARTIFACTS"/* "$(releasedir)"
|
||||
@echo
|
||||
@echo "Congratulations! All the release files are now in $(releasedir)."
|
||||
@echo
|
||||
|
||||
@@ -6,6 +6,7 @@ Copyright © 2013-2022 Ludovic Courtès <ludo@gnu.org>
|
||||
Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
Copyright © 2021, 2022, 2024 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org>
|
||||
Copyright © 2026 Noé Lopez <noelopez@free.fr>
|
||||
|
||||
Copying and distribution of this file, with or without modification,
|
||||
are permitted in any medium without royalty provided the copyright
|
||||
@@ -16,8 +17,77 @@ Please send Guix bug reports to bug-guix@gnu.org.
|
||||
* Changes in 1.5.0 (since 1.4.0)
|
||||
** Package management
|
||||
*** New ‘rpm’ format for the ‘guix pack’ command
|
||||
*** New ‘appimage’ format for the ‘guix pack’ command
|
||||
*** New ‘--max-layers’ and ‘--file’ options for the ‘guix pack’ command
|
||||
*** New ‘--roll-back’ and ‘--expression’ options for the ‘guix deploy’ command
|
||||
*** New ‘--with-version’ package transformation option
|
||||
*** New ‘--with-configure-flag’ package transformation option
|
||||
*** New ‘--nesting’ option to use Guix within ‘guix shell’ containers
|
||||
*** New ‘--emulate-fhs’ option for ‘guix shell’ containers
|
||||
*** New ‘--dependents’ and ‘--development’ options for ‘guix build’
|
||||
*** New ‘--interactive’ and ‘--list-types’ flags for ‘guix repl’
|
||||
*** The root file-system of ‘guix shell’ containers is now read-only
|
||||
*** New ‘--writable-root’ option for the ‘guix shell’ command
|
||||
*** Improved style rules for ‘guix style’
|
||||
*** New ‘guix locate’ command
|
||||
*** ‘guix refresh’ now honours the ‘--key-server’ option
|
||||
*** ‘guix git authenticate‘ now remembers introduction commit and signer
|
||||
*** ‘guix git authenticate’ now installs pre-push and post-merge git hooks
|
||||
*** System reconfiguration now supports kexec for fast reboot
|
||||
*** Hetzner Cloud is now supported by the ‘guix deploy’ command
|
||||
*** The Guix Daemon can now be run without root privileges
|
||||
*** ‘guix refresh’ can now target partial version
|
||||
*** New ‘guix import composer’ command
|
||||
*** New ‘guix import binary-npm’ command
|
||||
*** New ‘guix import nuget’ command
|
||||
*** New ‘graphml’ backend for guix graph
|
||||
*** New ‘cyclonedx-json’ backend for guix graph
|
||||
*** AppArmor profiles are now available for guix and guix-daemon
|
||||
** Distribution
|
||||
*** ‘nss-certs’ is now included in ‘%base-packages’
|
||||
*** ‘udev-service-type’ now supports hardware configuration files
|
||||
*** ‘gdm-service-type’ now uses Wayland by default
|
||||
*** KDE Plasma 6.5 is now available with the new ‘plasma-desktop-service-type’
|
||||
*** GNOME was updated to version 44 with a more modular desktop service
|
||||
*** Declarative offloading with new ‘build-machines’ field of operating-system
|
||||
*** ‘containerd-service-type’ is no longer included with the Docker service
|
||||
*** ‘privileged-programs’ replaces ‘setuid-programs’ in ‘operating-system’
|
||||
*** The ‘postgresql’ field of ‘postgresql-configuration‘ is now mandatory
|
||||
*** The Rottlog service was replaced by new ‘log-rotation-service-type’
|
||||
*** The default system log has been changed to Shepherd’s ‘system-log’ service
|
||||
*** New recommended ‘%base-home-services’ variable for Guix Home
|
||||
*** UDisks now mounts removable devices in /run/media/$USER instead of /media
|
||||
*** Syncthing service received incompatible changes
|
||||
*** ‘node-build-system’ received incompatible changes
|
||||
*** New services for /etc/profile.d and /etc/bashrc.d
|
||||
*** New build system for clasp-cl
|
||||
*** New Rust packaging model
|
||||
*** C.utf8 locale is now supported by glibc
|
||||
*** Fully bootstrapped mono and zig are now available
|
||||
*** 64bit Hurd (x86_64-gnu) now has experimental support
|
||||
*** 12525 new packages
|
||||
*** 8911 package updates
|
||||
|
||||
Noteworthy updates:
|
||||
bash 5.2.37, binutils 2.44, clojure 1.12.0, cups 2.4.14, emacs 30.2,
|
||||
gcc-toolchain 15.2.0, gdb 16.3, ghc 9.2.8, gimp 3.0.4, glibc 2.41,
|
||||
gnome 46.10, gnupg 2.4.7, go 1.25.3, guile 3.0.9, icecat 140.6.0-gnu1,
|
||||
icedtea 3.19.0, inkscape 1.3.2, julia 1.8.5, libreoffice 25.2.5.2,
|
||||
linux-libre 6.17.12, lxde 0.99.3, mate 1.28.2, ocaml 5.3.0, octave 10.3.0,
|
||||
openjdk 25, perl 5.36.0, python 3.11.14, racket 8.18, rust 1.85.1, r 4.5.2,
|
||||
sbcl 2.5.8, shepherd 1.0.9, xfce 4.20.0, xorg-server 21.1.21
|
||||
|
||||
** Programming interfaces
|
||||
*** ‘(gnu system setuid)’ has been renamed to ‘(gnu system privilege)’
|
||||
*** Moved to a new Rust packaging model and repackaged all Rust applications
|
||||
*** Rust library packages have been moved to the guix-rust-past-crates channel
|
||||
*** Most Python packages now use the ‘pyproject-build-system’
|
||||
** Noteworthy bug fixes
|
||||
*** Daemon vulnerability allowing store corruption has been fixed
|
||||
*** Daemon vulnerability allowing takeover of build users has been fixed
|
||||
*** Daemon privilege escalation vulnerabilities fixed
|
||||
*** Daemon CVEs have been fixed
|
||||
CVE-2024-27297, CVE-2024-52867, CVE-2025-46415, CVE-2025-46416, CVE-2025-59378
|
||||
* Changes in 1.4.0 (since 1.3.0)
|
||||
** Package management
|
||||
*** New ‘guix home’ command, for home environment management
|
||||
@@ -1926,7 +1996,7 @@ zynaddsubfx@3.0.3, zziplib@0.13.69
|
||||
*** ‘guix pack’ now honors package transformation options
|
||||
*** ‘guix package --search’ no longer shows superseded packages
|
||||
(<https://bugs.gnu.org/30566>)
|
||||
*** ‘guix offload test’ reports errors more nicely
|
||||
*** ‘guix offload test’ reports errors more nicely
|
||||
(<https://bugs.gnu.org/28057>)
|
||||
*** postgresql service is started through ‘pg_ctl’
|
||||
(<https://bugs.gnu.org/29992>)
|
||||
@@ -5664,7 +5734,7 @@ Monad” in the manual.
|
||||
|
||||
*** X session is executed from a login shell (<http://bugs.gnu.org/19119>)
|
||||
*** grub.cfg is now a garbage-collector root (<http://bugs.gnu.org/19160>)
|
||||
*** Substituter progress report properly formatted
|
||||
*** Substituter progress report properly formatted
|
||||
(<http://bugs.gnu.org/19313>)
|
||||
*** Document permissions for /gnu/store (<http://bugs.gnu.org/19316>)
|
||||
*** Make sure config.go is newer than config.scm
|
||||
@@ -5920,18 +5990,18 @@ This could cause problems with ancient Linux kernel.
|
||||
*** download: Use the 'SERVER NAME' TLS extension when possible
|
||||
(<http://bugs.gnu.org/18526>)
|
||||
*** libdaemon: Add alternate source URLs (<http://bugs.gnu.org/18639>)
|
||||
*** icu4c: Reinstate RUNPATH on shared libraries
|
||||
*** icu4c: Reinstate RUNPATH on shared libraries
|
||||
(<http://bugs.gnu.org/18695>)
|
||||
*** nss-mdns: Add alternate source URLs (<http://bugs.gnu.org/18704>)
|
||||
*** download: Add "Accept: */*" to the HTTP headers
|
||||
(<http://bugs.gnu.org/18768>)
|
||||
*** guix-register: Do not attempt to create NIX_STORE_DIR
|
||||
*** guix-register: Do not attempt to create NIX_STORE_DIR
|
||||
(<http://bugs.gnu.org/18689>)
|
||||
*** Allow Linux-libre to find our 'modprobe' command
|
||||
(<http://bugs.gnu.org/18525>)
|
||||
*** man-pages: Build sequentially (<http://bugs.gnu.org/18701>)
|
||||
*** Fix intermittent test failures involving GC (<http://bugs.gnu.org/18935>)
|
||||
*** guix import: pypi: Gracefully handle non-existent packages
|
||||
*** guix import: pypi: Gracefully handle non-existent packages
|
||||
(<http://bugs.gnu.org/18831>)
|
||||
*** Make sure the shared library has the '.so' extension
|
||||
(<http://bugs.gnu.org/18521>)
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
directory))
|
||||
((_ . directory) directory))
|
||||
(derivation->output-paths drv)))))
|
||||
%final-inputs))
|
||||
(%final-inputs system)))
|
||||
|
||||
(define (assert-valid-substitute substitute)
|
||||
"Make sure SUBSTITUTE does not refer to any bootstrap inputs, and bail out
|
||||
|
||||
@@ -81,6 +81,15 @@ AC_ARG_WITH([selinux-policy-dir],
|
||||
[selinux_policydir='${datadir}/selinux/'])
|
||||
AC_SUBST([selinux_policydir])
|
||||
|
||||
AC_ARG_WITH([apparmor-profile-dir],
|
||||
AS_HELP_STRING([--with-apparmor-profile-dir=DIR],
|
||||
[name of the AppArmor profile directory]),
|
||||
[apparmor_profiledir="$withval"],
|
||||
[apparmor_profiledir='${sysconfdir}/apparmor.d'])
|
||||
AC_SUBST([apparmor_profiledir])
|
||||
apparmor_profile_tunablesdir='${apparmor_profiledir}/tunables'
|
||||
AC_SUBST([apparmor_profile_tunablesdir])
|
||||
|
||||
dnl Better be verbose.
|
||||
AC_MSG_CHECKING([for the store directory])
|
||||
AC_MSG_RESULT([$storedir])
|
||||
@@ -189,6 +198,12 @@ if test "x$have_guile_lzlib" != "xyes"; then
|
||||
AC_MSG_ERROR([Guile-lzlib is missing; please install it.])
|
||||
fi
|
||||
|
||||
dnl Check for Guile-semver.
|
||||
GUILE_MODULE_AVAILABLE([have_guile_semver], [(semver)])
|
||||
if test "x$have_guile_semver" != "xyes"; then
|
||||
AC_MSG_ERROR([Guile-semver is missing; please install it.])
|
||||
fi
|
||||
|
||||
dnl Check for Guile-Avahi.
|
||||
GUILE_MODULE_AVAILABLE([have_guile_avahi], [(avahi)])
|
||||
AM_CONDITIONAL([HAVE_GUILE_AVAHI],
|
||||
@@ -308,6 +323,7 @@ AC_CONFIG_FILES([Makefile
|
||||
po/guix/Makefile.in
|
||||
po/packages/Makefile.in
|
||||
etc/guix-daemon.cil
|
||||
etc/apparmor.d/tunables/guix
|
||||
guix/config.scm])
|
||||
|
||||
AC_CONFIG_FILES([etc/committer.scm], [chmod +x etc/committer.scm])
|
||||
|
||||
+5
-3
@@ -82,7 +82,7 @@
|
||||
|
||||
(define %latest-guix-version
|
||||
;; Latest released version.
|
||||
"1.4.0")
|
||||
"1.5.0")
|
||||
|
||||
(define (texinfo-manual-images source)
|
||||
"Return a directory containing all the images used by the user manual, taken
|
||||
@@ -777,7 +777,8 @@ in SOURCE."
|
||||
(define version-links
|
||||
(list (menu-item #$latest-version
|
||||
(string-append
|
||||
"/manual/" language
|
||||
"/manual/" #$latest-version
|
||||
"/" language
|
||||
(if split-node? "/html_node" "")))
|
||||
(menu-item "development"
|
||||
(string-append
|
||||
@@ -942,7 +943,8 @@ makeinfo OPTIONS."
|
||||
(let* ((texi (language->texi-file-name language))
|
||||
(opts `("--html"
|
||||
"-c" ,(string-append "TOP_NODE_UP_URL=/manual/"
|
||||
language)
|
||||
#$%latest-guix-version
|
||||
"/" language)
|
||||
#$@options
|
||||
,texi)))
|
||||
(format #t "building HTML manual for language '~a'...~%"
|
||||
|
||||
@@ -138,6 +138,7 @@ version from the Git repository:
|
||||
|
||||
@example
|
||||
git clone https://git.guix.gnu.org/guix.git
|
||||
cd guix
|
||||
@end example
|
||||
|
||||
@cindex authentication, of a Guix checkout
|
||||
@@ -177,6 +178,7 @@ guix shell -D guix -CPW
|
||||
or even, from within a Git worktree for Guix:
|
||||
|
||||
@example
|
||||
echo $(pwd) >> ~/.config/guix/shell-authorized-directories
|
||||
guix shell -CPW
|
||||
@end example
|
||||
|
||||
@@ -184,6 +186,10 @@ If @option{-C} (short for @option{--container}) is not supported on your
|
||||
system, try @command{--pure} instead of @option{-CPW}.
|
||||
@xref{Invoking guix shell}, for more information on that command.
|
||||
|
||||
Most of the test suite runs without an internet connection. The @option{-N}
|
||||
(short for @option{--network}) can be added to the @code{guix shell} command
|
||||
to run the tests that require internet access.
|
||||
|
||||
If you are unable to use Guix when building Guix from a checkout, the
|
||||
following are the required packages in addition to those mentioned in the
|
||||
installation instructions (@pxref{Requirements}).
|
||||
@@ -197,11 +203,11 @@ installation instructions (@pxref{Requirements}).
|
||||
@item @url{https://www.gnu.org/software/help2man/, GNU Help2man (optional)}.
|
||||
@end itemize
|
||||
|
||||
On Guix, extra dependencies can be added by instead running @command{guix
|
||||
shell}:
|
||||
On Guix, other development tools, like @code{strace}, can be included by
|
||||
giving them as extra arguments to @command{guix shell}:
|
||||
|
||||
@example
|
||||
guix shell -D guix help2man git strace --pure
|
||||
guix shell -D guix -CPW strace
|
||||
@end example
|
||||
|
||||
From there you can generate the build system infrastructure
|
||||
|
||||
@@ -1734,8 +1734,8 @@ At this stage, the package @code{cargo-audit} is buildable.
|
||||
|
||||
@item
|
||||
Finally we'll unbundle the vendored dependencies. The lockfile importer
|
||||
inserts @code{TODO:} comments for libraries with high probability of
|
||||
bundled dependencies. @code{cargo-build-system} also performs
|
||||
inserts @code{TODO REVIEW:} comments for libraries with high probability
|
||||
of bundled dependencies. @code{cargo-build-system} also performs
|
||||
additional check for binary files in its
|
||||
@code{check-for-pregenerated-files} phase, which usually indicates
|
||||
bundling:
|
||||
@@ -1909,11 +1909,11 @@ Don't forget to modify all workspace members in @code{(gnu packages
|
||||
rust-crates)}:
|
||||
|
||||
@lisp
|
||||
(define rust-pipewire-0.8.0.fd3d8f7 rust-pipewire-0.8.0.fd3d8f7)
|
||||
(define rust-pipewire-sys-0.8.0.fd3d8f7 rust-pipewire-0.8.0.fd3d8f7)
|
||||
(define rust-pipewire-0.8.0.fd3d8f7 package:rust-pipewire-0.8.0.fd3d8f7)
|
||||
(define rust-pipewire-sys-0.8.0.fd3d8f7 package:rust-pipewire-0.8.0.fd3d8f7)
|
||||
@dots{}
|
||||
(define rust-libspa-0.8.0.fd3d8f7 rust-pipewire-0.8.0.fd3d8f7)
|
||||
(define rust-libspa-sys-0.8.0.fd3d8f7 rust-pipewire-0.8.0.fd3d8f7)
|
||||
(define rust-libspa-0.8.0.fd3d8f7 package:rust-pipewire-0.8.0.fd3d8f7)
|
||||
(define rust-libspa-sys-0.8.0.fd3d8f7 package:rust-pipewire-0.8.0.fd3d8f7)
|
||||
@end lisp
|
||||
|
||||
@node Using Rust Libraries in Other Build Systems
|
||||
|
||||
+153
-88
@@ -146,6 +146,7 @@ Copyright @copyright{} 2025 Artur Wroblewski@*
|
||||
Copyright @copyright{} 2025 Edouard Klein@*
|
||||
Copyright @copyright{} 2025 Rodion Goritskov@*
|
||||
Copyright @copyright{} 2025 dan@*
|
||||
Copyright @copyright{} 2025 Noé Lopez@*
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
@@ -769,66 +770,43 @@ This section only applies to systems without Guix. Following it for
|
||||
existing Guix installations will overwrite important system files.
|
||||
@end quotation
|
||||
|
||||
Some GNU/Linux distributions, such as Debian, Ubuntu, and openSUSE
|
||||
provide Guix through their own package managers. The version of Guix
|
||||
may be older than @value{VERSION} but you can update it afterwards by
|
||||
running @samp{guix pull}.
|
||||
|
||||
We advise system administrators who install Guix, both from the
|
||||
installation script or @i{via} the native package manager of their
|
||||
foreign distribution, to also regularly read and follow security
|
||||
notices, as shown by @command{guix pull}.
|
||||
|
||||
For Debian or derivatives such as Ubuntu or Trisquel, call:
|
||||
|
||||
@example
|
||||
sudo apt install guix
|
||||
@end example
|
||||
|
||||
Likewise, on openSUSE:
|
||||
|
||||
@example
|
||||
sudo zypper install guix
|
||||
@end example
|
||||
|
||||
If you are running Parabola, after enabling the pcr (Parabola
|
||||
Community Repo) repository, you can install Guix with:
|
||||
@example
|
||||
sudo pacman -S guix
|
||||
@end example
|
||||
|
||||
The Guix project also provides a shell script, @file{guix-install.sh},
|
||||
which automates the binary installation process without use of a foreign
|
||||
distro package
|
||||
manager@footnote{@uref{https://guix.gnu.org/guix-install.sh}}.
|
||||
The
|
||||
@uref{https://guix.gnu.org/guix-install.sh, @file{guix-install.sh}}
|
||||
shell script automates the binary installation process.
|
||||
Use of @file{guix-install.sh} requires Bash, GnuPG, GNU@tie{}tar, wget,
|
||||
and Xz. On systems where @code{systemd} is detected, the tool
|
||||
@code{newgidmap} from the @code{uidmap} package is also required.
|
||||
and Xz. On systems where systemd is detected, the tool
|
||||
@command{newgidmap} from the @code{uidmap} package is also required.
|
||||
|
||||
The script guides you through the following:
|
||||
|
||||
@itemize
|
||||
@item Downloading and extracting the binary tarball
|
||||
@item Setting up the build daemon
|
||||
@item Making the ‘guix’ command available to non-root users
|
||||
@item Configuring substitute servers
|
||||
@end itemize
|
||||
|
||||
As root, run:
|
||||
To install Guix on top of your GNU/Linux system, run the following
|
||||
commands as root:
|
||||
|
||||
@example
|
||||
# cd /tmp
|
||||
# wget https://guix.gnu.org/guix-install.sh
|
||||
# chmod +x guix-install.sh
|
||||
# ./guix-install.sh
|
||||
cd /tmp
|
||||
wget https://guix.gnu.org/guix-install.sh
|
||||
chmod +x guix-install.sh
|
||||
./guix-install.sh
|
||||
@end example
|
||||
|
||||
The script to install Guix is also packaged in Parabola (in the pcr
|
||||
repository). You can install and run it with:
|
||||
@example
|
||||
sudo pacman -S guix-installer
|
||||
sudo guix-install.sh
|
||||
@end example
|
||||
When you're done installing Guix, @pxref{Application Setup} for extra
|
||||
configuration you might need, and @ref{Getting Started} for your first
|
||||
steps!
|
||||
|
||||
The script goes through the following steps:
|
||||
|
||||
@enumerate
|
||||
@item
|
||||
Downloading the binary tarball from
|
||||
@indicateurl{@value{BASE-URL}/guix-binary-@value{VERSION}.x86_64-linux.tar.xz}
|
||||
(where @code{x86_64-linux} can be replaced with @code{i686-linux} for an
|
||||
@code{i686} (32-bits) machine already running the kernel Linux, and so
|
||||
on---@pxref{GNU Distribution}) and extracting it.
|
||||
@item
|
||||
Setting up the build daemon (@pxref{Setting Up the Daemon}).
|
||||
@item
|
||||
Making the @command{guix} command available to non-root users.
|
||||
@item
|
||||
Configuring substitute servers (@pxref{Official Substitute Servers}).
|
||||
@end enumerate
|
||||
|
||||
@quotation Note
|
||||
By default, @file{guix-install.sh} will configure Guix to download
|
||||
@@ -845,17 +823,13 @@ To use substitutes from @code{@value{SUBSTITUTE-SERVER-1}},
|
||||
For example,
|
||||
|
||||
@example
|
||||
# guix archive --authorize < \
|
||||
~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER-1}.pub
|
||||
# guix archive --authorize < \
|
||||
~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER-2}.pub
|
||||
guix archive --authorize < \
|
||||
~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER-1}.pub
|
||||
guix archive --authorize < \
|
||||
~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER-2}.pub
|
||||
@end example
|
||||
@end quotation
|
||||
|
||||
When you're done installing Guix, @pxref{Application Setup} for extra
|
||||
configuration you might need, and @ref{Getting Started} for your first
|
||||
steps!
|
||||
|
||||
@quotation Note
|
||||
The binary installation tarball can be (re)produced and verified simply
|
||||
by running the following command in the Guix source tree:
|
||||
@@ -887,6 +861,16 @@ the @option{--uninstall} flag:
|
||||
With @option{--uninstall}, the script irreversibly deletes all the Guix
|
||||
files, configuration, and services.
|
||||
|
||||
Some GNU/Linux distributions, such as openSUSE, Alpine and NixOS provide
|
||||
Guix through their own package managers. The version of Guix may be
|
||||
older than @value{VERSION} but you can update it afterwards by running
|
||||
@command{guix pull}.
|
||||
|
||||
We advise system administrators who install Guix, both from the
|
||||
installation script or @i{via} the native package manager of their
|
||||
foreign distribution, to also regularly read and follow security
|
||||
notices, as shown by @command{guix pull}.
|
||||
|
||||
@node Setting Up the Daemon
|
||||
@section Setting Up the Daemon
|
||||
|
||||
@@ -928,6 +912,7 @@ pre-built binaries.
|
||||
* Build Environment Setup:: Preparing the isolated build environment.
|
||||
* Daemon Offload Setup:: Offloading builds to remote machines.
|
||||
* SELinux Support:: Using an SELinux policy for the daemon.
|
||||
* AppArmor Support:: Using an AppArmor profile for the daemon.
|
||||
@end menu
|
||||
|
||||
@node Build Environment Setup
|
||||
@@ -1037,6 +1022,12 @@ When using this option, you only need to create one user account, and
|
||||
--system guix-daemon
|
||||
@end example
|
||||
|
||||
@quotation Warning
|
||||
If the @command{nologin} binary is not found by @command{which nologin},
|
||||
you may need to specify its path manually. This will usually be
|
||||
@file{/sbin/nologin} or @file{/usr/sbin/nologin}.
|
||||
@end quotation
|
||||
|
||||
In this configuration, @file{/gnu/store} is owned by the
|
||||
@code{guix-daemon} user.
|
||||
|
||||
@@ -1100,6 +1091,8 @@ systemctl daemon-reload
|
||||
systemctl start guix-daemon
|
||||
@end example
|
||||
|
||||
If your system has AppArmor enabled, @pxref{AppArmor Support}.
|
||||
|
||||
@quotation Warning
|
||||
The commands above assume that @command{guix pull} was run for the root
|
||||
user. You can check whether this is the case by running this command:
|
||||
@@ -1529,6 +1522,43 @@ installation time whenever the Guix package that provides the
|
||||
effectively running @code{guix-daemon} executable is upgraded.
|
||||
@end enumerate
|
||||
|
||||
@node AppArmor Support
|
||||
@subsection AppArmor Support
|
||||
|
||||
@cindex AppArmor
|
||||
|
||||
Guix includes an AppArmor profile for the build daemon in
|
||||
@file{etc/apparmor.d/guix-daemon} that can be installed on systems with
|
||||
strict AppArmor policies to allow it to run unprivileged
|
||||
(@pxref{Build Environment Setup}). Indeed, the unprivileged daemon makes
|
||||
use of Linux user namespaces but these are disallowed
|
||||
without an AppArmor policy on some systems like Ubuntu.
|
||||
|
||||
To know if this applies to you, check if the
|
||||
@code{kernel.apparmor_restrict_unprivileged_userns} kernel parameter is
|
||||
enabled.
|
||||
|
||||
@subsubsection Installing the AppArmor profile
|
||||
@cindex AppArmor, profile installation
|
||||
|
||||
@quotation Note
|
||||
The @code{guix-install.sh} binary installation script offers to perform
|
||||
the steps below for you (@pxref{Binary Installation}).
|
||||
@end quotation
|
||||
|
||||
Run these commands as root to install the profile:
|
||||
|
||||
@example
|
||||
export apparmor_sources=/var/guix/profiles/per-user/root/current-guix/etc/apparmor.d
|
||||
cp -f -t /etc/apparmor.d/tunables "$apparmor_sources/tunables/guix"
|
||||
cp -f -t /etc/apparmor.d "$apparmor_sources/guix-daemon"
|
||||
cp -f -t /etc/apparmor.d "$apparmor_sources/guix"
|
||||
apparmor_parser -r /etc/apparmor.d/guix-daemon
|
||||
apparmor_parser -r /etc/apparmor.d/guix
|
||||
@end example
|
||||
|
||||
After this, the build daemon will be able to function correctly.
|
||||
|
||||
@node Invoking guix-daemon
|
||||
@section Invoking @command{guix-daemon}
|
||||
@cindex @command{guix-daemon}
|
||||
@@ -2119,8 +2149,9 @@ systemctl restart guix-daemon.service
|
||||
|
||||
While this works for @file{guix-install.sh}, it will most likely not
|
||||
work if you installed Guix through the package manager of another
|
||||
distribution (for instance with sudo apt install guix, pacman -S guix,
|
||||
etc) because on many distributions @file{guix-daemon.service} will only
|
||||
distribution (for instance with @command{sudo apt install guix},
|
||||
@command{pacman -S guix}, or similar commands)
|
||||
because on many distributions @file{guix-daemon.service} will only
|
||||
run the Guix daemon provided by the distribution.
|
||||
|
||||
Waiting for your distribution to provide security fixes sometimes work,
|
||||
@@ -13265,6 +13296,11 @@ be a list of keywords with values accepted by procedure
|
||||
@end example
|
||||
@end deffn
|
||||
|
||||
@deffn {REPL command} graft? @var{graft?}
|
||||
Set whether grafts should be performed as part of the build. Equivalent
|
||||
to @code{--no-grafts} argument to @code{guix build}.
|
||||
@end deffn
|
||||
|
||||
@deffn {REPL command} lower @var{object}
|
||||
Lower @var{object} into a derivation or store file name and return it.
|
||||
@end deffn
|
||||
@@ -18898,8 +18934,8 @@ given location at the time of the unlock attempt.
|
||||
;; Following definition would be equivalent to running:
|
||||
;; cryptsetup open --key-file /crypto.key /dev/sdb1 data
|
||||
(mapped-device
|
||||
(source "/dev/sdb1)
|
||||
(target "data)
|
||||
(source "/dev/sdb1")
|
||||
(target "data")
|
||||
(type luks-device-mapping)
|
||||
(arguments '(#:key-file "/crypto.key")))
|
||||
@end lisp
|
||||
@@ -18929,7 +18965,7 @@ options, along with @option{--allow-discards}:
|
||||
(arguments '(#:allow-discards? #t
|
||||
#:extra-options
|
||||
("--perf-no_read_workqueue"
|
||||
"--perf-no_write_workqueue")))))
|
||||
"--perf-no_write_workqueue"))))
|
||||
@end lisp
|
||||
|
||||
@end table
|
||||
@@ -19852,6 +19888,11 @@ symlink:
|
||||
This procedure is meant for @code{/bin/sh}, @code{/usr/bin/env} and
|
||||
similar targets. In particular, use for targets under @code{/etc} might
|
||||
not work as expected if the target is managed by Guix in other ways.
|
||||
|
||||
The special files persist on your system even after the
|
||||
@code{extra-special-file} call has been removed from your system config
|
||||
and the system has been reconfigured. The special files need to be
|
||||
removed manually.
|
||||
@end deffn
|
||||
|
||||
@defvar host-name-service-type
|
||||
@@ -24827,7 +24868,6 @@ example the @code{windowmaker} or @code{openbox} packages---preferably
|
||||
by adding it to the @code{packages} field of your operating system
|
||||
definition (@pxref{operating-system Reference, system-wide packages}).
|
||||
|
||||
@anchor{wayland-gdm}
|
||||
GDM also supports Wayland: it can itself use Wayland instead of X11 for
|
||||
its user interface, and it can also start Wayland sessions. Wayland
|
||||
support is enabled by default. To disable it, set @code{wayland?} to
|
||||
@@ -26340,16 +26380,6 @@ special-purpose system interfaces and programs. This allows backlight
|
||||
adjustment helpers, power management utilities, screen lockers, and
|
||||
other integrated functionality to work as expected.
|
||||
|
||||
The desktop environments in Guix use the Xorg display server by
|
||||
default. If you'd like to use the newer display server protocol
|
||||
called Wayland, you need to enable Wayland support in GDM
|
||||
(@pxref{wayland-gdm}). Another solution is to use the
|
||||
@code{sddm-service} instead of GDM as the graphical login manager.
|
||||
You should then select the ``GNOME (Wayland)'' session in SDDM@.
|
||||
Alternatively you can also try starting GNOME on Wayland manually from a
|
||||
TTY with the command ``XDG_SESSION_TYPE=wayland exec dbus-run-session
|
||||
gnome-session``. Currently only GNOME has support for Wayland.
|
||||
|
||||
@defvar gnome-desktop-service-type
|
||||
This is the type of the service that adds the @uref{https://www.gnome.org,
|
||||
GNOME} desktop environment. Its value is a @code{gnome-desktop-configuration}
|
||||
@@ -28336,30 +28366,47 @@ Additional command line options to pass to @code{memcached}.
|
||||
|
||||
@subsubheading Redis
|
||||
|
||||
@uref{https://redis.io/, Redis} is an in-memory data store used
|
||||
by millions of developers as a cache, vector database, document
|
||||
database, streaming engine, and message broker. Redis has built-in
|
||||
replication and different levels of on-disk persistence. It supports
|
||||
complex data types (for example, strings, hashes, lists, sets, sorted
|
||||
sets, and JSON), with atomic operations defined on those data types.
|
||||
|
||||
@defvar redis-service-type
|
||||
This is the service type for the @uref{https://redis.io/, Redis}
|
||||
key/value store, whose value is a @code{redis-configuration} object.
|
||||
Type of the service that runs @command{redis}, an in-memory data store.
|
||||
The value for this service is a @code{<redis-configuration>} object.
|
||||
@end defvar
|
||||
|
||||
@c %start of fragment
|
||||
|
||||
@deftp {Data Type} redis-configuration
|
||||
Data type representing the configuration of redis.
|
||||
Available @code{redis-configuration} fields are:
|
||||
|
||||
@table @asis
|
||||
@item @code{redis} (default: @code{redis})
|
||||
@item @code{redis} (default: @code{redis}) (type: package)
|
||||
The Redis package to use.
|
||||
|
||||
@item @code{bind} (default: @code{"127.0.0.1"})
|
||||
@item @code{bind} (default: @code{"127.0.0.1"}) (type: string)
|
||||
Network interface on which to listen.
|
||||
|
||||
@item @code{port} (default: @code{6379})
|
||||
@item @code{port} (default: @code{6379}) (type: number)
|
||||
Port on which to accept connections on, a value of 0 will disable
|
||||
listening on a TCP socket.
|
||||
|
||||
@item @code{working-directory} (default: @code{"/var/lib/redis"})
|
||||
@item @code{working-directory} (default: @code{"/var/lib/redis"}) (type: string)
|
||||
Directory in which to store the database and related files.
|
||||
|
||||
@item @code{config-file} (type: maybe-string)
|
||||
Default location for config file.
|
||||
|
||||
@end table
|
||||
|
||||
@end deftp
|
||||
|
||||
|
||||
@c %end of fragment
|
||||
|
||||
@node Mail Services
|
||||
@subsection Mail Services
|
||||
|
||||
@@ -45481,7 +45528,7 @@ A string representing the OCI image tag. Defaults to @code{latest}.
|
||||
@item @code{value} (type: oci-lowerable-image)
|
||||
A @code{manifest} or @code{operating-system} record that will be lowered
|
||||
into an OCI compatible tarball. Otherwise this field's value can be a
|
||||
gexp or a file-like object that evaluates to an OCI compatible tarball.
|
||||
file-like object that evaluates to an OCI compatible tarball.
|
||||
|
||||
@item @code{pack-options} (default: @code{'()}) (type: list)
|
||||
An optional set of keyword arguments that will be passed to the
|
||||
@@ -47776,7 +47823,9 @@ machine. The @code{grub-bootloader} bootloader is always used
|
||||
independently of what is declared in the @code{operating-system} file
|
||||
passed as argument. This is to make it easier to work with QEMU, which
|
||||
uses the SeaBIOS BIOS by default, expecting a bootloader to be installed
|
||||
in the Master Boot Record (MBR).
|
||||
in the Master Boot Record (MBR). In case the virtual machine is
|
||||
going to be AArch64, you might want to take a look at @code{qcow2-gpt}
|
||||
image type that installs bootloader only in EFI.
|
||||
|
||||
@cindex docker-image, creating docker images
|
||||
When using the @code{docker} image type, a Docker image is produced.
|
||||
@@ -49217,6 +49266,11 @@ daemons are started after all the file systems have been mounted and
|
||||
that, during shutdown, they are stopped before attempting to terminate
|
||||
remaining user processes.
|
||||
|
||||
Similarly, services that do make mounts during their startup or operation,
|
||||
should have @code{user-file-systems} as a requirement. @code{user-processes}
|
||||
does depend on @code{user-file-systems} as well.
|
||||
So direct requirement only on @code{user-processes} is sufficient.
|
||||
|
||||
@cindex one-shot services, for the Shepherd
|
||||
@item @code{one-shot?} (default: @code{#f})
|
||||
Whether this service is @dfn{one-shot}. One-shot services stop immediately
|
||||
@@ -54695,7 +54749,18 @@ Build an image based on the @code{efi32-disk-image} image.
|
||||
|
||||
@defvar qcow2-image-type
|
||||
Build an image based on the @code{mbr-disk-image} image but with the
|
||||
@code{compressed-qcow2} image format.
|
||||
@code{compressed-qcow2} image format. The resulting image will have
|
||||
an MBR embedded bootloader as well as an EFI bootloader. This image
|
||||
is not suitable for architectures that do not support `grub-pc`,
|
||||
such as AArch64. See @code{qcow2-gpt-image-type} for an alternative.
|
||||
@end defvar
|
||||
|
||||
@defvar qcow2-gpt-image-type
|
||||
Build an image based on the @code{efi-disk-image} image but with the
|
||||
@code{compressed-qcow2} image format. The resulting image will have
|
||||
only EFI bootloader, unlike @code{qcow2-image-type}. This image
|
||||
is suitable for architectures that do not support `grub-pc`, such
|
||||
as AArch64.
|
||||
@end defvar
|
||||
|
||||
@defvar iso-image-type
|
||||
|
||||
+2
-2
@@ -2,7 +2,7 @@
|
||||
# Modified by Ludovic Courtès <ludo@gnu.org> for the GNU Guix manual.
|
||||
# Further modified by Tomas Volf <~@wolfsden.cz>.
|
||||
|
||||
htmlxrefversion=2025-11-29.21; # UTC
|
||||
htmlxrefversion=2026-01-19.08; # UTC
|
||||
|
||||
# Copyright 2010-2020, 2022 Free Software Foundation, Inc.
|
||||
#
|
||||
@@ -416,7 +416,7 @@ guile-rpc mono ${GS}/guile-rpc/manual/guile-rpc.html
|
||||
guile-rpc node ${GS}/guile-rpc/manual/html_node/
|
||||
|
||||
GUIX_ROOT = https://guix.gnu.org
|
||||
GUIX = ${GUIX_ROOT}/manual
|
||||
GUIX = ${GUIX_ROOT}/manual/1.5.0
|
||||
guix.de mono ${GUIX}/de/guix.de.html
|
||||
guix.de node ${GUIX}/de/html_node/
|
||||
guix.es mono ${GUIX}/es/guix.es.html
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
abi <abi/4.0>,
|
||||
|
||||
include <tunables/global>
|
||||
include <tunables/guix>
|
||||
|
||||
# There’s no point in confining the guix executable, since it can run
|
||||
# any user code and so everything is expected. We just need to
|
||||
# explicitly enable userns for systems with the
|
||||
# kernel.apparmor_restrict_unprivileged_userns sysctl.
|
||||
profile guix @{guix_storedir}/{*-guix-command,*-guix-*/bin/guix} flags=(unconfined) {
|
||||
userns,
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
abi <abi/4.0>,
|
||||
|
||||
include <tunables/global>
|
||||
include <tunables/guix>
|
||||
|
||||
profile guix-daemon @{guix_storedir}/*-{guix-daemon,guix}-*/bin/guix-daemon flags=(enforce,attach_disconnected.path=/disconnected) {
|
||||
include <abstractions/base>
|
||||
|
||||
userns,
|
||||
signal,
|
||||
capability sys_admin,
|
||||
capability net_admin,
|
||||
capability sys_chroot,
|
||||
capability setgid,
|
||||
capability chown,
|
||||
network dgram,
|
||||
umount,
|
||||
mount,
|
||||
pivot_root,
|
||||
# Paths inside build chroot
|
||||
/real-root/ w,
|
||||
/ w,
|
||||
|
||||
@{guix_localstatedir}/guix/** rwk,
|
||||
/var/log/guix/** w,
|
||||
owner @{PROC}/@{pid}/{fd/,environ} r,
|
||||
owner @{PROC}/@{pid}/oom_score_adj w,
|
||||
owner @{PROC}/@{pid}/uid_map rw,
|
||||
owner @{PROC}/@{pid}/gid_map rw,
|
||||
owner @{PROC}/@{pid}/setgroups w,
|
||||
@{guix_storedir}/ r,
|
||||
@{guix_storedir}/** rwlmk,
|
||||
@{guix_storedir}/*/bin/guile cx -> guix-builder,
|
||||
@{guix_storedir}/*-guix-command cx -> guix-helper,
|
||||
@{guix_storedir}/*-guix-*/bin/guix cx -> guix-helper,
|
||||
@{etc_rw}/nsswitch.conf r,
|
||||
@{etc_rw}/passwd r,
|
||||
@{etc_rw}/group r,
|
||||
owner /tmp/** rwl,
|
||||
owner /var/tmp/** rwl,
|
||||
|
||||
/usr/bin/newgidmap Ux,
|
||||
|
||||
# Site-specific additions and overrides. See local/README for details.
|
||||
include if exists <local/guix-daemon>
|
||||
|
||||
profile guix-builder flags=(enforce,attach_disconnected.path=/disconnected) {
|
||||
include <abstractions/base>
|
||||
|
||||
signal (receive),
|
||||
|
||||
@{guix_storedir}/** rwlmkux,
|
||||
|
||||
owner /tmp/** rw,
|
||||
|
||||
@{PROC}/@{pid}/fd/ r,
|
||||
|
||||
/disconnected/** rw,
|
||||
}
|
||||
|
||||
# This is for any time guix is called by the daemon as a helper:
|
||||
# - guix download
|
||||
# - guix discover
|
||||
# - guix gc --list-busy
|
||||
# - probably more?
|
||||
profile guix-helper flags=(enforce,attach_disconnected.path=/disconnected) {
|
||||
include <abstractions/base>
|
||||
include <abstractions/nameservice>
|
||||
|
||||
signal (receive),
|
||||
ptrace (read) peer=guix-daemon,
|
||||
|
||||
/disconnected/run/dbus/system_bus_socket rw,
|
||||
dbus (send, receive),
|
||||
@{guix_localstatedir}/guix/discover/ rw,
|
||||
@{guix_localstatedir}/guix/discover/* rw,
|
||||
|
||||
@{guix_localstatedir}/guix/substitute/ rw,
|
||||
@{guix_localstatedir}/guix/substitute/** rwk,
|
||||
|
||||
@{guix_sysconfdir}/guix/** r,
|
||||
|
||||
@{guix_storedir}/** rwlmix,
|
||||
|
||||
@{PROC}/ r,
|
||||
owner @{PROC}/@{pid}/{fd/,environ} r,
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
@{guix_storedir} = @storedir@
|
||||
@{guix_sysconfdir} = @guix_sysconfdir@
|
||||
@{guix_localstatedir} = @guix_localstatedir@
|
||||
|
||||
include if exists <tunables/guix.d>
|
||||
+27
-2
@@ -175,6 +175,10 @@
|
||||
(file (execute
|
||||
execute_no_trans read write open entrypoint map
|
||||
getattr link unlink)))
|
||||
;; Needed to execute the 'newgidmap' helper.
|
||||
(allow guix_daemon_t
|
||||
bin_t
|
||||
(file (execute execute_no_trans map)))
|
||||
|
||||
;; Remounting /gnu/store read-write.
|
||||
(allow guix_daemon_t
|
||||
@@ -322,7 +326,7 @@
|
||||
map
|
||||
getattr setattr
|
||||
unlink
|
||||
open read write)))
|
||||
open read write append)))
|
||||
(allow guix_daemon_t
|
||||
guix_daemon_conf_t
|
||||
(lnk_file (create getattr rename unlink read)))
|
||||
@@ -367,7 +371,7 @@
|
||||
;; Allow use of user namespaces
|
||||
(allow guix_daemon_t
|
||||
self
|
||||
(cap_userns (sys_admin net_admin sys_chroot)))
|
||||
(cap_userns (setgid sys_admin net_admin sys_chroot)))
|
||||
(allow guix_daemon_t
|
||||
self
|
||||
(user_namespace (create)))
|
||||
@@ -451,6 +455,27 @@
|
||||
vnc_port_t
|
||||
(tcp_socket (name_bind)))
|
||||
|
||||
;; 'guix gc' needs to go through /proc entries for all processes that are
|
||||
;; running. Strictly speaking, it means guix-daemon needs access to all
|
||||
;; process types in the SELinux policy. In practice, only processes from
|
||||
;; programs in the /gnu/store are relevant for finding roots for garbage
|
||||
;; collection. Since Guix currently doesn't install any SELinux policy for
|
||||
;; its packages, we can assume that all the processes it needs to access run
|
||||
;; as unconfined_t.
|
||||
;;
|
||||
;; FIXME: This doesn't stop 'guix gc' from generating a lot of unnecessary
|
||||
;; AVC denied audit messages. Perhaps guix-daemon could test whether it has
|
||||
;; access to the proc entry before trying to access it?
|
||||
(allow guix_daemon_t
|
||||
unconfined_t
|
||||
(dir (search)))
|
||||
(allow guix_daemon_t
|
||||
unconfined_t
|
||||
(file (read)))
|
||||
(allow guix_daemon_t
|
||||
unconfined_t
|
||||
(lnk_file (read)))
|
||||
|
||||
;; I guess sometimes it needs random numbers
|
||||
(allow guix_daemon_t
|
||||
random_device_t
|
||||
|
||||
@@ -14,6 +14,12 @@ ExecStart=@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daem
|
||||
--substitute-urls='@GUIX_SUBSTITUTE_URLS@'
|
||||
Environment='GUIX_STATE_DIRECTORY=@localstatedir@/guix' 'GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale' LC_ALL=en_US.utf8
|
||||
|
||||
# Stop the gnu-store.mount so that the daemon can capture the store as
|
||||
# read-write in its private mount namespace.
|
||||
# See <https://codeberg.org/guix/guix/issues/4744>.
|
||||
ExecStartPre=-+systemctl stop gnu-store.mount
|
||||
ExecStartPost=-+systemctl start gnu-store.mount --no-block
|
||||
|
||||
# Run under a dedicated unprivileged user account.
|
||||
User=guix-daemon
|
||||
|
||||
|
||||
+102
-18
@@ -17,6 +17,7 @@
|
||||
# Copyright © 2024 Tomas Volf <~@wolfsden.cz>
|
||||
# Copyright © 2024 Richard Sent <richard@freakingpenguin.com>
|
||||
# Copyright © 2025 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
||||
# Copyright © 2025 Noé Lopez <noelopez@free.fr>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
@@ -105,10 +106,12 @@ DEBUG=0
|
||||
GNU_URL="https://ftpmirror.gnu.org/gnu/guix/"
|
||||
|
||||
# The following associative array holds set of GPG keys used to sign the
|
||||
# releases, keyed by their corresponding Savannah user ID.
|
||||
# releases, keyed by their corresponding Codeberg user name.
|
||||
declare -A GPG_SIGNING_KEYS
|
||||
GPG_SIGNING_KEYS[15145]=3CE464558A84FDC69DB40CFB090B11993D9AEBB5 # ludo
|
||||
GPG_SIGNING_KEYS[127547]=27D586A4F8900854329FF09F1260E46482E63562 # maxim
|
||||
GPG_SIGNING_KEYS["civodul"]=3CE464558A84FDC69DB40CFB090B11993D9AEBB5 # ludo
|
||||
GPG_SIGNING_KEYS["apteryx"]=27D586A4F8900854329FF09F1260E46482E63562 # maxim
|
||||
GPG_SIGNING_KEYS["efraim"]=A28BF40C3E551372662D14F741AAE7DCCA3D8351 # efraim
|
||||
PUBLIC_KEYSERVERS="keys.openpgp.org pgpkeys.eu keyserver.ubuntu.com"
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
#+UTILITIES
|
||||
@@ -203,6 +206,7 @@ chk_gpg_keyring()
|
||||
|
||||
for user_id in "${!GPG_SIGNING_KEYS[@]}"; do
|
||||
gpg_key_id=${GPG_SIGNING_KEYS[$user_id]}
|
||||
codeberg_username=$user_id
|
||||
# Without --dry-run this command will create a ~/.gnupg owned by root on
|
||||
# systems where gpg has never been used, causing errors and confusion.
|
||||
if gpg --dry-run --list-keys "$gpg_key_id" >/dev/null 2>&1; then
|
||||
@@ -211,20 +215,39 @@ chk_gpg_keyring()
|
||||
if prompt_yes_no "${INF}The following OpenPGP public key is \
|
||||
required to verify the Guix binary signature: $gpg_key_id.
|
||||
Would you like me to fetch it for you?"; then
|
||||
# Use a reasonable time-out here so users don't report silent
|
||||
# ‘freezes’ when Savannah goes out to lunch, as has happened.
|
||||
if wget "https://sv.gnu.org/people/viewgpg.php?user_id=$user_id" \
|
||||
--timeout=30 --no-verbose -O- | gpg --import -; then
|
||||
if wget "https://codeberg.org/$codeberg_username.gpg" \
|
||||
--tries=1 --timeout=30 --no-verbose -O- | gpg --import -; then
|
||||
continue
|
||||
fi
|
||||
|
||||
key_obtained=false
|
||||
# Try to fetch keys from an available keyserver
|
||||
for key_server in $PUBLIC_KEYSERVERS; do
|
||||
if gpg --keyserver $key_server --recv-key $gpg_key_id; then
|
||||
key_obtained=true
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if $key_obtained; then
|
||||
continue
|
||||
fi
|
||||
fi
|
||||
# If we reach this point, the key is (still) missing. Report further
|
||||
# missing keys, if any, but then abort the installation.
|
||||
_err "Missing OpenPGP public key ($gpg_key_id).
|
||||
Fetch it with this command:
|
||||
Fetch it with codeberg username:
|
||||
|
||||
wget \"https://sv.gnu.org/people/viewgpg.php?user_id=$user_id\" -O - | \
|
||||
sudo -i gpg --import -"
|
||||
wget \"https://codeberg.org/$codeberg_username.gpg\" -O - | \
|
||||
sudo -i gpg --import -
|
||||
|
||||
If this fails, try to fetch it via a keyserver:
|
||||
|
||||
for key_server in $PUBLIC_KEYSERVERS; do
|
||||
if sudo -i gpg --keyserver $key_server --recv-key $gpg_key_id; then
|
||||
break
|
||||
fi
|
||||
done"
|
||||
exit_flag=yes
|
||||
done
|
||||
if [ "$exit_flag" = yes ]; then
|
||||
@@ -755,7 +778,7 @@ sys_create_init_profile()
|
||||
cat <<"EOF" > /etc/profile.d/zzz-guix.sh
|
||||
# Explicitly initialize XDG base directory variables to ease compatibility
|
||||
# with Guix System: see <https://issues.guix.gnu.org/56050#3>.
|
||||
export XCURSOR_PATH="${XCURSOR_PATH:-/usr/local/share/icons:/usr/share/icons}"
|
||||
export XCURSOR_PATH="${XCURSOR_PATH:-$HOME/.local/share/icons:$HOME/.icons:/usr/local/share/icons:/usr/share/icons}"
|
||||
export XDG_DATA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}"
|
||||
export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
|
||||
export XDG_STATE_HOME="${XDG_STATE_HOME:-$HOME/.local/state}"
|
||||
@@ -771,12 +794,8 @@ export PATH="$GUIX_PROFILE/bin${PATH:+:}$PATH"
|
||||
# info and man readers. When INFOPATH is unset, add a trailing colon so Emacs
|
||||
# searches 'Info-default-directory-list'. When MANPATH is unset, add a
|
||||
# trailing colon so the system default search path is used.
|
||||
export INFOPATH="$GUIX_PROFILE/share/info:$INFOPATH"
|
||||
export MANPATH="$GUIX_PROFILE/share/man:$MANPATH"
|
||||
# Expose the latest Guix modules to Guile so guix shell and repls spawned by
|
||||
# e.g. Geiser work out of the box.
|
||||
export GUILE_LOAD_PATH="$GUIX_PROFILE/share/guile/site/3.0${GUILE_LOAD_PATH:+:}$GUILE_LOAD_PATH"
|
||||
export GUILE_LOAD_COMPILED_PATH="$GUIX_PROFILE/lib/guile/3.0/site-ccache${GUILE_LOAD_COMPILED_PATH:+:}$GUILE_LOAD_COMPILED_PATH"
|
||||
export INFOPATH="$GUIX_PROFILE/share/info:${INFOPATH:-}"
|
||||
export MANPATH="$GUIX_PROFILE/share/man:${MANPATH:-}"
|
||||
|
||||
# User's default profile, if it exists
|
||||
GUIX_PROFILE="$HOME/.guix-profile"
|
||||
@@ -798,6 +817,11 @@ if [ -L "$GUIX_PROFILE" ]; then
|
||||
*$GUIX_PROFILE/share/man*) ;;
|
||||
*) export MANPATH="$GUIX_PROFILE/share/man:$MANPATH"
|
||||
esac
|
||||
|
||||
case $XDG_DATA_DIRS in
|
||||
*$GUIX_PROFILE/share*) ;;
|
||||
*) export XDG_DATA_DIRS="$GUIX_PROFILE/share:$XDG_DATA_DIRS"
|
||||
esac
|
||||
fi
|
||||
|
||||
# NOTE: Guix Home handles its own profile initialization in ~/.profile. See
|
||||
@@ -892,6 +916,64 @@ sys_maybe_setup_selinux()
|
||||
restorecon -R /gnu /var/guix
|
||||
}
|
||||
|
||||
sys_maybe_setup_apparmor()
|
||||
{
|
||||
if ! [ -f /sys/module/apparmor/parameters/enabled ]
|
||||
then
|
||||
return
|
||||
fi
|
||||
|
||||
if ! command -v apparmor_parser &> /dev/null
|
||||
then
|
||||
return
|
||||
fi
|
||||
|
||||
prompt_yes_no "Install AppArmor profile that might be required to run guix-daemon?" \
|
||||
|| return 0
|
||||
|
||||
local var_guix=/var/guix/profiles/per-user/root/current-guix
|
||||
local apparmor_sources="${var_guix}/etc/apparmor.d/"
|
||||
|
||||
if ! [ -d "$apparmor_sources" ]
|
||||
then
|
||||
_err "This version of Guix doesn’t contain AppArmor profiles."
|
||||
return
|
||||
fi
|
||||
|
||||
cp -f -t /etc/apparmor.d/tunables "$apparmor_sources/tunables/guix"
|
||||
cp -f -t /etc/apparmor.d "$apparmor_sources/guix-daemon"
|
||||
cp -f -t /etc/apparmor.d "$apparmor_sources/guix"
|
||||
apparmor_parser --warn=all -r /etc/apparmor.d/guix-daemon
|
||||
apparmor_parser --warn=all -r /etc/apparmor.d/guix
|
||||
|
||||
_msg_pass "apparmor profiles installed and loaded"
|
||||
}
|
||||
|
||||
sys_delete_apparmor_profiles()
|
||||
{
|
||||
# Not a big deal if the apparmor_parser commands fail as they only apply
|
||||
# for the current boot, we still want to go on and remove the files.
|
||||
if [ -f "/etc/apparmor.d/guix" ]
|
||||
then
|
||||
_msg_info "removing /etc/apparmor.d/guix"
|
||||
apparmor_parser -R /etc/apparmor.d/guix || true
|
||||
rm -f "/etc/apparmor.d/guix"
|
||||
fi
|
||||
|
||||
if [ -f "/etc/apparmor.d/guix-daemon" ]
|
||||
then
|
||||
_msg_info "removing /etc/apparmor.d/guix-daemon"
|
||||
apparmor_parser -R /etc/apparmor.d/guix-daemon || true
|
||||
rm -f "/etc/apparmor.d/guix-daemon"
|
||||
fi
|
||||
|
||||
if [ -f "/etc/apparmor.d/tunables/guix" ]
|
||||
then
|
||||
_msg_info "removing /etc/apparmor.d/tunables/guix"
|
||||
rm -f "/etc/apparmor.d/tunables/guix"
|
||||
fi
|
||||
}
|
||||
|
||||
sys_delete_init_profile()
|
||||
{
|
||||
_msg_info "removing /etc/profile.d/zzz-guix.sh"
|
||||
@@ -969,7 +1051,6 @@ main_install()
|
||||
chk_init_sys
|
||||
add_init_sys_require
|
||||
chk_require "${REQUIRE[@]}"
|
||||
chk_gpg_keyring
|
||||
chk_sys_arch
|
||||
chk_sys_nscd
|
||||
chk_existing
|
||||
@@ -980,6 +1061,7 @@ main_install()
|
||||
tmp_path="$(mktemp -t -d guix.XXXXXX)"
|
||||
|
||||
if [ -z "${GUIX_BINARY_FILE_NAME}" ]; then
|
||||
chk_gpg_keyring
|
||||
guix_get_bin_list "${GNU_URL}"
|
||||
guix_get_bin "${GNU_URL}" "${BIN_VER}" "$tmp_path"
|
||||
GUIX_BINARY_FILE_NAME=${BIN_VER}.tar.xz
|
||||
@@ -994,6 +1076,7 @@ main_install()
|
||||
sys_create_store "${GUIX_BINARY_FILE_NAME}" "${tmp_path}"
|
||||
sys_create_build_user
|
||||
sys_maybe_setup_selinux
|
||||
sys_maybe_setup_apparmor
|
||||
sys_enable_guix_daemon
|
||||
sys_authorize_build_farms
|
||||
sys_create_init_profile
|
||||
@@ -1027,6 +1110,7 @@ main_uninstall()
|
||||
sys_delete_guix_daemon
|
||||
# stop people from accessing their profiles.
|
||||
sys_delete_user_profiles
|
||||
sys_delete_apparmor_profiles
|
||||
# kill guix off all the guts of guix
|
||||
sys_delete_store
|
||||
# clean up the system
|
||||
|
||||
@@ -71,18 +71,21 @@ TARGET."
|
||||
"connman" "network-manager" "wpa-supplicant" "isc-dhcp" "cups"
|
||||
"linux-libre" "grub-hybrid")))
|
||||
|
||||
(define %system-gui-packages
|
||||
(define (%system-gui-packages target)
|
||||
;; Key packages proposed by the Guix System installer.
|
||||
(append (map specification->package
|
||||
'(;; build system `python' does not support cross builds
|
||||
;"gnome" "xfce" "mate" "openbox"
|
||||
;"gnome" "xfce" "mate" "openbox"
|
||||
"awesome"
|
||||
"i3-wm" "i3status" "dmenu" "st"
|
||||
"ratpoison" "xterm"
|
||||
;; build system `emacs' does not support cross builds
|
||||
;"emacs-exwm" "emacs-desktop-environment"
|
||||
;"emacs-exwm" "emacs-desktop-environment"
|
||||
"emacs"))
|
||||
%default-xorg-modules))
|
||||
;; NOTE: %default-xorg-modules depends on system.
|
||||
(parameterize
|
||||
((%current-target-system target))
|
||||
%default-xorg-modules)))
|
||||
|
||||
(define %packages-to-cross-build
|
||||
;; Packages that must be cross-buildable from x86_64-linux.
|
||||
@@ -151,7 +154,8 @@ TARGET."
|
||||
;; With a graphical environment:
|
||||
(if (or (target-x86-32? target)
|
||||
(target-aarch64? target))
|
||||
%system-gui-packages
|
||||
;; %system-gui-packages depends on the system.
|
||||
(%system-gui-packages target)
|
||||
'()))))
|
||||
(fold delete (map platform-system->target (systems))
|
||||
'(;; Disable cross-compilation to self:
|
||||
|
||||
@@ -0,0 +1,165 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2025 Noé Lopez <noelopez@free.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;; This manifest is a list of packages that user care about (collected via an
|
||||
;;; online form). It corresponds to the “Important packages” of GCD 005.
|
||||
|
||||
(specifications->manifest
|
||||
(list
|
||||
"0ad"
|
||||
"agda"
|
||||
"alacritty"
|
||||
"ardour"
|
||||
"autoconf"
|
||||
"automake"
|
||||
"blender"
|
||||
"borg"
|
||||
"btrfs-progs"
|
||||
"certbot"
|
||||
"chez-scheme"
|
||||
"clang-toolchain"
|
||||
"cryptsetup"
|
||||
"dillo"
|
||||
"direnv"
|
||||
"docker-cli"
|
||||
"dovecot"
|
||||
"emacs"
|
||||
"emacs-exwm"
|
||||
"emacs-pgtk"
|
||||
"evince"
|
||||
"fcitx5"
|
||||
"file"
|
||||
"fish"
|
||||
"foot"
|
||||
"fzf"
|
||||
"gajim"
|
||||
"gallery-dl"
|
||||
"gcc-toolchain"
|
||||
"getmail6"
|
||||
"gettext"
|
||||
"ghc-xmonad-contrib"
|
||||
"gimp"
|
||||
"git"
|
||||
"gmp"
|
||||
"gnome"
|
||||
"gnupg"
|
||||
"godot"
|
||||
"gpaste"
|
||||
"guile"
|
||||
"guile-json"
|
||||
"hatch"
|
||||
"help2man"
|
||||
"helvum"
|
||||
"hexchat"
|
||||
"hyprland"
|
||||
"icecat"
|
||||
"idris"
|
||||
"imagemagick"
|
||||
"imapfilter"
|
||||
"jami"
|
||||
"k3b"
|
||||
"kakoune"
|
||||
"keepassxc"
|
||||
"krita"
|
||||
"ksoloti-patcher"
|
||||
"libreoffice"
|
||||
"librewolf"
|
||||
"libsecret"
|
||||
"libtool"
|
||||
"libvirt"
|
||||
"llama-cpp"
|
||||
"mariadb"
|
||||
"luanti"
|
||||
"mpc"
|
||||
"mpfr"
|
||||
"mplayer"
|
||||
"mpv"
|
||||
"mullvadbrowser"
|
||||
"neovim"
|
||||
"nginx"
|
||||
"niri"
|
||||
"nix"
|
||||
"node"
|
||||
"notmuch"
|
||||
"obs"
|
||||
"offlineimap3"
|
||||
"opencv"
|
||||
"openmpi"
|
||||
"opensmtpd"
|
||||
"openssh"
|
||||
"openttd"
|
||||
"pandoc"
|
||||
"password-store"
|
||||
"pavucontrol"
|
||||
"php"
|
||||
"picard"
|
||||
"pipewire"
|
||||
"pkg-config"
|
||||
"plasma"
|
||||
"plasma-desktop"
|
||||
"po4a"
|
||||
"podman"
|
||||
"postgresql"
|
||||
"python"
|
||||
"python-lxml"
|
||||
"python-pycryptodome"
|
||||
"qemu"
|
||||
"ranger"
|
||||
"retroarch"
|
||||
;;"rocm"
|
||||
"rofi"
|
||||
"rspamd"
|
||||
"rsync"
|
||||
"screen"
|
||||
"slurm"
|
||||
"sqlite"
|
||||
"sqlitebrowser"
|
||||
"strace"
|
||||
"strawberry"
|
||||
"syncthing"
|
||||
"taisei"
|
||||
"telegram-desktop"
|
||||
"texlive-babel"
|
||||
"texlive-babel-english"
|
||||
"texlive-babel-french"
|
||||
"texlive-babel-german"
|
||||
"texlive-collection-latex"
|
||||
"texlive-collection-latexrecommended"
|
||||
"texlive-collection-xetex"
|
||||
"texlive-pdfjam"
|
||||
"tmux"
|
||||
"tuba"
|
||||
"ungoogled-chromium"
|
||||
"unison"
|
||||
"unzip"
|
||||
"uv"
|
||||
"viewnior"
|
||||
"virt-manager"
|
||||
"waybar"
|
||||
"wine"
|
||||
"wine64"
|
||||
"wireguard-tools"
|
||||
"xmobar"
|
||||
"xmonad"
|
||||
"xournal"
|
||||
"xournalpp"
|
||||
"xpdf"
|
||||
"yt-dlp"
|
||||
"zig"
|
||||
"zip"
|
||||
"zsh"))
|
||||
@@ -42,10 +42,75 @@
|
||||
(channel-news
|
||||
(version 0)
|
||||
|
||||
(entry (commit "6d4cb99a15da7f4fd55f956c55f4f4aacfcc7742")
|
||||
(title
|
||||
(en "@code{%desktop-services} now includes GDM on AArch64"))
|
||||
(body
|
||||
(en "On Guix System in an operating system configuration, your value for the
|
||||
@code{services} field is based on @code{%desktop-services} for desktop
|
||||
machines.
|
||||
|
||||
The @code{%desktop-services} contains a login manager that is
|
||||
architecture-dependent. Previously, GDM has been used on x86_64 and SDDM on
|
||||
other architectures.
|
||||
|
||||
Now, GDM is used on all 64-bit architectures. This affects only AArch64 in
|
||||
the end, as other 64-bit architectures aren't mature enough to use
|
||||
%desktop-services, yet.
|
||||
|
||||
In case you're on AArch64 and you've changed the login manager, you will have
|
||||
to adapt your config to remove @code{gdm-service-type} instead of
|
||||
@code{sddm-service-type}.")))
|
||||
|
||||
(entry (commit "d3b79beaa806452dceaffb8b211b69dc4c346aba")
|
||||
(title
|
||||
(en "Linux-libre 5.4 no longer supported")
|
||||
(de "Linux-libre 5.4 nicht mehr unterstützt")
|
||||
(pt "Linux-libre 5.4 não é mais suportado"))
|
||||
(body
|
||||
(en "The linux-libre 5.4 kernel series is no longer supported
|
||||
upstream and will be removed from GNU Guix soon:
|
||||
|
||||
https://www.kernel.org/category/releases.html
|
||||
|
||||
This kernel series was first added to Guix in 2019 by Mark Weaver, at version
|
||||
5.4.5. After ~297 updates delivered to Guix users, we have deployed the final
|
||||
update, 5.4.302.
|
||||
|
||||
The next kernel series removals are scheduled for December 2026, when the Linux
|
||||
long-term support team is planning to stop supporting four different kernel
|
||||
series: 6.12, 6.6, 5.15, and 5.10.")
|
||||
(de "Die Versionsreihe 5.4 des Linux-libre-Kernels wird von dessen
|
||||
Anbieter nicht mehr unterstützt und wird bald aus GNU Guix entfernt werden:
|
||||
|
||||
https://www.kernel.org/category/releases.html
|
||||
|
||||
Diese Kernel-Reihe wurde ursprünglich 2019 zu Guix hinzugefügt von Mark Weaver
|
||||
mit Version 5.4.5. Nach ~297 Aktualisierungen, die Guix seinen Nutzern
|
||||
bereitgestellt hat, haben wir nun die letzte Aktualisierung
|
||||
ausgeliefert, 5.4.302.
|
||||
|
||||
Der weitere Plan von Linux’ Team für Langzeitunterstützung sieht vor, als
|
||||
Nächstes die Unterstützung für vier verschiedene Kernel-Reihen im Dezember 2026
|
||||
zu beenden: 6.12, 6.6, 5.15 und 5.10.")
|
||||
(pt "A série 5.4 do kernel linux-libre não é mais suportada pelo
|
||||
fornecedor e será removida do GNU Guix em breve:
|
||||
|
||||
https://www.kernel.org/category/releases.html
|
||||
|
||||
Esta série de kernels foi adicionada inicialmente ao Guix em 2019 por Mark
|
||||
Weaver, na versão 5.4.5. Após ~297 atualizações entregues aos usuários do
|
||||
Guix, implantamos a atualização final, 5.4.302.
|
||||
|
||||
As próximas remoções de séries do kernel estão agendadas para dezembro de
|
||||
2026, quando o time de suporte de longo prazo planeja interromper o suporte a
|
||||
quatro séries diferentes do kernel: 6.12, 6.6, 5.15 e 5.10.")))
|
||||
|
||||
(entry (commit "14bb0192fde79909999c3880b6b66aa22499eb11")
|
||||
(title
|
||||
(en "Linux-libre 6.16 removed from Guix")
|
||||
(de "Linux-libre 6.16 wurde aus Guix entfernt")
|
||||
(pt "Linux-libre 6.16 removido do Guix")
|
||||
(zh "Linux-libre 6.16 已从 Guix 中移除"))
|
||||
(body
|
||||
(en "The linux-libre 6.16 kernel series has been removed from Guix, as
|
||||
@@ -54,6 +119,8 @@ default.")
|
||||
(de "Die Versionsreihe 6.16 des Linux-libre-Kernels wurde aus GNU Guix
|
||||
entfernt, weil sie von dessen Anbieter nicht mehr unterstützt wird.
|
||||
Kernel-Versionsreihe 6.17 ist jetzt vorgegeben.")
|
||||
(pt "A série 6.16 do kernel linux-libre foi removida do Guix, dado
|
||||
que não é mais suportada pelo fornecedor. A série 6.17 é o padrão atual")
|
||||
(zh "由于上游不再支持,GNU Guix 已移除 6.16 系列的 linux-libre 内核。6.17
|
||||
内核系列现已成为默认版本。")))
|
||||
|
||||
|
||||
+15
-5
@@ -702,6 +702,7 @@ GLib/GIO, GTK, GStreamer and Webkit."
|
||||
(team 'hare
|
||||
#:name "Hare"
|
||||
#:scope (list "gnu/packages/hare.scm"
|
||||
"gnu/packages/hare-apps.scm"
|
||||
"gnu/packages/hare-xyz.scm"
|
||||
"guix/build-system/hare.scm"
|
||||
"guix/build/hare-build-system.scm")))
|
||||
@@ -1276,9 +1277,9 @@ the \"texlive\" importer."
|
||||
games)
|
||||
|
||||
(define-member (person "Laurent Gatto"
|
||||
"laurent.gatto@gmail.com"
|
||||
"lgatto@protonmail.ch"
|
||||
"lgatto")
|
||||
r)
|
||||
r bioinformatics)
|
||||
|
||||
(define-member (person "Nicolas Goaziou"
|
||||
"guix@nicolasgoaziou.fr"
|
||||
@@ -1327,8 +1328,7 @@ the \"texlive\" importer."
|
||||
|
||||
(define-member (person "Hilton Chain"
|
||||
"hako@ultrarare.space"
|
||||
"hako")
|
||||
emacs home localization mozilla rust zig)
|
||||
"hako"))
|
||||
|
||||
(define-member (person "Noé Lopez"
|
||||
"noelopez@free.fr"
|
||||
@@ -1392,7 +1392,7 @@ the \"texlive\" importer."
|
||||
(define-member (person "Danny Milosavljevic"
|
||||
"dannym@friendly-machines.com"
|
||||
"daym")
|
||||
bootstrap hpc rust science)
|
||||
bootstrap hpc python rust science)
|
||||
|
||||
(define-member (person "Andy Tai"
|
||||
"atai@atai.org"
|
||||
@@ -1409,6 +1409,16 @@ the \"texlive\" importer."
|
||||
"delitrem")
|
||||
beam)
|
||||
|
||||
(define-member (person "Nguyễn Gia Phong"
|
||||
"cnx@loang.net"
|
||||
"cnx")
|
||||
python)
|
||||
|
||||
(define-member (person "Lilah Tascheter"
|
||||
"lilah@lunabee.space"
|
||||
"tinystar")
|
||||
hare)
|
||||
|
||||
|
||||
(define (find-team name)
|
||||
(or (hash-ref %teams (string->symbol name))
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;; This file returns a manifest of packages built using the cargo-build-system.
|
||||
;;; It is used to assist continuous integration of the rust-team branch.
|
||||
;;; This file returns a manifest of packages built using the hare-build-system.
|
||||
;;; It is used to assist continuous integration of the hare-team branch.
|
||||
|
||||
(use-modules (guix packages)
|
||||
(guix profiles)
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2025 jgart <jgart@dismail.de>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;; This file returns a manifest of packages built using any one of the
|
||||
;;; asdf build systems. It is used to assist continuous integration of
|
||||
;;; the lisp-team branch.
|
||||
|
||||
(use-modules (guix packages)
|
||||
(guix profiles)
|
||||
(guix build-system))
|
||||
|
||||
(manifest
|
||||
(map package->manifest-entry
|
||||
(fold-packages
|
||||
(lambda (package lst)
|
||||
(if (or (eq? 'asdf/sbcl (build-system-name (package-build-system package)))
|
||||
(eq? 'asdf/ecl (build-system-name (package-build-system package)))
|
||||
(eq? 'asdf/clasp (build-system-name (package-build-system package)))
|
||||
(string=? "clasp-cl" (package-name package))
|
||||
(string=? "ecl" (package-name package))
|
||||
(string=? "sbcl" (package-name package)))
|
||||
(cons package lst)
|
||||
lst))
|
||||
'())))
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2025 jgart <jgart@dismail.de>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;; This file returns a manifest of packages built using the python-build-system.
|
||||
;;; It is used to assist continuous integration of the python-team branch.
|
||||
|
||||
(use-modules (guix packages)
|
||||
(guix profiles)
|
||||
(guix build-system))
|
||||
|
||||
(manifest
|
||||
(map package->manifest-entry
|
||||
(fold-packages
|
||||
(lambda (package lst)
|
||||
(if (or (eq? 'python (build-system-name (package-build-system package)))
|
||||
(eq? 'pyproject (build-system-name (package-build-system package)))
|
||||
(string=? "python" (package-name package)))
|
||||
(cons package lst)
|
||||
lst))
|
||||
'())))
|
||||
@@ -0,0 +1,413 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;; This manifest returns build artfacts for all supported systems. This can be
|
||||
;;; controlled by SUPPORTED_SYSTEMS environment variable. For the list of
|
||||
;;; artifacts produced, see artifacts-for-system and the `<thing>-for-system?`
|
||||
;;; procedures. NOTE: the --system argument does not change the system for which
|
||||
;;; the resulting package is built. They return different definitions of the
|
||||
;;; images. To change the system, pass different SUPPORTED_SYSTEMS.
|
||||
|
||||
(use-modules (gnu compression)
|
||||
(gnu image)
|
||||
(gnu packages graphviz)
|
||||
(gnu packages imagemagick)
|
||||
(gnu packages package-management)
|
||||
(gnu packages perl)
|
||||
(gnu services)
|
||||
(gnu system image)
|
||||
(gnu system install)
|
||||
(gnu system)
|
||||
(guix build-system gnu)
|
||||
(guix build-system trivial)
|
||||
(guix channels)
|
||||
(guix gexp)
|
||||
(guix git)
|
||||
(guix grafts)
|
||||
(guix memoization)
|
||||
(guix monads)
|
||||
(guix packages)
|
||||
(guix profiles)
|
||||
(guix records)
|
||||
(guix scripts pack)
|
||||
(guix store)
|
||||
(guix ui)
|
||||
(guix utils)
|
||||
(ice-9 format)
|
||||
(ice-9 match)
|
||||
(srfi srfi-9)
|
||||
(srfi srfi-26)
|
||||
(srfi srfi-35))
|
||||
|
||||
;; For easier testing, use (snapshot) guix package from (gnu packages
|
||||
;; package-management). Otherwise, the package is updated to current commit and
|
||||
;; might not be substitutable, leading to longer build times.
|
||||
(define %use-snapshot-package?
|
||||
(string=? (or (getenv "GUIX_USE_SNAPSHOT_PACKAGE") "no") "yes"))
|
||||
|
||||
(define (%guix-version)
|
||||
;; NOTE: while package-version guix is not correct in general,
|
||||
;; it is correct for the release itself. At that time, the
|
||||
;; guix package is updated to vX.Y.Z and it's the version
|
||||
;; we want to use.
|
||||
(package-version guix))
|
||||
|
||||
(define (%vm-image-path)
|
||||
(search-path %load-path "gnu/system/examples/vm-image.tmpl"))
|
||||
|
||||
(define (%vm-image-efi-path)
|
||||
(search-path %load-path "gnu/system/examples/vm-image-efi.tmpl"))
|
||||
|
||||
;; monadic record and gexp-compiler
|
||||
;; taken from Inria
|
||||
;; https://gitlab.inria.fr/numpex-pc5/wp3/guix-images/-/blob/17bf4585abc2d637faa5d339436e778b7c9fb1ce/modules/guix-hpc/packs.scm
|
||||
|
||||
;; XXX: The <monadic> hack below will hopefully become unnecessary once the
|
||||
;; (guix scripts pack) interface switches to declarative style--i.e.,
|
||||
;; file-like objects.
|
||||
|
||||
(define-record-type <monadic>
|
||||
(monadic->declarative mvalue)
|
||||
monadic?
|
||||
(mvalue monadic-value))
|
||||
|
||||
(define-gexp-compiler (monadic-compiler (monadic <monadic>) system target)
|
||||
(monadic-value monadic))
|
||||
|
||||
;; The tarball should be the same for every system.
|
||||
;; Still, we need to decide what system to build it
|
||||
;; for, so use the one that CI has most resources for.
|
||||
(define (source-tarball-for-system? system)
|
||||
(member system
|
||||
'("x86_64-linux")))
|
||||
|
||||
(define (iso-for-system? system)
|
||||
(member system
|
||||
'("x86_64-linux" "i686-linux" "aarch64-linux")))
|
||||
|
||||
(define (qcow2-for-system? system)
|
||||
(member system
|
||||
'("x86_64-linux" "aarch64-linux")))
|
||||
|
||||
(define* (qcow2-gpt-for-system? system)
|
||||
(string=? system "aarch64-linux"))
|
||||
|
||||
(define (copy-/etc/config.scm config)
|
||||
"Copy the configuration.scm of the operating system to /etc/config.scm, for
|
||||
user's convenience. The file has to be writable, not a link to the store, so
|
||||
etc-service-type can't be used here. CONFIG is a pair of strings, (FROM . TO).
|
||||
The config will be copied from FROM to TO."
|
||||
(match config
|
||||
((from . to)
|
||||
(with-imported-modules '((guix build utils))
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
(when (not (file-exists? #$to))
|
||||
(copy-file #$from #$to)
|
||||
(make-file-writable #$to)))))
|
||||
(_ (raise
|
||||
(formatted-message-string
|
||||
(G_ "unexpected config parameter, should be pair of strings: ~a"
|
||||
config))))))
|
||||
|
||||
(define copy-/etc/config.scm-service-type
|
||||
(service-type (name 'copy-/etc/config.scm)
|
||||
(description
|
||||
"Copy the system configuration file to /etc/config.scm.")
|
||||
(extensions (list (service-extension activation-service-type
|
||||
copy-/etc/config.scm)))
|
||||
(default-value (cons "/run/current-system/configuration.scm"
|
||||
"/etc/config.scm"))))
|
||||
|
||||
(define (operating-system-with-/etc/config.scm os)
|
||||
"Copy the system configuration file to writable /etc/config.scm on first boot."
|
||||
(operating-system
|
||||
(inherit os)
|
||||
(services (cons (service copy-/etc/config.scm-service-type)
|
||||
(operating-system-user-services os)))))
|
||||
|
||||
(define (simple-provenance-entry config-file)
|
||||
"Return system entries describing the operating system config, provided
|
||||
through CONFIG-FILE."
|
||||
(mbegin %store-monad
|
||||
(return `(("configuration.scm"
|
||||
,(local-file (assume-valid-file-name config-file)
|
||||
"configuration.scm"))))))
|
||||
|
||||
;; This is mostly taken from provenance-service-type from (gnu services),
|
||||
;; but it provides only configuration.scm, not channels.scm. This is
|
||||
;; to get the same derivations for both Cuirass and local builds.
|
||||
;; In the future, provenance-service-type could be adapted to support
|
||||
;; this use case as well.
|
||||
(define simple-provenance-service-type
|
||||
(service-type (name 'provenance)
|
||||
(extensions
|
||||
(list (service-extension system-service-type
|
||||
simple-provenance-entry)))
|
||||
(default-value #f) ;the OS config file
|
||||
(description
|
||||
"Store configuration.scm of the system in the system
|
||||
itself.")))
|
||||
|
||||
(define* (operating-system-with-simple-provenance
|
||||
os
|
||||
#:optional
|
||||
(config-file
|
||||
(operating-system-configuration-file
|
||||
os)))
|
||||
"Return a variant of OS that stores its CONFIG-FILE. This is similar to
|
||||
`operating-system-with-provenance`, but it does copy only the
|
||||
configuration.scm."
|
||||
(operating-system
|
||||
(inherit os)
|
||||
(services (cons (service simple-provenance-service-type config-file)
|
||||
(operating-system-user-services os)))))
|
||||
|
||||
(define (guix-package-commit guix)
|
||||
;; Extract the commit of the GUIX package.
|
||||
(match (package-source guix)
|
||||
((? channel? source)
|
||||
(channel-commit source))
|
||||
(_
|
||||
(apply (lambda* (#:key commit #:allow-other-keys) commit)
|
||||
(package-arguments guix)))))
|
||||
|
||||
;; NOTE: Normally, we would use (current-guix), along with url
|
||||
;; overridden to the upstream repository to not leak our local checkout.
|
||||
;; But currently, the (current-guix) derivation has to be computed through
|
||||
;; QEMU for systems other than your host system. This takes a lot of time,
|
||||
;; it takes at least half an hour to get the derivations.
|
||||
(define (guix-package/with-commit guix commit)
|
||||
"Use the guix from (gnu packages package-management),
|
||||
but override its commit to the specified version. Make sure
|
||||
to also override the channel commit to have the correct
|
||||
provenance."
|
||||
(let ((scm-version (car (string-split (package-version guix) #\-))))
|
||||
(package
|
||||
(inherit guix)
|
||||
(version (string-append scm-version "." (string-take commit 7)))
|
||||
(source (git-checkout
|
||||
(url (channel-url %default-guix-channel))
|
||||
(commit commit)))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments guix)
|
||||
((#:configure-flags flags '())
|
||||
#~(cons*
|
||||
(string-append "--with-channel-commit=" #$commit)
|
||||
(filter (lambda (flag)
|
||||
(not (string-prefix? "--with-channel-commit=" flag)))
|
||||
#$flags))))))))
|
||||
|
||||
(define guix-for-images
|
||||
(mlambda (system)
|
||||
(cond
|
||||
;; For testing purposes, use the guix package directly.
|
||||
(%use-snapshot-package? guix)
|
||||
;; Normally, update the guix package to current commit.
|
||||
(else
|
||||
(guix-package/with-commit guix (guix-package-commit (current-guix)))))))
|
||||
|
||||
(define %binary-tarball-compression "xz")
|
||||
|
||||
;; Like guix pack -C xz -s --localstatedir --profile-name=current-guix guix
|
||||
(define* (binary-tarball-for-system system #:key (extra-packages '()))
|
||||
(let* ((base-name (string-append "guix-binary-" (%guix-version) "." system))
|
||||
(manifest (packages->manifest (cons* guix extra-packages)))
|
||||
(profile (profile (content manifest)))
|
||||
(inputs `(("profile" ,profile)))
|
||||
(compression %binary-tarball-compression))
|
||||
(manifest-entry
|
||||
(name (string-append base-name ".tar." compression))
|
||||
(version (%guix-version))
|
||||
(item (monadic->declarative
|
||||
(self-contained-tarball
|
||||
base-name profile
|
||||
#:profile-name "current-guix"
|
||||
#:compressor (lookup-compressor compression)
|
||||
#:localstatedir? #t))))))
|
||||
|
||||
;; Like guix system image -t iso9660 \
|
||||
;; --label="GUIX_$${system}_$(VERSION)" gnu/system/install.scm
|
||||
(define* (iso-for-system system)
|
||||
(let* ((name (string-append
|
||||
"guix-system-install-" (%guix-version) "." system ".iso"))
|
||||
(base-os (make-installation-os
|
||||
#:grub-displayed-version (%guix-version)
|
||||
#:efi-only? (string=? system "aarch64-linux")))
|
||||
(base-image (os->image base-os #:type iso-image-type))
|
||||
(label (string-append "GUIX_" system "_"
|
||||
(if (> (string-length (%guix-version)) 7)
|
||||
(string-take (%guix-version) 7)
|
||||
(%guix-version)))))
|
||||
(manifest-entry
|
||||
(name name)
|
||||
(version (%guix-version))
|
||||
(item (system-image
|
||||
(image-with-label
|
||||
(image
|
||||
(inherit base-image)
|
||||
(name (string->symbol name)))
|
||||
label))))))
|
||||
|
||||
;; Like guix system image -t qcow2 gnu/system/examples/vm-image.tmpl
|
||||
(define* (qcow2-for-system system)
|
||||
(let* ((name (string-append
|
||||
"guix-system-vm-image-" (%guix-version) "." system ".qcow2"))
|
||||
(base-os-path
|
||||
(if (qcow2-gpt-for-system? system)
|
||||
(%vm-image-efi-path)
|
||||
(%vm-image-path)))
|
||||
(target-image-type
|
||||
(if (qcow2-gpt-for-system? system)
|
||||
qcow2-gpt-image-type
|
||||
qcow2-image-type))
|
||||
(base-os
|
||||
(operating-system-with-/etc/config.scm
|
||||
(operating-system-with-simple-provenance
|
||||
(load base-os-path) base-os-path)))
|
||||
(base-image (os->image base-os #:type target-image-type)))
|
||||
(manifest-entry
|
||||
(name name)
|
||||
(version (%guix-version))
|
||||
(item (system-image
|
||||
(image
|
||||
(inherit base-image)
|
||||
(volatile-root? #f)
|
||||
(size (* 20 (expt 1024 3))) ; 20 GiB to have spare space
|
||||
(name (string->symbol name))))))))
|
||||
|
||||
(define* (guix-source-tarball)
|
||||
(let ((guix (package
|
||||
(inherit guix)
|
||||
(native-inputs
|
||||
(modify-inputs (package-native-inputs guix)
|
||||
;; graphviz-minimal -> graphviz
|
||||
(replace "graphviz" graphviz)
|
||||
(append imagemagick)
|
||||
(append perl))))))
|
||||
(manifest-entry
|
||||
(name (string-append "guix-" (%guix-version) ".tar.gz"))
|
||||
(version (package-version guix))
|
||||
(item (dist-package
|
||||
guix
|
||||
;; Guix is built from git source, not from tarball.
|
||||
;; So it's fine to use its source directly.
|
||||
(package-source guix))))))
|
||||
|
||||
(define* (manifest-entry-with-parameters system entry
|
||||
#:key
|
||||
(guix-for-images-proc guix-for-images))
|
||||
(manifest-entry
|
||||
(inherit entry)
|
||||
(item
|
||||
(with-parameters
|
||||
((%current-system system)
|
||||
(%current-target-system #f)
|
||||
(current-guix-package (guix-for-images-proc system)))
|
||||
(manifest-entry-item entry)))))
|
||||
|
||||
(define* (manifest-with-parameters system manifest
|
||||
#:key
|
||||
(guix-for-images-proc guix-for-images))
|
||||
"Returns entries in the manifest accompanied with %current-system,
|
||||
%current-target-sytem and current-guix-package parameters."
|
||||
(make-manifest
|
||||
(map (cut manifest-entry-with-parameters system <>
|
||||
#:guix-for-images-proc guix-for-images-proc)
|
||||
(manifest-entries manifest))))
|
||||
|
||||
(define (artifacts-for-system/nonparameterized system)
|
||||
"Get all artifacts for given system. This will always include the
|
||||
guix-binary tarball and optionally iso and/or qcow2 images."
|
||||
(manifest
|
||||
(append
|
||||
(list
|
||||
(binary-tarball-for-system system))
|
||||
;; TODO: After source tarball generation is ready, uncomment.
|
||||
;; (if (source-tarball-for-system? system)
|
||||
;; (list (guix-source-tarball))
|
||||
;; '())
|
||||
(if (iso-for-system? system)
|
||||
(list (iso-for-system system))
|
||||
'())
|
||||
(if (qcow2-for-system? system)
|
||||
(list (qcow2-for-system system))
|
||||
'()))))
|
||||
|
||||
(define* (artifacts-for-system system
|
||||
#:key
|
||||
(guix-for-images-proc guix-for-images))
|
||||
"Collects all artifacts for a system. Gives them the proper %current-system
|
||||
and %current-target-system parameters, so the --system passed on CLI is
|
||||
irrelevant."
|
||||
;; NOTE: parameterizing current system, because the tarball seems to somehow
|
||||
;; depend on it early on. I haven't investigated it, but seems like a bug. Could
|
||||
;; it be the gexp->derivation + monadic->declarative, not passing down the
|
||||
;; system? Symptom: guix build --system=x86_64 -m artifacts-manifest.scm and
|
||||
;; guix build --system=i686-linux -m artifacts-manifest.scm gives out different
|
||||
;; results without the parameterization.
|
||||
(parameterize
|
||||
((%current-system system)
|
||||
(%current-target-system #f)
|
||||
(current-guix-package (guix-for-images-proc system)))
|
||||
(manifest-with-parameters
|
||||
system
|
||||
(artifacts-for-system/nonparameterized system)
|
||||
#:guix-for-images-proc guix-for-images-proc)))
|
||||
|
||||
(define (manifest->union manifest)
|
||||
"Makes a union that will be a folder with all the entries symlinked. This
|
||||
is different from a profile as it expects the entries are just simple files
|
||||
and symlinks them by their manifest-entry-name."
|
||||
(let ((entries (manifest-entries manifest)))
|
||||
(computed-file
|
||||
"artifacts-union"
|
||||
(with-imported-modules '((guix build union)
|
||||
(guix build utils))
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
|
||||
(mkdir-p #$output)
|
||||
|
||||
(for-each
|
||||
(lambda* (entry)
|
||||
(symlink (cdr entry)
|
||||
(string-append #$output "/" (car entry))))
|
||||
(list #$@(map (lambda (entry)
|
||||
#~(cons
|
||||
#$(manifest-entry-name entry)
|
||||
#$(manifest-entry-item entry)))
|
||||
entries))))))))
|
||||
|
||||
(define %supported-systems
|
||||
(or (and
|
||||
(getenv "SUPPORTED_SYSTEMS")
|
||||
(string-split (getenv "SUPPORTED_SYSTEMS") #\ ))
|
||||
'("x86_64-linux" "i686-linux"
|
||||
"armhf-linux" "aarch64-linux"
|
||||
"powerpc64le-linux" "riscv64-linux")))
|
||||
|
||||
(define supported-systems-union-manifest
|
||||
(concatenate-manifests
|
||||
(map artifacts-for-system
|
||||
%supported-systems)))
|
||||
|
||||
(when %use-snapshot-package?
|
||||
(warning (G_ "building images using the 'guix' package (snapshot)~%")))
|
||||
(info (G_ "producing artifacts for the following systems: ~a~%")
|
||||
%supported-systems)
|
||||
supported-systems-union-manifest
|
||||
@@ -0,0 +1,26 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Produce a single directory with all the artifacts inside of it, with proper
|
||||
;;; names. They can then be easily copied to releasedir in Makefile. The files are
|
||||
;;; symlinked to save space, but they should be copied out of the store as regular
|
||||
;;; files.
|
||||
|
||||
(load "artifacts-manifest.scm")
|
||||
|
||||
(manifest->union
|
||||
supported-systems-union-manifest)
|
||||
@@ -22,7 +22,7 @@
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system cargo)
|
||||
#:use-module (gnu packages rust-sources)
|
||||
#:use-module ((gnu packages rust-sources) #:prefix package:)
|
||||
#:export (lookup-cargo-inputs))
|
||||
|
||||
;;;
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
;;; Copyright © 2023-2024 Herman Rimm <herman@rimm.ee>
|
||||
;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
|
||||
;;; Copyright © 2025 dan <i@dan.games>
|
||||
;;; Copyright © 2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -64,7 +65,12 @@
|
||||
((? string?)
|
||||
(list #~(install-file (string-append bootloader #$file)
|
||||
install-dir)))
|
||||
((? file-like?) (list #~(install-file #$file install-dir)))
|
||||
((? file-like?)
|
||||
(list #~(mkdir-p install-dir)
|
||||
#~(copy-file #$file
|
||||
(string-append install-dir
|
||||
"/"
|
||||
#$(plain-file-name file)))))
|
||||
(#f '()))))
|
||||
#~(lambda (bootloader device mount-point)
|
||||
(let ((install-dir (string-append mount-point "/boot")))
|
||||
@@ -132,7 +138,12 @@ is BLOCK-SIZE * COUNT, or FILE size if COUNT is not given."
|
||||
;; starfive_visionfive2.dtb. We cannot guarantee that users will
|
||||
;; update this U-Boot, so set the FDT explicitly.
|
||||
(plain-file "uEnv.txt"
|
||||
"fdtfile=starfive/jh7110-starfive-visionfive-2-v1.3b.dtb~%")))
|
||||
(string-join
|
||||
(list
|
||||
"boot_targets=mmc1 nvme0 mmc0 dhcp"
|
||||
"bootcmd_mmc1=bootflow scan"
|
||||
"fdtfile=starfive/jh7110-starfive-visionfive-2-v1.3b.dtb")
|
||||
"\n"))))
|
||||
|
||||
|
||||
;;;
|
||||
|
||||
+16
-9
@@ -359,7 +359,7 @@ to it atomically and set the appropriate permissions."
|
||||
(left unused-subid-range-left ;previous unused subuid range or #f
|
||||
(default #f))
|
||||
(min unused-subid-range-min ;lower bound of this unused subuid range
|
||||
(default %subordinate-id-min))
|
||||
(default 0))
|
||||
(max unused-subid-range-max ;upper bound
|
||||
(default %subordinate-id-max))
|
||||
(right unused-subid-range-right ;next unused subuid range or #f
|
||||
@@ -555,7 +555,10 @@ will be marked as used in it."
|
||||
(define actual-range
|
||||
(subid-range
|
||||
(inherit range)
|
||||
(start allocation-start)))
|
||||
;; New IDs are only allocated between %subordinate-id-min and
|
||||
;; %subordinate-id-max.
|
||||
(start
|
||||
(max allocation-start %subordinate-id-min))))
|
||||
|
||||
(if (within-interval? allocation actual-range)
|
||||
(values
|
||||
@@ -603,13 +606,6 @@ is visited to find the best unused range that can hold RANGE."
|
||||
(define range-end
|
||||
(subid-range-end range))
|
||||
|
||||
(unless (and (subordinate-id? range-start)
|
||||
(subordinate-id? range-end))
|
||||
(raise
|
||||
(condition
|
||||
(&invalid-subid-range-error
|
||||
(range range)))))
|
||||
|
||||
(define less?
|
||||
(< range-end allocation-start))
|
||||
(define more?
|
||||
@@ -802,12 +798,23 @@ new UIDs."
|
||||
(define* (allocate-subids ranges #:optional (current-ranges '()))
|
||||
"Return a list of subids entries for RANGES, a list of <subid-range>. IDs
|
||||
found in CURRENT-RANGES, a list of subid entries, are reused."
|
||||
;; Ranges from disk must always have a start.
|
||||
(let ((generic (any (compose not subid-range-has-start?) current-ranges)))
|
||||
(when generic
|
||||
(raise
|
||||
(condition
|
||||
(&specific-subid-range-expected-error
|
||||
(range generic))))))
|
||||
(for-each
|
||||
(lambda (range)
|
||||
;; New ranges must always be included in the current supported set.
|
||||
(unless (or (not (subid-range-has-start? range))
|
||||
(and (subordinate-id? (subid-range-start range))
|
||||
(subordinate-id? (subid-range-end range))))
|
||||
(raise
|
||||
(condition (&invalid-subid-range-error (range range))))))
|
||||
ranges)
|
||||
|
||||
(define sorted-ranges
|
||||
(stable-sort ranges
|
||||
subid-range-less))
|
||||
|
||||
@@ -321,13 +321,18 @@ EINVAL, ELOOP, etc."
|
||||
;; convention to be followed.
|
||||
(source (canonicalize-path* (string-append etc "/" file))))
|
||||
(rm-f target)
|
||||
(if (string=? (basename target) "sudoers")
|
||||
(begin
|
||||
;; /etc/sudoers must be a regular file.
|
||||
(copy-file source target)
|
||||
;; XXX: dirty hack to meet sudo's expectations
|
||||
(chmod target #o440))
|
||||
(symlink source target)))) ;usual case
|
||||
(cond ((string=? (basename target) "sudoers")
|
||||
(begin
|
||||
;; /etc/sudoers must be a regular file.
|
||||
(copy-file source target)
|
||||
;; XXX: dirty hack to meet sudo's expectations
|
||||
(chmod target #o440)))
|
||||
((string=? (basename target) "hosts")
|
||||
;; /etc/hosts must be a regular file, as some software
|
||||
;; like vpn-slice expect to be able to write to it.
|
||||
(copy-file source target))
|
||||
(else ;usual case
|
||||
(symlink source target)))))
|
||||
(scandir etc (negate dot-or-dot-dot?)
|
||||
;; The default is 'string-locale<?', but we don't have
|
||||
;; it when run from the initrd's statically-linked
|
||||
|
||||
+5
-1
@@ -428,7 +428,11 @@ GRUB configuration and OS-DRV as the stuff in it."
|
||||
"-not" "-wholename" "/System/*"
|
||||
"-not" "-name" "unicode.pf2"
|
||||
"-not" "-name" "bzImage"
|
||||
"-not" "-name" "*.gz" ; initrd & all man pages
|
||||
"-not" "-name" "zImage"
|
||||
"-not" "-name" "Image"
|
||||
"-not" "-name" "vmlinuz"
|
||||
"-not" "-name" "*.gz" ; initrd
|
||||
"-not" "-name" "*.zst" ; all man pages
|
||||
"-not" "-name" "*.png" ; includes grub-image.png
|
||||
"-exec" "set_filter" "--zisofs"
|
||||
"--")
|
||||
|
||||
@@ -46,7 +46,26 @@
|
||||
make-static-device-nodes
|
||||
configure-qemu-networking
|
||||
|
||||
boot-system))
|
||||
boot-system
|
||||
|
||||
linux-console
|
||||
|
||||
linux-console?
|
||||
linux-console-device
|
||||
linux-console-can-read?
|
||||
linux-console-can-write?
|
||||
linux-console-can-unblank?
|
||||
linux-console-enabled?
|
||||
linux-console-preferred?
|
||||
linux-console-primary?
|
||||
linux-console-printk?
|
||||
linux-console-braille?
|
||||
linux-console-safe-when-cpu-offline?
|
||||
linux-console-major
|
||||
linux-console-minor
|
||||
linux-console-virtual?
|
||||
|
||||
read-linux-consoles))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
@@ -675,4 +694,56 @@ the root file system...\n" root-delay)
|
||||
(start-repl)))))
|
||||
#:on-error on-error))
|
||||
|
||||
(define-record-type <linux-console>
|
||||
(make-linux-console device can-read? can-write? can-unblank?
|
||||
enabled? preferred? primary? printk? braille?
|
||||
safe-when-cpu-offline? major minor virtual?)
|
||||
linux-console?
|
||||
(device linux-console-device)
|
||||
(can-read? linux-console-can-read?)
|
||||
(can-write? linux-console-can-write?)
|
||||
(can-unblank? linux-console-can-unblank?)
|
||||
(enabled? linux-console-enabled?)
|
||||
(preferred? linux-console-preferred?)
|
||||
(primary? linux-console-primary?)
|
||||
(printk? linux-console-printk?)
|
||||
(braille? linux-console-braille?)
|
||||
(safe-when-cpu-offline? linux-console-safe-when-cpu-offline?)
|
||||
(major linux-console-major)
|
||||
(minor linux-console-minor)
|
||||
(virtual? linux-console-virtual?))
|
||||
|
||||
(define* (read-linux-consoles #:optional (consoles-file "/proc/consoles"))
|
||||
"Parses CONSOLES-FILE and returns a list of <linux-console> records."
|
||||
(if (not (file-exists? consoles-file))
|
||||
'()
|
||||
(with-input-from-file consoles-file
|
||||
(lambda ()
|
||||
(let ((line-regex (make-regexp
|
||||
"^([^ ]+)[ ]+(.+)[ ]+([0-9]+):([0-9]+)$"))
|
||||
(virt-regex (make-regexp "^tty[0-9]+$")))
|
||||
(let loop ((line (read-line))
|
||||
(results '()))
|
||||
(cond
|
||||
((eof-object? line)
|
||||
(reverse results))
|
||||
((regexp-exec line-regex line)
|
||||
=> (lambda (m)
|
||||
(let* ((dev (match:substring m 1))
|
||||
(flags (match:substring m 2))
|
||||
(major (string->number (match:substring m 3)))
|
||||
(minor (string->number (match:substring m 4)))
|
||||
(virtual? (regexp-exec virt-regex dev))
|
||||
(has? (lambda (c)
|
||||
(string-any (lambda (f) (char=? f c)) flags))))
|
||||
(loop (read-line)
|
||||
(cons (make-linux-console
|
||||
dev
|
||||
(has? #\R) (has? #\W) (has? #\U) (has? #\E)
|
||||
(has? #\C) (has? #\B) (has? #\p) (has? #\b)
|
||||
(has? #\a)
|
||||
major minor virtual?)
|
||||
results)))))
|
||||
(else (loop (read-line) results)))))))))
|
||||
|
||||
;;; linux-boot.scm ends here
|
||||
|
||||
+6
-7
@@ -367,14 +367,13 @@ purposes."
|
||||
'unknown)
|
||||
((channels ...)
|
||||
(map (lambda (channel)
|
||||
(let* ((uri (string->uri (channel-url channel)))
|
||||
(url (if (or (not uri) (eq? 'file (uri-scheme uri)))
|
||||
"local checkout"
|
||||
(channel-url channel))))
|
||||
`(channel ,(channel-name channel) ,url ,(channel-commit channel))))
|
||||
;; NOTE: URL is not logged to synchronize the derivations
|
||||
;; coming out of pre-inst-env, time-machine and Cuirass
|
||||
;; for generating release artifacts.
|
||||
`(channel ,(channel-name channel) ,(channel-commit channel)))
|
||||
channels))))
|
||||
|
||||
(define* (installer-program #:key dry-run?)
|
||||
(define* (installer-program #:key dry-run? (guix-for-installer (current-guix)))
|
||||
"Return a file-like object that runs the given INSTALLER."
|
||||
(define init-gettext
|
||||
;; Initialize gettext support, so that installer messages can be
|
||||
@@ -423,7 +422,7 @@ purposes."
|
||||
guile-gnutls
|
||||
guile-zlib ;for (gnu build linux-modules)
|
||||
guile-zstd ;for (gnu build linux-modules)
|
||||
(current-guix))
|
||||
guix-for-installer)
|
||||
(with-imported-modules `(,@(source-module-closure
|
||||
`(,@modules
|
||||
(gnu services herd)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2019, 2020, 2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2024,2026 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -168,8 +168,10 @@ or #f. Return #t on success and #f on failure."
|
||||
(const '())))
|
||||
(install-command (append `( "guix" "system" "init"
|
||||
"--fallback"
|
||||
,@(if (target-hurd?)
|
||||
'("--target=i586-pc-gnu")
|
||||
,@(if (%current-target-system)
|
||||
`(,(string-append
|
||||
"--target="
|
||||
(%current-target-system)))
|
||||
'()))
|
||||
options
|
||||
(list (%installer-configuration-file)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2024, 2026 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -27,7 +27,8 @@
|
||||
str)
|
||||
|
||||
(define (kernel->configuration kernel dry-run?)
|
||||
(if (equal? kernel "Hurd")
|
||||
(if (and (string? kernel)
|
||||
(string-prefix? "Hurd" kernel))
|
||||
`((kernel %hurd-default-operating-system-kernel)
|
||||
,(comment (G_ ";; \"noide\" disables the gnumach IDE driver, enabling rumpdisk.\n"))
|
||||
(kernel-arguments '("noide"))
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2024, 2026 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -23,23 +23,48 @@
|
||||
#:export (run-kernel-page))
|
||||
|
||||
(define (run-kernel-page)
|
||||
(let* ((kernels `(,@(if (target-x86?) '("Hurd") '())
|
||||
"Linux Libre"))
|
||||
;; TRANSLATORS: "Hurd" is a proper noun and must not be translated.
|
||||
(let* ((hurd-x86 (G_ "Hurd 32-bit (experimental)"))
|
||||
(hurd-x86_64 (G_ "Hurd 64-bit (highly experimental!)"))
|
||||
(linux-libre "Linux Libre")
|
||||
(kernels (parameterize ((%current-target-system #f))
|
||||
`(,linux-libre
|
||||
,@(cond ((target-x86-64?)
|
||||
(list hurd-x86 hurd-x86_64))
|
||||
((target-x86?)
|
||||
(list hurd-x86))
|
||||
(else
|
||||
'())))))
|
||||
(default (cond ((equal? (%current-target-system) "i586-pc-gnu")
|
||||
hurd-x86)
|
||||
((equal? (%current-target-system) "x86_64-pc-gnu")
|
||||
hurd-x86_64)
|
||||
(else
|
||||
linux-libre)))
|
||||
(result
|
||||
(run-listbox-selection-page
|
||||
#:title (G_ "Kernel")
|
||||
#:info-text
|
||||
;; TRANSLATORS: "Hurd" is a proper noun and must not be translated.
|
||||
;; TRANSLATORS: "Linux Libre" is a literal and must not be translated.
|
||||
(G_ "Please select a kernel. When in doubt, choose \"Linux Libre\".
|
||||
|
||||
The Hurd is offered as a technology preview and development aid; many packages \
|
||||
are not yet available in Guix, such as a desktop environment or even a windowing \
|
||||
system (X, Wayland).")
|
||||
are not yet available in Guix, such as a desktop environment or even a \
|
||||
windowing system (X, Wayland).")
|
||||
#:listbox-items kernels
|
||||
#:listbox-item->text identity
|
||||
#:listbox-default-item "Linux Libre"
|
||||
#:listbox-default-item default
|
||||
#:sort-listbox-items? #f ;keep Linux first
|
||||
#:button-text (G_ "Back")
|
||||
#:button-callback-procedure
|
||||
(lambda _
|
||||
(abort-to-prompt 'installer-step 'abort)))))
|
||||
(when (equal? result "Hurd")
|
||||
(%current-target-system "i586-pc-gnu"))
|
||||
(let ((target (cond ((equal? result hurd-x86)
|
||||
"i586-pc-gnu")
|
||||
((equal? result hurd-x86_64)
|
||||
"x86_64-pc-gnu")
|
||||
(else
|
||||
#f))))
|
||||
(%current-target-system target))
|
||||
result))
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
#:use-module (guix i18n)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-11)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (srfi srfi-34)
|
||||
#:use-module (srfi srfi-35)
|
||||
#:use-module (ice-9 match)
|
||||
@@ -112,20 +113,24 @@ network devices were found. Do you want to continue anyway?"))
|
||||
full-value
|
||||
(+ value 1)))))))
|
||||
|
||||
(define (url-alive? url)
|
||||
(define* (url-alive? url #:key (ensure-ok-status? #f))
|
||||
(false-if-exception
|
||||
(begin
|
||||
(http-request url)
|
||||
#t)))
|
||||
(let ((response (http-request url)))
|
||||
(or (not ensure-ok-status?)
|
||||
(= (response-code response)
|
||||
200)))))
|
||||
|
||||
(define (common-urls-alive? urls)
|
||||
(define* (common-urls-alive? urls #:key (ensure-ok-status? #f))
|
||||
"Return #t if at least some of the given URLS are alive,
|
||||
meaning that they do respond to a HTTP request. If ENSURE-OK-STATUS? is
|
||||
#t, return #t only if the code is 200."
|
||||
(dynamic-wind
|
||||
(lambda ()
|
||||
(sigaction SIGALRM
|
||||
(lambda _ #f))
|
||||
(alarm 3))
|
||||
(lambda ()
|
||||
(any url-alive?
|
||||
(any (cut url-alive? <> #:ensure-ok-status? ensure-ok-status?)
|
||||
urls))
|
||||
(lambda ()
|
||||
(alarm 0))))
|
||||
@@ -140,7 +145,9 @@ FULL-VALUE tentatives, spaced by 1 second."
|
||||
"https://bordeaux.guix.gnu.org"
|
||||
"https://ci.guix.gnu.org"
|
||||
"https://guix.gnu.org"
|
||||
"https://gnu.org")))
|
||||
"https://gnu.org")
|
||||
;; Any HTTP response means the users is online.
|
||||
#:ensure-ok-status? #f))
|
||||
(file-exists? "/tmp/installer-assume-online")))
|
||||
|
||||
(let* ((full-value 5))
|
||||
@@ -173,7 +180,8 @@ Do you want to continue anyway?"))
|
||||
(common-urls-alive?
|
||||
(list
|
||||
"https://bordeaux.guix.gnu.org/nix-cache-info"
|
||||
"https://ci.guix.gnu.org/nix-cache-info"))))
|
||||
"https://ci.guix.gnu.org/nix-cache-info")
|
||||
#:ensure-ok-status? #t)))
|
||||
|
||||
(let* ((full-value 5))
|
||||
(run-scale-page
|
||||
|
||||
@@ -108,20 +108,23 @@ all data on disk will be lost, are you sure you want to proceed?") item)
|
||||
|
||||
(define (run-label-page button-text button-callback)
|
||||
"Run a page asking the user to select a partition table label."
|
||||
;; Force the GPT label if UEFI is supported.
|
||||
(if (efi-installation?)
|
||||
((run-label-confirmation-page button-callback) "gpt")
|
||||
(run-listbox-selection-page
|
||||
#:info-text (G_ "Select a new partition table type. \
|
||||
;; Force the GPT label if UEFI is supported.
|
||||
(cond ((efi-installation?)
|
||||
((run-label-confirmation-page button-callback) "gpt"))
|
||||
;; Force the MSDOS label on Hurd.
|
||||
((target-hurd?)
|
||||
((run-label-confirmation-page button-callback) "msdos"))
|
||||
(else (run-listbox-selection-page
|
||||
#:info-text (G_ "Select a new partition table type. \
|
||||
Be careful, all data on the disk will be lost.")
|
||||
#:title (G_ "Partition table")
|
||||
#:listbox-items '("msdos" "gpt")
|
||||
#:listbox-default-item (if (target-hurd?) "msdos" "gpt")
|
||||
#:listbox-item->text identity
|
||||
#:listbox-callback-procedure
|
||||
(run-label-confirmation-page button-callback)
|
||||
#:button-text button-text
|
||||
#:button-callback-procedure button-callback)))
|
||||
#:title (G_ "Partition table")
|
||||
#:listbox-items '("msdos" "gpt")
|
||||
#:listbox-default-item (if (target-hurd?) "msdos" "gpt")
|
||||
#:listbox-item->text identity
|
||||
#:listbox-callback-procedure
|
||||
(run-label-confirmation-page button-callback)
|
||||
#:button-text button-text
|
||||
#:button-callback-procedure button-callback))))
|
||||
|
||||
(define (run-type-page partition)
|
||||
"Run a page asking the user to select a partition type."
|
||||
|
||||
@@ -36,11 +36,9 @@
|
||||
environments."
|
||||
(let ((items (filter desktop-system-service? (%system-services))))
|
||||
(run-checkbox-tree-page
|
||||
#:info-text (if (target-hurd?)
|
||||
(G_ "Currently, none of these is available for the Hurd.")
|
||||
(G_ "Please select the desktop environment(s) you wish to \
|
||||
#:info-text (G_ "Please select the desktop environment(s) you wish to \
|
||||
install. If you select multiple desktop environments here, you will be able \
|
||||
to choose from them later when you log in."))
|
||||
to choose from them later when you log in.")
|
||||
#:title (G_ "Desktop environment")
|
||||
#:items items
|
||||
#:selection (map system-service-recommended? items)
|
||||
@@ -50,6 +48,16 @@ to choose from them later when you log in."))
|
||||
(lambda ()
|
||||
(abort-to-prompt 'installer-step 'abort)))))
|
||||
|
||||
;; FIXME: all platforms should support %desktop-services and some of the
|
||||
;; offered desktop environments. Instead of globally disabling the desktop
|
||||
;; page, disable only non-working desktop environments.
|
||||
(define (run-desktop-environments-cbt-page/maybe)
|
||||
"Run page with desktop environments, as long as the user is on
|
||||
a system that supports them."
|
||||
(if (or (target-hurd?) (target-x86-32?))
|
||||
'()
|
||||
(run-desktop-environments-cbt-page)))
|
||||
|
||||
(define (run-networking-cbt-page)
|
||||
"Run a page allowing the user to select networking services."
|
||||
(let ((items (filter (lambda (service)
|
||||
@@ -131,7 +139,7 @@ client may be enough for a server.")
|
||||
(abort-to-prompt 'installer-step 'abort)))))
|
||||
|
||||
(define (run-services-page)
|
||||
(let ((desktop (run-desktop-environments-cbt-page)))
|
||||
(let ((desktop (run-desktop-environments-cbt-page/maybe)))
|
||||
;; When the user did not select any desktop services, and thus didn't get
|
||||
;; '%desktop-services', offer network management services.
|
||||
(append desktop
|
||||
|
||||
+22
-5
@@ -73,6 +73,7 @@
|
||||
# Copyright © 2024 James Smith <jsubuntuxp@disroot.org>
|
||||
# Copyright © 2025 Nigko Yerden <nigko.yerden@gmail.com>
|
||||
# Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
|
||||
# Copyright © 2025 bdunahu <bdunahu@operationnull.com>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
@@ -357,6 +358,7 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/gxmessage.scm \
|
||||
%D%/packages/hardware.scm \
|
||||
%D%/packages/hare.scm \
|
||||
%D%/packages/hare-apps.scm \
|
||||
%D%/packages/hare-xyz.scm \
|
||||
%D%/packages/haskell.scm \
|
||||
%D%/packages/haskell-apps.scm \
|
||||
@@ -695,7 +697,6 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/vpn.scm \
|
||||
%D%/packages/vulkan.scm \
|
||||
%D%/packages/w3m.scm \
|
||||
%D%/packages/wdiff.scm \
|
||||
%D%/packages/weather.scm \
|
||||
%D%/packages/web.scm \
|
||||
%D%/packages/web-browsers.scm \
|
||||
@@ -1143,6 +1144,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/clucene-contribs-lib.patch \
|
||||
%D%/packages/patches/csvkit-set-locale-for-tests.patch \
|
||||
%D%/packages/patches/ctranslate2-local-build.patch \
|
||||
%D%/packages/patches/ctune-cmake-disable-git-clone.patch \
|
||||
%D%/packages/patches/cube-nocheck.patch \
|
||||
%D%/packages/patches/cups-relax-root-ownership-check.patch \
|
||||
%D%/packages/patches/cura-engine-gcc-14.patch \
|
||||
@@ -1173,6 +1175,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/dhclient-script-resolvconf-support.patch \
|
||||
%D%/packages/patches/dicedb-remove-init-from-config-subpkg.patch \
|
||||
%D%/packages/patches/directfb-davinci-glibc-228-compat.patch \
|
||||
%D%/packages/patches/django-compressor-build-with-beautifulsoup-4.14+.patch \
|
||||
%D%/packages/patches/dkimproxy-add-ipv6-support.patch \
|
||||
%D%/packages/patches/doc++-gcc-14.patch \
|
||||
%D%/packages/patches/docbook-utils-documentation-edits.patch \
|
||||
@@ -1199,12 +1202,14 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/duc-fix-test-sh.patch \
|
||||
%D%/packages/patches/dune-common-skip-failing-tests.patch \
|
||||
%D%/packages/patches/durden-shadow-arcan.patch \
|
||||
%D%/packages/patches/dvdbackup-with-libdvdread-6.1.0+.patch \
|
||||
%D%/packages/patches/dvd+rw-tools-add-include.patch \
|
||||
%D%/packages/patches/dwarves-threading-reproducibility.patch \
|
||||
%D%/packages/patches/efivar-fix-fprint-format.patch \
|
||||
%D%/packages/patches/eigen-fix-strict-aliasing-bug.patch \
|
||||
%D%/packages/patches/einstein-build.patch \
|
||||
%D%/packages/patches/elfutils-tests-ptrace.patch \
|
||||
%D%/packages/patches/elixir-httpoison-tag-network-dependent-test-cases.patch \
|
||||
%D%/packages/patches/elixir-path-length.patch \
|
||||
%D%/packages/patches/elm-ghc9.2.patch \
|
||||
%D%/packages/patches/python-treelib-remove-python2-compat.patch \
|
||||
@@ -1244,7 +1249,9 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/ergodox-firmware-fix-numpad.patch \
|
||||
%D%/packages/patches/ericw-tools-add-check-for-sse2-in-light.cc.patch \
|
||||
%D%/packages/patches/ericw-tools-gcc-11-pass-const-to-offsetof.patch \
|
||||
%D%/packages/patches/erlang-binpp-disable-failing-tests.patch \
|
||||
%D%/packages/patches/erlang-man-path.patch \
|
||||
%D%/packages/patches/erlang-mochiweb-disable-known-to-fail-tests.patch \
|
||||
%D%/packages/patches/esmini-use-pkgconfig.patch \
|
||||
%D%/packages/patches/esmtp-add-lesmtp.patch \
|
||||
%D%/packages/patches/esound-c99.patch \
|
||||
@@ -1320,7 +1327,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/freeimage-unbundle.patch \
|
||||
%D%/packages/patches/freeimage-CVE-2020-21428.patch \
|
||||
%D%/packages/patches/freeimage-CVE-2020-22524.patch \
|
||||
%D%/packages/patches/freerdp-3.16.0-rpath.patch \
|
||||
%D%/packages/patches/freesolid-automake.patch \
|
||||
%D%/packages/patches/freesolid-autotools.patch \
|
||||
%D%/packages/patches/freesolid-configure.patch \
|
||||
@@ -1592,6 +1598,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/hurd-refcounts-assert.patch \
|
||||
%D%/packages/patches/hurd-rumpdisk-no-hd.patch \
|
||||
%D%/packages/patches/hurd-startup.patch \
|
||||
%D%/packages/patches/hurd-proc-zombies.patch \
|
||||
%D%/packages/patches/hwloc-1-test-btrfs.patch \
|
||||
%D%/packages/patches/i3lock-blur-fix-build-on-gcc-10.patch \
|
||||
%D%/packages/patches/i7z-gcc-10.patch \
|
||||
@@ -1678,6 +1685,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/libretro-dolphin-emu-libusb-assert.patch \
|
||||
%D%/packages/patches/libretro-dolphin-emu-vulkan-headers.patch \
|
||||
%D%/packages/patches/librewolf-add-store-to-rdd-allowlist.patch \
|
||||
%D%/packages/patches/librewolf-compare-paths.patch \
|
||||
%D%/packages/patches/librewolf-neuter-locale-download.patch \
|
||||
%D%/packages/patches/librewolf-use-system-wide-dir.patch \
|
||||
%D%/packages/patches/libvirt-add-install-prefix.patch \
|
||||
@@ -1688,6 +1696,8 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/lightdm-vnc-ipv6.patch \
|
||||
%D%/packages/patches/lightdm-vnc-color-depth.patch \
|
||||
%D%/packages/patches/lightdm-vncserver-check.patch \
|
||||
%D%/packages/patches/linphone-desktop-cmake-belcard.patch \
|
||||
%D%/packages/patches/linphone-desktop-cmake-find-modules.patch \
|
||||
%D%/packages/patches/localed-xorg-keyboard.patch \
|
||||
%D%/packages/patches/kaldi-ignore-failing-test.patch \
|
||||
%D%/packages/patches/kaldi-openblas-0.3.29-compatibility.patch \
|
||||
@@ -2048,6 +2058,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/python-clarabel-blas.patch \
|
||||
%D%/packages/patches/python-docrepr-fix-tests.patch \
|
||||
%D%/packages/patches/python-feedparser-missing-import.patch \
|
||||
%D%/packages/patches/python-gpg-setup-72.patch \
|
||||
%D%/packages/patches/python-hdmedians-replace-nose.patch \
|
||||
%D%/packages/patches/python-louvain-fix-test.patch \
|
||||
%D%/packages/patches/python-matplotlib-fix-legend-loc-best-test.patch \
|
||||
@@ -2072,6 +2083,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/qtdeclarative-5-disable-qmlcache.patch \
|
||||
%D%/packages/patches/qtdeclarative-disable-qmlcache.patch \
|
||||
%D%/packages/patches/qtlocation-5.15.8-mapboxgl-gcc13.patch \
|
||||
%D%/packages/patches/qtwebengine-revert-egl.patch \
|
||||
%D%/packages/patches/quodlibet-disable-bundled-packages.patch \
|
||||
%D%/packages/patches/qxlsx-fix-include-directory.patch \
|
||||
%D%/packages/patches/schiffbruch-fix-build-for-gcc-13.patch \
|
||||
@@ -2205,24 +2217,26 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/qemu-glibc-2.30.patch \
|
||||
%D%/packages/patches/qemu-fix-agent-paths.patch \
|
||||
%D%/packages/patches/qemu-fix-test-virtio-version.patch \
|
||||
%D%/packages/patches/qemu-disable-aarch64-migration-test.patch \
|
||||
%D%/packages/patches/qrcodegen-cpp-cmake.patch \
|
||||
%D%/packages/patches/qtbase-absolute-runpath.patch \
|
||||
%D%/packages/patches/qtbase-qmake-fix-includedir.patch \
|
||||
%D%/packages/patches/qtbase-qmlimportscanner-qml-import-path.patch \
|
||||
%D%/packages/patches/qtbase-moc-ignore-gcc-macro.patch \
|
||||
%D%/packages/patches/qtbase-patch-libvulkan.patch \
|
||||
%D%/packages/patches/qtbase-qmake-use-libname.patch \
|
||||
%D%/packages/patches/qtbase-5-use-TZDIR.patch \
|
||||
%D%/packages/patches/qtscript-disable-tests.patch \
|
||||
%D%/packages/patches/quagga-reproducible-build.patch \
|
||||
%D%/packages/patches/quickswitch-fix-dmenu-check.patch \
|
||||
%D%/packages/patches/quilt-grep-compat.patch \
|
||||
%D%/packages/patches/qmk-firmware-fix-hacker-dvorak.patch \
|
||||
%D%/packages/patches/qtwayland-dont-recreate-callbacks.patch \
|
||||
%D%/packages/patches/qtwayland-cleanup-callbacks.patch \
|
||||
%D%/packages/patches/qtwayland-update-wayland-xml.patch \
|
||||
%D%/packages/patches/qtwebengine-fix-dependencies.patch \
|
||||
%D%/packages/patches/qtwebsockets-6.9-fix-tst_QWebSocket.patch\
|
||||
%D%/packages/patches/rabbitmq-defaults.patch \
|
||||
%D%/packages/patches/radare2-fix-meson-build-to-use-sys-qjs.patch \
|
||||
%D%/packages/patches/radare2-fix-meson-build-to-use-sys-sdb.patch \
|
||||
%D%/packages/patches/ragel-char-signedness.patch \
|
||||
%D%/packages/patches/randomjungle-disable-static-build.patch \
|
||||
%D%/packages/patches/rapidcheck-fix-libs.patch \
|
||||
@@ -2250,6 +2264,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/remake-impure-dirs.patch \
|
||||
%D%/packages/patches/restartd-update-robust.patch \
|
||||
%D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch \
|
||||
%D%/packages/patches/rlwrap-no-rbgen.patch \
|
||||
%D%/packages/patches/rng-tools-revert-build-randstat.patch \
|
||||
%D%/packages/patches/rocclr-5.6.0-enable-gfx800.patch \
|
||||
%D%/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch \
|
||||
@@ -2276,7 +2291,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/rxvt-unicode-fix-cursor-position.patch \
|
||||
%D%/packages/patches/s7-flint-3.patch \
|
||||
%D%/packages/patches/safeint-disable-tests.patch \
|
||||
%D%/packages/patches/sage-safeguard-sage-getargspec-cython.patch \
|
||||
%D%/packages/patches/sajson-for-gemmi-numbers-as-strings.patch \
|
||||
%D%/packages/patches/sajson-build-with-gcc10.patch \
|
||||
%D%/packages/patches/sane-look-for-plugins-in-SANE_BACKEND_LIB_PATH.patch \
|
||||
@@ -2287,6 +2301,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/sbcl-burgled-batteries3-fix-signals.patch \
|
||||
%D%/packages/patches/sbcl-ciel-repl.patch \
|
||||
%D%/packages/patches/sbcl-clml-fix-types.patch \
|
||||
%D%/packages/patches/sbcl-cl-redis-replace-sbcl-specific-calls.patch \
|
||||
%D%/packages/patches/sbcl-eazy-gnuplot-skip-path-check.patch \
|
||||
%D%/packages/patches/sbcl-lack-fix-tests.patch \
|
||||
%D%/packages/patches/sbcl-png-fix-sbcl-compatibility.patch \
|
||||
@@ -2481,10 +2496,12 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/wordnet-CVE-2008-3908-pt1.patch \
|
||||
%D%/packages/patches/wordnet-CVE-2008-3908-pt2.patch \
|
||||
%D%/packages/patches/wpa-supplicant-dbus-group-policy.patch \
|
||||
%D%/packages/patches/x2goclient-fix-makefile.patch \
|
||||
%D%/packages/patches/x265-arm-flags.patch \
|
||||
%D%/packages/patches/x265-4-arm-flags.patch \
|
||||
%D%/packages/patches/xdg-desktop-portal-disable-portal-tests.patch\
|
||||
%D%/packages/patches/xdg-desktop-portal-disable-configuration-search-exit.patch\
|
||||
%D%/packages/patches/xdg-desktop-portal-1.20.3-disable-configuration-search-exit.patch\
|
||||
%D%/packages/patches/xdg-desktop-portal-wlr-harcoded-length.patch\
|
||||
%D%/packages/patches/xf86-video-siliconmotion-fix-ftbfs.patch \
|
||||
%D%/packages/patches/xfig-Enable-error-message-for-missing-libraries.patch \
|
||||
|
||||
+41
-11
@@ -605,15 +605,35 @@ interface and is based on GNU Guile.")
|
||||
(base32
|
||||
"1mh080060lnycys8yq6kkiy363wif8dsip3nyklgd3a1r22wb274"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments shepherd-0.10)
|
||||
((#:configure-flags flags #~'())
|
||||
#~(list "--localstatedir=/var"
|
||||
|
||||
;; Gzip and zstd are used by the log rotation service.
|
||||
(string-append "--with-gzip=" #$(this-package-input "gzip")
|
||||
"/bin/gzip")
|
||||
(string-append "--with-zstd=" #$(this-package-input "zstd")
|
||||
"/bin/zstd")))))
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list "--localstatedir=/var"
|
||||
;; Gzip and zstd are used by the log rotation service.
|
||||
(string-append "--with-gzip=" #$(this-package-input "gzip")
|
||||
"/bin/gzip")
|
||||
(string-append "--with-zstd=" #$(this-package-input "zstd")
|
||||
"/bin/zstd"))
|
||||
#:make-flags #~'("GUILE_AUTO_COMPILE=0")
|
||||
#:phases (if (%current-target-system)
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'configure 'set-fibers-directory
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; When cross-compiling, refer to the target
|
||||
;; Fibers, not the native one.
|
||||
(let ((fibers
|
||||
(search-input-file
|
||||
inputs
|
||||
"share/guile/site/3.0/fibers.scm"))
|
||||
(fibers-go
|
||||
(search-input-file
|
||||
inputs
|
||||
"lib/guile/3.0/site-ccache/fibers.go")))
|
||||
(substitute* '("herd.in" "shepherd.in")
|
||||
(("%FIBERS_SOURCE_DIRECTORY%")
|
||||
(dirname fibers))
|
||||
(("%FIBERS_OBJECT_DIRECTORY%")
|
||||
(dirname fibers-go)))))))
|
||||
#~%standard-phases)))
|
||||
(native-inputs
|
||||
(modify-inputs (package-native-inputs shepherd-0.10)
|
||||
(replace "guile-fibers"
|
||||
@@ -2504,7 +2524,7 @@ system administrator.")
|
||||
(inputs
|
||||
(append (list coreutils zlib)
|
||||
(if (target-hurd?)
|
||||
'()
|
||||
(list libxcrypt)
|
||||
(list linux-pam))))
|
||||
(home-page "https://www.sudo.ws/")
|
||||
(synopsis "Run commands as root")
|
||||
@@ -3353,7 +3373,17 @@ provides the following commands:
|
||||
(uri (pypi-uri "ansible" version))
|
||||
(sha256
|
||||
(base32 "0apj783acx4jzkf3bnibn4y5jc6jd8ly7l0rdqq8f1jpgxal933x"))))
|
||||
(build-system python-build-system)
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; XXX: All tests errored with:
|
||||
;; from ...common.utils import (
|
||||
;; E ImportError: attempted relative import with no known parent package
|
||||
;;
|
||||
;; tests: 17 skipped, 1 warning, 1132 errors
|
||||
#:tests? #f))
|
||||
(native-inputs
|
||||
(list python-setuptools))
|
||||
(propagated-inputs (list ansible-core))
|
||||
;; The Ansible collections are found by ansible-core via the Python search
|
||||
;; path; the following search path ensures that they are found even when
|
||||
|
||||
+18
-11
@@ -498,25 +498,20 @@ or text interfaces) or as a C++ library.")
|
||||
(define-public flint
|
||||
(package
|
||||
(name "flint")
|
||||
(version "3.2.1")
|
||||
(version "3.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://flintlib.org/download/flint-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0gyjbkhwrmx2vgb1gailnmmzacl4aikzgi70dzmpf8lpfxny8yya"))))
|
||||
(base32 "0csa8n7d4l3mh892q36nhiv1r7bkb168vszz79p95bfy0jc6g5wl"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list ntl))
|
||||
(propagated-inputs
|
||||
(list gmp mpfr)) ; header files included by flint.h or mpfr_mat.h
|
||||
(arguments
|
||||
;; Parallel tests failed in the past on ARM, this may need to be
|
||||
;; tested again.
|
||||
`(#:parallel-tests? #f
|
||||
;; Prevent build machine specifics from ending up in the binary.
|
||||
#:configure-flags '("--disable-assembly")))
|
||||
'(#:configure-flags '("--disable-assembly")))
|
||||
(synopsis "Fast library for number theory")
|
||||
(description
|
||||
"FLINT is a C library for number theory. It supports arithmetic
|
||||
@@ -534,6 +529,18 @@ fast arithmetic.")
|
||||
(properties
|
||||
'((release-monitoring-url . "http://flintlib.org/downloads.html")))))
|
||||
|
||||
(define-public flint-3.3
|
||||
(package
|
||||
(inherit flint)
|
||||
(version "3.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://flintlib.org/download/flint-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1yzasdcv90f6w926p9g92cli2daxvb0mh2s1w1qskkvn618hxmv4"))))))
|
||||
|
||||
(define-public python-flint
|
||||
(package
|
||||
(name "python-flint")
|
||||
@@ -558,7 +565,7 @@ fast arithmetic.")
|
||||
python-pytest))
|
||||
(inputs
|
||||
(list gmp
|
||||
flint))
|
||||
flint-3.3))
|
||||
(propagated-inputs
|
||||
(list python-numpy))
|
||||
(home-page "https://fredrikj.net/python-flint/")
|
||||
@@ -620,7 +627,7 @@ matrices, and polynomials over the integers and over finite fields.")
|
||||
(define-public singular
|
||||
(package
|
||||
(name "singular")
|
||||
(version "4.4.1")
|
||||
(version "4.4.1p5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -636,7 +643,7 @@ matrices, and polynomials over the integers and over finite fields.")
|
||||
"/singular-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"16xlhar1krlskh9gxbw1gw4qi8248c95w71vzxdw72avs2pblkva"))))
|
||||
"1pwygpmhf4sddf1v5x5fr1kbbkb29wlfd5yyj7lryvhbs45s9rdw"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
+48
-40
@@ -1306,50 +1306,58 @@ emulator inside the comfort of Emacs.")
|
||||
(package
|
||||
(name "enjarify")
|
||||
(version "1.0.3")
|
||||
(home-page "https://github.com/Storyyeller/enjarify")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(patches
|
||||
(search-patches "enjarify-setup-py.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"1nam7h1g4f1h6jla4qcjjagnyvd24dv6d5445w04q8hx07nxdapk"))))
|
||||
(build-system python-build-system)
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Storyyeller/enjarify")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(patches
|
||||
(search-patches "enjarify-setup-py.patch"))
|
||||
(sha256
|
||||
(base32 "1nam7h1g4f1h6jla4qcjjagnyvd24dv6d5445w04q8hx07nxdapk"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'check 'fixup-expected-test-results
|
||||
;; Upstream adjusted this test in commit:
|
||||
;; 3ae884a6485af82d300515813f537685b08dd800
|
||||
(lambda _
|
||||
(substitute* "tests/test2/expected.txt"
|
||||
(("^20") "0"))
|
||||
#t))
|
||||
(add-before 'check 'drop-java-xss-argument
|
||||
;; Upstream removed this argument in order to support 32-bit
|
||||
;; architectures. commit: 4be0111d879aa95fdc0d9f24fe529f8c664d4093
|
||||
(lambda _
|
||||
(substitute* "enjarify/runtests.py"
|
||||
(("java -Xss515m") "java "))
|
||||
#t))
|
||||
(add-after 'install 'install-enjarify-wrapper
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out")))
|
||||
(mkdir-p (string-append out "/bin/"))
|
||||
(copy-file "enjarify.sh" (string-append out "/bin/enjarify"))
|
||||
#t))))))
|
||||
(native-inputs (list openjdk12))
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'fix-tests
|
||||
(lambda _
|
||||
(substitute* "enjarify/runtests.py"
|
||||
(("from \\.main") "from enjarify.main")
|
||||
(("from \\.jvm") "from enjarify.jvm"))
|
||||
;; Upstream adjusted this test in commit:
|
||||
;; 3ae884a6485af82d300515813f537685b08dd800
|
||||
(substitute* "tests/test2/expected.txt"
|
||||
(("^20") "0"))
|
||||
;; Upstream removed this argument in order to support 32-bit
|
||||
;; architectures. commit:
|
||||
;; 4be0111d879aa95fdc0d9f24fe529f8c664d4093
|
||||
(substitute* "enjarify/runtests.py"
|
||||
(("java -Xss515m") "java "))))
|
||||
(add-after 'install 'install-enjarify-wrapper
|
||||
(lambda _
|
||||
(let ((bin (string-append #$output "/bin")))
|
||||
(install-file "enjarify.sh" bin)
|
||||
(symlink (string-append bin "/enjarify.sh")
|
||||
(string-append bin "/enjarify")))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? test-flags #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "python" "-m" "enjarify.runtests")))))))
|
||||
(native-inputs
|
||||
(list openjdk12
|
||||
python-setuptools))
|
||||
(home-page "https://github.com/Storyyeller/enjarify")
|
||||
(synopsis "Translate Dalvik bytecode to equivalent Java bytecode")
|
||||
(description "Android applications are Java programs that run on a
|
||||
customized virtual machine, which is part of the Android operating system, the
|
||||
Dalvik VM. Their bytecode differs from the bytecode of normal Java
|
||||
applications. Enjarify can translate the Dalvik bytecode back to equivalent
|
||||
Java bytecode, which simplifies the analysis of Android applications.")
|
||||
(description
|
||||
"Android applications are Java programs that run on a customized virtual
|
||||
machine, which is part of the Android operating system, the Dalvik VM. Their
|
||||
bytecode differs from the bytecode of normal Java applications. Enjarify can
|
||||
translate the Dalvik bytecode back to equivalent Java bytecode, which
|
||||
simplifies the analysis of Android applications. It's an alternative fork of
|
||||
not maintained Goole's project https://github.com/google/enjarify.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public android-file-transfer
|
||||
|
||||
@@ -1224,7 +1224,7 @@ engineers, musicians, soundtrack editors and composers.")
|
||||
(define-public audacity
|
||||
(package
|
||||
(name "audacity")
|
||||
(version "3.7.4")
|
||||
(version "3.7.7")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1233,7 +1233,7 @@ engineers, musicians, soundtrack editors and composers.")
|
||||
(commit (string-append "Audacity-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "184hak52p00qid0i581gky7076fl5rjxwqly0fw7ix8yi6j8li4h"))
|
||||
(base32 "0h2xdhbx6bjhlk2mxqalpbpzjcdj0sb8wf1rp3vj0fbgvxy1y92k"))
|
||||
(patches (search-patches "audacity-ffmpeg-fallback.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
|
||||
@@ -2039,7 +2039,7 @@ CONFIG_SCSI_LOWLEVEL=y
|
||||
# CONFIG_SCSI_DEBUG is not set
|
||||
# CONFIG_SCSI_PMCRAID is not set
|
||||
# CONFIG_SCSI_PM8001 is not set
|
||||
# CONFIG_SCSI_VIRTIO is not set
|
||||
CONFIG_SCSI_VIRTIO=m
|
||||
# CONFIG_SCSI_DH is not set
|
||||
# end of SCSI device support
|
||||
|
||||
|
||||
@@ -6104,7 +6104,7 @@ UCSC genome browser.")
|
||||
(define-public tetoolkit
|
||||
(package
|
||||
(name "tetoolkit")
|
||||
(version "2.2.1b")
|
||||
(version "2.2.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -6113,10 +6113,11 @@ UCSC genome browser.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1m3xsydakhdan9gp9mfdz7llka5g6ak91d0mbl1cmmxq9qs6an4y"))))
|
||||
(base32 "1jgwnm1kmj2mgvc3gib6d73rvyy3l54icjcj2gw0p1ay6kqkzs0p"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
`(#:tests? #f ;no tests
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'adjust-requirements
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
@@ -6163,7 +6164,7 @@ UCSC genome browser.")
|
||||
python-pysam
|
||||
r-minimal
|
||||
r-deseq2))
|
||||
(native-inputs (list python-setuptools python-wheel))
|
||||
(native-inputs (list python-setuptools))
|
||||
(home-page "https://github.com/mhammell-laboratory/TEtranscripts")
|
||||
(synopsis "Transposable elements in differential enrichment analysis")
|
||||
(description
|
||||
@@ -18686,25 +18687,36 @@ cases include:
|
||||
|
||||
(define-public python-mappy
|
||||
(package
|
||||
(name "python-mappy")
|
||||
(version "2.24")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "mappy" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ycszza87p9qvx8mis9v1hry0ac465x1xcxbsn1k45qlxxrzp8im"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
(list python-cython))
|
||||
(inputs
|
||||
(list zlib))
|
||||
(home-page "https://github.com/lh3/minimap2")
|
||||
(synopsis "Python binding for minimap2")
|
||||
(description "This package provides a convenient interface to minimap2,
|
||||
(name "python-mappy")
|
||||
(version "2.24")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/lh3/minimap2")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0k658659ivxk2xnyawrfqdhcji6a3xcqdr5a9r5myzb2ivypnjmh"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-backend #~'custom
|
||||
#:test-flags
|
||||
#~(list "-c" (string-append "import mappy;"
|
||||
" print(mappy.revcomp("
|
||||
"mappy.Aligner('test/MT-human.fa')"
|
||||
".seq('MT_human', 100, 200)))"))))
|
||||
(native-inputs
|
||||
(list python-cython python-setuptools))
|
||||
(inputs
|
||||
(list zlib))
|
||||
(home-page "https://github.com/lh3/minimap2")
|
||||
(synopsis "Python binding for minimap2")
|
||||
(description "This package provides a convenient interface to minimap2,
|
||||
a fast and accurate C program to align genomic and transcribe nucleotide
|
||||
sequences.")
|
||||
(license license:expat)))
|
||||
(license license:expat)))
|
||||
|
||||
(define-public miniasm
|
||||
(package
|
||||
@@ -20100,7 +20112,7 @@ allowing the insertion of arbitrary types into the tree.")
|
||||
(define-public python-pypairix
|
||||
(package
|
||||
(name "python-pypairix")
|
||||
(version "0.3.8")
|
||||
(version "0.3.9")
|
||||
;; The tarball on pypi does not include the makefile to build the
|
||||
;; programs.
|
||||
(source
|
||||
@@ -20113,7 +20125,7 @@ allowing the insertion of arbitrary types into the tree.")
|
||||
(sha256
|
||||
(base32
|
||||
"1jlxj3xa67q1i58pmbi6imhvl6f5w9m5qxv0xd45ba86mp8mnmvz"))))
|
||||
(build-system python-build-system)
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
@@ -20129,6 +20141,9 @@ allowing the insertion of arbitrary types into the tree.")
|
||||
(add-after 'install 'install-programs
|
||||
(lambda _
|
||||
(copy-recursively "bin" (string-append #$output "/bin")))))))
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-setuptools))
|
||||
(inputs
|
||||
(list zlib))
|
||||
(home-page "https://github.com/4dn-dcic/pairix")
|
||||
@@ -23902,7 +23917,9 @@ instruments, or Pacific Biosciences RSII or Sequel sequencers.")
|
||||
(sha256
|
||||
(base32
|
||||
"1z1gy8n56lhriy6hdkh9r82ndikndipq2cy2wh8q185qig4rimr6"))))
|
||||
(build-system python-build-system)
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs (list python-setuptools))
|
||||
(arguments (list #:tests? #f)) ;No tests on either PyPI or Git.
|
||||
(inputs
|
||||
(list curl zlib))
|
||||
(propagated-inputs
|
||||
|
||||
@@ -338,7 +338,7 @@ parallel study, and original language study.")
|
||||
(define-public book-emacs-lisp-elements
|
||||
(package
|
||||
(name "book-emacs-lisp-elements")
|
||||
(version "1.0.0")
|
||||
(version "2.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -347,7 +347,7 @@ parallel study, and original language study.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1fwbj2hrb33blknxd3qrm7jjs2ixrbyc77788i37qvn6v1y741ry"))))
|
||||
(base32 "0w3jxgkynq37rn7c17pnricykqf3gmq4crsvkz2j2g3hc0ydf6qp"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -361,8 +361,8 @@ parallel study, and original language study.")
|
||||
(home-page "https://protesilaos.com/emacs/emacs-lisp-elements")
|
||||
(synopsis "Overview of the Emacs Lisp programming language")
|
||||
(description
|
||||
"Emacs Lisp Elements is a book written by Protesilaos Stavrou, providing a big
|
||||
picture view of the @acronym{Elisp, Emacs Lisp} programming language by
|
||||
"Emacs Lisp Elements is a book written by Protesilaos Stavrou, providing
|
||||
a big picture view of the @acronym{Elisp, Emacs Lisp} programming language by
|
||||
combining prose with code. This book aims to provide an idea of how Elisp
|
||||
works by showing some of the main concepts and patterns encountered in
|
||||
everyday Elisp code.
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
;;; Copyright © 2022, 2023 Juliana Sims <juli@incana.org>
|
||||
;;; Copyright © 2024 Evgeny Pisemsky <mail@pisemsky.site>
|
||||
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2025 Anderson Torres <anderson.torres.8519@gmail.com>
|
||||
;;; Copyright © 2025 Aiden Isik <aidenisik+git@member.fsf.org>
|
||||
;;; Copyright © 2025 Josep Bigorra <jjbigorra@gmail.com>
|
||||
;;; Copyright © 2025 John Kehayias <john.kehayias@protonmail.com>
|
||||
@@ -99,6 +100,40 @@
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages xml))
|
||||
|
||||
(define-public acr
|
||||
(package
|
||||
(name "acr")
|
||||
(version "2.2.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/radareorg/acr")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1qd7p50b9gkh2ihf7gs6xpdkb5jk8frg90ajqlw1pbza8735f9q1"))
|
||||
(snippet
|
||||
#~(begin
|
||||
(delete-file "configure")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; No tests
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'bootstrap)
|
||||
(add-after 'patch-source-shebangs 'bootstrap-after-patch-source-shebangs
|
||||
(assoc-ref %standard-phases 'bootstrap)))))
|
||||
(synopsis "Autoconf replacement written in pure Bash")
|
||||
(description
|
||||
"@acronym{ACR, Autoconf Replacement} tries to replace autoconf
|
||||
functionality generating a full-compatible configure script, but relying on
|
||||
Bourne shell script instead of m4.")
|
||||
(home-page "https://github.com/radareorg/acr")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public bam
|
||||
(package
|
||||
(name "bam")
|
||||
|
||||
+14
-23
@@ -832,7 +832,20 @@ format.")
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:parallel-tests? #f
|
||||
#:configure-flags '("-DBUILD_TESTS=ON")))
|
||||
#:configure-flags '("-DBUILD_TESTS=ON"
|
||||
"-DUSE_BUNDLED_TINYXML2=OFF")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-testcondition-test
|
||||
(lambda _
|
||||
(substitute* "test/testcondition.cpp"
|
||||
(("test.cpp:4\\] -> \\[test.cpp:6")
|
||||
"test.cpp:4:25] -> [test.cpp:6:18")
|
||||
(("test.cpp:3\\] -> \\[test.cpp:5(.*false)"_ rest)
|
||||
(string-append "test.cpp:3:22] -> [test.cpp:5:22" rest
|
||||
" [knownConditionTrueFalse]"))))))))
|
||||
(inputs
|
||||
(list tinyxml2))
|
||||
(home-page "https://cppcheck.sourceforge.io")
|
||||
(synopsis "Static C/C++ code analyzer")
|
||||
(description "Cppcheck is a static code analyzer for C and C++. Unlike
|
||||
@@ -3774,28 +3787,6 @@ system. The code under test requires no modification to work with pyfakefs.")
|
||||
asynchronous code in Python (asyncio).")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-pytest-dependency
|
||||
(package
|
||||
(name "python-pytest-dependency")
|
||||
(version "0.5.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pytest-dependency" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0swl3mxca7nnjbb5grfzrm3fa2750h9vjsha0f2kyrljc6895a62"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
(list python-pytest))
|
||||
(home-page
|
||||
"https://github.com/RKrahl/pytest-dependency")
|
||||
(synopsis "Manage dependencies of tests")
|
||||
(description "This pytest plugin manages dependencies of tests. It allows
|
||||
to mark some tests as dependent from other tests. These tests will then be
|
||||
skipped if any of the dependencies did fail or has been skipped.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-pytest-datadir
|
||||
(package
|
||||
(name "python-pytest-datadir")
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
;;; Copyright © 2024 Foundation Devices, Inc. <hello@foundation.xyz>
|
||||
;;; Copyright © 2024 Jean-Pierre De Jesus DIAZ <jean@foundation.xyz>
|
||||
;;; Copyright © 2025 Tomas Volf <~@wolfsden.cz>
|
||||
;;; Copyright © 2025 Foster Hangdaan <foster@hangdaan.email>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -702,22 +703,33 @@ To get @code{podman machine} working, install @code{qemu-minimal}, and
|
||||
(define-public podman-compose
|
||||
(package
|
||||
(name "podman-compose")
|
||||
(version "1.2.0")
|
||||
(version "1.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/containers/podman-compose")
|
||||
(commit (string-append "v" version))))
|
||||
(url "https://github.com/containers/podman-compose")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "06vm088q1x7j929n93ylq3bav716bqh6l79agj8sgzsqxjsmli73"))))
|
||||
(base32 "08pz9axvgfyr0jd8rlndmhh8147s864mz17ng6qs07831g9ylj80"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags #~(list "pytests")))
|
||||
(native-inputs (list python-pytest python-parameterized python-setuptools python-wheel))
|
||||
(propagated-inputs (list python-dotenv python-pyyaml))
|
||||
;; Only run tests in `tests/unit`, skipping the ones in
|
||||
;; `tests/integration`. The integration tests need an environment with
|
||||
;; the ability to manage containers and volumes using the `podman`
|
||||
;; command.
|
||||
;;
|
||||
;; tests: 378 tests
|
||||
#:test-backend #~'unittest
|
||||
#:test-flags #~(list "discover" "tests/unit")))
|
||||
(native-inputs
|
||||
(list python-parameterized
|
||||
python-setuptools))
|
||||
(propagated-inputs
|
||||
(list python-dotenv
|
||||
python-pyyaml))
|
||||
(home-page "https://github.com/containers/podman-compose")
|
||||
(synopsis "Script to run docker-compose.yml using podman")
|
||||
(description
|
||||
|
||||
+10
-5
@@ -982,7 +982,7 @@ utilities used across the hypr* ecosystem.")
|
||||
(define-public hyprlang
|
||||
(package
|
||||
(name "hyprlang")
|
||||
(version "0.6.6")
|
||||
(version "0.6.7")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -991,7 +991,7 @@ utilities used across the hypr* ecosystem.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"13lqlwrpcd3gs5xw51sj1zx2w7kvsywvgdal81dp841rpph91z00"))))
|
||||
"0n64jq9jdabyx76sax0fb45jg92708488733c2m6zsf84r6nv2g7"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -2473,17 +2473,22 @@ of C++14 components that complements @code{std} and Boost.")
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags #~(list "-DENABLE_TESTS=ON")
|
||||
#:configure-flags #~(list "-DENABLE_TESTS=ON" "-DENABLE_CRYPTO=ON"
|
||||
"-DENABLE_NETSSL=ON")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-problematic-tests
|
||||
(lambda _
|
||||
(substitute* (list "Foundation/CMakeLists.txt" ; XXX: fails.
|
||||
;; Require network access
|
||||
;; Require network access.
|
||||
"Net/CMakeLists.txt"
|
||||
"MongoDB/CMakeLists.txt"
|
||||
"Redis/CMakeLists.txt")
|
||||
"Redis/CMakeLists.txt"
|
||||
;; Requires network access and uses certificates
|
||||
;; that will expire.
|
||||
"NetSSL_OpenSSL/CMakeLists.txt")
|
||||
(("ENABLE_TESTS") "FALSE")))))))
|
||||
(inputs (list openssl))
|
||||
(home-page "https://pocoproject.org/")
|
||||
(synopsis "Portable C++ components")
|
||||
(description "This package provides a collection of C++ libraries intended
|
||||
|
||||
+23
-2
@@ -520,14 +520,14 @@ total number of shares generated.")
|
||||
(define-public tomb
|
||||
(package
|
||||
(name "tomb")
|
||||
(version "2.11")
|
||||
(version "2.13")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://files.dyne.org/tomb/releases/"
|
||||
"Tomb-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "05f34yx91bn9fj7rkabgpzvkw4pa6bg2c1r8cnp72wwnx6bzj97m"))))
|
||||
(base32 "1405kw0j8i1bqyqbim8530xf6hchpf57r9p1v92aknwyn5wgny0g"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -1670,6 +1670,27 @@ SunMD5, sha1crypt, NT, bsdicrypt, bigcrypt, and descrypt.")
|
||||
(home-page "https://github.com/besser82/libxcrypt")
|
||||
(license license:lgpl2.1)))
|
||||
|
||||
(define-public libxcrypt-without-failure-tokens
|
||||
;; This version of libxcrypt is used for guile-2.2.4, which is used in Guix
|
||||
;; v1.0.0 and thus needs to be supported for guix time-machine.
|
||||
;;
|
||||
;; Guile uses the 'crypt' hashing function that used to be provided by glibc,
|
||||
;; but was moved to libxcrypt around glibc 2.39. However, the crypt function
|
||||
;; in libxcrypt works differently for invalid salt values: libxcrypt returnns
|
||||
;; the failure token "*0" for (crypt "pass" "$X$abc"), where glibc raised
|
||||
;; "Invalid argument" (EINVAL). The --disable-failure-tokens flag lets
|
||||
;; libxcrypt behave in the same way as glibc.
|
||||
;;
|
||||
;; Guile 2.2.4 explicitly checks for the glibc behavior of crypt, and thus
|
||||
;; needs libxcrypt to be compiled with --disable-failure-tokens.
|
||||
(hidden-package
|
||||
(package/inherit libxcrypt
|
||||
(name "libxcrypt-without-failure-tokens")
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments libxcrypt)
|
||||
((#:configure-flags flags #~'())
|
||||
#~(cons* "--disable-failure-tokens" #$flags)))))))
|
||||
|
||||
(define-public keychain
|
||||
(package
|
||||
(name "keychain")
|
||||
|
||||
+77
-11
@@ -67,6 +67,7 @@
|
||||
;;; Copyright © 2025 Ashvith Shetty <ashvithshetty0010@zohomail.in>
|
||||
;;; Copyright © 2025 Philippe Swartvagher <phil.swart@gmx.fr>
|
||||
;;; Copyright © 2025 Simen Endsjø <contact@simendsjo.me>
|
||||
;;; Copyright © 2025 bdunahu <bdunahu@operationnull.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -139,6 +140,7 @@
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages node)
|
||||
#:use-module (gnu packages onc-rpc)
|
||||
#:use-module (gnu packages openstack)
|
||||
#:use-module (gnu packages pantheon)
|
||||
@@ -3713,24 +3715,29 @@ for many database kinds that tortoise-orm doesn't need, for example.")
|
||||
(define-public python-asyncpg
|
||||
(package
|
||||
(name "python-asyncpg")
|
||||
;; asyncpg 0.31.0 requires Cython(>=3.2.1,<4.0.0), got Cython==3.1.2
|
||||
(version "0.30.0")
|
||||
(source
|
||||
(origin
|
||||
;; git-fetch leads to errors like
|
||||
;; ValueError: 'asyncpg/pgproto/pgproto.pyx' doesn't match any files
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "asyncpg" version))
|
||||
(sha256
|
||||
(base32 "0lf8xbrsb2ycpqx1vzlb05p48g5sh9zq24a8yh17cw5nia9fjlf5"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
;; raises ValueError("Invalid IPv6 URL") ; Maybe due to urllib?
|
||||
#~(list "-k" "not TestConnectParams")))
|
||||
(native-inputs
|
||||
(list postgresql
|
||||
python-cython
|
||||
python-pytest
|
||||
python-uvloop
|
||||
python-distro
|
||||
python-setuptools
|
||||
python-wheel))
|
||||
(propagated-inputs
|
||||
(list python-async-timeout))
|
||||
python-setuptools))
|
||||
(home-page "https://github.com/MagicStack/asyncpg")
|
||||
(synopsis "Fast PostgreSQL database client library for Python")
|
||||
(description "@code{asyncpg} is a database interface library designed
|
||||
@@ -4621,14 +4628,33 @@ managers for automatically closing connections.")
|
||||
(define-public python-databases
|
||||
(package
|
||||
(name "python-databases")
|
||||
(version "0.7.0")
|
||||
;; 0.9.0 needs sqlalchemy>=2.0.7
|
||||
;; 0.8.0 needs sqlalchemy>=1.4.42,<1.5
|
||||
(version "0.8.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "databases" version))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/encode/databases")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0x5nqhzgjqimv2ybjbzy5vv0l23g0n1g5f6fnyahbf1f7nfl2bga"))))
|
||||
(build-system python-build-system)
|
||||
(base32 "183yawn8w561y1ni117rf5zaxm4gqqbcmi9fp52xd5fx2dj8qy3v"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
;; These need TEST_DATABASE_URLS set.
|
||||
;; TODO: Use "sqlite:///test.db"? See docs/contributing.md.
|
||||
#~(list "--ignore=tests/test_databases.py"
|
||||
"--ignore=tests/test_integration.py"
|
||||
"--ignore=tests/test_connection_options.py")))
|
||||
(native-inputs
|
||||
(list python-httpx
|
||||
python-psycopg
|
||||
python-pytest
|
||||
python-setuptools
|
||||
python-starlette))
|
||||
(propagated-inputs
|
||||
(list python-aiosqlite
|
||||
python-aiopg
|
||||
@@ -5849,6 +5875,46 @@ with no external dependencies. The targets are small apps that would
|
||||
be blown away by a SQL-DB or an external database server.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public sdb
|
||||
(package
|
||||
(name "sdb")
|
||||
(version "2.2.4")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/radareorg/sdb.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"15pc807s2nmhnr3mspyz9h47rkxkv1r07x959ir17v5b6zs7wxvw"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'setenv-cc
|
||||
(lambda _
|
||||
(setenv "CC" #$(cc-for-target))))
|
||||
;; The provided meson.build uses a Makefile in the source root
|
||||
;; to run the tests, but resolves its directory relative to
|
||||
;; the build directory, assuming the build is one level under
|
||||
;; the source tree. This breaks if the build tree is elsewhere.
|
||||
(add-before 'check 'set-test-workdir-to-source-root
|
||||
(lambda _
|
||||
(substitute* "../source/meson.build"
|
||||
(("workdir: join_paths.*$")
|
||||
"workdir: meson.project_source_root(),\n")))))))
|
||||
(native-inputs
|
||||
(list node
|
||||
perl
|
||||
python-minimal-wrapper))
|
||||
(home-page "https://github.com/radareorg/sdb")
|
||||
(synopsis "Simple and fast string based key-value database")
|
||||
(description "SDB is a simple key/value database based on djb's cdb disk
|
||||
storage that supports JSON and array introspection.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public sequeler
|
||||
(package
|
||||
(name "sequeler")
|
||||
@@ -5947,7 +6013,7 @@ compatible with SQLite using a graphical user interface.")
|
||||
(define-public sqlitestudio
|
||||
(package
|
||||
(name "sqlitestudio")
|
||||
(version "3.4.17")
|
||||
(version "3.4.18")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -5956,7 +6022,7 @@ compatible with SQLite using a graphical user interface.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1zb1qr88rwkzmrxc0lm99x8h99hpn5c2wfdpvqzs9f9ph8qvasww"))))
|
||||
(base32 "1chsm4hxy483hz569ywacysg4dh9ijis060s4rgydkgk49bbb2si"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
;;; Copyright © 2023 Andy Tai <atai@atai.org>
|
||||
;;; Copyright © 2023 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2024 Raven Hallsby <karl@hallsby.com>
|
||||
;;; Copyright © 2025 Nguyễn Gia Phong <mcsinyx@disroot.org>
|
||||
;;; Copyright © 2025 Nguyễn Gia Phong <cnx@loang.net>
|
||||
;;; Copyright © 2025 Robin Templeton <robin@guixotic.coop>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
||||
@@ -419,7 +419,11 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
|
||||
"Grammalecte-fr-v" version ".zip"))
|
||||
(sha256
|
||||
(base32 "076jv3ywdgqqzg92bfbagc7ypy08xjq5zn4vgna6j9350fkfqhzn"))))
|
||||
(build-system python-build-system)
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f)) ;no tests provided with the project
|
||||
(native-inputs
|
||||
(list python-setuptools))
|
||||
(home-page "https://grammalecte.net")
|
||||
(synopsis "French spelling and grammar checker")
|
||||
(description "Grammalecte is a grammar checker for the French language,
|
||||
|
||||
@@ -302,13 +302,13 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
|
||||
(package
|
||||
(inherit python-django)
|
||||
(name "python-django-4")
|
||||
(version "4.2.26")
|
||||
(version "4.2.27")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "django" version))
|
||||
(sha256
|
||||
(base32 "0ylxdpkiwdh8yhqxqzm90fxiagm8v7xijvdm5ha3ypmmpj3y964k"))))
|
||||
(base32 "14jvv95nw76fz8v0gzqdn6xwicqdn91glpjcb4vfxld3ykhgnrdq"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments python-django)
|
||||
((#:phases phases)
|
||||
|
||||
+11
-5
@@ -45,6 +45,7 @@
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages cmake)
|
||||
@@ -120,18 +121,23 @@
|
||||
(version "0.8.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pychm" version))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dottedmag/pychm")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0wpn9ijlsmrpyiwg3drmgz4dms1i1i347adgqw37bkrh3vn6yq16"))))
|
||||
(build-system python-build-system)
|
||||
"0zf2vnrby2m31nvi6p3isspbrjmzjw1vwfx3xl7bkvjs7sli1wbw"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-pytest python-setuptools))
|
||||
(inputs
|
||||
(list chmlib))
|
||||
(home-page "https://github.com/dottedmag/pychm")
|
||||
(synopsis "Handle CHM files")
|
||||
(description "This package provides a Python module for interacting
|
||||
with Microsoft Compiled HTML (CHM) files")
|
||||
with Microsoft Compiled HTML (CHM) files.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public calibre
|
||||
|
||||
+101
-52
@@ -207,8 +207,8 @@ are also taken from the original.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public abc
|
||||
(let ((commit "c8eac7595d094dd45402133497d645fb74e545f0")
|
||||
(revision "7"))
|
||||
(let ((commit "ee04349aee0a11d5ce0ad39b0de80e3cb366087e")
|
||||
(revision "8"))
|
||||
(package
|
||||
(name "abc")
|
||||
(version (git-version "0.0" revision commit))
|
||||
@@ -220,7 +220,7 @@ are also taken from the original.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"14k2j54fwr2a3nmb637fclzdf22a16jw5fsmhr3cf42yd924yn71"))))
|
||||
"0y00c9h54dkcnidgyw45czxrkxb7yg5pbw9hhipgjw7qswjh8yb2"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list readline))
|
||||
@@ -1812,7 +1812,7 @@ verification.")
|
||||
(define-public open-logic
|
||||
(package
|
||||
(name "open-logic")
|
||||
(version "4.1.0")
|
||||
(version "4.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1824,7 +1824,7 @@ verification.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0azapw9dyr5l5qal7qd409lyq0w6pw2wyjwvxfl44sykpbfxdl2x"))))
|
||||
"1792a6i9jq2yawipmk0nr01z092kx3kkav9v5sjf34khk3biav6q"))))
|
||||
(outputs
|
||||
'("out" "test"))
|
||||
(properties
|
||||
@@ -1921,7 +1921,6 @@ reusable and vendor/tool-independent way. It is written following the VHDL
|
||||
python-setuptools))
|
||||
(inputs
|
||||
(list libngspice
|
||||
ngspice
|
||||
python-invoke
|
||||
python-matplotlib
|
||||
python-ply
|
||||
@@ -2042,7 +2041,13 @@ files as specified in IEEE 1364-2005.")
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
#~(list "-k" "not test_toplevel_library")));requires questasim simulator
|
||||
#~(list "-k" "not test_toplevel_library") ;requires questasim simulator
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'check 'run-examples
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "make" "-k" "-C" "examples")))))))
|
||||
(native-inputs
|
||||
(list iverilog
|
||||
nvc
|
||||
@@ -2058,53 +2063,96 @@ and Verilog RTL using Python.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-cocotb-bus
|
||||
;; XXX: The latest tagged release (2.6.1) was placed on <2023-07-01>, switch
|
||||
;; to tag when the fresh release is available.
|
||||
(let ((commit "f5578a4d451ef6bc1efdd4919de5facdb381b781")
|
||||
(revision "2"))
|
||||
(package
|
||||
(name "python-cocotb-bus")
|
||||
;; Version from src/cocotb_bus/_version.py
|
||||
(version (git-version "0.2.1" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/cocotb/cocotb-bus/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "13zdqalzhzrfv1lcn6l71zhi4hns89y093hvz9swkcr2kzwfn08r"))))
|
||||
(build-system pyproject-build-system)
|
||||
;; TODO: Build documentation from <docs>.
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "make" "-k" "-C" "tests")
|
||||
(invoke "make" "-k" "-C" "examples")))))))
|
||||
(native-inputs
|
||||
(list iverilog
|
||||
nvc
|
||||
python-pytest
|
||||
python-setuptools))
|
||||
(propagated-inputs
|
||||
(list python-cocotb
|
||||
python-packaging
|
||||
python-scapy))
|
||||
(home-page "https://github.com/cocotb/cocotb-bus/")
|
||||
(synopsis "Cocotb reusable tools")
|
||||
(description "@code{Cocotb-bus} provides a set of utilities, test benches
|
||||
(package
|
||||
(name "python-cocotb-bus")
|
||||
;; Version from src/cocotb_bus/_version.py
|
||||
(version "0.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/cocotb/cocotb-bus/")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0aqk78w5gg23rwf93gidw8yazmidwgmahqcmm3x0qx380mbdxjl4"))))
|
||||
(build-system pyproject-build-system)
|
||||
;; TODO: Build documentation from <docs>.
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "make" "-k" "-C" "tests")
|
||||
(invoke "make" "-k" "-C" "examples")))))))
|
||||
(native-inputs
|
||||
(list iverilog
|
||||
nvc
|
||||
python-pytest
|
||||
python-setuptools))
|
||||
(propagated-inputs
|
||||
(list python-cocotb
|
||||
python-scapy))
|
||||
(home-page "https://github.com/cocotb/cocotb-bus/")
|
||||
(synopsis "Cocotb reusable tools")
|
||||
(description "@code{Cocotb-bus} provides a set of utilities, test benches
|
||||
and reusable bus interfaces to be used with @code{cocotb}.")
|
||||
(license license:bsd-3))))
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-cocotb-test
|
||||
(package
|
||||
(name "python-cocotb-test")
|
||||
(version "0.2.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "cocotb_test" version))
|
||||
(sha256
|
||||
(base32 "14h62sr2prxd0iy1axq68b9zdfggnms230xgrimywphlr941jrm4"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments (list #:tests? #f)) ;requires examples folder from python-cocotb
|
||||
(propagated-inputs
|
||||
(list python-cocotb))
|
||||
(native-inputs
|
||||
(list python-pytest python-setuptools))
|
||||
(home-page "https://pypi.org/project/cocotb-test/")
|
||||
(synopsis
|
||||
"Standard python unit testing cababilities for @code{python-cocotb}")
|
||||
(description "This package provides the look and feel of Python unit
|
||||
testing to @code{cocotb}, removing the need of manipulating Makefiles.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-cocotbext-axi
|
||||
(package
|
||||
(name "python-cocotbext-axi")
|
||||
(version "0.1.26")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/alexforencich/cocotbext-axi/")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0xgfvvpff9r7g7fiswv1m0dklyw6c8v2r3qpd6qq3rzvnvrhsrin"))))
|
||||
(build-system pyproject-build-system)
|
||||
(propagated-inputs
|
||||
(list python-cocotb python-cocotb-bus))
|
||||
(native-inputs
|
||||
(list iverilog python-cocotb-test python-pytest python-setuptools))
|
||||
(home-page "https://github.com/alexforencich/cocotbext-axi/")
|
||||
(synopsis
|
||||
"Extra @acronym{AXI, Advanced Extensible Interface} modules for cocotb")
|
||||
(description "This package provides an extension to @code{cocotb} in the
|
||||
form of AXI, AXI lite, and AXI stream modules.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-edalize
|
||||
(package
|
||||
(name "python-edalize")
|
||||
(version "0.6.1")
|
||||
(version "0.6.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2113,7 +2161,7 @@ and reusable bus interfaces to be used with @code{cocotb}.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "03mkzkmi96jkrpgcnawixvy832p3b8li8lrirdjhfp9dmp7d5kg5"))))
|
||||
(base32 "1ml6b17jp4vwjaw16v0agajzksig92q5qmk2psm51ck4q076lm3m"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -2299,6 +2347,7 @@ languages.")
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'remove-deps
|
||||
@@ -2309,8 +2358,8 @@ languages.")
|
||||
(("rawVer .*")
|
||||
(string-append "rawVer = \"v"
|
||||
#$version "\""))))))))
|
||||
(native-inputs (list python-setuptools python-wheel python-gitpython
|
||||
git-minimal/pinned))
|
||||
(native-inputs
|
||||
(list python-setuptools python-gitpython git-minimal/pinned))
|
||||
(home-page "https://slaclab.github.io/surf/")
|
||||
(synopsis "SLAC Ultimate RTL Framework")
|
||||
(description
|
||||
|
||||
+281
-163
@@ -639,6 +639,29 @@ supported algorithm is chosen to ensure interoperability with
|
||||
Emacs Lisp.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public emacs-perl-doc
|
||||
(package
|
||||
(name "emacs-perl-doc")
|
||||
(version "0.82")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.gnu.org/packages/perl-doc-" version
|
||||
".tar"))
|
||||
(sha256
|
||||
(base32 "1fj13361a9pgmlda8yix0p805r2gwzv1gxf43pq6y79a8hxbm8yn"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/HaraldJoerg/emacs-perl-doc")
|
||||
(synopsis "Read Perl documentation from Emacs")
|
||||
(description
|
||||
"This package contains a command to read Perl documentation in Emacs: @samp{M-x
|
||||
perl-doc}. It uses two external commands which come with Perl:
|
||||
@command{perldoc} to locate the Perl documentation for the Perl modules
|
||||
installed on your system, and @command{pod2html} to format the documentation
|
||||
to HTML. This HTML version is then displayed using the Emacs simple HTML
|
||||
renderer, @code{shr}.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-sops
|
||||
(package
|
||||
(name "emacs-sops")
|
||||
@@ -2684,6 +2707,42 @@ third-party predecessor @code{git-tbdiff}), a Git subcommand for comparing two
|
||||
versions of a topic branch.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-magit-delta
|
||||
;; No releases or tags.
|
||||
(let ((commit "5fc7dbddcfacfe46d3fd876172ad02a9ab6ac616")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-magit-delta")
|
||||
(version (git-version "0.1" revision commit))
|
||||
(home-page "https://github.com/dandavison/magit-delta")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1kph5r9dy21pgfknpcdzzqfn6rqig5nvp8ksh16y13k3axlzvkiw"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no tests
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-delta-executable
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(emacs-substitute-variables "magit-delta.el"
|
||||
("magit-delta-delta-executable"
|
||||
(search-input-file inputs "/bin/delta"))))))))
|
||||
(propagated-inputs (list emacs-dash emacs-magit emacs-xterm-color))
|
||||
(inputs (list git-delta))
|
||||
(synopsis "Integration of @code{delta} with @code{emacs-magit}")
|
||||
(description "Magit-delta provides a minor mode which configures
|
||||
@code{emacs-magit} to use @code{delta} for syntax highlighting when displaying
|
||||
diffs.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public emacs-malyon
|
||||
(package
|
||||
(name "emacs-malyon")
|
||||
@@ -6473,7 +6532,7 @@ of bibliographic references.")
|
||||
(define-public emacs-corfu
|
||||
(package
|
||||
(name "emacs-corfu")
|
||||
(version "2.5")
|
||||
(version "2.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -6482,7 +6541,7 @@ of bibliographic references.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "14ddl6dby5hlphpcsnwxkvw61hh1cyhilpgsyj17fzw9xwpp4q9w"))))
|
||||
(base32 "0psy7ximwnansy9pppcw1l2fryr15v2vqgj81q649743py6nd60l"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -6699,7 +6758,7 @@ that the binary uses instead of the actual binary contents.")
|
||||
(define-public emacs-ellama
|
||||
(package
|
||||
(name "emacs-ellama")
|
||||
(version "1.8.7")
|
||||
(version "1.9.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -6709,7 +6768,7 @@ that the binary uses instead of the actual binary contents.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"14f4mwkjsldygvv232d3ivkggizm3ccyrgyd01hymfmv6xazj155"))))
|
||||
"09xzn4daf80w7x6kbj2b8az89viv66sh367kxlxymr7rsznq1a7q"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -9003,46 +9062,6 @@ and contract the region by semantic units. Unlike @code{expand-region},
|
||||
@code{expreg} can leverage Emacs 29's tree-sitter support.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-explain-pause-mode
|
||||
(let ((commit "2356c8c3639cbeeb9751744dbe737267849b4b51")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-explain-pause-mode")
|
||||
(version (git-version "0.1" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/lastquestion/explain-pause-mode")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0frnfwqal9mrnrz6q4v7vcai26ahaw81894arff1yjw372pfgv7v"))))
|
||||
(build-system emacs-build-system)
|
||||
(native-inputs
|
||||
(list emacs-buttercup))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; This causes the byte-compilation before unit-tests to fail.
|
||||
(add-after 'unpack 'remove-error-on-warn
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("--eval '\\(setq byte-compile-error-on-warn t\\)'") "")))))
|
||||
;; Don't run case-tests as they will fail to create sockets because
|
||||
;; the path is too long
|
||||
#:test-command '("make" "byte-compile" "unit-tests")
|
||||
;; Parallel testing will cause the tests to run before
|
||||
;; byte-compilation is finished
|
||||
#:parallel-tests? #f))
|
||||
(home-page "https://github.com/lastquestion/explain-pause-mode")
|
||||
(synopsis "Top-like interface to determine why Emacs paused")
|
||||
(description
|
||||
"This package monitors Emacs function calls and records their execution
|
||||
time. This information can be reviewed to determine what is causing the user
|
||||
interface to pause.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-filladapt
|
||||
(package
|
||||
(name "emacs-filladapt")
|
||||
@@ -15683,25 +15702,70 @@ in the modeline by default.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-test-simple
|
||||
(package
|
||||
(name "emacs-test-simple")
|
||||
(version "1.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.gnu.org/packages/test-simple-"
|
||||
version ".el"))
|
||||
(sha256
|
||||
(base32
|
||||
"11sgc7187l1a4f1x1f6z58dy7pc7n1999id50rjifkvk901x0qd1"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/rocky/emacs-test-simple")
|
||||
(synopsis "Simple unit test framework for Emacs Lisp")
|
||||
(description
|
||||
"Test Simple is a simple unit test framework for Emacs Lisp. It
|
||||
(let ((commit "da8ddb6fecb820c8e0809ac0892374e755e4efec")) ;version bump
|
||||
(package
|
||||
(name "emacs-test-simple")
|
||||
(version "1.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/rocky/emacs-test-simple/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"18a9d1n2xc2fqimvsg0nkvizn7y7sb6ap5i9al526cp40l0yky3n"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(with-directory-excursion "test"
|
||||
(invoke "emacs" "--batch"
|
||||
"-l" "test-basic.el"
|
||||
"-l" "test-buffer.el"
|
||||
"-l" "test-fns.el"
|
||||
"-l" "test-no-clear.el"))))))))
|
||||
(home-page "https://github.com/rocky/emacs-test-simple")
|
||||
(synopsis "Simple unit test framework for Emacs Lisp")
|
||||
(description
|
||||
"Test Simple is a simple unit test framework for Emacs Lisp. It
|
||||
alleviates the need for context macros, enclosing specifications or required
|
||||
test tags. It supports both interactive and non-interactive use.")
|
||||
(license license:gpl3+)))
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-load-dir
|
||||
;; This package is kept inside ELPA; there is no version-specific
|
||||
;; tag. Version string was taken from source code.
|
||||
(let ((commit "22bcac73d8808a680fd9b261cd89937d8e5c6a3c")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-load-dir")
|
||||
(version (git-version "0.0.5" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.savannah.gnu.org/git/emacs/elpa.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"011m9vnjrxmnpnvf7zjfg3pzkkfsfwc4xf3h5z37f2d4x7ghlw10"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f)) ; No tests.
|
||||
(synopsis "Load all Emacs Lisp files in a given directory")
|
||||
(description
|
||||
"This package provides a way to load all Emacs Lisp snippets (they
|
||||
don't have to be libraries) in a directory on startup or when Emacs is already
|
||||
running. It won't reload snippets unless the user requests it.")
|
||||
(home-page "https://elpa.gnu.org/packages/load-dir.html")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-load-relative
|
||||
(package
|
||||
@@ -15771,67 +15835,72 @@ text excepting lines containing matches.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-realgud
|
||||
(package
|
||||
(name "emacs-realgud")
|
||||
(version "1.5.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/realgud/realgud/")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"1d3s23jk0i34wpyxfajydgyyvsxnpbqrfl0mgydsq7zw2c75ylnq"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-realgud:run-process-void-error
|
||||
;; See: https://github.com/realgud/realgud/issues/269.
|
||||
(lambda _
|
||||
(substitute* '("realgud/debugger/gdb/gdb.el"
|
||||
"realgud/debugger/gub/gub.el")
|
||||
(("^\\(require 'load-relative\\).*" anchor)
|
||||
(string-append anchor
|
||||
"(require-relative-list \
|
||||
'(\"../../common/run\") \"realgud:\")\n")))))
|
||||
(add-after 'expand-load-path 'fix-autogen-script
|
||||
(lambda _
|
||||
(substitute* "autogen.sh"
|
||||
(("./configure") "sh configure"))))
|
||||
(add-after 'fix-autogen-script 'autogen
|
||||
(lambda _
|
||||
(setenv "CONFIG_SHELL" "sh")
|
||||
(invoke "sh" "autogen.sh")))
|
||||
(add-after 'fix-autogen-script 'set-home
|
||||
(lambda _
|
||||
(setenv "HOME" (getenv "TMPDIR"))))
|
||||
(add-before 'patch-el-files 'patch-more-el-files
|
||||
(lambda _
|
||||
;; XXX: Some tests/assumptions in this file are
|
||||
;; not valid on Emacs@30.
|
||||
(delete-file "test/test-regexp-perldb.el")
|
||||
;; FIXME: `patch-el-files' crashes on this file with error:
|
||||
;; unable to locate "bashdb".
|
||||
(delete-file "./test/test-regexp-bashdb.el"))))
|
||||
#:include #~(cons* ".*\\.el$" %default-include)))
|
||||
(native-inputs
|
||||
(list autoconf automake emacs-test-simple))
|
||||
(propagated-inputs
|
||||
(list emacs-load-relative emacs-loc-changes))
|
||||
(home-page "https://github.com/realgud/realgud/")
|
||||
(synopsis
|
||||
"Modular front-end for interacting with external debuggers")
|
||||
(description
|
||||
"RealGUD is a modular, extensible GNU Emacs front-end for interacting
|
||||
;; Last tagged release is from 2019.
|
||||
(let ((commit "56a8d82830ad65c9cbb9c694617f078f007281ac")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-realgud")
|
||||
(version (git-version "1.5.1" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/realgud/realgud/")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"1n232jphfgqbb44p806bpgg2wisbmr5iz09js71knk7n5gslrz25"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'delete-cask-install
|
||||
(lambda _
|
||||
(delete-file "cask-install.el")))
|
||||
(add-after 'expand-load-path 'fix-autogen-script
|
||||
(lambda _
|
||||
(substitute* "autogen.sh"
|
||||
(("./configure") "sh configure"))))
|
||||
(add-after 'fix-autogen-script 'autogen
|
||||
(lambda _
|
||||
(setenv "CONFIG_SHELL" "sh")
|
||||
(invoke "sh" "autogen.sh")))
|
||||
(add-after 'fix-autogen-script 'set-home
|
||||
(lambda _
|
||||
(setenv "HOME" (getenv "TMPDIR"))))
|
||||
(add-before 'patch-el-files 'patch-more-el-files
|
||||
(lambda _
|
||||
;; Misc failures
|
||||
(for-each delete-file
|
||||
(list "test/test-pdb.el"
|
||||
"test/test-shortkey.el"
|
||||
"test/test-track.el"
|
||||
"test/test-trepan2.el"
|
||||
"test/test-lang.el"))
|
||||
;; XXX: Some tests/assumptions in this file are
|
||||
;; not valid on Emacs@30.
|
||||
(delete-file "test/test-regexp-perldb.el")
|
||||
;; FIXME: `patch-el-files' crashes on this file with error:
|
||||
;; unable to locate "bashdb".
|
||||
(delete-file "./test/test-regexp-bashdb.el"))))
|
||||
#:include #~(cons* ".*\\.el$" %default-include)))
|
||||
(native-inputs
|
||||
(list autoconf automake emacs-test-simple perl python-minimal-wrapper
|
||||
ruby))
|
||||
(propagated-inputs
|
||||
(list emacs-load-relative emacs-loc-changes))
|
||||
(home-page "https://github.com/realgud/realgud/")
|
||||
(synopsis
|
||||
"Modular front-end for interacting with external debuggers")
|
||||
(description
|
||||
"RealGUD is a modular, extensible GNU Emacs front-end for interacting
|
||||
with external debuggers. It integrates various debuggers such as gdb, pdb,
|
||||
ipdb, jdb, lldb, bashdb, zshdb, etc. and allows visually steping through code in the
|
||||
sources. Unlike GUD, it also supports running multiple debug sessions in
|
||||
parallel.")
|
||||
(license license:gpl3+)))
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-rmsbolt
|
||||
;; There is no release tag. Version is extracted from main file.
|
||||
@@ -16695,6 +16764,39 @@ circumstances, and leaves the keys untouched outside of those situations,
|
||||
allowing unprefixed keys to insert their respective characters as expected.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-claude-code
|
||||
;; There is no proper release/tag.
|
||||
(let ((commit "becece683bcf60f7b150a87a30ef14885dcf8ce3")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-claude-code")
|
||||
(version (git-version "0.4.5" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/stevemolitor/claude-code.el")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0z77nxazkw08pmqam2z27a56s9nyp72a1vvc0ba3vgcwfkjx0v81"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:include #~(cons "^bin\\/" %default-include)
|
||||
#:tests? #f)) ; There are no tests.
|
||||
(propagated-inputs
|
||||
(list emacs-transient
|
||||
emacs-inheritenv))
|
||||
(home-page "https://github.com/stevemolitor/claude-code.el")
|
||||
(synopsis "Claude Code Emacs integration")
|
||||
(description
|
||||
"This package provides convenient ways to interact with Claude from
|
||||
within Emacs, including sending commands, toggling the Claude window, and
|
||||
accessing slash commands.")
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public emacs-claude-code-ide
|
||||
;; Upstream does not make versioned releases.
|
||||
(let ((commit "c5e2de1a343bc6c0444789e0a99ad822cd56cfbe"))
|
||||
@@ -18869,6 +18971,27 @@ determines structure, this mode provides indentation and indentation command
|
||||
behavior very similar to that of Python mode.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-yaml-pro
|
||||
(package
|
||||
(name "emacs-yaml-pro")
|
||||
(version "1.3.3")
|
||||
(home-page "https://github.com/zkry/yaml-pro")
|
||||
(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 "1sipz42gb8pl8w9xci5m0kdz5dlinxj409hvyz173z3gzg7f4qr1"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs (list emacs-yaml))
|
||||
(synopsis "Tools for editing YAML leveraging tree-sitter/parser")
|
||||
(description "Leverages tree-sitter and provides fast and accurate
|
||||
YAML parsing.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-yari
|
||||
(let ((revision "0")
|
||||
(commit "de61285ceb21f56c29f4be12e2e65b2aa2bccf56"))
|
||||
@@ -19364,7 +19487,7 @@ implementation.")
|
||||
(define-public emacs-cider
|
||||
(package
|
||||
(name "emacs-cider")
|
||||
(version "1.19.0")
|
||||
(version "1.20.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -19373,7 +19496,7 @@ implementation.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0limw27arkc8bn0zzj0jzhdsax78qm1lz5jfgy8zgf971llhf5qc"))))
|
||||
(base32 "08hd281ybskkhir170hr3xpga1b1hwpph7rd0fk6fvm0ngdgxazs"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -26765,8 +26888,9 @@ the pipeline, featuring the support for running @code{emacsclient}.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-jupyter
|
||||
(let ((commit "db8a9e233a010a61063f34220821ec76157a2d84")
|
||||
(revision "2"))
|
||||
;; Last release from 3/2024.
|
||||
(let ((commit "de89cbeca890db51ba84aee956658f89aaa0b642")
|
||||
(revision "3"))
|
||||
(package
|
||||
(name "emacs-jupyter")
|
||||
(version (git-version "1.0" revision commit))
|
||||
@@ -26774,11 +26898,11 @@ the pipeline, featuring the support for running @code{emacsclient}.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/nnicandro/emacs-jupyter")
|
||||
(url "https://github.com/emacs-jupyter/jupyter")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0gjxi84d95sx5fw8q2a8szfhq6kb4xzwq0xr9a3pirkiga9hxymz"))))
|
||||
(base32 "09mcnl4piynzynjad7zy35rp6qn35xh1zrfc7kyws8qmii3561db"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments (list #:tests? #f)) ;tests require a working jupyter
|
||||
(propagated-inputs
|
||||
@@ -26787,7 +26911,7 @@ the pipeline, featuring the support for running @code{emacsclient}.")
|
||||
emacs-simple-httpd
|
||||
emacs-websocket
|
||||
emacs-zmq))
|
||||
(home-page "https://github.com/nnicandro/emacs-jupyter")
|
||||
(home-page "https://github.com/emacs-jupyter/jupyter")
|
||||
(synopsis "Emacs interface to communicate with Jupyter kernels")
|
||||
(description "This package provides an Emacs interface to communicate with
|
||||
Jupyter kernels. It provides REPL and Org mode source code block frontends to
|
||||
@@ -34021,47 +34145,41 @@ and comments.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-yeetube
|
||||
(let ((commit "b8877e61b58dfabcc30044680d0975b3c6b12052")) ;version bump
|
||||
(package
|
||||
(name "emacs-yeetube")
|
||||
(version "2.1.8")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.thanosapollo.org/yeetube")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"1gii2y4cvw795039kdky1mdmgpfrfm4s48ld7z4gv7bvb0fs9hpq"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'locate-binaries
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* (find-files "." "\\.el$")
|
||||
(("\\(executable-find \"mpv\"\\)")
|
||||
(format #f "~s"
|
||||
(search-input-file inputs "/bin/mpv")))
|
||||
(("\\(executable-find \"torsocks\"\\)")
|
||||
(format #f "~s"
|
||||
(search-input-file inputs "/bin/torsocks")))
|
||||
(("\\(executable-find \"yt-dlp\"\\)")
|
||||
(format #f "~s"
|
||||
(search-input-file inputs "/bin/yt-dlp")))))))))
|
||||
(inputs (list mpv torsocks yt-dlp))
|
||||
(propagated-inputs (list emacs-compat))
|
||||
(home-page "https://thanosapollo.org/projects/yeetube/")
|
||||
(synopsis "Youtube front-end for Emacs")
|
||||
(description
|
||||
"This package provides the ability to scrape YouTube, with the results
|
||||
(package
|
||||
(name "emacs-yeetube")
|
||||
(version "2.1.10")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.thanosapollo.org/yeetube")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"0krd2x0vyysqsgb7r3ca2qc7cl1s929gm52j5rihnqw0yfjpwgpv"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; no tests
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'locate-binaries
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* (find-files "." "\\.el$")
|
||||
(("\\(executable-find \"(mpv|torsocks|yt-dlp)\"\\)" all program)
|
||||
(format #f "~s" (search-input-file inputs
|
||||
(string-append "/bin/" program))))))))))
|
||||
(inputs (list mpv torsocks yt-dlp))
|
||||
(propagated-inputs (list emacs-compat))
|
||||
(home-page "https://thanosapollo.org/projects/yeetube/")
|
||||
(synopsis "Youtube front-end for Emacs")
|
||||
(description
|
||||
"This package provides the ability to scrape YouTube, with the results
|
||||
displayed in a tabulated list format. The videos can be opened with a user-defined
|
||||
video player (by default @command{mpv}) or downloaded using @command{yt-dlp}.
|
||||
This package also includes a minimal @code{yt-dlp} wrapper.")
|
||||
(license license:gpl3+))))
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-org-web-tools
|
||||
(package
|
||||
|
||||
+23
-22
@@ -1239,7 +1239,7 @@ Enjoy all of your favorite Atari 2600 games on your PC thanks to Stella!")
|
||||
(define-public mupen64plus-core
|
||||
(package
|
||||
(name "mupen64plus-core")
|
||||
(version "2.5.9")
|
||||
(version "2.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1248,7 +1248,7 @@ Enjoy all of your favorite Atari 2600 games on your PC thanks to Stella!")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1iav8r3f0r44sq9pz4zjqrdzyspk412c117ywxz02qpjkhkf91a3"))))
|
||||
(base32 "1xf15b6c3i0vv92b420a92pfvfaxhji56ivin8pn5r7fajkqyfb7"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config nasm which))
|
||||
@@ -1258,6 +1258,7 @@ Enjoy all of your favorite Atari 2600 games on your PC thanks to Stella!")
|
||||
libpng
|
||||
mesa
|
||||
sdl2
|
||||
vulkan-loader
|
||||
zlib))
|
||||
(arguments
|
||||
'(#:phases
|
||||
@@ -1288,7 +1289,7 @@ core library.")
|
||||
(define-public mupen64plus-audio-sdl
|
||||
(package
|
||||
(name "mupen64plus-audio-sdl")
|
||||
(version "2.5.9")
|
||||
(version "2.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1297,7 +1298,7 @@ core library.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0j78xk78fj7lhi6jk6npr7wm9ix7qyr5cbaaqsmk6pqw6gfx81kz"))))
|
||||
(base32 "08sp70kjjbqg8mhxdm6yphfwn6bnf2i7yvzrzygnnn2cwd0qw42j"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config which))
|
||||
@@ -1332,7 +1333,7 @@ SDL audio plugin.")
|
||||
(define-public mupen64plus-input-sdl
|
||||
(package
|
||||
(name "mupen64plus-input-sdl")
|
||||
(version "2.5.9")
|
||||
(version "2.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1341,7 +1342,7 @@ SDL audio plugin.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1nnniyiy0wpg4m9918va31xxnz8r5qvj0z08vyq2is0b47ld3kq0"))))
|
||||
(base32 "1x07bc3pcfy11k1kp7q0bwz1z9wppxyi3f5pr72wsk1s8szzvck0"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list which))
|
||||
@@ -1376,7 +1377,7 @@ SDL input plugin.")
|
||||
(define-public mupen64plus-rsp-hle
|
||||
(package
|
||||
(name "mupen64plus-rsp-hle")
|
||||
(version "2.5.9")
|
||||
(version "2.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1385,7 +1386,7 @@ SDL input plugin.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0sblabl3dp1jy9izbwyhx90690xdj96yfmwi47kpka8axzj93naq"))))
|
||||
(base32 "1wdnf9y5b61hxkv7jkz67m1bcqyxykzc24bg9k77ny7jc2q42v93"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list mupen64plus-core))
|
||||
@@ -1418,7 +1419,7 @@ high-level emulation (HLE) RSP processor plugin.")
|
||||
(define-public mupen64plus-rsp-z64
|
||||
(package
|
||||
(name "mupen64plus-rsp-z64")
|
||||
(version "2.5.9")
|
||||
(version "2.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1427,7 +1428,7 @@ high-level emulation (HLE) RSP processor plugin.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "02w7c6b7fc6q5rrvawxv48xp64crfs5jbs06f2fqqj4smysyjfcc"))))
|
||||
(base32 "0hpd402a00kmqsq45hrmgjfd1nchkjgjj5hc3fzb4fbvac5pacsz"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list mupen64plus-core))
|
||||
@@ -1460,7 +1461,7 @@ Z64 RSP processor plugin.")
|
||||
(define-public mupen64plus-video-arachnoid
|
||||
(package
|
||||
(name "mupen64plus-video-arachnoid")
|
||||
(version "2.5.9")
|
||||
(version "2.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1469,7 +1470,7 @@ Z64 RSP processor plugin.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1bkzbmg53qiwvza9h45d76rbyn0isbb31cfp5qqza0fzmgjxhv1d"))))
|
||||
(base32 "0dvjn3dnpsdzgjpvn4la05bcan2hs2hvzhqhfq43z1bqyxw7qb2d"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config which))
|
||||
@@ -1504,7 +1505,7 @@ Arachnoid video plugin.")
|
||||
(define-public mupen64plus-video-glide64
|
||||
(package
|
||||
(name "mupen64plus-video-glide64")
|
||||
(version "2.5.9")
|
||||
(version "2.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1513,7 +1514,7 @@ Arachnoid video plugin.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0jscvr2imm9wj9jsgsp5815pv27f97w8g19ix0n39y9yy851qvrg"))))
|
||||
(base32 "15hlbamw2iw5r7l2234a986gikgmkypdzhvl3r7px0rs0pi816pl"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config which))
|
||||
@@ -1547,7 +1548,7 @@ Glide64 video plugin.")
|
||||
(define-public mupen64plus-video-glide64mk2
|
||||
(package
|
||||
(name "mupen64plus-video-glide64mk2")
|
||||
(version "2.5.9")
|
||||
(version "2.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1556,7 +1557,7 @@ Glide64 video plugin.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1hr0mv6y7v72101iff3zf6rd0wpqah936234m3hcb4cgna6zj9xy"))))
|
||||
(base32 "1w0cp448i3rnr8c6rq8ivqvjmfkcawpr4b798xqhryhbxnlr3s35"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config which))
|
||||
@@ -1596,7 +1597,7 @@ Glide64MK2 video plugin.")
|
||||
(define-public mupen64plus-video-rice
|
||||
(package
|
||||
(name "mupen64plus-video-rice")
|
||||
(version "2.5.9")
|
||||
(version "2.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1605,7 +1606,7 @@ Glide64MK2 video plugin.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1vn24g7ahyv70jd06f5sq0j4bjs4axl2c0kfz4qdkpqsamsgxng8"))))
|
||||
(base32 "16bzcjawyzy3wmxaq1chjfnljspm1sgzv7swylr9lkf3kpaijcw2"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config which))
|
||||
@@ -1640,7 +1641,7 @@ Rice Video plugin.")
|
||||
(define-public mupen64plus-video-z64
|
||||
(package
|
||||
(name "mupen64plus-video-z64")
|
||||
(version "2.5.9")
|
||||
(version "2.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1649,7 +1650,7 @@ Rice Video plugin.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1i8dxa0lhcsm5ss1bf74dqnzaa2bw5naj6f56ixw2qjvybrnsmk2"))))
|
||||
(base32 "17h5xh5ms7xv53wcsmagapg08qzybmc1qmch5h6i7dirp5hpa411"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config which))
|
||||
@@ -1691,7 +1692,7 @@ Z64 video plugin.")
|
||||
(define-public mupen64plus-ui-console
|
||||
(package
|
||||
(name "mupen64plus-ui-console")
|
||||
(version "2.5.9")
|
||||
(version "2.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1700,7 +1701,7 @@ Z64 video plugin.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1dyrqdfs2jkalfd86bqidgd9y1hy03qgrgwk46d3xf3kyfmaa1cq"))
|
||||
(base32 "0lir5clzqp2al7dcw9p6xg0kpz5wrgb4s3ar56siqg8nafslrqp3"))
|
||||
(patches (search-patches "mupen64plus-ui-console-notice.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
|
||||
+131
-43
@@ -40,12 +40,13 @@
|
||||
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||||
;;; Copyright © 2023 pinoaffe <pinoaffe@gmail.com>
|
||||
;;; Copyright © 2024 Juliana Sims <juli@incana.org>
|
||||
;;; Copyright © 2024 Nguyễn Gia Phong <mcsinyx@disroot.org>
|
||||
;;; Copyright © 2024 Nguyễn Gia Phong <cnx@loang.net>
|
||||
;;; Copyright © 2025 Frederick Muriuki Muriithi <fredmanglis@gmail.com>
|
||||
;;; Copyright © 2025 nomike Postmann <nomike@nomike.com>
|
||||
;;; Copyright © 2025 Matthew Elwin <elwin@northwestern.edu>
|
||||
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2025 Remco van 't Veer <remco@remworks.net>
|
||||
;;; Copyright © 2025 bdunahu <bdunahu@operationnull.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -129,6 +130,7 @@
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages image-processing)
|
||||
#:use-module (gnu packages imagemagick)
|
||||
#:use-module (gnu packages javascript)
|
||||
#:use-module (gnu packages jupyter)
|
||||
#:use-module (gnu packages kde-frameworks)
|
||||
#:use-module (gnu packages libcanberra)
|
||||
@@ -145,6 +147,7 @@
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages nettle)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages node)
|
||||
#:use-module (gnu packages openkinect)
|
||||
#:use-module (gnu packages parallel)
|
||||
#:use-module (gnu packages pcre)
|
||||
@@ -1031,6 +1034,62 @@ user-level language.")
|
||||
;; Mark as tunable to take advantage of SIMD code in Eigen.
|
||||
(properties '((tunable? . #t))))))
|
||||
|
||||
(define-public iaito
|
||||
;; Release versions are currently out of sync with radare2,
|
||||
;; use most recent commit.
|
||||
(let ((commit "27cdc1793c2f5bf71c6f2ef5116f0bfb91edd730")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "iaito")
|
||||
(version (git-version "6.0.4" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/radareorg/iaito")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"0bwjxv73nsd06al2a40r5gvm99kzlq7f7q7ial9189awlnsbnwlw"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no tests
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; The build system assumes the sdb lib is installed alongside
|
||||
;; radare2. We already patch the radare2 package to use a
|
||||
;; system-installed sdb rather than install its own, so we must
|
||||
;; propagate those changes here.
|
||||
(add-before 'configure 'add-sdb-libs
|
||||
(lambda _
|
||||
(substitute* '("./src/lib_radare2.pri")
|
||||
(("pkg-config --libs r_core" all)
|
||||
(string-append all " sdb")))))
|
||||
(replace 'configure
|
||||
(lambda _
|
||||
;; Does not recognize "--enable-fast-install".
|
||||
(invoke "./configure"
|
||||
(string-append "--prefix=" #$output)))))))
|
||||
(inputs
|
||||
(list capstone
|
||||
libuv
|
||||
libzip
|
||||
lz4
|
||||
openssl
|
||||
qtbase
|
||||
qtsvg
|
||||
radare2
|
||||
sdb))
|
||||
(native-inputs
|
||||
(list pkg-config python-minimal-wrapper))
|
||||
(home-page "https://github.com/radareorg/iaito")
|
||||
(synopsis "Official radare2 GUI")
|
||||
(description "Iaito is the official graphical interface for radare2, a
|
||||
libre reverse engineering framework. Iaito focuses on simplicity, parity with
|
||||
commands, features, and keybindings.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public inspekt3d
|
||||
(let ((commit "703f52ccbfedad2bf5240bf8183d1b573c9d54ef")
|
||||
(revision "0"))
|
||||
@@ -2095,7 +2154,7 @@ bootloader in Espressif ESP8266 & ESP32 series chips.")
|
||||
(define-public radare2
|
||||
(package
|
||||
(name "radare2")
|
||||
(version "5.1.1")
|
||||
(version "6.0.7")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -2103,29 +2162,59 @@ bootloader in Espressif ESP8266 & ESP32 series chips.")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"0hv9x31iabasj12g8f04incr1rbcdkxi3xnqn3ggp8gl4h6pf2f3"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
"1nkqa8mkmvmbc3812gf5ayfmzyf0krjgc1695rpkphw3fsl76rgx"))
|
||||
(file-name (git-file-name name version))
|
||||
(patches
|
||||
(search-patches "radare2-fix-meson-build-to-use-sys-sdb.patch"
|
||||
"radare2-fix-meson-build-to-use-sys-qjs.patch"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; tests require git and network access
|
||||
#:configure-flags
|
||||
#~(list "-Duse_libuv=true"
|
||||
"-Duse_ssl=true"
|
||||
"-Duse_sys_capstone=true"
|
||||
"-Duse_sys_lz4=true"
|
||||
"-Duse_sys_magic=true"
|
||||
"-Duse_sys_openssl=true"
|
||||
"-Duse_sys_xxhash=true"
|
||||
"-Duse_sys_zip=true"
|
||||
"-Duse_sys_zlib=true")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'configure 'mklibdir
|
||||
(lambda _ (mkdir-p (string-append #$output "/lib")))))
|
||||
#:configure-flags
|
||||
#~(list "--with-openssl"
|
||||
"--with-rpath"
|
||||
"--with-syscapstone"
|
||||
"--with-sysmagic"
|
||||
"--with-syszip"
|
||||
"--with-sysxxhash")
|
||||
#:make-flags #~(list (string-append "CC=" #$(cc-for-target)))))
|
||||
;; TODO: Add gmp and libzip and make the build system actually find them.
|
||||
;; CHECK LATER: This patches an incorrect relative include.
|
||||
(add-before 'build 'fix-relative-include
|
||||
(lambda _
|
||||
(substitute* "../source/libr/arch/p/java/plugin.c"
|
||||
(("include \".." all)
|
||||
(string-append all "/..")))))
|
||||
;; These tests require sample binaries from an external repository.
|
||||
(add-before 'check 'skip-tests
|
||||
(lambda _
|
||||
(substitute* '("../source/test/unit/test_bin.c"
|
||||
"../source/test/unit/test_dwarf.c"
|
||||
"../source/test/unit/test_dwarf_info.c"
|
||||
"../source/test/unit/test_dwarf_integration.c"
|
||||
"../source/test/unit/test_pdb.c"
|
||||
;; TODO: add r2pipe and enable this test.
|
||||
"../source/test/unit/test_r2pipe.c")
|
||||
(("(^| )main *\\(.*" all)
|
||||
(string-append all " exit (77);\n"))))))))
|
||||
(inputs
|
||||
(list capstone libuv openssl zip))
|
||||
(list capstone
|
||||
gmp
|
||||
libuv
|
||||
libzip
|
||||
lz4
|
||||
openssl
|
||||
quickjs-ng
|
||||
sdb
|
||||
zlib))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(list node
|
||||
perl
|
||||
pkg-config
|
||||
python-minimal-wrapper))
|
||||
(propagated-inputs
|
||||
;; In the Libs: section of r_hash.pc.
|
||||
(list xxhash))
|
||||
@@ -5271,37 +5360,36 @@ forward kinematics solvers.")
|
||||
(name "python-orocos-kinematics-dynamics")
|
||||
(source
|
||||
(origin
|
||||
(inherit (package-source orocos-kinematics-dynamics))
|
||||
(snippet '(begin
|
||||
(substitute* "python_orocos_kdl/CMakeLists.txt"
|
||||
;; Use the system pybind11 instead of the bundled version
|
||||
(("add_subdirectory\\(pybind11\\)")
|
||||
"find_package(pybind11)")
|
||||
;; change debian-specific python install directory
|
||||
(("dist-packages")
|
||||
"site-packages"))
|
||||
;; ROS 1 uses some dynamic attributes, which are
|
||||
;; disabled by default in pybind11. No harm in enabling them
|
||||
;; See "https://github.com/ros2/geometry2/issues/624
|
||||
;; and https://pybind11.readthedocs.io/en/stable/classes.html
|
||||
;; #dynamic-attributes <Both accessed June 1 2025>
|
||||
(substitute* "python_orocos_kdl/PyKDL/frames.cpp"
|
||||
(("m, \"Vector\"")
|
||||
"m, \"Vector\", py::dynamic_attr()")
|
||||
(("m, \"Frame\"")
|
||||
"m, \"Frame\", py::dynamic_attr()")
|
||||
(("m, \"Twist\"")
|
||||
"m, \"Twist\", py::dynamic_attr()")
|
||||
(("m, \"Wrench\"")
|
||||
"m, \"Wrench\", py::dynamic_attr()"))))))
|
||||
(inherit (package-source orocos-kinematics-dynamics))))
|
||||
(native-inputs (list python pybind11 python-psutil))
|
||||
(inputs (list orocos-kinematics-dynamics))
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(add-after 'unpack 'fix
|
||||
(lambda _
|
||||
(substitute* "python_orocos_kdl/CMakeLists.txt"
|
||||
;; Use the system pybind11 instead of the bundled version
|
||||
(("add_subdirectory\\(pybind11\\)")
|
||||
"find_package(pybind11)")
|
||||
;; change debian-specific python install directory
|
||||
(("dist-packages")
|
||||
"site-packages"))
|
||||
;; ROS 1 uses some dynamic attributes, which are
|
||||
;; disabled by default in pybind11. No harm in enabling them
|
||||
;; See "https://github.com/ros2/geometry2/issues/624
|
||||
;; and https://pybind11.readthedocs.io/en/stable/classes.html
|
||||
;; #dynamic-attributes <Both accessed June 1 2025>
|
||||
(substitute* "python_orocos_kdl/PyKDL/frames.cpp"
|
||||
(("m, \"Vector\"")
|
||||
"m, \"Vector\", py::dynamic_attr()")
|
||||
(("m, \"Frame\"")
|
||||
"m, \"Frame\", py::dynamic_attr()")
|
||||
(("m, \"Twist\"")
|
||||
"m, \"Twist\", py::dynamic_attr()")
|
||||
(("m, \"Wrench\"")
|
||||
"m, \"Wrench\", py::dynamic_attr()"))
|
||||
(chdir "python_orocos_kdl")))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
|
||||
@@ -185,7 +185,7 @@ testing InfiniBand networks.")
|
||||
(define-public ucx
|
||||
(package
|
||||
(name "ucx")
|
||||
(version "1.17.0")
|
||||
(version "1.19.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -195,7 +195,7 @@ testing InfiniBand networks.")
|
||||
(patches (search-patches "ucx-tcp-iface-ioctl.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"09182kx60kq7iyjyz3mpcrgp1mm0lnpc0f4hd4hlw5yyabkxrpa1"))
|
||||
"12j9200iyg6d0yr84r25hcpq8qqzfaa08klbhvgrqpflpfcljz4z"))
|
||||
(snippet
|
||||
;; As seen in commit b0a275a5492125a13020cd095fe9934e0b5e7c6a.
|
||||
#~(begin (use-modules (guix build utils))
|
||||
|
||||
@@ -719,34 +719,34 @@ from a mounted file system.")
|
||||
(home-page "http://www.gphoto.org/proj/gphotofs/")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define bcachefs-tools-rust-target
|
||||
(define (bcachefs-tools-rust-target)
|
||||
(platform-rust-target (lookup-platform-by-target-or-system
|
||||
(or (%current-target-system)
|
||||
(%current-system)))))
|
||||
|
||||
(define bcachefs-tools-target/release
|
||||
(string-append "target/" bcachefs-tools-rust-target "/release"))
|
||||
(define (bcachefs-tools-target/release)
|
||||
(string-append "target/" (bcachefs-tools-rust-target) "/release"))
|
||||
|
||||
(define bcachefs-tools-cargo-args
|
||||
(define (bcachefs-tools-cargo-args)
|
||||
;; Distinct from -MAKE-FLAGS for use with ‘cargo test’ in 'check.
|
||||
#~(list "--release"
|
||||
(string-append "--target=" #$bcachefs-tools-rust-target)))
|
||||
(string-append "--target=" #$(bcachefs-tools-rust-target))))
|
||||
|
||||
;; XXX We want to share common make flags across different packages & phases,
|
||||
;; but the cargo-build-system doesn't allow #:make-flags.
|
||||
(define bcachefs-tools-make-flags
|
||||
(define (bcachefs-tools-make-flags)
|
||||
;; These result of these flags should be as minimal as possible.
|
||||
;; Enable any optional features in the bcachefs-tools package instead.
|
||||
#~(list (string-append "CARGO_BUILD_ARGS="
|
||||
(string-join #$bcachefs-tools-cargo-args " "))
|
||||
(string-join #$(bcachefs-tools-cargo-args) " "))
|
||||
(string-append "CC=" #$(cc-for-target))
|
||||
(string-append "PKG_CONFIG=" #$(pkg-config-for-target))))
|
||||
|
||||
(define bcachefs-tools-make-install-flags
|
||||
(define (bcachefs-tools-make-install-flags)
|
||||
#~(cons* (string-append "PREFIX=" #$output)
|
||||
"INITRAMFS_DIR=$(PREFIX)/share/initramfs-tools"
|
||||
"PKGCONFIG_UDEVRULESDIR=$(PREFIX)/lib/udev/rules.d"
|
||||
#$bcachefs-tools-make-flags))
|
||||
#$(bcachefs-tools-make-flags)))
|
||||
|
||||
(define bcachefs-tools-minimal
|
||||
;; This ‘minimal’ package is not *that* minimal, and not different enough to
|
||||
@@ -782,7 +782,7 @@ from a mounted file system.")
|
||||
(number->string (parallel-job-count))
|
||||
"1")
|
||||
(string-append "VERSION=" #$version)
|
||||
#$bcachefs-tools-make-flags)))
|
||||
#$(bcachefs-tools-make-flags))))
|
||||
(add-before 'install 'patch-install
|
||||
;; ‘make install’ hard-codes target/release/bcachefs, which is
|
||||
;; incorrect when passing --target, as required to cross-compile or
|
||||
@@ -790,11 +790,11 @@ from a mounted file system.")
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("target/release")
|
||||
#$bcachefs-tools-target/release))))
|
||||
#$(bcachefs-tools-target/release)))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(apply invoke "make" "install"
|
||||
#$bcachefs-tools-make-install-flags))))))
|
||||
#$(bcachefs-tools-make-install-flags)))))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
@@ -851,7 +851,7 @@ performance and other characteristics.")
|
||||
(define bcachefs
|
||||
(or (false-if-exception (search-input-file native-inputs
|
||||
"sbin/bcachefs"))
|
||||
(string-append #$bcachefs-tools-target/release
|
||||
(string-append #$(bcachefs-tools-target/release)
|
||||
"/bcachefs")))
|
||||
|
||||
(define (output-completions shell file)
|
||||
@@ -905,16 +905,16 @@ performance and other characteristics.")
|
||||
"1")
|
||||
(string-append "VERSION="
|
||||
#$(package-version this-package))
|
||||
#$bcachefs-tools-make-flags)))
|
||||
#$(bcachefs-tools-make-flags))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(apply invoke "cargo" "test" #$bcachefs-tools-cargo-args))))
|
||||
(apply invoke "cargo" "test" #$(bcachefs-tools-cargo-args)))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(apply invoke "make" "install"
|
||||
(string-append "PREFIX=" #$output)
|
||||
#$bcachefs-tools-make-install-flags)))))))
|
||||
#$(bcachefs-tools-make-install-flags))))))))
|
||||
(inputs (modify-inputs (package-inputs bcachefs-tools-minimal)
|
||||
(prepend `(,eudev "static")
|
||||
`(,keyutils "static")
|
||||
@@ -952,7 +952,7 @@ minimal bcachefs-tools package. It is meant to be used in initrds.")
|
||||
(define-public bcachefs-linux-module
|
||||
(package
|
||||
(name "bcachefs-linux-module")
|
||||
(version "1.32.1")
|
||||
(version "1.33.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -961,7 +961,7 @@ minimal bcachefs-tools package. It is meant to be used in initrds.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0m85s00i1xfb9lr73j41f80akkhcijh9m0b602r76b15a0l5v3a9"))))
|
||||
(base32 "05lqw3mxi73nm1q4qv43p9hyiwi2hdx4nc9fzm7rxwip6ys1kqkd"))))
|
||||
(build-system linux-module-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -1166,14 +1166,19 @@ settings.")
|
||||
(define-public python-mnemonic
|
||||
(package
|
||||
(name "python-mnemonic")
|
||||
(version "0.20")
|
||||
(version "0.21")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "mnemonic" version))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/trezor/python-mnemonic")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1xi5qvj2rvi5almf9c89rl7hz1z4ms04d53pg818i4vpkmivavvw"))))
|
||||
(build-system python-build-system)
|
||||
(base32 "1r8cdlgqpmj71ap3kyhc2nq8dn29gmj7v8dlq8kgcy91jky94n8g"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-poetry-core python-pytest))
|
||||
(propagated-inputs
|
||||
(list python-pbkdf2))
|
||||
(home-page "https://github.com/trezor/python-mnemonic")
|
||||
@@ -1481,12 +1486,18 @@ the KeepKey Hardware Wallet.")
|
||||
(version "0.9.0")
|
||||
(source
|
||||
(origin
|
||||
;; TODO: Figure out how to build from
|
||||
;; https://github.com/romanz/trezor-agent
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "keepkey_agent" version))
|
||||
(sha256
|
||||
(base32
|
||||
"03779gvlx70i0nnry98i4pl1d92604ix5x6jgdfkrdgzqbh5vj27"))))
|
||||
(build-system python-build-system)
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f)) ;no tests in PyPI package
|
||||
(native-inputs
|
||||
(list python-setuptools))
|
||||
(inputs
|
||||
(list python-keepkey python-packaging python-trezor-agent))
|
||||
(home-page "https://github.com/romanz/trezor-agent")
|
||||
|
||||
+53
-1
@@ -51,7 +51,7 @@
|
||||
;;; Copyright © 2021 Liliana Marie Prikler <liliana.prikler@gmail.com>
|
||||
;;; Copyright © 2022 Jose G Perez Taveras <josegpt27@gmail.com>
|
||||
;;; Copyright © 2022 Hilton Chain <hako@ultrarare.space>
|
||||
;;; Copyright © 2022 Nguyễn Gia Phong <mcsinyx@disroot.org>
|
||||
;;; Copyright © 2022 Nguyễn Gia Phong <cnx@loang.net>
|
||||
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;; Copyright © 2023 Ahmad Draidi <a.r.draidi@redscript.org>
|
||||
;;; Copyright © 2023 Arnaud Lechevallier <arnaud.lechevallier@free.fr>
|
||||
@@ -69,6 +69,7 @@
|
||||
;;; Copyright © 2025 Liam Hupfer <liam@hpfr.net>
|
||||
;;; Copyright © 2025 Evgeny Pisemsky <mail@pisemsky.site>
|
||||
;;; Copyright © 2025 Lee Thompson <lee.p.thomp@gmail.com>
|
||||
;;; Copyright © 2025 Alexandre Hannud Abdo <abdo@member.fsf.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -5031,3 +5032,54 @@ is necessary, such as when composing tabular data using text.")
|
||||
technical and idiosyncratic feel—perfect for headers and pull-quotes. Made to
|
||||
work well together with Mona Sans.")
|
||||
(license license:silofl1.1)))
|
||||
|
||||
|
||||
(define-public font-peppercarrot
|
||||
(package
|
||||
(name "font-peppercarrot")
|
||||
(version "1.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://framagit.org/peppercarrot/fonts")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1yw5wjd6rydgllf0c3g5nh9zqbnhc1wbbhsx36c08isr28sy59mm"))))
|
||||
(build-system font-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:license-file-regexp ".*\\.(COPYRIGHT|LICENSE)$"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; License files are spread in subdirectories, gotta catch 'em all!
|
||||
(replace 'install-license-files
|
||||
(let ((install-license-files (assoc-ref %standard-phases
|
||||
'install-license-files))
|
||||
(package-directories (find-files "."
|
||||
(lambda (file stat)
|
||||
(eq? 'directory
|
||||
(stat:type stat)))
|
||||
#:directories? #t)))
|
||||
(lambda args
|
||||
(for-each (lambda (directory)
|
||||
(with-directory-excursion directory
|
||||
(apply install-license-files args)))
|
||||
package-directories)))))))
|
||||
(home-page "https://www.peppercarrot.com/en/fonts/")
|
||||
(synopsis "Fonts used by the comic strip Pepper&Carrot")
|
||||
(description
|
||||
"This package provides a collection of open fonts compiled and adapted by David
|
||||
Revoy and collaborators for use in the comic strip Pepper&Carrot.")
|
||||
;; We list all licenses used for any of the many fonts in the collection
|
||||
(license (list license:silofl1.1
|
||||
license:silofl1.0
|
||||
(license:non-copyleft
|
||||
"http://jikasei.me/info/license.html#M_FONT_LICENSE_1")
|
||||
license:gpl3
|
||||
license:gpl3+
|
||||
license:gpl2
|
||||
license:gpl2+
|
||||
license:asl2.0
|
||||
license:cc-by3.0))))
|
||||
|
||||
@@ -2820,35 +2820,57 @@ to the C library @code{uchardet} to increase performance.")
|
||||
(version "2.5.8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "udiskie" version))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/coldfix/udiskie")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0c6i7i7yb0lqrfxjrh63y6amw2npkp1n3dxdfjf9zh4pgbnaivd3"))))
|
||||
(build-system python-build-system)
|
||||
(base32 "0ccp55fgmcc4fsd7jsqla6k1m6v8zkn03i4axw446zh2nzxpanhl"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-backend #~'custom
|
||||
#:test-flags #~(list "test/test_match.py")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'check 'fix-entry-points
|
||||
;; FIXME: See: <https://codeberg.org/guix/guix/issues/4509>.
|
||||
(lambda _
|
||||
(substitute* (string-append #$output "/bin/.udiskie-real")
|
||||
(("from udiskie.cli import Daemon.main")
|
||||
"from udiskie.cli import Daemon"))
|
||||
(substitute* (string-append #$output "/bin/.udiskie-info-real")
|
||||
(("from udiskie.cli import Info.main")
|
||||
"from udiskie.cli import Info"))
|
||||
(substitute* (string-append #$output "/bin/.udiskie-mount-real")
|
||||
(("from udiskie.cli import Mount.main")
|
||||
"from udiskie.cli import Mount"))
|
||||
(substitute* (string-append #$output "/bin/.udiskie-umount-real")
|
||||
(("from udiskie.cli import Umount.main")
|
||||
"from udiskie.cli import Umount"))))
|
||||
(add-after 'wrap 'wrap-gi-typelib
|
||||
(lambda _
|
||||
(wrap-program (string-append #$output "/bin/udiskie")
|
||||
`("GI_TYPELIB_PATH" ":" prefix
|
||||
(,(getenv "GI_TYPELIB_PATH")))))))))
|
||||
(native-inputs
|
||||
(list asciidoc
|
||||
gettext-minimal
|
||||
gobject-introspection))
|
||||
gobject-introspection
|
||||
python-setuptools))
|
||||
(inputs
|
||||
(list bash-minimal
|
||||
gobject-introspection
|
||||
gtk+
|
||||
libappindicator
|
||||
libnotify
|
||||
python-docopt
|
||||
python-keyutils
|
||||
python-pygobject
|
||||
python-pyxdg
|
||||
python-pyyaml
|
||||
udisks))
|
||||
(propagated-inputs
|
||||
(list python-docopt python-pygobject python-keyutils python-pyxdg
|
||||
python-pyyaml))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'wrap-gi-typelib
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(gi-typelib-path (getenv "GI_TYPELIB_PATH")))
|
||||
(wrap-program (string-append out "/bin/udiskie")
|
||||
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))))))))
|
||||
(home-page "https://github.com/coldfix/udiskie")
|
||||
(synopsis "Automounter for removable media")
|
||||
(description
|
||||
@@ -3229,6 +3251,41 @@ The portal interfaces include APIs for file access, opening URIs, printing
|
||||
and others.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public xdg-desktop-portal-next
|
||||
(let ((base xdg-desktop-portal))
|
||||
(package
|
||||
(inherit base)
|
||||
(version "1.20.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/flatpak/xdg-desktop-portal/releases/download/"
|
||||
version "/xdg-desktop-portal-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1p4yvbhqr8yf231gm69vdz3h7na8m6x1mhiw3bmhg4gm6x4idysb"))
|
||||
(patches (search-patches
|
||||
"xdg-desktop-portal-1.20.3-disable-configuration-search-exit.patch"))
|
||||
(modules '((guix build utils)))
|
||||
;; Disable failing tests.
|
||||
(snippet #~(substitute* "tests/meson.build"
|
||||
((".*test_dynamiclauncher.*") "")
|
||||
((".*test_notification.*") "")
|
||||
((".*test_usb.*") "")))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments base)
|
||||
((#:configure-flags flags #~'())
|
||||
;; Requires python-furo, which isn't packaged for guix, and depends
|
||||
;; on node.js.
|
||||
#~(append '("-Ddocumentation=disabled")
|
||||
#$flags))))
|
||||
(inputs (modify-inputs (package-inputs base)
|
||||
(append gstreamer
|
||||
gst-plugins-base
|
||||
gst-plugins-good
|
||||
umockdev))))))
|
||||
|
||||
(define-public xdg-desktop-portal-gtk
|
||||
(package
|
||||
(name "xdg-desktop-portal-gtk")
|
||||
|
||||
@@ -510,13 +510,19 @@ PCM data.")
|
||||
(define-public nml
|
||||
(package
|
||||
(name "nml")
|
||||
(version "0.7.6")
|
||||
(version "0.8.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "nml" version))
|
||||
(sha256
|
||||
(base32 "0if99hk9dsiw33iabkrbrpwybv8vl3hpim1cf07sklkshigwxryr"))))
|
||||
(base32 "0krs3jac9jc0zqr59ivfl5vibqc15b4yhww73j3c01dla1shvlcj"))))
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke "make" "-C" "regression"))))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
(list python-pillow python-ply))
|
||||
|
||||
@@ -3156,7 +3156,7 @@ exec -a ~s ~s \"$@\"
|
||||
(string-append lib "/main.py"))))
|
||||
(chmod bin #o555)))))))
|
||||
(native-inputs (list unzip python-setuptools))
|
||||
(inputs (list python python-pygame python-tmx))
|
||||
(inputs (list python python-pygame))
|
||||
(home-page "https://rogueboxadventures.tuxfamily.org")
|
||||
(synopsis "Classical roguelike/sandbox game")
|
||||
(description
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
;;; Copyright © 2024, 2025 Zheng Junjie <z572@z572.online>
|
||||
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
|
||||
;;; Copyright © 2023 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2024 Nguyễn Gia Phong <mcsinyx@disroot.org>
|
||||
;;; Copyright © 2024 Nguyễn Gia Phong <cnx@loang.net>
|
||||
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2025 Leo Nikkilä <hello@lnikki.la>
|
||||
;;;
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
;;; Copyright © 2025 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2025 Lars Bilke <lars.bilke@ufz.de>
|
||||
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;; Copyright © 2025 Nguyễn Gia Phong <mcsinyx@disroot.org>
|
||||
;;; Copyright © 2025 Nguyễn Gia Phong <cnx@loang.net>
|
||||
;;; Copyright © 2025 Brice Waegeneire <brice@waegenei.re>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
||||
+1
-1
@@ -266,7 +266,7 @@ generate a GL/GLES/EGL/GLX/WGL loader tailored for specific requirements.")
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "xvfb-run" "utility/test.sh"))))))))
|
||||
(native-inputs (list python-setuptools python-wheel xvfb-run))
|
||||
(native-inputs (list python-setuptools python-wheel xvfb-run-for-tests))
|
||||
(propagated-inputs (list python-jinja2))))
|
||||
|
||||
(define-public s2tc
|
||||
|
||||
+87
-67
@@ -9,6 +9,7 @@
|
||||
;;; Copyright © 2020 Prafulla Giri <pratheblackdiamond@gmail.com>
|
||||
;;; Copyright © 2020 Christopher Lam <christopher.lck@gmail.com>
|
||||
;;; Copyright © 2023, 2024 gemmaro <gemmaro.dev@gmail.com>
|
||||
;;; Copyright © 2025 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -57,6 +58,7 @@
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils))
|
||||
@@ -257,77 +259,95 @@ to be read using the GNOME Yelp program.")
|
||||
(license (list license:fdl1.1+ license:gpl3+)))))
|
||||
|
||||
(define-public gwenhywfar
|
||||
(let ((attachid "529")) ;; file attachid changes for each version
|
||||
(package
|
||||
(name "gwenhywfar")
|
||||
(version "5.12.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.aquamaniac.de/rdm/attachments/"
|
||||
"download/" attachid "/gwenhywfar-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "09nnjn1i8nzlkk62wai2lbnvqap8w6y98fh520b1y883fx2g3m8a"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list "--disable-network-checks"
|
||||
;; GTK+3, GTK+2 and QT4 are supported.
|
||||
"--with-guis=gtk3"
|
||||
"--enable-system-certs"
|
||||
"--with-libxml2-code=yes"
|
||||
"--disable-binreloc")))
|
||||
(inputs
|
||||
(list libgcrypt gnutls openssl gtk+ libxml2))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(home-page "https://www.aquamaniac.de")
|
||||
(synopsis "Utility library for networking and security applications")
|
||||
(description
|
||||
"This package provides a helper library for networking and security
|
||||
(package
|
||||
(name "gwenhywfar")
|
||||
(version "5.14.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.aquamaniac.de/git/gwenhywfar")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"0p0fzi69jsr3flpr10s8gbl9i265x5j5k1q2i5yva2vsdx2j2878"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list "--disable-network-checks"
|
||||
;; GTK+3, GTK+2, Qt4, Qt5 and Qt6 are supported.
|
||||
"--with-guis=gtk3"
|
||||
"--enable-system-certs"
|
||||
"--with-libxml2-code=yes"
|
||||
"--disable-binreloc")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'bootstrap 'make-cvs
|
||||
(lambda _
|
||||
(invoke "make" "-fMakefile.cvs"))))))
|
||||
(inputs
|
||||
(list libgcrypt gnutls openssl gtk+ libxml2))
|
||||
(native-inputs
|
||||
(list autoconf automake gettext-minimal libtool pkg-config))
|
||||
(home-page "https://www.aquamaniac.de")
|
||||
(synopsis "Utility library for networking and security applications")
|
||||
(description
|
||||
"This package provides a helper library for networking and security
|
||||
applications and libraries. It is used by AqBanking.")
|
||||
;; The license includes an explicit additional permission to compile and
|
||||
;; distribute this library with the OpenSSL Toolkit.
|
||||
(license license:lgpl2.1+))))
|
||||
;; The license includes an explicit additional permission to compile and
|
||||
;; distribute this library with the OpenSSL Toolkit.
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public aqbanking
|
||||
(let ((attachid "531")) ;; file attachid changes for each version
|
||||
(package
|
||||
(name "aqbanking")
|
||||
(version "6.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.aquamaniac.de/rdm/attachments/"
|
||||
"download/" attachid "/aqbanking-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1yqbwh91gwwqgiv8cf15rc9mxcdlikhbr5qknaqp5bavp63l8qrp"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(;; Parallel building fails because aqhbci is required before it's
|
||||
;; built.
|
||||
#:parallel-build? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; Embed the package version instead of the build date
|
||||
(add-after 'unpack 'use-version-instead-of-date
|
||||
(lambda _
|
||||
(substitute*
|
||||
"src/libs/plugins/backends/aqhbci/header.xml.in"
|
||||
(("@DATETIME@") ,version)))))))
|
||||
(propagated-inputs
|
||||
(list gwenhywfar))
|
||||
(inputs
|
||||
(list gmp xmlsec gnutls))
|
||||
(native-inputs
|
||||
(list pkg-config gettext-minimal libltdl))
|
||||
(home-page "https://www.aquamaniac.de")
|
||||
(synopsis "Interface for online banking tasks")
|
||||
(description
|
||||
"AqBanking is a modular and generic interface to online banking tasks,
|
||||
(package
|
||||
(name "aqbanking")
|
||||
(version "6.8.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.aquamaniac.de/git/aqbanking")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"0ys5r8lbr1nvd14fr82rs6c16iqfpd1hdz5l9s8l9biy2sq8jh0z"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; Parallel building fails because aqhbci is required before it's
|
||||
;; built.
|
||||
#:parallel-build? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'bootstrap 'make-cvs
|
||||
(lambda _
|
||||
(invoke "make" "-fMakefile.cvs")))
|
||||
;; Embed the package version instead of the build date
|
||||
(add-after 'make-cvs 'use-version-instead-of-date
|
||||
(lambda _
|
||||
(substitute*
|
||||
"src/libs/plugins/backends/aqhbci/header.xml.in"
|
||||
(("@DATETIME@") #$version))))
|
||||
(add-before 'build 'build-types
|
||||
(lambda _
|
||||
(invoke "make" "typedefs")
|
||||
(invoke "make" "typefiles"))))))
|
||||
(propagated-inputs
|
||||
(list gwenhywfar))
|
||||
(inputs
|
||||
(list gmp xmlsec gnutls))
|
||||
(native-inputs
|
||||
(list autoconf automake gettext-minimal libltdl libtool pkg-config))
|
||||
(home-page "https://www.aquamaniac.de")
|
||||
(synopsis "Interface for online banking tasks")
|
||||
(description
|
||||
"AqBanking is a modular and generic interface to online banking tasks,
|
||||
financial file formats (import/export) and bank/country/currency information.
|
||||
AqBanking uses backend plugins to actually perform the online tasks. HBCI,
|
||||
OFX DirectConnect, YellowNet, GeldKarte, and DTAUS discs are currently
|
||||
supported. AqBanking is used by GnuCash, KMyMoney, and QBankManager.")
|
||||
;; AqBanking is licensed under the GPLv2 or GPLv3
|
||||
(license (list license:gpl2 license:gpl3)))))
|
||||
;; AqBanking is licensed under the GPLv2 or GPLv3
|
||||
(license (list license:gpl2 license:gpl3))))
|
||||
|
||||
+23
-13
@@ -584,6 +584,7 @@ interface (FFI) of Guile.")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "gpg" version))
|
||||
(patches (search-patches "python-gpg-setup-72.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ji3ynhp36m1ccx7bmaq75dhij9frpn19v9mpi4aajn8csl194il"))))
|
||||
@@ -709,18 +710,22 @@ signing, decryption, verification, and key-listing parsing.")
|
||||
(license license:perl-license)))
|
||||
|
||||
(define-public pius
|
||||
;; The last release was from 2019, the latest commit is from 2025
|
||||
(let ((commit "5f7c10bd3b058c864b128a3b0e0c0efa1f1befa2")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "pius")
|
||||
(version "3.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/jaymzh/pius/releases/download/v"
|
||||
version "/pius-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"11fhmfvr0avxl222rv43wjd2xjbpxrsmcl8xwmn0nvf1rw95v9fn"))))
|
||||
(build-system python-build-system)
|
||||
(version (git-version "3.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/jaymzh/pius")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0qf1fxwdrnfkia0c1iz752mb9flbjl9jgh75dls51j1k8fzbl758"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
@@ -729,8 +734,13 @@ signing, decryption, verification, and key-listing parsing.")
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "libpius/constants.py"
|
||||
(("/usr/bin/gpg2")
|
||||
(search-input-file inputs "bin/gpg"))))))))
|
||||
(inputs (list perl ;for 'pius-party-worksheet'
|
||||
(search-input-file inputs "bin/gpg")))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? test-flags #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "./run_tests")))))))
|
||||
(native-inputs (list python-setuptools))
|
||||
(inputs (list perl ;for 'pius-party-worksheet'
|
||||
gnupg))
|
||||
(synopsis "Programs to simplify GnuPG key signing")
|
||||
(description
|
||||
@@ -742,7 +752,7 @@ the process. The @command{pius-keyring-mgr} and
|
||||
@command{pius-party-worksheet} commands help organizers of PGP key signing
|
||||
parties.")
|
||||
(license license:gpl2)
|
||||
(home-page "https://www.phildev.net/pius/index.shtml")))
|
||||
(home-page "https://github.com/jaymzh/pius"))))
|
||||
|
||||
(define-public signing-party
|
||||
(package
|
||||
|
||||
@@ -604,9 +604,9 @@ in the case of Firefox, it is browser/locales/all-locales."
|
||||
"zh-CN"
|
||||
"zh-TW"))
|
||||
|
||||
(define %icecat-base-version "140.5.0")
|
||||
(define %icecat-base-version "140.6.0")
|
||||
(define %icecat-version (string-append %icecat-base-version "-gnu1"))
|
||||
(define %icecat-build-id "20251111000000") ;must be of the form YYYYMMDDhhmmss
|
||||
(define %icecat-build-id "20251211000000") ;must be of the form YYYYMMDDhhmmss
|
||||
|
||||
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
|
||||
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
|
||||
@@ -626,9 +626,9 @@ in the case of Firefox, it is browser/locales/all-locales."
|
||||
"firefox-" upstream-firefox-version ".source.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1qhhsgk1dvdrxvvvry6gpijqzpbgmc6h1fd01c7478ppwprpwaw3"))))
|
||||
"1jadc0ynq49zcqd7ix9nxlrqy5gfhm61p7yliwy068bma2mwjdbc"))))
|
||||
|
||||
(gnuzilla-commit "5897aee761cc6d179bd8632f085c3c14ccf7db6c")
|
||||
(gnuzilla-commit "f4e50b9a4d5384ce2e860133bf0beaaccbf19b46")
|
||||
(gnuzilla-source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -639,7 +639,7 @@ in the case of Firefox, it is browser/locales/all-locales."
|
||||
(string-take gnuzilla-commit 8)))
|
||||
(sha256
|
||||
(base32
|
||||
"1yk3bpsa01gy5s5dwavsr089qp5dznzb8za5k3ab3fs79i9vdg6z"))))
|
||||
"0zjzw7blal3niyzyvw33w2cg906pnjbmvf7gsgas2in9xy3rlix6"))))
|
||||
|
||||
;; 'search-patch' returns either a valid file name or #f, so wrap it
|
||||
;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||||
;;; Copyright © 2025 Arthur Rodrigues <arthurhdrodrigues@proton.me>
|
||||
;;; Copyright © 2025 Patrick Norton <patrick.147.norton@gmail.com>
|
||||
;;; Copyright © 2025 Giacomo Leidi <therewasa@fishinthecalculator.me>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -3516,7 +3517,7 @@ traffic.")))
|
||||
(define-public ssh-to-pgp
|
||||
(package
|
||||
(name "ssh-to-pgp")
|
||||
(version "1.1.4")
|
||||
(version "1.1.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -3525,7 +3526,7 @@ traffic.")))
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1xaj6pnk5y2flnxm57j9bpdpll9vhg1rbjj4v3a7hn1gginxpprx"))))
|
||||
(base32 "10n4xggambw3b9nw0qsz36v7xzyvg31s8xqj66j179f78rdclpw7"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -1815,6 +1815,47 @@ the OTEL Go SDK.")
|
||||
(description "This package provides a CSS parser and inliner.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-aymerick-raymond
|
||||
(package
|
||||
(name "go-github-com-aymerick-raymond")
|
||||
(version "2.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/aymerick/raymond")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0s5nxzx87a12hcdzhliy1j8albfx2jqddaks4m86yfrcawm6vndn"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/aymerick/raymond"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; Replace vendored mustache version with the one from 'inputs'.
|
||||
(add-before 'check 'supply-mustache
|
||||
(lambda* (#:key inputs import-path #:allow-other-keys)
|
||||
(let ((mustache (string-append "src/" import-path "/mustache")))
|
||||
(delete-file-recursively mustache)
|
||||
(copy-recursively #$(this-package-input "mustache-specs")
|
||||
mustache)))))))
|
||||
(inputs `(("mustache-specs" ,(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference (url
|
||||
"https://github.com/mustache/spec")
|
||||
(commit
|
||||
"83b0721610a4e11832e83df19c73ace3289972b9")))
|
||||
(sha256 (base32
|
||||
"1g2f6hi04vkxrk53ixzm7yvkg5v8m00dh9nrkh9lxnx8aw824y80"))))))
|
||||
(propagated-inputs (list go-gopkg-in-yaml-v2))
|
||||
(home-page "https://github.com/aymerick/raymond")
|
||||
(synopsis "Handlebars for Golang")
|
||||
(description
|
||||
"This package provides a minimal templating engine for Golang.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-azure-azure-sdk-for-go-sdk-azcore
|
||||
(package
|
||||
(name "go-github-com-azure-azure-sdk-for-go-sdk-azcore")
|
||||
@@ -6277,6 +6318,29 @@ sessions, flash messages, custom backends, and more.")
|
||||
protocol.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public go-github-com-gosimple-slug
|
||||
(package
|
||||
(name "go-github-com-gosimple-slug")
|
||||
(version "1.12.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/gosimple/slug")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "15gk6hdd8kjfl0srlf3gnjq34m64as1s6pjv7paaxd1zvrcml46y"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/gosimple/slug"))
|
||||
(propagated-inputs (list go-github-com-gosimple-unidecode))
|
||||
(home-page "https://github.com/gosimple/slug")
|
||||
(synopsis "URL-friendly slugify with multiple language support")
|
||||
(description "Generates slug from Unicode string for use in URLs.")
|
||||
(license license:mpl2.0)))
|
||||
|
||||
(define-public go-github-com-gregjones-httpcache
|
||||
(package
|
||||
(name "go-github-com-gregjones-httpcache")
|
||||
@@ -16648,6 +16712,31 @@ etc)
|
||||
be used as both a binary and a library.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-mvdan-xurls
|
||||
(package
|
||||
(name "go-github-com-mvdan-xurls")
|
||||
(version "1.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mvdan/xurls")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "05q4nqbpgfb0a35sn22rn9mlag2ks4cgwb54dx925hipp6zgj1hx"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/mvdan/xurls"))
|
||||
(propagated-inputs (list go-golang-org-x-net))
|
||||
(home-page "https://github.com/mvdan/xurls")
|
||||
(synopsis "Extracts URLs from text")
|
||||
(description
|
||||
"Xurls extracts urls from plain text using regular expressions. It can
|
||||
be used as both a binary and a library.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-nhooyr-io-websocket
|
||||
(package
|
||||
(name "go-nhooyr-io-websocket")
|
||||
|
||||
+297
-1
@@ -40,7 +40,7 @@
|
||||
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
|
||||
;;; Copyright © 2023 Katherine Cox-Buday <cox.katherine.e@gmail.com>
|
||||
;;; Copyright © 2023 Miguel Ángel Moreno <mail@migalmoreno.com>
|
||||
;;; Copyright © 2023 Nguyễn Gia Phong <mcsinyx@disroot.org>
|
||||
;;; Copyright © 2023 Nguyễn Gia Phong <cnx@loang.net>
|
||||
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;; Copyright © 2023 Sergey Trofimov <sarg@sarg.org.ru>
|
||||
;;; Copyright © 2023 Thomas Ieong <th.ieong@free.fr>
|
||||
@@ -1371,6 +1371,28 @@ be stripped.")
|
||||
with as little developer effort as possible.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-alecthomas-kong-for-zk
|
||||
(hidden-package
|
||||
(package
|
||||
(inherit go-github-com-alecthomas-kong)
|
||||
(name "go-github-com-alecthomas-kong-for-zk")
|
||||
(version "0.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/alecthomas/kong")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1lk4nb8ilvy0l5szj4s6wnz716vlz0v253423ykmph5l6bmips1k"))))
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f
|
||||
#:import-path "github.com/alecthomas/kong"))
|
||||
(propagated-inputs (list go-github-com-alecthomas-repr
|
||||
go-github-com-pkg-errors)))))
|
||||
|
||||
(define-public go-github-com-alecthomas-kong-hcl
|
||||
(package
|
||||
(name "go-github-com-alecthomas-kong-hcl")
|
||||
@@ -7924,6 +7946,27 @@ string into a slice of words.")
|
||||
defined output to the standard output.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-fatih-color-for-zk
|
||||
(hidden-package
|
||||
(package
|
||||
(inherit go-github-com-fatih-color)
|
||||
(name "go-github-com-fatih-color-for-zk")
|
||||
(version "1.13.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/fatih/color")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "029qkxsdpblhrpgbv4fcmqwkqnjhx08hwiqp19pd7zz6l8a373ay"))))
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/fatih/color"
|
||||
#:test-flags
|
||||
#~(list "-vet=off"))))))
|
||||
|
||||
(define-public go-github-com-fatih-gomodifytags
|
||||
;; This particular commit (v1.17.1-0.20250423142747-f3939df9aa3c) provides
|
||||
;; "modifytags" submodule which is required for gopls@0.19.1.
|
||||
@@ -8525,6 +8568,30 @@ it effectively reuses the JSON struct tags as well as the custom JSON methods
|
||||
@code{MarshalJSON} and @code{UnmarshalJSON} unlike go-yaml.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-gosimple-unidecode
|
||||
(package
|
||||
(name "go-github-com-gosimple-unidecode")
|
||||
(version "1.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/gosimple/unidecode")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1dxdddn744l0s1lr006s2a4k02w6qx8j3k31c7sfflh7wvwzcdzx"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/gosimple/unidecode"))
|
||||
(home-page "https://github.com/gosimple/unidecode")
|
||||
(synopsis "Unicode transliterator for Golang")
|
||||
(description
|
||||
"Package unidecode implements a unicode transliterator which
|
||||
replaces non-ASCII characters with their ASCII approximations.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-git-lfs-go-netrc
|
||||
(package
|
||||
(name "go-github-com-git-lfs-go-netrc")
|
||||
@@ -20011,6 +20078,30 @@ logging.")
|
||||
#:go go-1.23
|
||||
#:import-path "github.com/russross/blackfriday/v2"))))
|
||||
|
||||
(define-public go-github-com-rvflash-elapsed
|
||||
(package
|
||||
(name "go-github-com-rvflash-elapsed")
|
||||
(version "0.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/rvflash/elapsed")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1jawknvv51k1awlzpyr2qc1s75s1fg3l40c0zhixp1sc98hl434c"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/rvflash/elapsed"))
|
||||
(home-page "https://github.com/rvflash/elapsed")
|
||||
(synopsis "Calculates the elapsed time for a given date")
|
||||
(description
|
||||
"This package can be used to return the elapsed time since a
|
||||
given time in a human-readable format.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-rwcarlsen-goexif
|
||||
;; No release or version tag, Golang pseudo version:
|
||||
;; 0.0.0-20190401172101-9e8deecbddbd.
|
||||
@@ -22267,6 +22358,31 @@ flushing entries at a given size or interval, useful for cases such as
|
||||
batching log events.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-tj-go-naturaldate
|
||||
(package
|
||||
(name "go-github-com-tj-go-naturaldate")
|
||||
(version "1.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/tj/go-naturaldate")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "12d7nf1jd7nk9r8ifn1hr21a7m4yb1garmiw2grrsi5zsqsh2jb1"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/tj/go-naturaldate"))
|
||||
(propagated-inputs (list go-github-com-tj-assert))
|
||||
(home-page "https://github.com/tj/go-naturaldate")
|
||||
(synopsis "Provides natural date time parsing")
|
||||
(description
|
||||
"This package parses human-friendly relative date/time ranges.")
|
||||
(license license:expat)))
|
||||
|
||||
|
||||
(define-public go-github-com-tj-go-spin
|
||||
(package
|
||||
(name "go-github-com-tj-go-spin")
|
||||
@@ -22392,6 +22508,79 @@ supported by the time package
|
||||
@end itemize")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-tliron-glsp
|
||||
(package
|
||||
(name "go-github-com-tliron-glsp")
|
||||
(version "0.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/tliron/glsp")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0vz4idndpcxrkjck6m0azdg8zsgcxcchf0ldhnkr8fj3z2sllljr"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/tliron/glsp"))
|
||||
(propagated-inputs (list go-github-com-sasha-s-go-deadlock
|
||||
go-github-com-tliron-kutil
|
||||
go-github-com-sourcegraph-jsonrpc2
|
||||
go-github-com-pkg-errors
|
||||
go-github-com-gorilla-websocket
|
||||
go-golang-org-x-term
|
||||
go-golang-org-x-crypto
|
||||
go-github-com-zchee-color))
|
||||
(home-page "https://github.com/tliron/glsp")
|
||||
(synopsis "Language Server Protocol SDK for Golang")
|
||||
(description
|
||||
"Implementation of the @acronym{LSP, language server protocol}
|
||||
for Golang, allowing the creating of custom language servers.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-tliron-kutil
|
||||
(package
|
||||
(name "go-github-com-tliron-kutil")
|
||||
(version "0.1.59")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/tliron/go-kutil")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "07lhzgpsi96icdya874xmfd1ymg4s4y09s7m7h398aryn7hbysyg"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; TODO: Not ready packages required for tests and full build.
|
||||
;; (propagated-inputs
|
||||
;; (list
|
||||
;; go-github-com-beevik-etree
|
||||
;; go-github-com-coreos-go-systemd
|
||||
;; go-github-com-dop251-goja
|
||||
;; go-github-com-fxamacker-cbor
|
||||
;; go-github-com-go-git-go-git
|
||||
;; go-github-com-google-go-containerregistry
|
||||
;; go-github-com-hokaccha-go-prettyjson
|
||||
;; go-github-com-mitchellh-hashstructure
|
||||
;; go-github-com-segmentio-ksuid
|
||||
;; go-github-com-tliron-yamlkeys
|
||||
;; go-github-com-zchee-color
|
||||
;; go-k8s-io-apiextensions-apiserver
|
||||
;; go-k8s-io-klog))
|
||||
#:skip-build? #t
|
||||
#:tests? #f
|
||||
#:import-path "github.com/tliron/kutil"))
|
||||
(home-page "https://github.com/tliron/go-kutil")
|
||||
(synopsis "Utility library for Golang")
|
||||
(description
|
||||
"This package provides a collection of Golang utilities.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-tomwright-dasel-v2
|
||||
(package
|
||||
(name "go-github-com-tomwright-dasel-v2")
|
||||
@@ -24052,6 +24241,31 @@ deltas can be applied to a JSON object to \"patch\" them.")
|
||||
common sequence} values from two arbitrary arrays.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-yuin-goldmark-meta
|
||||
(package
|
||||
(name "go-github-com-yuin-goldmark-meta")
|
||||
(version "1.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/yuin/goldmark-meta")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "07dnwpkcifk9lw25ncflwdzmp8xqwbsbq0bnw3v7ljz9i8zi3ya3"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/yuin/goldmark-meta"))
|
||||
(propagated-inputs (list go-gopkg-in-yaml-v2 go-github-com-yuin-goldmark))
|
||||
(home-page "https://github.com/yuin/goldmark-meta")
|
||||
(synopsis "YAML metadata extension for the goldmark markdown parser")
|
||||
(description
|
||||
"Extension for the @code{goldmark} markdown parser which enables
|
||||
defining document metadata in the YAML format.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-yuin-gopher-lua
|
||||
(package
|
||||
(name "go-github-com-yuin-gopher-lua")
|
||||
@@ -24147,6 +24361,35 @@ Go host programs.")
|
||||
from the system keyring.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-zchee-color
|
||||
(package
|
||||
(name "go-github-com-zchee-color")
|
||||
(version "2.0.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/zchee/color")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0im301c9m5702lsv3qvzwmx943m9hmrpb2670zfv0z14cm7fqhls"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
#~(list "-vet=off")
|
||||
#:import-path "github.com/zchee/color/v2"))
|
||||
(propagated-inputs (list go-github-com-mattn-go-isatty
|
||||
go-github-com-mattn-go-colorable))
|
||||
(home-page "https://github.com/zchee/color")
|
||||
(synopsis "Color package for Golang")
|
||||
(description
|
||||
"Package color is an ANSI color package to output colorized or
|
||||
SGR defined output to the standard output. The API can be used in several way,
|
||||
pick one that suits you.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-zclconf-go-cty
|
||||
(package
|
||||
(name "go-github-com-zclconf-go-cty")
|
||||
@@ -24467,6 +24710,31 @@ It is a maintained fork of @url{gorilla/schema,
|
||||
https://github.com/gorilla/schema}")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-zk-org-pretty
|
||||
(package
|
||||
(name "go-github-com-zk-org-pretty")
|
||||
(version "0.2.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/zk-org/pretty")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "086zcjamclnn3y9w4ww88ik9avwihbxk7h08vk7686643i1zij96"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/zk-org/pretty"))
|
||||
(propagated-inputs (list go-github-com-rogpeppe-go-internal
|
||||
go-github-com-kr-text))
|
||||
(home-page "https://github.com/zk-org/pretty")
|
||||
(synopsis "Pretty printing for Golang values")
|
||||
(description
|
||||
"This package provides a pretty printing library for Golang values.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-zyedidia-clipper
|
||||
(package
|
||||
(name "go-github-com-zyedidia-clipper")
|
||||
@@ -25802,6 +26070,34 @@ distributions of benchmark measurements
|
||||
(list
|
||||
#:import-path "gopkg.in/alecthomas/kingpin.v2"))))
|
||||
|
||||
(define-public go-gopkg-in-djherbis-times-v1
|
||||
(package
|
||||
(name "go-gopkg-in-djherbis-times-v1")
|
||||
(version "1.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/djherbis/times")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1dk087l9c927f90zrsmyxxfx5i980r952qw47j9srq2q7dd0b4ni"))
|
||||
(modules '((guix build utils)))
|
||||
;; Fix import path for itself in the example code (build by 'check).
|
||||
(snippet '(substitute* "example/main.go"
|
||||
(("github.com/djherbis/times")
|
||||
"gopkg.in/djherbis/times.v1")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "gopkg.in/djherbis/times.v1"))
|
||||
(home-page "https://github.com/djherbis/times")
|
||||
(synopsis "File times for Golang")
|
||||
(description
|
||||
"This package allows access different file time metadata from Golang.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-gopkg-in-fsnotify-v1
|
||||
(package/inherit go-github-com-fsnotify-fsnotify
|
||||
(name "go-gopkg-in-fsnotify-v1")
|
||||
|
||||
+39
-1
@@ -667,7 +667,6 @@ in the style of communicating sequential processes (@dfn{CSP}).")
|
||||
#~(modify-phases #$phases
|
||||
(delete 'skip-TestGoPathShlibGccgo-tests)
|
||||
(delete 'patch-source)
|
||||
(delete 'disable-more-tests)
|
||||
(add-after 'unpack 'patch-os-tests
|
||||
(lambda _
|
||||
(substitute* "src/os/os_test.go"
|
||||
@@ -717,6 +716,45 @@ in the style of communicating sequential processes (@dfn{CSP}).")
|
||||
(substitute* "src/cmd/cgo/internal/testsanitizers/asan_test.go"
|
||||
((".*arena_fail.*") ""))))
|
||||
|
||||
(replace 'disable-more-tests
|
||||
(lambda _
|
||||
#$@(cond
|
||||
((target-aarch64?)
|
||||
;; https://go-review.googlesource.com/c/go/+/151303
|
||||
;; This test is known buggy on aarch64 and is enabled and
|
||||
;; disabled upstream with some regularity.
|
||||
#~((substitute* "src/plugin/plugin_test.go"
|
||||
(("package plugin_test")
|
||||
(string-append "//go:build !(linux && arm64)\n\n"
|
||||
"package plugin_test")))
|
||||
;; collect2: fatal error: cannot find 'ld'
|
||||
;; Disable testshared by adding a build constraint that
|
||||
;; excludes linux/arm64.
|
||||
(substitute* "src/cmd/cgo/internal/testshared/shared_test.go"
|
||||
(("package shared_test")
|
||||
(string-append "//go:build !(linux && arm64)\n\n"
|
||||
"package shared_test")))
|
||||
(substitute* "src/cmd/dist/test.go"
|
||||
((".*testcshared.*") "")
|
||||
((".*testshared.*") ""))))
|
||||
((target-arm32?)
|
||||
;; https://go-review.googlesource.com/c/go/+/151303
|
||||
;; This test is known buggy on aarch64 so we disable
|
||||
;; it on armhf also since we emulate armhf on aarch64.
|
||||
#~((substitute* "src/plugin/plugin_test.go"
|
||||
(("package plugin_test")
|
||||
(string-append "//go:build !(linux && arm)\n\n"
|
||||
"package plugin_test")))
|
||||
;; collect2: fatal error: cannot find 'ld'
|
||||
(substitute* "src/cmd/cgo/internal/testshared/shared_test.go"
|
||||
(("package shared_test")
|
||||
(string-append "//go:build !(linux && arm)\n\n"
|
||||
"package shared_test")))
|
||||
(substitute* "src/cmd/dist/test.go"
|
||||
((".*testcshared.*") "")
|
||||
((".*testshared.*") ""))))
|
||||
(else (list #t)))))
|
||||
|
||||
(add-after 'enable-external-linking 'enable-external-linking-1.21
|
||||
(lambda _
|
||||
;; Invoke GCC to link any archives created with GCC (that is,
|
||||
|
||||
@@ -2948,7 +2948,7 @@ and enables interoperable use of content across the industry.")
|
||||
(define-public monado
|
||||
(package
|
||||
(name "monado")
|
||||
(version "25.0.0")
|
||||
(version "25.1.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -2957,7 +2957,7 @@ and enables interoperable use of content across the industry.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0h4ivjqdj1qisgp1b49h3aqqjlrbd5najyd1vrhskdlz1yzz252p"))))
|
||||
"09bmcqr01kakhzc26r2kmlqd1l3hqr33360qrrpmiy6mlgpsci45"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
(list ffmpeg
|
||||
|
||||
+2
-20
@@ -1009,9 +1009,8 @@ application suites.")
|
||||
(define-public gtk+
|
||||
(package
|
||||
(inherit gtk+-2)
|
||||
(replacement gtk+/fixed)
|
||||
(name "gtk+")
|
||||
(version "3.24.49")
|
||||
(version "3.24.51")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1020,7 +1019,7 @@ application suites.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0flsnh3f0l9v3y2hmnxz1h15nw1l12ixmiwcpiy1ywplrlgq4j00"))
|
||||
"07vw0rani9d65px36fzzj7sprv5r48shyjdgzipkihzqaldd98yh"))
|
||||
(patches (search-patches
|
||||
"gtk3-respect-GUIX_GTK3_PATH.patch"
|
||||
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
|
||||
@@ -1141,23 +1140,6 @@ application suites.")
|
||||
(variable "GUIX_GTK3_PATH")
|
||||
(files '("lib/gtk-3.0")))))))
|
||||
|
||||
(define-public gtk+/fixed
|
||||
(let* ((base gtk+)
|
||||
(source (package-source base)))
|
||||
(package
|
||||
(inherit base)
|
||||
(version "3.24.51")
|
||||
(source
|
||||
(origin
|
||||
(inherit source)
|
||||
(uri (git-reference
|
||||
(inherit (origin-uri source))
|
||||
(commit version)))
|
||||
(file-name (git-file-name (package-name base) version))
|
||||
(sha256
|
||||
(base32
|
||||
"07vw0rani9d65px36fzzj7sprv5r48shyjdgzipkihzqaldd98yh")))))))
|
||||
|
||||
(define-public gtk
|
||||
(package
|
||||
(name "gtk")
|
||||
|
||||
+12
-9
@@ -335,18 +335,21 @@ without requiring the source code to be rewritten.")
|
||||
(files '("lib/guile/2.2/site-ccache")))))))
|
||||
|
||||
(define-public guile-2.2.4
|
||||
;; This has no dependencies, but is used in (guix quirks).
|
||||
;; guile-2.2.4 has no dependents, but is used in (guix quirks).
|
||||
;; Do not remove!
|
||||
(package
|
||||
(inherit guile-2.2)
|
||||
(version "2.2.4")
|
||||
(source (origin
|
||||
(inherit (package-source guile-2.2))
|
||||
(uri (string-append "mirror://gnu/guile/guile-" version
|
||||
".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"07p3g0v2ba2vlfbfidqzlgbhnzdx46wh2rgc5gszq1mjyx5bks6r"))))))
|
||||
(version "2.2.4")
|
||||
(source
|
||||
(origin
|
||||
(inherit (package-source guile-2.2))
|
||||
(uri (string-append "mirror://gnu/guile/guile-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "07p3g0v2ba2vlfbfidqzlgbhnzdx46wh2rgc5gszq1mjyx5bks6r"))))
|
||||
;; libxcrypt-without-failure-tokens uses --disable-failure-tokens, which is
|
||||
;; necessary for the "crypt: glibc EINVAL" test of guile-2.2.4.
|
||||
(inputs (modify-inputs (package-inputs guile-2.2)
|
||||
(replace "libxcrypt" libxcrypt-without-failure-tokens)))))
|
||||
|
||||
(define-public guile-3.0
|
||||
;; This is the latest Guile stable version.
|
||||
|
||||
@@ -0,0 +1,131 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2025 jgart <jgart@dismail.de>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages hare-apps)
|
||||
#:use-module (gnu packages hare-xyz)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (guix build-system hare)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages))
|
||||
|
||||
(define-public bonsai
|
||||
(package
|
||||
(name "bonsai")
|
||||
(version "1.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.sr.ht/~stacyharper/bonsai")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "148rccbh5alpnz36ricv8y26qyrqwm4g7mj936vpwrxwd9dkwmff"))))
|
||||
(build-system hare-build-system)
|
||||
(inputs (list hare-ev hare-json))
|
||||
(supported-systems %hare-supported-systems)
|
||||
(home-page "https://bonsai.builtwithhare.org")
|
||||
(synopsis "Finite State Machine structured as a tree that trigger commands")
|
||||
(description "Bonsai is a Finite State Machine structured as a tree. It
|
||||
has been designed to trigger commands when successive events and/or a precise
|
||||
context is accepted. There is 4 kind of transition with specific acceptance
|
||||
rules:
|
||||
|
||||
@itemize
|
||||
@item event transition: The received event name match the transition
|
||||
one
|
||||
@item context transition: The state context match the transition one @item
|
||||
exec transition: The transition command is run and succeed
|
||||
@item delay
|
||||
transition: The state wait for the delay transition duration. No other
|
||||
accepted event is received while waiting
|
||||
@end itemize
|
||||
|
||||
The state will transition following every accepted transition. If there is no
|
||||
more available transition, the state goes back to the initial position.")
|
||||
(license license:agpl3+)))
|
||||
|
||||
(define-public hare-lsp
|
||||
(package
|
||||
(name "hare-lsp")
|
||||
(version "0.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.sr.ht/~whynothugo/hare-lsp")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1h763ynv1zh2ili26bkd9anmv8srva63rwpv2avnmimia1bvsx81"))))
|
||||
(build-system hare-build-system)
|
||||
(inputs (list hare-json))
|
||||
(supported-systems %hare-supported-systems)
|
||||
(home-page "https://git.sr.ht/~whynothugo/hare-lsp/")
|
||||
(synopsis "Language server implementation for Hare")
|
||||
(description "This package provides a language server implementation for
|
||||
Hare.")
|
||||
(license license:isc)))
|
||||
|
||||
(define-public hare-mcron
|
||||
(package
|
||||
(name "hare-mcron")
|
||||
(version "1.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.sr.ht/~stacyharper/mcron")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "18h85fpxa2hs3fr132j85qh8b73dsawcn845ifk8ffgvh2kmw9zl"))))
|
||||
(build-system hare-build-system)
|
||||
(native-inputs (list scdoc))
|
||||
(inputs (list hare-ev))
|
||||
(supported-systems %hare-supported-systems)
|
||||
(home-page "https://mcron.builtwithhare.org/")
|
||||
(synopsis "Sleeping cron job scheduler")
|
||||
(description "Mcron is a cron implementation that is designed to be used
|
||||
on suspendable machines, like mobile phones. It will wake the device from
|
||||
suspension to trigger the tasks.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public sxmobar
|
||||
(package
|
||||
(name "sxmobar")
|
||||
(version "1.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.sr.ht/~stacyharper/sxmobar")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1dlw4sbf3awzxvglmfml5fmi9w6zmqxr2f4xqsrwchi154bixix9"))))
|
||||
(build-system hare-build-system)
|
||||
(native-inputs (list scdoc))
|
||||
(supported-systems %hare-supported-systems)
|
||||
(home-page "https://sxmobar.builtwithhare.org")
|
||||
(synopsis "Status bar component manager")
|
||||
(description "sxmobar is a status bar component manager. It is used to
|
||||
generate status lines for @command{i3status}, @command{i3bar},
|
||||
@command{swaybar}, and others.")
|
||||
(license license:agpl3+)))
|
||||
@@ -48,6 +48,26 @@
|
||||
(description "This package provides compression algorithms for Hare.")
|
||||
(license license:mpl2.0)))
|
||||
|
||||
(define-public hare-ev
|
||||
(package
|
||||
(name "hare-ev")
|
||||
(version "0.25.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.sr.ht/~sircmpwn/hare-ev")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1ak9anvzg2qfdsvxpcszshimw5cqbm52zfq7kwx7z0yf6qi6zm0f"))))
|
||||
(build-system hare-build-system)
|
||||
(supported-systems %hare-supported-systems)
|
||||
(home-page "https://sr.ht/~sircmpwn/hare-ev")
|
||||
(synopsis "Event loop for Hare")
|
||||
(description "This package provides an event loop for Hare programs.")
|
||||
(license license:mpl2.0)))
|
||||
|
||||
(define-public hare-json
|
||||
(package
|
||||
(name "hare-json")
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cross-base)
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages disk)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages gawk)
|
||||
@@ -344,7 +345,8 @@ Hurd-minimal package which are needed for both glibc and GCC.")
|
||||
(inherit (package-source hurd-headers))
|
||||
(patches (search-patches "hurd-refcounts-assert.patch"
|
||||
"hurd-rumpdisk-no-hd.patch"
|
||||
"hurd-startup.patch"))))
|
||||
"hurd-startup.patch"
|
||||
"hurd-proc-zombies.patch"))))
|
||||
(version (package-version hurd-headers))
|
||||
(arguments
|
||||
`(#:tests? #f ;no "check" target
|
||||
@@ -389,12 +391,6 @@ Hurd-minimal package which are needed for both glibc and GCC.")
|
||||
(("#include <rpc/pmap_prot.h>" m)
|
||||
(string-append "#include <rpc/types.h>\n#include <rpc/xdr.h>\n" m)))
|
||||
#t))
|
||||
,@(if (%current-target-system)
|
||||
'((add-after 'configure 'fixup-cross-configure
|
||||
(lambda _
|
||||
(substitute* "config.make"
|
||||
(("HAVE_LIBRUMP = no") "HAVE_LIBRUMP = yes")))))
|
||||
'())
|
||||
(add-before 'build 'pre-build
|
||||
(lambda _
|
||||
;; Don't change the ownership of any file at this time.
|
||||
@@ -583,7 +579,9 @@ exec ${system}/rc \"$@\"
|
||||
(string-append datadir "/vga-system.bdf"))))))
|
||||
#:configure-flags
|
||||
,#~(list (string-append "LDFLAGS=-Wl,-rpath="
|
||||
#$output "/lib")
|
||||
#$output "/lib"
|
||||
;; Linking with librump.so
|
||||
" -Wl,--as-needed")
|
||||
"--enable-static-progs=ext2fs,iso9660fs,rumpdisk,pci-arbiter,acpi"
|
||||
"--disable-ncursesw"
|
||||
"--without-libbz2"
|
||||
@@ -597,6 +595,7 @@ exec ${system}/rc \"$@\"
|
||||
(inputs
|
||||
`(("libgcrypt" ,libgcrypt) ;for /hurd/random
|
||||
("libdaemon" ,libdaemon) ;for /bin/console --daemonize
|
||||
("libxcrypt" ,libxcrypt) ;for password hashing
|
||||
("unifont" ,unifont)
|
||||
("libpciaccess" ,libpciaccess-static)
|
||||
|
||||
|
||||
@@ -180,7 +180,7 @@ Magnetic Resonance Imaging.")
|
||||
(define-public cimg
|
||||
(package
|
||||
(name "cimg")
|
||||
(version "3.5.5")
|
||||
(version "3.6.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -189,7 +189,7 @@ Magnetic Resonance Imaging.")
|
||||
(commit (string-append "v." version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "01myf3bjbc46f977r7lvr9g1hcnpfygcv2xnqvhrl2nj7955sm5x"))))
|
||||
(base32 "1zdw1mbwl2g0ka1gasq9l706aral0l2mfsc0vmvq2szn90l2i455"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -645,7 +645,13 @@ different data arrays similar to those available in the numdiff software.")
|
||||
(substitute* "modules/photo/test/test_hdr.cpp"
|
||||
(("0\\.131") "0.222"))
|
||||
;; These tests hang forever on aarch64.
|
||||
(delete-file-recursively "modules/videoio/test/"))
|
||||
(delete-file-recursively "modules/videoio/test/")
|
||||
;; This test fails on aarch64 due to floating-point precision
|
||||
;; differences with ARM NEON.
|
||||
;; Expected: RMSE <= 0.34, actual: 0.407627
|
||||
(substitute* "../opencv-contrib/modules/optflow/test/test_OF_accuracy.cpp"
|
||||
(("\\bReferenceAccuracy\\b" all)
|
||||
(string-append "DISABLED_" all))))
|
||||
'())
|
||||
|
||||
,@(if (target-riscv64?)
|
||||
|
||||
@@ -874,14 +874,14 @@ preloading.")
|
||||
(define-public chafa
|
||||
(package
|
||||
(name "chafa")
|
||||
(version "1.16.2")
|
||||
(version "1.18.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://hpjansson.org/chafa/releases/chafa-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1pv1g2gcn4qn27bkwm1g1k87nb1yq0gzw7jclhq53d49kbfrhy35"))))
|
||||
"1nyakydm8f4kshhdqg35ckfa62nxk54i41npva4jw15q3927ax6d"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config which))
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
;;; Copyright © 2021, 2022 Olivier Dion <olivier.dion@polymtl.ca>
|
||||
;;; Copyright © 2023 Andy Tai <atai@atai.org>
|
||||
;;; Copyright © 2023 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2024 Nguyễn Gia Phong <mcsinyx@disroot.org>
|
||||
;;; Copyright © 2024 Nguyễn Gia Phong <cnx@loang.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
||||
@@ -48,6 +48,8 @@
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? (and (not (%current-target-system))
|
||||
(not (target-arm32?)))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'delete-thp-test
|
||||
|
||||
@@ -11,9 +11,14 @@
|
||||
;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net>
|
||||
;;; Copyright © 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2021, 2022 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2022 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
|
||||
;;; Copyright © 2022, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2023 Antero Mejr <antero@mailbox.org>
|
||||
;;; Copyright © 2023 Greg Hogan <code@greghogan.com>
|
||||
;;; Copyright © 2024 Danny Milosavljevic <dannym@friendly-machines.com>
|
||||
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;; Copyright © 2024-2025 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||||
;;; Copyright © 2025 Ghislain Vaillant <ghislain.vaillant@inria.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -198,6 +203,70 @@ simulation, statistical modeling, machine learning and much more.")
|
||||
(modify-inputs (package-propagated-inputs parent)
|
||||
(replace "python-jupyter-client" python-jupyter-client-bootstrap)))))))
|
||||
|
||||
(define-public python-jupytext
|
||||
(package
|
||||
(name "python-jupytext")
|
||||
(version "1.18.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mwouts/jupytext")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "01vvi5aab7lahj57ng5v4svjw18xrlgnasz877lqvdf4m6cpi8s9"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; tests: 4017 passed, 173 skipped, 2 deselected, 1 warning
|
||||
#:test-flags
|
||||
#~(list
|
||||
;; Requires git.
|
||||
"--ignore=tests/external"
|
||||
;; Requires python-black.
|
||||
"--ignore=tests/functional/contents_manager"
|
||||
;; Failed: DID NOT RAISE <class 'ValueError'>.
|
||||
(string-append "--deselect=tests/functional/cli/test_source_is_newer.py"
|
||||
"::test_check_source_is_newer_when_using_jupytext_to")
|
||||
;; Failed: DID NOT RAISE <class 'jupytext.cli.SynchronousModificationError'>.
|
||||
(string-append "--deselect=tests/functional/cli/test_synchronous_changes.py"
|
||||
"::test_jupytext_to_raises_on_synchronous_edits"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'pre-check
|
||||
(lambda _
|
||||
;; some tests fail when HOME=/homeless-shelter.
|
||||
(setenv "HOME" "/tmp")
|
||||
;; OSError: [Errno 18] Invalid cross-device link
|
||||
(setenv "TMPDIR" "/tmp"))))))
|
||||
(native-inputs
|
||||
(list python-hatchling
|
||||
python-jupyter-client
|
||||
python-jupyter-server
|
||||
python-pytest
|
||||
python-pytest-asyncio))
|
||||
(propagated-inputs
|
||||
(list python-markdown-it-py
|
||||
python-mdit-py-plugins
|
||||
python-nbformat
|
||||
python-packaging
|
||||
python-pyyaml))
|
||||
(home-page "https://jupytext.readthedocs.io/")
|
||||
(synopsis
|
||||
"Jupyter notebooks as Markdown documents, Julia, Python or R scripts")
|
||||
(description
|
||||
"Jupytext is a plugin for Jupyter that can save Jupyter notebooks as
|
||||
either Markdown files or scripts in many languages. Common use cases for
|
||||
Jupytext are:
|
||||
|
||||
@itemize
|
||||
@item version control on Jupyter Notebooks
|
||||
@item editing, merging or refactoring notebooks in your favorite text editor
|
||||
@item applying Q&A checks on notebooks.
|
||||
@end itemize ")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-nbclassic
|
||||
(package
|
||||
(name "python-nbclassic")
|
||||
|
||||
@@ -219,32 +219,6 @@ used from QtQuick applications for both simple display of data as well as
|
||||
continuous display of high-volume data.")
|
||||
(license (list license:lgpl2.1 license:lgpl3))))
|
||||
|
||||
(define-public kquickcharts-5
|
||||
(package
|
||||
(inherit kquickcharts)
|
||||
(name "kquickcharts")
|
||||
(version "5.116.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://kde/stable/frameworks/"
|
||||
(version-major+minor version)
|
||||
"/" name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1bd20kpypji6053fwn5a1b41rjf7r1b3wk85swb0xlmm2kji236j"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:phases #~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(system "Xvfb :1 -screen 0 640x480x24 &")
|
||||
(setenv "DISPLAY" ":1")
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
(invoke "ctest")))))))
|
||||
(inputs (list qtbase-5 qtdeclarative-5 qtquickcontrols2-5
|
||||
xorg-server-for-tests))))
|
||||
|
||||
(define-public kuserfeedback
|
||||
;; FIXME: Try to reduce data collection and ensure transmission i disabled by default.
|
||||
;; FIXME: Check https://www.reddit.com/r/kde/comments/f7ojg9 for insights
|
||||
@@ -1265,26 +1239,6 @@ but also for getting notified upon idle time events, such as custom timeouts,
|
||||
or user activity.")
|
||||
(license (list license:gpl2+ license:lgpl2.1+))))
|
||||
|
||||
(define-public kidletime-5
|
||||
(package
|
||||
(inherit kidletime)
|
||||
(name "kidletime")
|
||||
(version "5.116.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://kde/stable/frameworks/"
|
||||
(version-major+minor version) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"15s9nxpkqy3i182xk82bpl92iaqcilsckja7301854fw6ppl8vvh"))))
|
||||
(native-inputs
|
||||
(list extra-cmake-modules pkg-config))
|
||||
(inputs
|
||||
(list libxscrnsaver ; X-Screensaver based poller, fallback mode
|
||||
qtbase-5 qtx11extras))))
|
||||
|
||||
(define-public kirigami
|
||||
(package
|
||||
(name "kirigami")
|
||||
@@ -1401,26 +1355,6 @@ model to observers
|
||||
@end enumerate")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public kitemmodels-5
|
||||
(package
|
||||
(inherit kitemmodels)
|
||||
(name "kitemmodels")
|
||||
(version "5.116.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://kde/stable/frameworks/"
|
||||
(version-major+minor version) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wcznkj24553spkl202zwifk6hgrvdd60j3y47jp2m6zpadywz2k"))))
|
||||
(native-inputs
|
||||
(list extra-cmake-modules))
|
||||
(inputs
|
||||
(list qtdeclarative-5))
|
||||
(arguments '())))
|
||||
|
||||
(define-public kitemviews
|
||||
(package
|
||||
(name "kitemviews")
|
||||
@@ -1570,27 +1504,6 @@ integration with a custom editor as well as a ready-to-use
|
||||
(properties `((upstream-name . "syntax-highlighting")))
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public ksyntaxhighlighting-5
|
||||
(package
|
||||
(inherit ksyntaxhighlighting)
|
||||
(name "ksyntaxhighlighting")
|
||||
(version "5.116.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://kde/stable/frameworks/"
|
||||
(version-major+minor version) "/"
|
||||
"syntax-highlighting-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"19zs3n6cn83rjs0bpyrn6f5r75qcflavf8rb1c2wxj8dpp7cm33g"))))
|
||||
(native-inputs
|
||||
(list extra-cmake-modules perl qttools-5
|
||||
;; Optional, for compile-time validation of syntax definition files:
|
||||
qtxmlpatterns-5))
|
||||
(inputs
|
||||
(list qtbase-5))))
|
||||
|
||||
(define-public plasma-wayland-protocols
|
||||
(package
|
||||
(name "plasma-wayland-protocols")
|
||||
@@ -2183,25 +2096,6 @@ ASpell and HUNSPELL.")
|
||||
uses a job-based interface to queue tasks and execute them in an efficient way.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public threadweaver-5
|
||||
(package
|
||||
(inherit threadweaver)
|
||||
(name "threadweaver")
|
||||
(version "5.116.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://kde/stable/frameworks/"
|
||||
(version-major+minor version) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1q7ax3dhsayz35j0l9pdmarkwfyyy1dsy2crdf5xz8pr5mjxq8wp"))))
|
||||
(native-inputs
|
||||
(list extra-cmake-modules))
|
||||
(inputs
|
||||
(list qtbase-5))))
|
||||
|
||||
|
||||
;; Tier 2
|
||||
;;
|
||||
@@ -2610,47 +2504,6 @@ used by file indexers to retrieve the metadata. This library can also be used
|
||||
by applications to write metadata.")
|
||||
(license (list license:lgpl2.0 license:lgpl2.1 license:lgpl3))))
|
||||
|
||||
(define-public kfilemetadata-5
|
||||
(package
|
||||
(inherit kfilemetadata)
|
||||
(name "kfilemetadata")
|
||||
(version "5.116.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://kde/stable/frameworks/"
|
||||
(version-major+minor version) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"13yfcy02rmhrhf8lxv7smk1n9rg1ywsh60hwzm94b8hq9a62qp0r"))))
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "ctest" "-E"
|
||||
"(usermetadatawritertest|taglibextractortest)")))))))
|
||||
(native-inputs (list extra-cmake-modules pkg-config))
|
||||
(inputs
|
||||
(list attr
|
||||
ebook-tools
|
||||
karchive-5
|
||||
kconfig-5
|
||||
kcoreaddons-5
|
||||
ki18n-5
|
||||
qtmultimedia-5
|
||||
qtbase-5
|
||||
;; Required run-time packages
|
||||
catdoc
|
||||
;; Optional run-time packages
|
||||
exiv2
|
||||
ffmpeg
|
||||
poppler-qt5
|
||||
taglib))))
|
||||
|
||||
(define-public kimageannotator
|
||||
(package
|
||||
(name "kimageannotator")
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2024, 2025 Sughosha <sughosha@disroot.org>
|
||||
;;; Copyright © 2025 Junker <dk@junkeria.club>
|
||||
;;; Copyright © 2025 Ghislain Vaillant <ghislain.vaillant@inria.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -55,7 +56,8 @@
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages wm)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xml))
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
(define-public calligra
|
||||
(package
|
||||
@@ -283,6 +285,50 @@ processor built in, and can integrate with Pandoc, MultiMarkdown, Discount, and
|
||||
cmark processors if they are installed.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public klevernotes
|
||||
(package
|
||||
(name "klevernotes")
|
||||
(version "1.2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://kde/stable/klevernotes/" version
|
||||
"/klevernotes-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0jnnbsml29gmpbycx8b012rnzdnjfigp9d6wsaww085mql0rdf73"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:qtbase qtbase
|
||||
#:configure-flags
|
||||
#~(list "-DBUILD_TESTING:BOOL=ON")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'start-xorg-server
|
||||
(lambda _
|
||||
(system "Xvfb :99 -screen 0 1024x768x24 &")
|
||||
(setenv "DISPLAY" ":99.0"))))))
|
||||
(native-inputs (list extra-cmake-modules xorg-server))
|
||||
(inputs (list kconfigwidgets
|
||||
kcoreaddons
|
||||
ki18n
|
||||
kiconthemes
|
||||
kio
|
||||
kirigami
|
||||
kirigami-addons
|
||||
kitemmodels
|
||||
qqc2-desktop-style
|
||||
qtsvg
|
||||
qtwayland
|
||||
qtwebengine
|
||||
sonnet))
|
||||
(home-page "https://apps.kde.org/klevernotes/")
|
||||
(synopsis "Note taking and management application")
|
||||
(description
|
||||
"KleverNotes is a note taking and management application. It uses Markdown
|
||||
and allows you to preview your content.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public tellico
|
||||
(package
|
||||
(name "tellico")
|
||||
|
||||
+12
-49
@@ -1455,51 +1455,6 @@ you login.")
|
||||
(home-page "https://invent.kde.org/plasma/kwallet-pam")
|
||||
(license (list license:lgpl2.1+))))
|
||||
|
||||
(define-public kwayland-integration
|
||||
(package
|
||||
(name "kwayland-integration")
|
||||
(version "6.5.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://kde/stable/plasma/"
|
||||
version "/" name "-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"01jxpl0zbz8pbnrbxw9bnn148mr03rrf86ryl627cqx8k4p9842d"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list #:phases #~(modify-phases %standard-phases
|
||||
(delete 'check)
|
||||
(add-after 'install 'check-after-install
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(setenv "HOME" (getcwd))
|
||||
(setenv "XDG_RUNTIME_DIR" (getcwd))
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
(invoke "ctest"))))
|
||||
(add-before 'check-after-install 'check-setup
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(setenv "QT_PLUGIN_PATH"
|
||||
(string-append #$output
|
||||
"/lib/qt5/plugins:"
|
||||
(getenv "QT_PLUGIN_PATH"))))))))
|
||||
(native-inputs (list extra-cmake-modules wayland-protocols pkg-config))
|
||||
(inputs (list kguiaddons-5
|
||||
kidletime-5
|
||||
kwindowsystem-5
|
||||
kwayland-5
|
||||
libxkbcommon
|
||||
wayland
|
||||
plasma-wayland-protocols
|
||||
qtbase-5
|
||||
qtwayland-5))
|
||||
(synopsis "KWayland runtime integration plugins")
|
||||
(description "This package provides Wayland integration plugins for various
|
||||
KDE Frameworks components.")
|
||||
(home-page "https://invent.kde.org/plasma/kwayland-integration")
|
||||
(license (list license:lgpl2.1 license:lgpl3))))
|
||||
|
||||
(define-public kwin
|
||||
(package
|
||||
(name "kwin")
|
||||
@@ -1520,7 +1475,7 @@ KDE Frameworks components.")
|
||||
#:test-exclude
|
||||
(string-append "("
|
||||
(string-join
|
||||
'(;; Fails on an Apple M1 (aarch64) with the following error:
|
||||
`(;; Fails on an Apple M1 (aarch64) with the following error:
|
||||
;; TestColorspaces::roundtripConversion fails
|
||||
"kwin-testColorspaces"
|
||||
|
||||
@@ -1562,7 +1517,9 @@ KDE Frameworks components.")
|
||||
"kwin-testFractionalRepaint"
|
||||
"kwin-testDrmLegacy"
|
||||
"kwin-testInputCapture"
|
||||
"kwin-testMockDrm")
|
||||
"kwin-testMockDrm"
|
||||
"kwin-testSecurityContext"
|
||||
"kwin-testXwaylandSelection")
|
||||
"|")
|
||||
")")
|
||||
#:phases
|
||||
@@ -2232,11 +2189,17 @@ the KDE Plasma 6 desktop.")
|
||||
(arguments
|
||||
(list #:qtbase qtbase
|
||||
#:test-exclude
|
||||
;; The tst_calibrationtool test fails on aarch64 due to floating-point
|
||||
;; precision: QMatrix4x4 comparison fails with tiny differences
|
||||
;; (1.11759e-08 instead of exact 0).
|
||||
(string-append "("
|
||||
(string-join '("positionertest"
|
||||
(string-join `("positionertest"
|
||||
"kcm-keyboard-keyboard_memory_\
|
||||
persister_test"
|
||||
"foldermodeltest")
|
||||
"foldermodeltest"
|
||||
,@(if (target-aarch64?)
|
||||
'("tst_calibrationtool")
|
||||
'()))
|
||||
"|")
|
||||
")")
|
||||
#:phases
|
||||
|
||||
@@ -116,14 +116,14 @@
|
||||
(define computed-origin-method (@@ (guix packages) computed-origin-method))
|
||||
|
||||
(define firefox-l10n
|
||||
(let ((commit "38e9598ea1b99b69a240cc1db1d59f4357fcb95d"))
|
||||
(let ((commit "fa4b12c075b42be6652237119d74346d377d2ae4"))
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mozilla-l10n/firefox-l10n.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "firefox-l10n" commit))
|
||||
(sha256 (base32 "1bv5j16007rmyi5c6b78bk2752v38wh0hbhdm9pkbp07f45q8zlr")))))
|
||||
(sha256 (base32 "1v09j9685cpwqk532yp00lsic0xakjsfafn82kilzl5s0v2a3g8w")))))
|
||||
|
||||
(define* (make-librewolf-source #:key version firefox-hash librewolf-hash l10n)
|
||||
(let* ((ff-src (firefox-source-origin
|
||||
@@ -220,17 +220,17 @@
|
||||
;; It's used for cache validation and therefore can lead to strange bugs.
|
||||
;; ex: date '+%Y%m%d%H%M%S'
|
||||
;; or: (format-time-string "%Y%m%d%H%M%S")
|
||||
(define %librewolf-build-id "20251130211358")
|
||||
(define %librewolf-build-id "20251219212454")
|
||||
|
||||
(define-public librewolf
|
||||
(package
|
||||
(name "librewolf")
|
||||
(version "145.0.2-2")
|
||||
(version "146.0.1-1")
|
||||
(source
|
||||
(make-librewolf-source
|
||||
#:version version
|
||||
#:firefox-hash "13c5hk7v71kzqw8zmqqyc8n0gcakmzpksh28npr52yylnp3b9ifp"
|
||||
#:librewolf-hash "160mdkdqzff7kcrn7xi5hjsjsz52zf21mq4fcplhdnm1xrwwn4p2"
|
||||
#:firefox-hash "1swih4jljq162vgdl2m2d8xn4s4hj4vjqcfww59kk4kkhh78lrz9"
|
||||
#:librewolf-hash "13gxagaibv0bmn34rz3hfkfy7rgdksl635znmrq24l8v80y792ii"
|
||||
#:l10n firefox-l10n))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
@@ -678,7 +678,7 @@
|
||||
pkg-config
|
||||
python
|
||||
rust-librewolf
|
||||
rust-cbindgen-0.28
|
||||
rust-cbindgen-0.29
|
||||
which
|
||||
yasm))
|
||||
(native-search-paths
|
||||
|
||||
+92
-67
@@ -529,7 +529,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
;; The current "stable" kernels. That is, the most recently released major
|
||||
;; versions that are still supported upstream.
|
||||
|
||||
(define-public linux-libre-6.17-version "6.17.10")
|
||||
(define-public linux-libre-6.17-version "6.17.12")
|
||||
(define-public linux-libre-6.17-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.17
|
||||
(linux-libre-deblob-scripts
|
||||
@@ -539,7 +539,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "14fypjidk49l0799dbi1pacy37ks94k0bs38cck2y4glxfpbfqr6")))
|
||||
(define-public linux-libre-6.17-pristine-source
|
||||
(let ((version linux-libre-6.17-version)
|
||||
(hash (base32 "1kf8slgkvv9x6i1111l78p93y65rscdxarh05spx1njh797k8zzs")))
|
||||
(hash (base32 "1mlqirjzyx3zvvm87gf7slj2d5gdpp13vw91dgbfk54iz6b08y22")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.17)))
|
||||
@@ -548,67 +548,67 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
;; Here are the support timelines:
|
||||
;; <https://www.kernel.org/category/releases.html>
|
||||
|
||||
(define-public linux-libre-6.12-version "6.12.60")
|
||||
(define-public linux-libre-6.12-version "6.12.62")
|
||||
(define-public linux-libre-6.12-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.12
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-6.12-version
|
||||
linux-libre-6.12-gnu-revision
|
||||
(base32 "0y6i9ifax1a8bxih3rr9xzy3mj61ssgx9yfsy6fh94mni6wl51gp")
|
||||
(base32 "168aykyvyyp34549hqhlprl0n052q8wdb2y3vyxqw40wpf2vw3ln")
|
||||
(base32 "1yl447396g454116j8v17wsqg5i0gyb2rrxvaygw6xdkbwrrj28j")))
|
||||
(define-public linux-libre-6.12-pristine-source
|
||||
(let ((version linux-libre-6.12-version)
|
||||
(hash (base32 "1y6wkk4500pisk9l2dibmidqix1gpci7dy6brs1xc4bl2jr9cc56")))
|
||||
(hash (base32 "04rcnr7bgrqqfj62l31mxx553bjdalr5f46xjbcmvawgmj2wdqhk")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.12)))
|
||||
|
||||
(define-public linux-libre-6.6-version "6.6.118")
|
||||
(define-public linux-libre-6.6-version "6.6.119")
|
||||
(define-public linux-libre-6.6-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.6
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-6.6-version
|
||||
linux-libre-6.6-gnu-revision
|
||||
(base32 "1fph0cf5vwkxcyz2cay4d70sqw1y02dx3shfclhp9y4nmkk169pq")
|
||||
(base32 "0y3lawljby2rl0mb0yjdyaasci4pl935y8xa0dnmbzff23knkxlw")
|
||||
(base32 "11i7pvm5n31rvp05msbm3ciclr84cz9c94f5r5aa6mmzhslwpbxk")))
|
||||
(define-public linux-libre-6.6-pristine-source
|
||||
(let ((version linux-libre-6.6-version)
|
||||
(hash (base32 "0zdifhri9flxa99hzrk9bz8yqi8h1v6zpsvldz9cibvlakixrpab")))
|
||||
(hash (base32 "1s75ad95g4y80idadzqmj9kj4rb3dhnvny9lg4lcq15l1fc9p81x")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.6)))
|
||||
|
||||
(define-public linux-libre-6.1-version "6.1.158")
|
||||
(define-public linux-libre-6.1-version "6.1.159")
|
||||
(define-public linux-libre-6.1-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.1
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-6.1-version
|
||||
linux-libre-6.1-gnu-revision
|
||||
(base32 "00yh14z7sr9pkakkkpdyp8fj41d56a306xsf5yb2lzm0sgl6lvza")
|
||||
(base32 "10gcbkd5jxfspa712kvb3qmsjgsapd9cz47pmpfk03bbfzf8ydlv")
|
||||
(base32 "0f3jgbfd2j7sz7h1hb30s1r9147g1cbb3ia09k9834fvbiz1ihaa")))
|
||||
(define-public linux-libre-6.1-pristine-source
|
||||
(let ((version linux-libre-6.1-version)
|
||||
(hash (base32 "1nmz4rknw82k9ylyrbm4g2m0hh4lmgkwi1g3gm7hzv04nvyqn1md")))
|
||||
(hash (base32 "17ib6ila2s8rclqpfxlkk1g72azj2r46k2x1q3n2j24qjfz7w80z")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.1)))
|
||||
|
||||
(define-public linux-libre-5.15-version "5.15.196")
|
||||
(define-public linux-libre-5.15-version "5.15.197")
|
||||
(define-public linux-libre-5.15-gnu-revision "gnu")
|
||||
(define deblob-scripts-5.15
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-5.15-version
|
||||
linux-libre-5.15-gnu-revision
|
||||
(base32 "14dajb391lr4y2llvjihilmzwvrq4gjbgvrha7dvh6vv4jmbi28v")
|
||||
(base32 "0b2gd83ihxlq490gpgq930misc6jrckw4rzl7fvwd0qzczqjvff5")
|
||||
(base32 "0rg65s6kd9gxxa3wl6180pr39rb6zbcicwjik4kygs2ns0247y56")))
|
||||
(define-public linux-libre-5.15-pristine-source
|
||||
(let ((version linux-libre-5.15-version)
|
||||
(hash (base32 "018ffzi91xh46l7r3fgc4mpri3pxzl6wc1n946vny0lbb59pj5c3")))
|
||||
(hash (base32 "12k6c09lgs4ahmxbrg8g3q1ngldajmzyz7y2nr1l8yhhwbw8s8gx")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.15)))
|
||||
|
||||
(define-public linux-libre-5.10-version "5.10.246")
|
||||
(define-public linux-libre-5.10-version "5.10.247")
|
||||
(define-public linux-libre-5.10-gnu-revision "gnu1")
|
||||
(define deblob-scripts-5.10
|
||||
(linux-libre-deblob-scripts
|
||||
@@ -618,12 +618,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "0r1whrfhhhjyvppiidhihcvyzcab6dva6g9a4div8jkxm62s2cq3")))
|
||||
(define-public linux-libre-5.10-pristine-source
|
||||
(let ((version linux-libre-5.10-version)
|
||||
(hash (base32 "0xd8r8qqgxh3zhqkl4a5plmgsycxrffhpc9q2rwhkp6jd717cszb")))
|
||||
(hash (base32 "037yv5lryfanpfbk3z60yfsx14nskgf386b6cfkbzn7wl5xvij3h")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.10)))
|
||||
|
||||
(define-public linux-libre-5.4-version "5.4.301")
|
||||
(define-public linux-libre-5.4-version "5.4.302")
|
||||
(define-public linux-libre-5.4-gnu-revision "gnu1")
|
||||
(define deblob-scripts-5.4
|
||||
(linux-libre-deblob-scripts
|
||||
@@ -633,7 +633,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "0l7pwhgw9laxfypcpqlz411x3hybcw2269abh3lpcw96bgv5m1k2")))
|
||||
(define-public linux-libre-5.4-pristine-source
|
||||
(let ((version linux-libre-5.4-version)
|
||||
(hash (base32 "0qkra8ci2mx5p8ngdys2ixsl9s30qdqlq027pr5p3rk0s1k8fwdp")))
|
||||
(hash (base32 "0ga2q6lf6xvb7pb6kn2prgywsvsavb4kwygsn37xd91ay43k4smf")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.4)))
|
||||
@@ -8073,7 +8073,7 @@ from the ntfs-3g package. It is meant to be used in initrds.")
|
||||
(define-public rdma-core
|
||||
(package
|
||||
(name "rdma-core")
|
||||
(version "59.0")
|
||||
(version "60.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/linux-rdma/rdma-core"
|
||||
@@ -8081,7 +8081,7 @@ from the ntfs-3g package. It is meant to be used in initrds.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1rbw0nxn7h9984r44pcwvnbdz2ycdn5wsmzrbwxxr31i7fqnkhg2"))))
|
||||
"1pi8jf1pibfhh3ps2kvj2y8y6yahpw7jjyp0mpxmvama9qp8j6wv"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;no tests
|
||||
@@ -10012,39 +10012,70 @@ comparing system environments.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public cassini-headers
|
||||
(let ((commit "9a8a738a879f007849fbc69be8e3487a4abf0952")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "cassini-headers")
|
||||
(version (git-version "2.0.0" ;per .spec file
|
||||
revision commit))
|
||||
(home-page "https://github.com/HewlettPackard/shs-cassini-headers")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference (url home-page) (commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0a54vwfr29n0i392wdap7rzmq0lb8mxa17d8yljdbm0kzrq48csz"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list #:install-plan
|
||||
#~'(("include" "include")
|
||||
("share/cassini-headers" "share/cassini-headers"))))
|
||||
(synopsis "Cassini network hardware definitions and headers")
|
||||
(description
|
||||
"This package provides hardware definitions and C headers for use by
|
||||
(package
|
||||
(name "cassini-headers")
|
||||
(version "12.0.1")
|
||||
(home-page "https://github.com/HewlettPackard/shs-cassini-headers")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit (string-append "release/shs-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0fvhk42pssw67zba4zq1b73d1m9ysc4g8sfibjmmhc0fwr92iamp"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list #:install-plan
|
||||
#~'(("include" "include")
|
||||
("share/cassini-headers" "share/cassini-headers"))))
|
||||
(synopsis "Cassini network hardware definitions and headers")
|
||||
(description
|
||||
"This package provides hardware definitions and C headers for use by
|
||||
the Linux driver and by user-space applications for the Cassini/Slingshot
|
||||
high-speed network interconnect made by HPE (formerly Cray). User-land
|
||||
software uses @file{cxi_prov_hw.h} from this package.")
|
||||
;; As per include/cxi_prov_hw.h it is __aarch64__ or __x86_64__ only.
|
||||
(supported-systems '("x86_64-linux" "aarch64-linux"))
|
||||
(license (list license:gpl2 license:bsd-2))))) ;dual-licensed
|
||||
;; As per include/cxi_prov_hw.h it is __aarch64__ or __x86_64__ only.
|
||||
(supported-systems '("x86_64-linux" "aarch64-linux"))
|
||||
(license (list license:gpl2 license:bsd-2)))) ;dual-licensed
|
||||
|
||||
(define-public cxi-driver
|
||||
(package
|
||||
(name "cxi-driver")
|
||||
(version "13.0.0")
|
||||
(home-page "https://github.com/HewlettPackard/shs-cxi-driver")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit (string-append "release/shs-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1md6ammah7ywk5k9gsxix945w5498hpdfwzr603aiirlz2x4m4wh"))))
|
||||
;; TODO: Actually build the Linux driver.
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list #:install-plan #~'(("include" "include"))))
|
||||
(propagated-inputs (list cassini-headers))
|
||||
(synopsis "Linux driver for the Cassini/Slingshot interconnect")
|
||||
(description
|
||||
"This is the Linux driver for the Cray/HPE Cassini 1 and 2 high-speed
|
||||
network interconnect (aka. Slingshot), and its Ethernet driver. It includes
|
||||
the @file{uapi/misc/cxi.h} C header file for use by user-land software.
|
||||
|
||||
Currently the Linux driver itself is missing from this package.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public cxi-driver-for-libfabric-1
|
||||
;; This old version defines constants such as 'CXI_MAP_IOVA_ALLOC' that
|
||||
;; libfabric 1.22.0 relies on.
|
||||
(let ((commit "5f0ec0ead6ef3f98542a2ef5e76b89d14dd22150")
|
||||
(revision "0"))
|
||||
(package
|
||||
(inherit cxi-driver)
|
||||
(name "cxi-driver")
|
||||
(version (git-version "1.0.0" ;per .spec file
|
||||
revision commit))
|
||||
@@ -10056,25 +10087,12 @@ software uses @file{cxi_prov_hw.h} from this package.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"19cly014ihgdidrc1aki2xsbfhpc0g73v0vxcky8r27xza7rz5bg"))))
|
||||
;; TODO: Actually build the Linux driver.
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list #:install-plan #~'(("include" "include"))))
|
||||
(propagated-inputs (list cassini-headers))
|
||||
(synopsis "Linux driver for the Cassini/Slingshot interconnect")
|
||||
(description
|
||||
"This is the Linux driver for the Cray/HPE Cassini 1 and 2 high-speed
|
||||
network interconnect (aka. Slingshot), and its Ethernet driver. It includes
|
||||
the @file{uapi/misc/cxi.h} C header file for use by user-land software.
|
||||
|
||||
Currently the Linux driver itself is missing from this package.")
|
||||
(license license:gpl2+))))
|
||||
"19cly014ihgdidrc1aki2xsbfhpc0g73v0vxcky8r27xza7rz5bg")))))))
|
||||
|
||||
(define-public libcxi
|
||||
(package
|
||||
(name "libcxi")
|
||||
(version "12.0.1")
|
||||
(version "13.0.0")
|
||||
(home-page "https://github.com/HewlettPackard/shs-libcxi")
|
||||
(source
|
||||
(origin
|
||||
@@ -10083,7 +10101,7 @@ Currently the Linux driver itself is missing from this package.")
|
||||
(commit (string-append "release/shs-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1pk2mdkkgiic7nnmhx3iwvgrnxva3qqk2wyni0yhxjciln0hq7s7"))))
|
||||
(base32 "1m8mds1h8plhfn2ja9br31xaiy82ky69685cp1rznanl18inaiff"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
@@ -10127,7 +10145,7 @@ known as Slingshot.")
|
||||
(define-public libfabric
|
||||
(package
|
||||
(name "libfabric")
|
||||
(version "2.3.0")
|
||||
(version "2.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -10135,7 +10153,7 @@ known as Slingshot.")
|
||||
(string-append "https://github.com/ofiwg/libfabric/releases/download/v"
|
||||
version "/libfabric-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "02gb12ijj19aad4c3dwckrrnjlsmy9fizkgw8a5zdzpqd3lgq60x"))))
|
||||
(base32 "0npkfkkhyir31r2p1zsfi7yrvcam60fp8ps4s2csjc2drqbrz4rf"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(let ((if-supported ;XXX: modified from openmpi
|
||||
@@ -10196,7 +10214,10 @@ libraries, which are often integrated directly into libfabric.")
|
||||
(string-append "https://github.com/ofiwg/libfabric/releases/download/v"
|
||||
version "/libfabric-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "1znmw83rmippv0fwz0x7lgylfk17dr9ckll8lrm4z7kclspnqpj8"))))))
|
||||
(base32 "1znmw83rmippv0fwz0x7lgylfk17dr9ckll8lrm4z7kclspnqpj8"))))
|
||||
(inputs
|
||||
(modify-inputs (package-inputs libfabric)
|
||||
(append cxi-driver-for-libfabric-1)))))
|
||||
|
||||
(define-public psm
|
||||
(package
|
||||
@@ -12178,7 +12199,7 @@ directly by @code{make localmodconfig} as described above.")
|
||||
(define-public kernel-hardening-checker
|
||||
(package
|
||||
(name "kernel-hardening-checker")
|
||||
(version "0.6.10")
|
||||
(version "0.6.17.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -12187,8 +12208,12 @@ directly by @code{make localmodconfig} as described above.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"01p5wcyj4w5c4264abymhvpai7bvfy8ivspgqnrmg33qplwxl443"))))
|
||||
(build-system python-build-system)
|
||||
"04r9bbayhs1ik84908q148k9djawy69zarxw0vc31dfbf64mni62"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f)) ;no active tests, runtime only, see GitHub Actions
|
||||
(native-inputs
|
||||
(list python-setuptools))
|
||||
(home-page "https://github.com/a13xp0p0v/kernel-hardening-checker")
|
||||
(synopsis
|
||||
"Tool for checking the security hardening options of the Linux kernel")
|
||||
|
||||
+31
-33
@@ -34550,40 +34550,38 @@ arrangements.")
|
||||
(sbcl-package->clasp-package sbcl-xhtmlambda))
|
||||
|
||||
(define-public sbcl-xkbcommon
|
||||
(let ((commit "aa9513d93f42d7816f88dd1bd8bd21375e7d7512")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "sbcl-xkbcommon")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/sdilts/cl-xkbcommon")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-xkbcommon" version))
|
||||
(sha256
|
||||
(base32 "02zdbkh7yliw9vg8i8wx2xgcpfni0fr4z0w19kkxvaib8xm9rx1q"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "xkbcommon.lisp"
|
||||
(("libxkbcommon.so.0")
|
||||
(search-input-file inputs "/lib/libxkbcommon.so"))))))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list libxkbcommon
|
||||
sbcl-cffi))
|
||||
(home-page "https://github.com/sdilts/cl-xkbcommon")
|
||||
(synopsis "Common Lisp FFI bindings for xkbcommon")
|
||||
(description
|
||||
"This package provides Common Lisp FFI bindings for xkbcommon
|
||||
(package
|
||||
(name "sbcl-xkbcommon")
|
||||
(version "0.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/sdilts/cl-xkbcommon")
|
||||
(commit version)))
|
||||
(file-name (git-file-name "cl-xkbcommon" version))
|
||||
(sha256
|
||||
(base32 "0qkaamc8sikpn2q6z21s8249sygszj6bhd0slr8f77k9c2ph1mbb"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "xkbcommon.lisp"
|
||||
(("libxkbcommon.so.0")
|
||||
(search-input-file inputs "/lib/libxkbcommon.so"))))))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list libxkbcommon
|
||||
sbcl-cffi))
|
||||
(home-page "https://github.com/sdilts/cl-xkbcommon")
|
||||
(synopsis "Common Lisp FFI bindings for xkbcommon")
|
||||
(description
|
||||
"This package provides Common Lisp FFI bindings for xkbcommon
|
||||
(libxkbcommon) using cffi-grovel.")
|
||||
(license license:expat))))
|
||||
(license license:expat)))
|
||||
|
||||
(define-public cl-xkbcommon
|
||||
(sbcl-package->cl-source-package sbcl-xkbcommon))
|
||||
|
||||
+18
-1
@@ -523,6 +523,12 @@ Definition Facility.")
|
||||
;; MIT License
|
||||
(license license:expat)))
|
||||
|
||||
(define (make-clisp-tests-locales)
|
||||
(make-glibc-utf8-locales
|
||||
glibc
|
||||
#:locales (list "de_DE" "en_US" "fr_FR" "ru_RU")
|
||||
#:name "clisp-tests-locales"))
|
||||
|
||||
(define-public clisp
|
||||
(package
|
||||
(name "clisp")
|
||||
@@ -539,6 +545,7 @@ Definition Facility.")
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list
|
||||
(make-clisp-tests-locales)
|
||||
cl-asdf
|
||||
coreutils)) ;to use "cat" in a test
|
||||
(inputs
|
||||
@@ -593,7 +600,17 @@ Definition Facility.")
|
||||
"/share/common-lisp/source/asdf/asdf.lisp"))
|
||||
(contrib-asdf "modules/asdf/asdf.lisp"))
|
||||
(delete-file contrib-asdf)
|
||||
(copy-file guix-asdf contrib-asdf)))))))
|
||||
(copy-file guix-asdf contrib-asdf))))
|
||||
(add-after 'configure 'patch-parallel-tests
|
||||
(lambda _
|
||||
;; Parallel runs of test are causing a lot of non-determinism
|
||||
;; in clisp. This doesn't fix the non-determinism completely,
|
||||
;; but it makes the package build more times than before.
|
||||
;; NOTE: this doesn't seem to take much more time than
|
||||
;; the parallel tests.
|
||||
(substitute* "src/Makefile"
|
||||
((" check-tests-parallel ") " check-tests-all "))
|
||||
#t)))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "XDG_DATA_DIRS")
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
|
||||
;;; Copyright © 2018–2022 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2021-2025 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018, 2021-2026 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
|
||||
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
|
||||
@@ -1126,6 +1126,10 @@ Library.")
|
||||
(srfi srfi-26)
|
||||
,@modules)
|
||||
modules))
|
||||
;; TODO: Figure out why some tests fail on powerpc64le-linux.
|
||||
((#:tests? current-test-config #t)
|
||||
(and current-test-config
|
||||
(not (target-ppc64le?))))
|
||||
((#:configure-flags cf #~'())
|
||||
(if (%current-target-system)
|
||||
;; Use a newer version of llvm-tblgen and add the new
|
||||
@@ -2189,7 +2193,7 @@ cling '#include <stdio.h>' 'printf(\"Hello World!\\n\");'
|
||||
"-DLLVM_TARGETS_TO_BUILD=X86;ARM;AArch64;PowerPC;SystemZ;Mips"
|
||||
;; Python llvm.py adds this (not build-script-impl).
|
||||
;; This would also enable dump() by undefining NDEBUG.
|
||||
; FIXME: "-DLLVM_ENABLE_ASSERTIONS=TRUE"
|
||||
"-DLLVM_ENABLE_ASSERTIONS=TRUE"
|
||||
"-DLLVM_LIT_ARGS=-sv -j 16"
|
||||
(string-append "-DGCC_INSTALL_PREFIX="
|
||||
(assoc-ref %build-inputs "gcc-lib"))
|
||||
|
||||
@@ -434,7 +434,7 @@ with different rules and mechanics.")
|
||||
(define-public luanti-mineclonia
|
||||
(package
|
||||
(name "luanti-mineclonia")
|
||||
(version "0.117.1")
|
||||
(version "0.118.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -443,18 +443,18 @@ with different rules and mechanics.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0iq153dyijbfbvp30fcvbbgvca9c3c6szpw04svwc08ar4h5yvl7"))))
|
||||
"1k9271bcf9llw5zya40dqzx8dx1086ydy2fhjnjv3pf788f6501m"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
`(#:install-plan
|
||||
'(("." "share/luanti/games/mineclonia"))))
|
||||
(home-page "https://content.luanti.org/packages/ryvnf/mineclonia/")
|
||||
(synopsis "An unofficial Minecraft-like game for Luanti")
|
||||
(synopsis "Unofficial Minecraft-like game for Luanti")
|
||||
(description
|
||||
"Mineclonia is a stable and performant clone of Minecraft,
|
||||
released as free software. It aims to clone Minecraft as well as
|
||||
Luanti currently permits without resorting to hacks which are too
|
||||
heavyweight or complicated to maintain.")
|
||||
released as free software. It aims to clone Minecraft as well as Luanti
|
||||
currently permits without resorting to hacks which are too heavyweight or
|
||||
complicated to maintain.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public luanti-voxelibre
|
||||
|
||||
@@ -210,14 +210,18 @@ representations and sentence classification.")
|
||||
(version "0.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "autograd-gamma" version))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/CamDavidsonPilon/autograd-gamma")
|
||||
;; The 5.0.0 version is not tagged, but can only be this commit.
|
||||
(commit "5876e0320865c592ed4a370c6a6ef282cf163480")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1i699a9m5ndnj8cwzjjf2agb77aawhzrzxfbmn5zrkxridxvnypj"))))
|
||||
(base32 "0hpjnpw7bsy1xja4pnxx5fvv7xly72lp3hdazhr9zbmn6s7vcs19"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-setuptools
|
||||
python-wheel))
|
||||
(list python-pytest
|
||||
python-setuptools))
|
||||
(propagated-inputs
|
||||
(list python-autograd
|
||||
python-scipy))
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user