1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-07-08 14:44:07 +02:00

Compare commits

...

64 Commits

Author SHA1 Message Date
Patrick Norton 70695fa8aa gnu: Use built-in delete-all-but.
* gnu/packages/astronomy.scm (phd2): Use built-in delete-all-but.
* gnu/packages/bioinformatics.scm (pynsptools-examples-files): Likewise.
* gnu/packages/debug.scm (fandango): Likewise.
* gnu/packages/electronics.scm (librepcb, nextpnr): Likewise.
* gnu/packages/emacs-xyz.scm (emacs-smartparens): Likewise.
* gnu/packages/emulators.scm (dolphin-emu, libretro-dolphin-emu)
  (libretro-slang-shaders, mgba, pcsx2, retroarch-minimal): Likewise.
* gnu/packages/game-development.scm (sfml): Likewise.
* gnu/packages/golang-apps.scm (godoc): Likewise.
* gnu/packages/golang-build.scm (go-golang-org-x-tools-go-expect)
  (go-golang-org-x-tools-go-packages-packagestest)
  (go-golang-org-x-tools-godoc): Likewise.
* gnu/packages/golang-web.scm (go-github-com-containerd-containerd-api)
  (go-cloud-google-com-go-auth, go-cloud-google-com-go-auth-oauth2adapt)
  (go-cloud-google-com-go-iam, go-cloud-google-com-go-kms)
  (go-cloud-google-com-go-logging, go-cloud-google-com-go-longrunning)
  (go-cloud-google-com-go-monitoring, go-cloud-google-com-go-security)
  (go-cloud-google-com-go-spanner, go-cloud-google-com-go-storage)
  (go-cloud-google-com-go-trace)
  (go-github-com-aws-aws-sdk-go-v2-config)
  (go-github-com-aws-aws-sdk-go-v2-credentials)
  (go-github-com-aws-aws-sdk-go-v2-feature-ec2-imds)
  (go-github-com-aws-aws-sdk-go-v2-internal-configsources)
  (go-github-com-aws-aws-sdk-go-v2-internal-endpoints-v2)
  (go-github-com-aws-aws-sdk-go-v2-service-cloudwatchlogs)
  (go-github-com-aws-aws-sdk-go-v2-service-kms)
  (go-github-com-aws-aws-sdk-go-v2-service-sqs)
  (go-github-com-aws-aws-sdk-go-v2-service-ssm)
  (go-github-com-aws-smithy-go-metrics-smithyotelmetrics)
  (go-github-com-azure-azure-sdk-for-go-sdk-azcore)
  (go-github-com-azure-azure-sdk-for-go-sdk-azidentity)
  (go-github-com-azure-azure-sdk-for-go-sdk-internal)
  (go-github-com-azure-azure-sdk-for-go-sdk-security-keyvault-azkeys)
  (go-github-com-azure-azure-sdk-for-go-sdk-security-keyvault-internal)
  (go-github-com-azure-azure-sdk-for-go-sdk-storage-azblob)
  (go-github-com-azure-azure-sdk-for-go-sdk-storage-azfile)
  (go-github-com-envoyproxy-go-control-plane-envoy)
  (go-github-com-googlecloudplatform-opentelemetry-operations-go-exporter-metric)
  (go-github-com-googlecloudplatform-opentelemetry-operations-go-exporter-trace)
  (go-github-com-googlecloudplatform-opentelemetry-operations-go-internal-cloudmock)
  (go-github-com-googlecloudplatform-opentelemetry-operations-go-internal-resourcemapping)
  (go-github-com-grpc-ecosystem-go-grpc-middleware-providers-prometh)
  (go-github-com-hashicorp-go-secure-stdlib-parseutil)
  (go-github-com-jtolio-crawlspace-tools)
  (go-github-com-moby-moby-client)
  (go-github-com-sigstore-sigstore-pkg-signature-kms-aws)
  (go-github-com-sigstore-sigstore-pkg-signature-kms-azure)
  (go-github-com-sigstore-sigstore-pkg-signature-kms-gcp)
  (go-github-com-sigstore-sigstore-pkg-signature-kms-hashivault)
  (go-go-etcd-io-etcd-api-v3, go-go-etcd-io-etcd-client-pkg-v3)
  (go-go-opentelemetry-io-auto-sdk)
  (go-go-opentelemetry-io-contrib-detectors-aws-ec2-v2)
  (go-go-opentelemetry-io-contrib-detectors-aws-ecs)
  (go-go-opentelemetry-io-contrib-detectors-gcp)
  (go-go-opentelemetry-io-contrib-propagators-autoprop)
  (go-go-opentelemetry-io-otel-exporters-otlp-otlpmetric-otlpmetricgrpc)
  (go-go-opentelemetry-io-otel-exporters-otlp-otlpmetric-otlpmetrichttp)
  (go-go-opentelemetry-io-otel-exporters-otlp-otlptrace)
  (go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracegrpc)
  (go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracehttp)
  (go-go-opentelemetry-io-otel-exporters-prometheus)
  (go-go-opentelemetry-io-otel-exporters-stdout-stdoutmetric)
  (go-go-opentelemetry-io-otel-exporters-stdout-stdouttrace)
  (go-go-opentelemetry-io-otel-exporters-zipkin)
  (go-go-opentelemetry-io-otel-log)
  (go-go-opentelemetry-io-otel-metric-x)
  (go-go-opentelemetry-io-otel-sdk, go-go-opentelemetry-io-otel-sdk-log)
  (go-go-opentelemetry-io-otel-sdk-metric)
  (go-google-golang-org-genproto-googleapis-api)
  (go-google-golang-org-genproto-googleapis-bytestream)
  (go-google-golang-org-grpc-cmd-protoc-gen-go-grpc)
  (go-google-golang-org-grpc-examples)
  (go-k8s-io-kube-openapi-test-integration): Likewise.
* gnu/packages/golang-xyz.scm (go-github-com-ajstarks-deck-generate)
  (go-github-com-charmbracelet-x-ansi)
  (go-github-com-charmbracelet-x-cellbuf)
  (go-github-com-charmbracelet-x-errors)
  (go-github-com-charmbracelet-x-term)
  (go-github-com-charmbracelet-x-xpty)
  (go-github-com-containerd-errdefs-pkg)
  (go-github-com-moby-sys-atomicwriter)
  (go-github-com-moby-sys-mount, go-go-uber-org-zap-exp)
  (go-modernc-org-ccgo-v4, go-sigs-k8s-io-kustomize-cmd-config):
  Likewise.
* gnu/packages/image-processing.scm (opencv): Likewise.
* gnu/packages/ipfs.scm (go-github-com-ipfs-shipyard-nopfs-ipfs):
  Likewise.
* gnu/packages/kubernetes.scm (go-go-etcd-io-etcd-client-v3)
  go-go-etcd-io-etcd-pkg-v3, go-go-etcd-io-etcd-server-v3): Likewise.
* gnu/packages/mail.scm (neomutt): Likewise.
* gnu/packages/mpi.scm (openmpi-5): Likewise.
* gnu/packages/protobuf.scm (protobuf-6): Likewise.
* gnu/packages/python-science.scm (python-vaex-core): Likewise.
* gnu/packages/specifications.scm (specification-astropy-data): Likewise.
* gnu/packages/version-control.scm (libfossil): Likewise.
* gnu/packages/vnc.scm (turbovnc): Likewise.

Change-Id: I6575463a072a6ee05751e23ebcee9a393529c8b1
Merges: https://codeberg.org/guix/guix/pulls/5312
Reviewed-by: Maxim Cournoyer <maxim@guixotic.coop>
Reviewed-by: Cayetano Santos <csantosb@inventati.org>
Reviewed-by: Gabriel Wicki <gabriel@erlikon.ch>
Co-authored-by: Nguyễn Gia Phong <cnx@loang.net>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:18 +02:00
Patrick Norton d5b0ad8b46 guix: build: utils: Add delete-all-but.
* guix/build/utils.scm (delete-all-but): New variable.

Change-Id: I15e1d632a97236b8d18cec3be993c81e138dff04
Reviewed-by: Maxim Cournoyer <maxim@guixotic.coop>
Reviewed-by: Cayetano Santos <csantosb@inventati.org>
Reviewed-by: Gabriel Wicki <gabriel@erlikon.ch>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:18 +02:00
Noé Lopez 0c06fc7e9b home: xdg-user-directories: Support Projects directory.
* gnu/home/services/xdg.scm (home-xdg-user-directories-configuration):
Add projects field. Fix documentation of desktop field.
* doc/guix.texi (Miscellaneous Home Services): Add documentation for
home-xdg-user-directories.

Change-Id: I8935d7c368cc9bd1d47ffbce3d3ab3cb60ac468a
Signed-off-by: Noé Lopez <noelopez@free.fr>
2026-05-29 11:34:18 +02:00
Noé Lopez de305b77a5 gnu: xdg-user-dirs: Update to 0.20.
* gnu/packages/freedesktop.scm (xdg-user-dirs): Update to 0.20.
[source]: Switch to git origin.
[native-inputs]: Remove unneeded inputs.

Change-Id: I91b733ea75f4532fc4a2cfa3017751d0afe92941
Signed-off-by: Noé Lopez <noelopez@free.fr>
2026-05-29 11:34:18 +02:00
Brice Waegeneire ed22809c65 gnu: home: dotfiles: Exclude directories.
home-dotfiles-configuration-excluded now behaves the same as stow,
by excluding both files and directories matching a pattern.

* gnu/home/services/dotfiles
  (home-dotfiles-configuration->files)[excluded-file?]: New procedure.
  [directory-contents]<find-files>: Add #:enter? parameter
  and use that new procedure.
* doc/guix.texi (home-dotfiles-configuration): Be explicit
  that both files and directories are excluded.

Change-Id: Idc7e54f8d648fddbccdd6065c281ce0608d8c53f
Reviewed-by: Hilton Chain <hako@ultrarare.space>
Reviewed-by: Florian Pelz <pelzflorian@pelzflorian.de>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:18 +02:00
Brice Waegeneire d2b478a88b build: utils: Add #:enter? parameter to 'find-files'.
* guix/utils.scm (find-files): Add #:enter? parameter.

Change-Id: I610284f7860318e4613ddf77285cc0f9b9a3f439
Reviewed-by: Hilton Chain <hako@ultrarare.space>
Reviewed-by: Florian Pelz <pelzflorian@pelzflorian.de>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:17 +02:00
Julien Lepiller 3e2f2ca7ed gnu: iproute2: Add optional support libraries.
* gnu/packages/linux.scm (iproute2)[inputs]:
  Add libbpf, libcap, libelf, libselinux, and libtirpc.

Change-Id: I6fa5e7c1b2f3d4db9b0573b5116f94ae0f3a2e39
Merges: https://codeberg.org/guix/guix/pulls/8701
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:17 +02:00
Julien Lepiller c5dd6f8e48 gnu: iproute2: Update to 7.0.0.
* gnu/packages/linux.scm (iproute2): Update to 7.0.0.
  [arguments]<#:make-flags>: Specify PREFIX.

Change-Id: Ia5f28051e42894c262e18a25e5ae5049cc514899
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:17 +02:00
André Batista c2b72f5c39 gnu: nss: Update to 3.112.5.
3.112.5 is the current ESR of NSS.

* gnu/packages/patches/nss-disable-broken-tests.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Unregister it.
* gnu/packages/nss.scm (nss): Update to 3.112.5.
  [source]<origin>{patches}: Remove the deleted patch.
  Add nss-3.115-disable-broken-tests.patch
  and nss-3.115-disable-pkix-ocsp-tests.patch.
  [arguments]<#:phases>{set-release-date}: Update GUIX_NSS_RELEASE_DATE
  environment variable to 2026-05-05.

Change-Id: I376a275710d9335d4f6e37164f164ad420def5c1
Closes: https://codeberg.org/guix/guix/pulls/3509
Fixes: https://codeberg.org/guix/guix/pulls/4408
Merges: https://codeberg.org/guix/guix/pulls/8654
Reviewed-by: Ian Eure <ian@retrospec.tv>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:17 +02:00
Patrick Norton 5e22352adf gnu: libaom: Update to 3.13.3.
* gnu/packages/video.scm (libaom): Update to 3.13.3.

Change-Id: Iaf631d41bba89d352080d3702a6324f2e2bf00f9
Merges: https://codeberg.org/guix/guix/pulls/8325
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:17 +02:00
Nguyễn Gia Phong 69497a885f gnu: libaom: Ungraft.
* gnu/packages/video.scm (libaom)[replacement]: Remove.
  (libaom/fixed): Delete variable.

Change-Id: I39b418f7bca3454621b494d80bc588f106611d5d
References: b8f3db361d ("gnu: libaom: Graft to 3.9.1.")
2026-05-29 11:34:17 +02:00
Andreas Enge 9792715cdc gnu: boost-1.83: Unhide package.
The hidden-package stance was a left-over from the time this version
was called boost-for-source-highlight.

* gnu/packages/boost.scm: Do not use hidden-package.

Change-Id: I903cf2ffdb163655bf4fbfc921d4c786600140f0
Merges: https://codeberg.org/guix/guix/pulls/8382
2026-05-29 11:34:17 +02:00
Johannes Christ edbd3c477a gnu: boost-1.83: Update patch hash.
* gnu/packages/boost.scm (boost-1.83)[source]<patches>:
  Use new hash as reported via `guix download`.

Change-Id: I493863170fba6302b9b1caf649dc8db750203765
Fixes: https://codeberg.org/guix/guix/issues/7615
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-05-29 11:34:17 +02:00
Yelninei 7f3535723e gnu: curl: Update to 8.20.
* gnu/packages/patches/curl-use-ssl-cert-env.patch: Refresh patch.
* gnu/packages/patches/curl-CVE-2024-8096.patch: Delete patch.
* gnu/local.mk (dist_patch_DATA): Deregister it.
* gnu/packages/curl.scm (curl): Update to 8.20.
  [origin]: Remove curl-CVE-2024-8096.patch.
  [native-inputs]: Add openssl.
  [#:phases]: Add 'sanitize-libcurl.pc phase.

Change-Id: I8e609ed8e0e337b42457ebc7bc646eeb454cc432
Merges: https://codeberg.org/guix/guix/pulls/7919
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:17 +02:00
Tomas Volf 801c12038d gnu: curl: Rework tests.
* gnu/packages/curl.scm (curl)[arguments]<#:phases>
  {'check}: Do not replace.
  {'patch-runtests}: New phase.
  {'skip-tests}: Add phase for arm targets.
  {'skip-tests/hurd}: Add phase for hurd targets.

Change-Id: I78e2bf40cbb29f45568b62c5e63bc7ceea5e13ef
Co-authored-by: Yelninei <yelninei@tutamail.com>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:17 +02:00
moksh 96983a6255 gnu: fltk: Update to 1.4.5.
* gnu/packages/fltk.scm (fltk): Update to 1.4.5.

Change-Id: I16722535bed22c7573ffd6dd93b2dfda6bb35cf6
Merges: https://codeberg.org/guix/guix/pulls/8175
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:17 +02:00
Nicolas Graves acae683930 gnu: yasm: Drop input labels.
* gnu/packages/assembly.scm (yasm)[inputs]: Drop input labels.

Change-Id: I7b14b2962c72b64ac409d3914fd76af3278adbd7
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:17 +02:00
Nicolas Graves bd2464fc7c gnu: octave-cli: Improve style.
* gnu/packages/maths.scm (octave-cli)[arguments]: Run guix style.
  <#:phases>{configure-makeinfo}: Rewrite to use search-input-file.

Change-Id: Iadfdab2ebf1f95b543dbe0de5311855b75e50176
2026-05-29 11:34:16 +02:00
Nicolas Graves 20e84de011 gnu: metis: Improve style.
* gnu/packages/maths.scm (metis)[arguments]: Run guix style.
  [inputs]: Drop input labels.

Change-Id: Id15b1baa8c7f00199b45f8c0d297e6b2d01c9e4c
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:16 +02:00
Nicolas Graves 205719e2c1 gnu: libcanberra: Improve style.
* gnu/packages/libcanberra.scm (libcanberra)[inputs]:
  Relocate fields.  Drop input labels.
  [native-inputs]: Relocate fields.
  [arguments]<#:phases>{patch-default-sounds-directory}:
  Use search-input-directories.

Change-Id: Ifcaaad0fcf648a6461a787203a0f47f65b5dc973
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:16 +02:00
Nicolas Graves b50d22c9bb gnu: fltk-1.3: Improve style.
* gnu/packages/fltk.scm (fltk-1.3)[arguments]: Run guix style.
  <#:phases>: Rewrite phase 'patch-config to use search-input-file.
  [native-inputs]: Relocate field.
  [inputs]: Drop input labels, relocate field.
  [description]: Use `fill-region` after `guix style`.

Change-Id: I2ab8f64bd83575f48f123f092ae918904da61715
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:16 +02:00
Nicolas Graves ae6e85ddbf gnu: fltk: Use license: prefix.
* gnu/packages/fltk.scm: Use license: prefix.

Change-Id: I43193d98a620ae1a0b32fe7f198441ddc5def67b
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:16 +02:00
Nicolas Graves de9c34ab91 gnu: xterm: Improve style.
* gnu/packages/xorg.scm (xterm)[arguments]: Run guix style.
  <#:phases>: Rewrite phase 'patch-file-names.
  [inputs]: Drop input labels.

Change-Id: I86d1d94c42c16302fd3f5783218988ff8a2b82e3
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:16 +02:00
Nicolas Graves 6c04334a56 gnu: schroedinger: Improve style.
* gnu/packages/video.scm (schroedinger): Improve style.
  [arguments]: Rewrite them in a modern style.
  [inputs]: Drop input labels.

Change-Id: If8f0a23cf04c36bb27aa3353d0610ea58da5c95f
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:16 +02:00
Nicolas Graves a46024948f gnu: flite: Improve style.
* gnu/packages/speech.scm (flite)[arguments]: Run guix style.
  <#:phases>: Rewrite phase 'remove-static-libs, drop trailing #t.
  [inputs]: Drop input labels.

Change-Id: I31483a85a08a060f1319ca81719e1786f6b08174
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:16 +02:00
Nicolas Graves 1891fdf08f gnu: sane: Improve style.
* gnu/packages/scanner.scm (sane)[arguments]<#:phases>:
  Run guix style, rewrite a few phases using #$output.
  [native-inputs]: Drop input labels, relocate field.
  [inputs]: Relovate field.
  [description]: `fill-region` after `guix style`.

Change-Id: Ifdf09dc442b98cadea855198499938029f93cdfd
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:16 +02:00
Nicolas Graves e5e0f27672 gnu: tk: Improve style.
* gnu/packages/tcl.scm (tk)[arguments]: Re-order keywords.
  <#:phases>: Rewrite phases to use #$output and search-input-file.
  [inputs]: Drop input labels.

Change-Id: Ia00d370d1281d566380af79addb7ae3c0e15f768
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:16 +02:00
Nicolas Graves 222fc31168 gnu: netpbm: Improve style.
* gnu/packages/netpbm.scm (netpbm)[arguments]<#:phases>: Drop trailing #t.
  [inputs, native-inputs]: Drop input labels, relocate fields.

Change-Id: Iacde4bd2dad95d60db971116947cf8713bccf794
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:16 +02:00
Nicolas Graves 14675089a3 gnu: spandsp: Improve style.
* gnu/packages/telephony.scm (spandsp): Improve style.
  [arguments]: Run guix style. <#:phases>: Drop trailing #t.
  Rewrite phase 'install-doc and 'move-static-libraries with #$output syntax.
  [native-inputs]: Drop input labels.

Change-Id: I81052a196eca02c350d80f29ee30b9ec5fac5ab7
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:16 +02:00
Nicolas Graves e8600e41aa gnu: net-tools: Improve style.
* gnu/packages/linux.scm (net-tools): Run guix style.
  [origin]: Run guix style.  [arguments]: Reorder them.
  <#:phases>: Rewrite 'configure phase. [native-inputs]: Drop input labels.

Change-Id: I7a1425c3a8ea955bd9322eee788ab05377d71c15
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:15 +02:00
Nicolas Graves f86e51c0b9 gnu: suitesparse: Improve style.
* gnu/packages/maths.scm (suitesparse): Improve style.
  [arguments]<#:phases>: Run guix style.
  <#:configure-flags>: Use #$output.
  [native-inputs]: Drop input labels.

Change-Id: Icc90f4e58295050d3ed9ed055482bbad66b49447
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:15 +02:00
Nicolas Graves fe50fafd34 gnu: perl-file-which: Drop input labels.
* gnu/packages/perl.scm (perl-file-which)[native-inputs]:
  Drop input labels.

Change-Id: I35f2cb5a349b87ec5b9e60de0ae82a07f4f09a8d
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:15 +02:00
Nicolas Graves 806b118909 gnu: googletest: Drop input labels.
* gnu/packages/check.scm (googletest)[native-inputs]:
  Drop input labels.

Change-Id: I588976a404ebeb2613ccc13d52b9a4d5b1de5903
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:15 +02:00
Nicolas Graves 63b82f36fd gnu: libass: Drop input labels.
* gnu/packages/video.scm (libass)[propagated-inputs]:
  Drop input labels.

Change-Id: Id10ec581c1b91512fe809c47561a8e9155ca5812
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:15 +02:00
Nicolas Graves 75e78ac17d gnu: avahi: Drop input labels.
* gnu/packages/avahi.scm (avahi)[inputs, native-inputs]:
  Drop input labels.

Change-Id: I73110124f2d60ede7b2279ab878c68ca05dbb9c1
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:15 +02:00
Nicolas Graves 8fd69bf6c1 gnu: libxpm: Drop input labels.
* gnu/packages/xorg.scm (libxpm)[inputs]: Drop input labels.

Change-Id: I1c0d9f35b699fe355c5e6234928153c2e8a75696
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:15 +02:00
Nicolas Graves 7a83d42165 gnu: libnsl: Drop input labels.
* gnu/packages/onc-rpc.scm (libnsl)[inputs]: Drop input labels.

Change-Id: Ia7eb8b801d1e1c276a73d24837a3251657a9ac68
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:15 +02:00
Dariqq 74f8fc1976 gnu: linux-pam: Update to 1.7.2.
nis/yp is disabled since support got removed in glibc.
includedir and libdir are set to the correct value automatically.

* gnu/packages/linux.scm (linux-pam): Update to 1.7.2.
  [source]: Switch to git-fetch.  [build-system]: Switch to meson.
  [arguments]<#:phases>: Remove 'skip-pam-limits phases.
  <#:configure-flags>: Remove includedir, libdir and disable-nis.
  Enable pam_lastlog, set docbook-rng, htmldir and vendordir.
  [native-inputs]: Add gettext-minimal, bison, libxslt, libxml2,
  docbook-xml, docbook-xsl.  [outputs]: Add doc.
* gnu/packages/patches/linux-pam-unix_chkpwd.patch: Adjust for meson.

Change-Id: Ib75277a77f9042a0a9c07fa7e28f7f68ecfa9c04
Merges: https://codeberg.org/guix/guix/pulls/1652
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:15 +02:00
Andy Tai c7446ff44e gnu: aspell: Update to 0.60.8.2.
* gnu/packages/aspell.scm (aspell): Update to 0.60.8.2.
  [source]<patches>: Remove aspell-CVE-2019-25051.patch.
* gnu/packages/patches/aspell-CVE-2019-25051.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): De-register it.

Change-Id: I19b7bfc98cbfee9eafde382d812e033a0f3c8e7e
Merges: https://codeberg.org/guix/guix/pulls/6092
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:15 +02:00
Andy Tai fad9e96f33 gnu: groff: Update to 1.24.0.
* gnu/packages/groff.scm (groff): Update to 1.24.0

Change-Id: If42e96a1b51d6da042158824289f39b80e5c7807
Merges: https://codeberg.org/guix/guix/pulls/6784
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:15 +02:00
Gabriel Santos d6aaf3894f gnu: vidstab: Indent.
* gnu/packages/video.scm (vidstab): Indent.

Change-Id: I5130200ba34007732139c20280b4bf607223a6a8
Merges: https://codeberg.org/guix/guix/pulls/5245
Reviewed-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:15 +02:00
Gabriel Santos 13aca50002 gnu: vidstab: Update to 1.1.0.
* gnu/packages/video.scm (vidstab): Update to 1.1.0.

Change-Id: I8d67f71be92d6026eeda4cb7de8b95950f73b3dd
Reviewed-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:14 +02:00
Ashish SHUKLA e12d66831a gnu: jansson: Update to 2.15.0.
* gnu/packages/web.scm (jansson): Update to 2.15.0.

Change-Id: I9721fe4f16b1a622ddb49c3a53b3a94b1cb49500
Merges: https://codeberg.org/guix/guix/pulls/1935
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:14 +02:00
Ashish SHUKLA 18112293af gnu: nghttp2: Update to 1.68.1.
* gnu/packages/web.scm (nghttp2): Update to 1.68.1.

Change-Id: I12b74c0cfbdbdabf8c58479d60b3bdd3b965305e
Merges: https://codeberg.org/guix/guix/pulls/1934
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:14 +02:00
Anderson Torres 2e349c03a6 gnu: utf8proc: Update to 2.11.3.
* gnu/packages/textutils.scm (utf8proc, utf8proc-bootstrap):
  Update to 2.11.3.
  [native-inputs]<NormalizationTest.txt, GraphemeBreakTest.txt>
  <DerivedCoreProperties.txt>: Update to Unicode 17.0.0.

Change-Id: I7fb8df6d759dcfd48b1efc85768f75cedf170a3a
Merges: https://codeberg.org/guix/guix/pulls/5270
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:14 +02:00
Ashish SHUKLA 21866437cb gnu: elogind: Update to 255.22
* gnu/packages/freedesktop.scm (elogind): Update to 255.22.
[source]<commit>: Update tag prefix.

Change-Id: I2b2e2f8fb8adbd3d9a3ae419e1087d3abdc2baad
Merges: https://codeberg.org/guix/guix/pulls/4680
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:14 +02:00
Ashish SHUKLA b263230fc3 gnu: oksh: Update to 7.8.
* gnu/packages/shells.scm (oksh): Update to 7.8.

Change-Id: I54642941193a9695ee56e539953a9d119fc7f97e
Merges: https://codeberg.org/guix/guix/pulls/4055
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:14 +02:00
Antoine Côté e98508bb6e gnu: libaacs: Update to 0.11.1.
* gnu/packages/video.scm (libaacs): Update to 0.11.1.

Change-Id: Ib6b1122e54689f318ed8c28a94b2a0dab9c935dc
Merges: https://codeberg.org/guix/guix/pulls/1132
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:14 +02:00
Ashish SHUKLA 53210db7aa gnu: jemalloc: Update to 5.3.1
* gnu/packages/jemalloc.scm (jemalloc): Update to 5.3.1.

Change-Id: I86b8dc2e4f00d8aecd8f41a577e043549568af49
Merges: https://codeberg.org/guix/guix/pulls/7909
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:14 +02:00
Sughosha 7c8cddcfbd gnu: libjxl: Update to 0.11.2.
* gnu/packages/image.scm (libjxl): Update to 0.11.2.
  [source]: Do not fetch recursively.  Remove snippet.
  [arguments]<#:phases>: Add patch-dependencies and unpack-testdata.
  [native-inputs]: Add (package-source sjpeg).
  [inputs]: Add sjpeg and skcms.

Change-Id: I13840de4fb111547ce6fd4e136ecfa9fd316fb06
Merges: https://codeberg.org/guix/guix/pulls/8719
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:14 +02:00
Nguyễn Gia Phong 1603f6aeae gnu: libjxl: Improve style.
* gnu/packages/image.scm (libjxl)[arguments]: Switch to gexp.

Change-Id: Ic6df287b73b1641aa4b0c1ced8856d9ea3d0960a
2026-05-29 11:34:14 +02:00
Sughosha 8375e8c64f gnu: openexr: Improve style.
* gnu/packages/graphics.scm (openexr)[source]: Realign.
  [arguments]: Realign.  <#:phases>: Simplify substitution patterns.

Change-Id: I053490c3f4db7b2e7ec475784cd52781f1a548cd
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:14 +02:00
Sughosha a7cba29bfc gnu: openexr: Update to 3.4.11.
* gnu/packages/graphics.scm (openexr): Update to 3.4.11.
  [source]<snippet>: Delete third party libraries.
  [inputs]: Remove imath as it is already present in the propagated inputs.
  [propagated-inputs]: Add openjph.  Update and improve the comments.
  [home-page]: Fix permanent redirection.

Change-Id: I85a13955bf8d301aecf91f9556b9fc21fd4a2321
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:14 +02:00
Yelninei fa9dda57ed gnu: libtirpc: Update to 1.3.7.
* gnu/packages/patches/libtirpc-hurd.patch: Refresh patch.
* gnu/packages/patches/libtirpc-CVE-2021-46828.patch: Delete patch.
* gnu/local.mk (dist_patch_DATA): Deregister it.
* gnu/packages/onc-rpc.scm (libtirpc): Update to 1.3.7.
  [source]<patches>: Remove the deleted patch.

Change-Id: I2fb7acc4a053ef40f2f69e045d156bee3d87ce3d
References: https://codeberg.org/guix/guix/pulls/8718
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:13 +02:00
Yelninei 7dc09a3254 gnu: libtirpc/hurd: Merge with libtirpc.
* gnu/packages/onc-rpc.scm (libtirpc)[source]: Add libtirpc-hurd patch.
  [#:configure-flags] : Set path to krb5-config when cross compiling.
  [#:phases]: Remove adjust-pkg-config phase.
  [native-inputs]: Remove mit-krb5.
  (libtirpc/hurd): Mark as a deprecated variable.
* gnu/packages/hurd.scm (hurd): Replace libtirpc/hurd with libtirpc.

Change-Id: Idcc38f56cd89e18d435675ead2b9eb7835d75be0
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:13 +02:00
SilverlightningY ce9a9598a9 gnu: frei0r: Rename from frei0r-plugins.
* gnu/packages/video.scm (frei0r): Rename from frei0r-plugins.
* gnu/packages/video.scm (frei0r-plugins): New deprecated variable.

Change-Id: I0cd5583bb88917f53b77e8177200e5c28e0bdec4
Merges: https://codeberg.org/guix/guix/pulls/2587
Reviewed-by: Efraim Flashner <efraim@flashner.co.il>
Reviewed-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Reviewed-by: Sughosha <sughosha@disroot.org>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:13 +02:00
SilverlightningY c41aea596f gnu: frei0r-plugins: Update to 3.1.3.
* gnu/packages/video.scm (frei0r-plugins): Update to 3.1.3.
  [source]: Switch to git-fetch.  <snippet>: Delete public headers.
  Prevent the installation of pkg-config file.
  [build-system]: Switch to cmake-build-system.
  [phases]: Remove custom build phase.
  [inputs]: Add opencv.  [native-inputs]: Add frei0r-api.
  [home-page]: Update to new home-page.
  [synopsis, description]: Update.

Change-Id: Ie007ed00d8810b11f1d93d86aaf9e481455b9c75
Reviewed-by: Efraim Flashner <efraim@flashner.co.il>
Reviewed-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Reviewed-by: Sughosha <sughosha@disroot.org>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:13 +02:00
SilverlightningY 6fc44f1a94 gnu: ffmpeg: Remove frei0r-plugins.
* gnu/packages/video.scm (ffmpeg)[arguments]<#:phases>{wrap-executable}:
  Remove FREI0R_PATH wrapping.
  [native-inputs]: Add frei0r-api.
  [inputs]: Remove frei0r-plugins.
  [native-search-paths]: Add FREI0R_PATH.

Change-Id: Icc4e41258b70062345a88dbcaaa83d1496aa2370
Reviewed-by: Efraim Flashner <efraim@flashner.co.il>
Reviewed-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Reviewed-by: Sughosha <sughosha@disroot.org>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:13 +02:00
SilverlightningY 7d87d1cb34 gnu: shotcut: Remove frei0r-plugins.
* gnu/packages/video.scm
  (shotcut)[arguments]<#:phases>{wrap-executable}:
  Remove FREI0R_PATH wrapping.
  [native-inputs]: Add frei0r-api.
  [inputs]: Remove frei0r-plugins.
  [native-search-paths]: Add FREI0R_PATH.

Change-Id: Ie4036cc65618b20ed878bf55153d49f717797546
Reviewed-by: Efraim Flashner <efraim@flashner.co.il>
Reviewed-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Reviewed-by: Sughosha <sughosha@disroot.org>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:13 +02:00
SilverlightningY 07d910ec69 gnu: mlt: Remove frei0r-plugins.
* gnu/packages.video.scm (mlt)[arguments]<#:phases>{wrap-executable}:
  Remove FREI0R_PATH wrapping.
  [native-inputs]: Add frei0r-api.
  [inputs]: Remove frei0r-plugins.
  [native-search-paths]: Add FREI0R_PATH.

Change-Id: I8824b7a4dfc96288d144249630f6d3d68ec304b4
Reviewed-by: Efraim Flashner <efraim@flashner.co.il>
Reviewed-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Reviewed-by: Sughosha <sughosha@disroot.org>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:13 +02:00
SilverlightningY 6b85e8f7ee gnu: kdenlive: Remove frei0r-plugins.
* gnu/packages/kde-multimedia
  (kdenlive)[arguments]<#:phases>{wrap-executable}:
  Remove FREI0R_PATH wrapping.
  [native-inputs]: Add frei0r-api.
  [inputs]: Remove frei0r-plugins.
  [native-search-paths]: Add FREI0R_PATH.

Change-Id: I645298818a86265b3774aac45646a334f500586e
Reviewed-by: Efraim Flashner <efraim@flashner.co.il>
Reviewed-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Reviewed-by: Sughosha <sughosha@disroot.org>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:13 +02:00
SilverlightningY c9396d8076 gnu: frei0r-api: New variable.
* gnu/packages/video.scm (frei0r-api): New variable.

Change-Id: I30d8182d4536cf0af62f66f9860a4125bc7a043a
Reviewed-by: Efraim Flashner <efraim@flashner.co.il>
Reviewed-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Reviewed-by: Sughosha <sughosha@disroot.org>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 11:34:13 +02:00
Nguyễn Gia Phong 6d510ccb99 Reapply "gnu: git-minimal: Install bash completion beside zsh wrapper."
This reverts commit 3a7f175db7.
2026-05-29 11:34:13 +02:00
Nguyễn Gia Phong 00c127fc9f gnu: git-minimal/pinned: Update to 2.54.0.
The inheritence is swapped to make updating the unpinned variant
easier and less error-prone.

* gnu/packages/version-control.scm (git-minimal/pinned):
  Delete variable.  Rename from git-minimal.
  [properties]<hidden?>: Set to #t.
  (git-minimal): New unhidden package inherting git-minimal/pinned.

Change-Id: I96b8129dfd18a17438798b8a629af272e8a16f09
2026-05-29 11:34:03 +02:00
61 changed files with 1330 additions and 2794 deletions
+66 -2
View File
@@ -77,7 +77,7 @@ Copyright @copyright{} 2020 Damien Cassou@*
Copyright @copyright{} 2020 Jakub Kądziołka@*
Copyright @copyright{} 2020 Jack Hill@*
Copyright @copyright{} 2020 Naga Malleswari@*
Copyright @copyright{} 2020, 2021 Brice Waegeneire@*
Copyright @copyright{} 2020, 2021, 2025 Brice Waegeneire@*
Copyright @copyright{} 2020 R Veera Kumar@*
Copyright @copyright{} 2020, 2021, 2022 Pierre Langlois@*
Copyright @copyright{} 2020 pinoaffe@*
@@ -52979,7 +52979,8 @@ subset of applications. This field will be ignored if @code{layout} is set
to @code{'plain}.
@item @code{excluded} (default: @code{'(".*~" ".*\\.swp" "/\\.git/.*" "\\.gitignore")}) (type: list-of-strings)
The list of file patterns @code{home-dotfiles-service-type} will exclude
The list of file patterns (including directories)
@code{home-dotfiles-service-type} will exclude
while visiting each one of the @code{directories}.
@end table
@@ -54395,6 +54396,69 @@ Where the service will write its logs. If unset, it defaults to
@end table
@end deftp
@node XDG Home Services
@subsection XDG Home Services
The @code{(gnu home services xdg)} module provides services related to
XDG specifications for the desktop.
@subsubheading XDG User Directories
@defvar{home-xdg-user-directories-service-type}
This service sets the names of default user directories such as
@samp{Downloads} and @samp{Documents}. These settings are respected by
most applications via @var{xdg-user-dirs}.
To disable a directory, set it to @code{"$HOME"}.
@end defvar
@c %start of fragment
@deftp {Data Type} home-xdg-user-directories-configuration
Available @code{home-xdg-user-directories-configuration} fields are:
@table @asis
@item @code{desktop} (default: @code{"$HOME/Desktop"}) (type: string)
Default @samp{Desktop} directory, this is what you see on your
background when using a desktop environment, e.g. KDE.
@item @code{documents} (default: @code{"$HOME/Documents"}) (type: string)
Default directory to put documents like PDFs.
@item @code{download} (default: @code{"$HOME/Downloads"}) (type: string)
Default directory downloaded files, this is where your Web-broser will
put downloaded files in.
@item @code{music} (default: @code{"$HOME/Music"}) (type: string)
Default directory for audio files.
@item @code{pictures} (default: @code{"$HOME/Pictures"}) (type: string)
Default directory for pictures and images.
@item @code{projects} (default: @code{"$HOME/Projects"}) (type: string)
Default directory for projects.
@item @code{publicshare} (default: @code{"$HOME/Public"}) (type: string)
Default directory for shared files, which can be accessed by other users
on local machine or via network.
@item @code{templates} (default: @code{"$HOME/Templates"}) (type: string)
Default directory for templates. They can be used by graphical file
manager or other apps for creating new files with some pre-populated
content.
@item @code{videos} (default: @code{"$HOME/Videos"}) (type: string)
Default directory for videos.
@end table
@end deftp
@c %end of fragment
@node Guix Home Services
@subsection Guix Home Services
+7 -3
View File
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2024, 2026 Giacomo Leidi <therewasa@fishinthecalculator.me>
;;; Copyright © 2025 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -126,18 +127,21 @@ user's home directory, excluding files that match any of the patterns in EXCLUDE
(define (home-dotfiles-configuration->files config)
"Return a list of objects compatible with @code{home-files-service-type}'s
value, excluding files that match any of the patterns configured."
value, excluding files and directories that match any of the patterns configured."
(define stow? (eq? (home-dotfiles-configuration-layout config) 'stow))
(define excluded
(home-dotfiles-configuration-excluded config))
(define exclusion-rx
(make-regexp (string-append "^.*(" (string-join excluded "|") ")$")))
(define* (excluded-file? file stat #:optional result)
(not (regexp-exec exclusion-rx file)))
(define* (directory-contents directory #:key (packages #f))
(define (filter-files directory)
(find-files directory
(lambda (file stat)
(not (regexp-exec exclusion-rx file)))))
excluded-file?
#:enter?
excluded-file?))
(if (and stow? packages (maybe-value-set? packages))
(append-map filter-files
(map (lambda (pkg)
+5 -3
View File
@@ -204,9 +204,8 @@ for example).")))
(define-configuration home-xdg-user-directories-configuration
(desktop
(string "$HOME/Desktop")
"Default ``desktop'' directory, this is what you see on your
desktop when using a desktop environment,
e.g. GNOME (@pxref{XWindow,,,guix.info}).")
"Default @samp{Desktop} directory, this is what you see on your background
when using a desktop environment, e.g. KDE.")
(documents
(string "$HOME/Documents")
"Default directory to put documents like PDFs.")
@@ -220,6 +219,9 @@ will put downloaded files in.")
(pictures
(string "$HOME/Pictures")
"Default directory for pictures and images.")
(projects
(string "$HOME/Projects")
"Default directory for projects.")
(publicshare
(string "$HOME/Public")
"Default directory for shared files, which can be accessed by other
-3
View File
@@ -1174,7 +1174,6 @@ dist_patch_DATA = \
%D%/packages/patches/cube-nocheck.patch \
%D%/packages/patches/cups-relax-root-ownership-check.patch \
%D%/packages/patches/cura-engine-gcc-14.patch \
%D%/packages/patches/curl-CVE-2024-8096.patch \
%D%/packages/patches/curl-use-ssl-cert-env.patch \
%D%/packages/patches/curlftpfs-fix-error-closing-file.patch \
%D%/packages/patches/curlftpfs-fix-file-names.patch \
@@ -1832,7 +1831,6 @@ dist_patch_DATA = \
%D%/packages/patches/libtgvoip-disable-webrtc.patch \
%D%/packages/patches/libtheora-config-guess.patch \
%D%/packages/patches/libtiff-CVE-2022-34526.patch \
%D%/packages/patches/libtirpc-CVE-2021-46828.patch \
%D%/packages/patches/libtirpc-hurd.patch \
%D%/packages/patches/libtool-grep-compat.patch \
%D%/packages/patches/libtool-skip-tests2.patch \
@@ -2005,7 +2003,6 @@ dist_patch_DATA = \
%D%/packages/patches/nss-getcwd-nonnull.patch \
%D%/packages/patches/nss-increase-test-timeout.patch \
%D%/packages/patches/nss-3.56-pkgconfig.patch \
%D%/packages/patches/nss-disable-broken-tests.patch \
%D%/packages/patches/nss-3.115-disable-broken-tests.patch \
%D%/packages/patches/nss-3.115-disable-pkix-ocsp-tests.patch \
%D%/packages/patches/ntp-fix-dereferencing-the-wrong-variable.patch \
+2 -2
View File
@@ -52,7 +52,7 @@
(define-public aspell
(package
(name "aspell")
(version "0.60.8.1")
(version "0.60.8.2")
(source
(origin
(method url-fetch)
@@ -60,7 +60,7 @@
version ".tar.gz"))
(sha256
(base32
"06yjhwlgpcvbrl5g83qjrpzjwjx7hka5lhsfc3x5gm229nri5nnn"))
"06b9szgm9cj1zh58r7sbl5fbi3vi9fs7b1as4ir8y176x9ilizjp"))
(patches (search-patches "aspell-default-dict-dir.patch"))))
(build-system gnu-build-system)
(arguments
+1 -3
View File
@@ -276,9 +276,7 @@ has strong support for macros.")
'(#:parallel-tests? #f)) ; Some tests fail
; non-deterministically when run in
; parallel
(inputs
`(("python" ,python-wrapper)
("xmlto" ,xmlto)))
(inputs (list python-wrapper xmlto))
(home-page "https://yasm.tortall.net/")
(synopsis "Rewrite of the NASM assembler")
(description
+1 -10
View File
@@ -1858,18 +1858,9 @@ R. Seaman's protocol}
(file-name (git-file-name name version))
(sha256
(base32 "0n2jzlpwvjgj8ydg7hsqxnvy8s9pdi5z96id0231kgi87pyfkh7s"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
;; XXX: 'delete-all-but' is copied from the turbovnc package.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "thirdparty" "thirdparty.cmake")))))
(build-system cmake-build-system)
(arguments
+17 -17
View File
@@ -98,24 +98,24 @@
(cut patch-shebang <> path)
(find-files (string-append #$output "/etc/avahi"))))))))
(inputs
`(("bash-minimal" ,bash-minimal)
("dbus" ,dbus)
("expat" ,expat)
("gdbm" ,gdbm)
("glib" ,glib)
;; Do not use libcap when cross-compiling since it's not quite
;; cross-compilable; and use it only for supported systems.
,@(if (and (not (%current-target-system))
(member (%current-system)
(package-supported-systems libcap)))
`(("libcap" ,libcap)) ;to enable chroot support in avahi-daemon
'())
("libdaemon" ,libdaemon)
("libevent" ,libevent)))
(cons* bash-minimal
dbus
expat
gdbm
glib
libdaemon
libevent
;; Do not use libcap when cross-compiling since it's not quite
;; cross-compilable; and use it only for supported systems.
(if (and (not (%current-target-system))
(member (%current-system)
(package-supported-systems libcap)))
(list libcap) ;to enable chroot support in avahi-daemon
(list))))
(native-inputs
`(("gettext" ,gettext-minimal)
("glib" ,glib "bin")
("pkg-config" ,pkg-config)))
(list gettext-minimal
(list glib "bin")
pkg-config))
(synopsis "Implementation of mDNS/DNS-SD protocols")
(description
"Avahi is a system which facilitates service discovery on a local
+4 -11
View File
@@ -3864,20 +3864,13 @@ familiar to anyone with experience of scikit-learn or scipy.")
(file-name (git-file-name name version))
(sha256
(base32 "0hznpj15kx2sla16wlmcqz21n2vi2qb1493v30vz75hnm1m4iwm1"))
(modules '((guix build utils)
(ice-9 ftw)))
(modules '((guix build utils)))
(snippet
#~(begin
;; Delete everything except for examples directory:
(define (delete-except exceptions)
(lambda (file)
(unless (member file `("." ".." ,@exceptions))
(delete-file-recursively file))))
(for-each (delete-except '("pysnptools" "tests")) (scandir "."))
(with-directory-excursion "pysnptools"
(for-each (delete-except '("examples")) (scandir ".")))
(with-directory-excursion "tests"
(for-each (delete-except '("datasets")) (scandir "."))))))))
(delete-all-but ".""pysnptools" "tests")
(delete-all-but "pysnptools" "examples")
(delete-all-but "tests" "datasets"))))))
(define-public python-pysnptools
(package
+4 -3
View File
@@ -271,7 +271,8 @@ across a broad spectrum of applications.")
"0yrgn6syk260ckq9ld44vjv1bl6bamhy3jbp10kikcipcv0d5na6"))))))
(define-public boost-1.83
(hidden-package (package (inherit boost)
(package
(inherit boost)
(name "boost")
(version "1.83.0")
(source (origin
@@ -282,7 +283,7 @@ across a broad spectrum of applications.")
(patches
(list (boost-patch
"0001-unordered-fix-copy-assign.patch" version
"09j61m5xh7099k5na9i43x5rra51znf7vm2nyh89yqpizcll9q66")))
"0l520lqh2vxdlyzvpki6hy2ylqimag8v18n2sdbmliifxiiha4gl")))
(patch-flags '("-p2"))
(sha256
(base32
@@ -312,7 +313,7 @@ across a broad spectrum of applications.")
(else
#~())))
;; Not cross-compiling.
#~()))))))))
#~())))))))
(define-deprecated-package boost-with-python3
boost)
+1 -2
View File
@@ -1139,8 +1139,7 @@ Anything Protocol} compliant programs can also be executed through Kyua.")
(arguments
`(#:tests? #f
#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
(native-inputs
`(("python" ,python-wrapper)))
(native-inputs (list python-wrapper))
(home-page "https://github.com/google/googletest/")
(synopsis "Test discovery and XUnit test framework")
(description "Google Test features an XUnit test framework, automated test
+26 -34
View File
@@ -68,16 +68,15 @@
(define-public curl
(package
(name "curl")
(version "8.6.0")
(version "8.20.0")
(source (origin
(method url-fetch)
(uri (string-append "https://curl.se/download/curl-"
version ".tar.xz"))
(sha256
(base32
"05fv468yjrb7qwrxmfprxkrcckbkij0myql0vwwnalgr3bcmbk9w"))
(patches (search-patches "curl-use-ssl-cert-env.patch"
"curl-CVE-2024-8096.patch"))))
"15mqw8y9vdxlz9cpr2z7q9r6552wgs7q7vr2k7lfl35s930jvzk3"))
(patches (search-patches "curl-use-ssl-cert-env.patch"))))
(outputs '("out"
"doc")) ;1.2 MiB of man3 pages
(build-system gnu-build-system)
@@ -106,36 +105,20 @@
(mkdir-p (string-append #$output:doc "/share/man"))
(rename-file (string-append #$output "/share/man/man3")
(string-append #$output:doc "/share/man/man3"))))
(replace 'check
(lambda* (#:key tests? parallel-tests? make-flags #:allow-other-keys)
(add-after 'unpack 'patch-runtests
(lambda _
(substitute* "tests/runtests.pl"
(("/bin/sh") (which "sh")))
(when tests?
(let* ((job-count (string-append
"-j"
(if parallel-tests?
(number->string (parallel-job-count))
"1")))
;; Ignore test 1477 due to a missing file in the 8.5.0
;; release. See
;; <https://github.com/curl/curl/issues/12462>.
(arguments `("-C" "tests" "test"
,@make-flags
,(if #$(or (system-hurd?)
(target-arm32?)
(target-aarch64?))
;; protocol FAIL
(string-append "TFLAGS=~1474 "
"!1477 "
job-count)
(string-append "TFLAGS=\"~1477 "
job-count "\"")))))
;; The top-level "make check" does "make -C tests quiet-test", which
;; is too quiet. Use the "test" target instead, which is more
;; verbose.
(apply invoke "make" arguments)))))
#$@(if (system-hurd?)
(("/bin/sh") (which "sh")))))
#$@(if (or (target-arm32?)
(target-aarch64?))
#~((add-after 'unpack 'skip-tests
(lambda _
(let ((port (open-file "tests/data/DISABLED" "a")))
(display "1474\n" port)
(close port)))))
#~())
#$@(if (system-hurd?)
#~((add-after 'unpack 'skip-tests/hurd
(lambda _
(let ((port (open-file "tests/data/DISABLED" "a")))
(display "526\n" port)
@@ -147,11 +130,20 @@
(display "564\n" port)
(display "575\n" port)
(display "1021\n" port)
(display "1474\n" port)
(display "1501\n" port)
(close port)))))
#~()))))
#~())
(add-after 'install 'sanitize-libcurl.pc
(lambda _
;; The pkgconfig file has all dependencies in Requires.private
;; which is unnecessary for our shared library use and would
;; require propagating them.
(substitute* (string-append #$output "/lib/pkgconfig/libcurl.pc")
(("^Requires.private:.*") "")))))))
(native-inputs
(list nghttp2 perl pkg-config python-minimal-wrapper))
(list nghttp2 perl pkg-config python-minimal-wrapper
openssl)) ;for tests
(inputs
(list gnutls libidn libpsl mit-krb5 `(,nghttp2 "lib") zlib))
(native-search-paths
+1 -9
View File
@@ -1112,17 +1112,9 @@ to aid in debugging.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (base32 "0ppx8r9isc772y0ahpgl8g5b3yxka7ffqzlcsa920aib5nj39lrg"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(substitute* "pyproject.toml"
;; Python is linked with GNU readline on all Guix targets.
((".*gnureadline.*") "")
+15 -34
View File
@@ -1750,31 +1750,21 @@ exploration and optimization.")
(commit version)
(recursive? #t)))
(file-name (git-file-name name version))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
;; XXX: 'delete-all-but' is copied from the turbovnc package.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "libs"
"delaunay-triangulation"
"dxflib"
;; "fontobene-qt"
;; "googletest"
;; "hoedown"
"librepcb"
;; "muparser"
"optional"
"parseagle"
;; "polyclipping"
;; "quazip"
"type_safe")))
#~(delete-all-but "libs"
"delaunay-triangulation"
"dxflib"
;; "fontobene-qt"
;; "googletest"
;; "hoedown"
"librepcb"
;; "muparser"
"optional"
"parseagle"
;; "polyclipping"
;; "quazip"
"type_safe"))
(sha256
(base32 "1g3k2g2p5yy7zk971bg7qh4k38p30aydp27c5bfb02gn7djknz7w"))))
(build-system cmake-build-system)
@@ -2358,18 +2348,9 @@ layout of a circuit corresponds to the desired netlists.")
;; no longer have their original upstream.
(recursive? #t)))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
#~(begin
(use-modules (guix build utils)
(ice-9 ftw)
(srfi srfi-26))
;; XXX: 'delete-all-but' is copied from the turbovnc package.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "3rdparty"
;; The following sources have all been patched, so
;; cannot easily be unbundled.
+1 -10
View File
@@ -16148,18 +16148,9 @@ placed at the margin of the minibuffer for your completion candidates.")
(url "https://github.com/Fuco1/smartparens")
(commit commit)))
(file-name (git-file-name name version))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
'(begin
;; Taken from nextpnr package.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred
(negate (cut member <> (append '("." "..") preserve))))
(items (scandir "." pred)))
(for-each delete-file items))))
;; Only activate basic tests.
(delete-all-but "test"
"test-helper.el"
+5 -80
View File
@@ -464,13 +464,6 @@ It aims to support Nintendo DSi and 3DS as well.")
(srfi srfi-26)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
;; Clean up the source from bundled libraries we don't need.
(delete-all-but "Externals"
;; XXX: The build system is currently hard-coded
@@ -660,14 +653,6 @@ turbo speed, networked multiplayer, and graphical enhancements.")
(srfi srfi-26)))
(snippet
#~(begin
;; XXX: 'delete-all-but' is copied from the turbovnc package.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
;; Clean up the source from bundled libraries we don't need.
(delete-all-but "Externals"
;; XXX: The build system is currently hard-coded
@@ -1083,17 +1068,9 @@ The following systems are supported:
(sha256
(base32
"0dfsz4dsh49dc9xx9rjhfzfkg4h91i2ksgp2inlr9yhgldw9q8h3"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <> (cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "src/third-party"
"blip_buf"
"inih")))))
@@ -2324,42 +2301,9 @@ physical device and the RetroPad virtual controller.")
(modules '((guix build utils)))
(snippet
'(begin
(use-modules (guix build utils)
(ice-9 ftw)
(srfi srfi-1)
(srfi srfi-26))
(define (delete-all-but . preserve)
;; Walk the file tree and delete everything except the paths
;; listed in PRESERVE. Directories listed PRESERVE will cause
;; their whole contents to be preserved.
(let ((preserve (map (compose (cut string-trim-right <> #\/)
(cut string-append "./" <>))
preserve)))
(file-system-fold
(lambda (path stat result) ;enter
(or (any (lambda (x)
(or (string-prefix? path x)
(string-prefix? x path)))
preserve)
(begin
(delete-file-recursively path)
#f)))
(lambda (path stat result) ;leaf (file)
(unless (any (cut string-prefix? <> path) preserve)
(delete-file path)))
(const #t) ;down (directory)
(const #t) ;up (directory)
(lambda (path stat result) ;skip
(when (file-exists? path)
(error "could not enter unreadable directory" path)))
(lambda (path stat errno result) ;error
(error "error processing" path (strerror errno)))
0
".")))
;; This is an allow-list of the shaders explicitly licensed as
;; free software.
(delete-all-but
(delete-all-but "."
"anamorphic/shaders/anamorphic.slang" ;expat
"anamorphic/anamorphic.slangp"
"annotated_passthru.slang" ;public license
@@ -3016,16 +2960,7 @@ GLSL (@file{.slang}) shaders for use with RetroArch.")
(commit (string-append "v" version))))
(snippet
#~(begin
(use-modules (guix build utils)
(ice-9 ftw)
(srfi srfi-26))
;; XXX: 'delete-all-but' is copied from the turbovnc package.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(use-modules (guix build utils))
;; Remove as much bundled sources as possible, shaving off about
;; 65 MiB.
(delete-all-but "deps"
@@ -3834,24 +3769,14 @@ de-interlacing patches for use with PCSX2.")
(file-name (git-file-name name version))
(sha256
(base32 "0nr53cjifqwnz3icxsj01yd3aw1vfsfxga4zz5zi8aqr175mvq27"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
(substitute* "cmake/Pcsx2Utils.cmake"
(("(PCSX2_GIT_REV \")Unknown" _ prefix)
(string-append prefix #$version "-guix")))
(delete-file "3rdparty/include/Packet32.h") ;"not open source"
;; XXX: 'delete-all-but' is copied from the turbovnc package.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but
"3rdparty"
(delete-all-but "3rdparty"
;; asl2.0 and cc0
"glad" ;Is tailored.
;; bsd-3
+48 -47
View File
@@ -23,7 +23,6 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages fltk)
#:use-module ((guix licenses) #:select (lgpl2.0 lgpl2.0+))
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages build-tools)
@@ -35,8 +34,10 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system waf)
@@ -56,63 +57,63 @@
(sha256
(base32 "0pnifyhhvcqfjd6iaa4m14kvfyqhjjdw0aqbcizcdhhqrl6q4pjg"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf
automake
pkg-config))
(inputs
`(("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("libx11" ,libx11)
("libxft" ,libxft)
("mesa" ,mesa)
("zlib" ,zlib)))
(arguments
`(#:tests? #f ;TODO: compile programs in "test" dir
#:configure-flags
(list "--enable-shared"
(string-append "DSOFLAGS=-Wl,-rpath=" %output "/lib"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-makeinclude
(lambda _
(substitute* "makeinclude.in"
(("/bin/sh") (which "sh")))
#t))
(add-after 'install 'patch-config
;; Provide -L flags for image libraries when querying fltk-config to
;; avoid propagating inputs.
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((conf (string-append (assoc-ref outputs "out")
"/bin/fltk-config"))
(jpeg (assoc-ref inputs "libjpeg"))
(png (assoc-ref inputs "libpng"))
(zlib (assoc-ref inputs "zlib")))
(substitute* conf
(("-ljpeg") (string-append "-L" jpeg "/lib -ljpeg"))
(("-lpng") (string-append "-L" png "/lib -lpng"))
(("-lz") (string-append "-L" zlib "/lib -lz"))))
#t)))))
(list
#:tests? #f ;TODO: compile programs in "test" dir
#:configure-flags
#~(list "--enable-shared"
(string-append "DSOFLAGS=-Wl,-rpath=" %output "/lib"))
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'patch-makeinclude
(lambda _
(substitute* "makeinclude.in"
(("/bin/sh")
(which "sh")))))
(add-after 'install 'patch-config
;; Provide -L flags for image libraries when querying fltk-config to
;; avoid propagating inputs.
(lambda* (#:key inputs #:allow-other-keys)
(let ((conf (string-append #$output "/bin/fltk-config"))
(libjpeg-so (search-input-file inputs "lib/libjpeg.so"))
(libpng-so (search-input-file inputs "lib/libpng.so"))
(libz-so (search-input-file inputs "lib/libz.so")))
(substitute* conf
(("-ljpeg")
(string-append "-L" (dirname libjpeg-so) " -ljpeg"))
(("-lpng")
(string-append "-L" (dirname libpng-so) " -lpng"))
(("-lz")
(string-append "-L" (dirname libz-so) " -lz")))))))))
(native-inputs (list autoconf automake pkg-config))
(inputs
(list libjpeg-turbo
libpng
libx11
libxft
mesa
zlib))
(home-page "https://www.fltk.org")
(synopsis "3D C++ GUI library")
(description "FLTK is a C++ GUI toolkit providing modern GUI functionality
without the bloat. It supports 3D graphics via OpenGL and its built-in GLUT
emulation. FLTK is designed to be small and modular enough to be statically
linked, but works fine as a shared library. FLTK also includes an excellent
UI builder called FLUID that can be used to create applications in minutes.")
(license lgpl2.0))) ; plus certain additional permissions
(description
"FLTK is a C++ GUI toolkit providing modern GUI functionality without the
bloat. It supports 3D graphics via OpenGL and its built-in GLUT emulation.
FLTK is designed to be small and modular enough to be statically linked, but
works fine as a shared library. FLTK also includes an excellent UI builder
called FLUID that can be used to create applications in minutes.")
(license license:lgpl2.0))) ; plus certain additional permissions
(define-public fltk
(package
(inherit fltk-1.3)
(version "1.4.4")
(version "1.4.5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/fltk/fltk")
(commit (string-append "release-" version))))
(sha256
(base32 "1nfl37c9yplp4gxjjlajysfj2vsr47xjlcq78ambd7im4wbjgj76"))))))
(base32 "19bl0ryarg31wkhw01ryilp9iwwh6vwnsq9mnzmarzm0dkwhjc7c"))))))
(define-public ntk
@@ -162,4 +163,4 @@ UI builder called FLUID that can be used to create applications in minutes.")
library, adding improved graphics rendering via Cairo, a streamlined and
enhanced widget set, and other features designed to improve the appearance and
performance of the Non applications.")
(license lgpl2.0+))) ; plus certain additional permissions
(license license:lgpl2.0+))) ; plus certain additional permissions
+12 -10
View File
@@ -792,16 +792,16 @@ the freedesktop.org XDG Base Directory specification.")
(define-public elogind
(package
(name "elogind")
(version "255.17")
(version "255.22")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/elogind/elogind")
(commit (string-append "v" version))))
(commit (string-append "V" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0cb6p559281dzh24is91v6d4v4kz45yhyizibi4sfql9nign865h"))))
"0hnzks8f0jl2hkf954pqky5490zacqaipz20k38qvzl5g8i1if5l"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
@@ -2733,18 +2733,20 @@ Rendering Manager devices.")
(define-public xdg-user-dirs
(package
(name "xdg-user-dirs")
(version "0.17")
(version "0.20")
(source (origin
(method url-fetch)
(uri (string-append "http://user-dirs.freedesktop.org/releases/"
name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://gitlab.freedesktop.org/xdg/xdg-user-dirs.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "13216b8rfkzak5k6bvpx6jvqv3cnbgpijnjwj8a8d3kq4cl0a1ra"))))
(build-system gnu-build-system)
(base32
"1s235wp6z0d94z5qhwf408ppli1p3s3zah8rynm9ljh3hmmv0p2g"))))
(build-system meson-build-system)
(native-inputs
(list gettext-minimal
docbook-xsl
docbook-xml-4.3
libxslt))
(home-page "https://www.freedesktop.org/wiki/Software/xdg-user-dirs/")
(synopsis "Tool to help manage \"well known\" user directories")
+1 -9
View File
@@ -1181,17 +1181,9 @@ It is capable of creating games for SCUMM version 6 and partially version 7.")
(sha256
(base32
"12f1d45995qf5sazjmmfdydllcd6alhqs1s4xwv3jiq1fw66hcy9"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
'(begin
;; XXX: 'delete-all-but' is copied from the turbovnc package.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <> (cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "extlibs/headers"
"glad"))))) ;pre-generated headers
(build-system cmake-build-system)
+1 -9
View File
@@ -192,17 +192,9 @@ definitions in Go programs.")
(file-name (git-file-name name version))
(sha256
(base32 "0c1rxbj3v3m0fqb8q96xlbawxm9scyx6vvr8pddkiwp7zkx4ajym"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "cmd" "godoc")
(delete-all-but "." "cmd")))))
(build-system go-build-system)
+4 -29
View File
@@ -1535,17 +1535,9 @@ Go programming language.")
(file-name (git-file-name name version))
(sha256
(base32 "0sjvngpahkb5x573i855fjlb1fdmr6n269nmb5xxnbabjb27mnvg"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "go" "expect")
(delete-all-but "." "go")))))
(build-system go-build-system)
@@ -1575,17 +1567,9 @@ Go source code (including go.mod and go.work files) as test expectations.")
(file-name (git-file-name name version))
(sha256
(base32 "0sjvngpahkb5x573i855fjlb1fdmr6n269nmb5xxnbabjb27mnvg"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "go" "packages")
(delete-all-but "go/packages" "packagestest")
(delete-all-but "." "go")))))
@@ -1618,18 +1602,9 @@ tools on.")
(file-name (git-file-name name version))
(sha256
(base32 "1blk22apy424j9v58lfy4pxnrgh93yqchqhxsnf78dmx4vx5yi9r"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "godoc")))))
#~(begin (delete-all-but "." "godoc")))))
(build-system go-build-system)
(arguments
(list
File diff suppressed because it is too large Load Diff
+24 -164
View File
@@ -1304,26 +1304,8 @@ may be interactive or produce standard formats such as SVG or PDF.")
(file-name (git-file-name name version))
(sha256
(base32 "1np11if704xzyhsx9mqhz7djx23g6wnz62r1v9ra6xaz91yfic0n"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(begin
;; XXX: 'delete-all-but' is copied from the turbovnc package.
(define (delete-all-but directory . preserve)
(define (directory? x)
(and=> (stat x #f)
(compose (cut eq? 'directory <>) stat:type)))
(with-directory-excursion directory
(let* ((pred
(negate (cut member <> (append '("." "..") preserve))))
(items (scandir "." pred)))
(for-each (lambda (item)
(if (directory? item)
(delete-file-recursively item)
(delete-file item)))
items))))
(delete-all-but "." "generate")))))
(modules '((guix build utils)))
(snippet #~(delete-all-but "." "generate"))))
(build-system go-build-system)
(arguments
(list
@@ -5065,18 +5047,8 @@ and multi-selects with a focus on user experience and aesthetics.")
(file-name (git-file-name name version))
(sha256
(base32 "1nr09574rdrgnsj7c2z11233zljl3gcqax0jb3na6v4ixl7gnhq2"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "ansi")))))
(modules '((guix build utils)))
(snippet #~(delete-all-but "." "ansi"))))
(build-system go-build-system)
(arguments
(list
@@ -5113,14 +5085,7 @@ ECMA-48} specs.")
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "cellbuf")))))
#~(begin (delete-all-but "." "cellbuf")))))
(build-system go-build-system)
(arguments
(list
@@ -5178,18 +5143,8 @@ ECMA-48} specs.")
(file-name (git-file-name name version))
(sha256
(base32 "088786ak8jsgvssbb5y16z066vfq9f6078sjc7iv766knfr2i0x2"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "errors")))))
(modules '((guix build utils)))
(snippet #~(delete-all-but "." "errors"))))
(build-system go-build-system)
(arguments
(list
@@ -5341,18 +5296,9 @@ package provides an API for comparing Golden files.")
(file-name (git-file-name name version))
(sha256
(base32 "1shw55110fnn4xz80wmgr18czmiil6z1j064m90iw8c7j9llfzn5"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "term")))))
#~(begin (delete-all-but "." "term")))))
(build-system go-build-system)
(arguments
(list
@@ -5440,21 +5386,8 @@ package provides an API for comparing Golden files.")
(file-name (git-file-name name version))
(sha256
(base32 "0blpb8vpl7sc6pb43h0730wdcwrkvnhly6qhik6wljrzn2nqz5g2"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(begin
;; XXX: 'delete-all-but' is copied from the turbovnc package.
;; Consider implementing it as a reusable procedure in
;; guix/build/utils or guix/build-system/go.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "xpty")))))
(modules '((guix build utils)))
(snippet #~(delete-all-but "." "xpty"))))
(build-system go-build-system)
(arguments
(list
@@ -6537,21 +6470,8 @@ packages.")
(file-name (git-file-name name version))
(sha256
(base32 "0afaljkkd388f6igr3f2vjnd14yr8h20fcfzglw8j5q1q7a1cvik"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(begin
;; XXX: 'delete-all-but' is copied from the turbovnc package.
;; Consider implementing it as a reusable procedure in
;; guix/build/utils or guix/build-system/go.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "pkg")))))
(modules '((guix build utils)))
(snippet #~(delete-all-but "." "pkg"))))
(build-system go-build-system)
(arguments
(list
@@ -16136,18 +16056,9 @@ Twisted's manhole library} .")
(file-name (git-file-name name version))
(sha256
(base32 "0xj782ghf0iv8r2xxmg2vrh72b02h216y4yfyi60y9z0691lrsip"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "tools")))))
#~(begin (delete-all-but "." "tools")))))
(build-system go-build-system)
(arguments
(list
@@ -19932,18 +19843,9 @@ publishsubscribe pattern}.")
(file-name (git-file-name name version))
(sha256
(base32 "0an8ypp8v9gfxbbb71mpimb1g9labl4v7lgazcphysn6c5smgmiw"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "atomicwriter")))))
#~(begin (delete-all-but "." "atomicwriter")))))
(build-system go-build-system)
(arguments
(list
@@ -19998,18 +19900,9 @@ https://github.com/syndtr/gocapability.")
(file-name (git-file-name name version))
(sha256
(base32 "1nh1disclgydvq7k10awzks6k8kw9cjj3q19f83ksi4b76p5l475"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "mount")))))
#~(begin (delete-all-but "." "mount")))))
(build-system go-build-system)
(arguments
(list
@@ -31067,21 +30960,8 @@ when they'd prefer a more familiar, loosely typed API.")
(file-name (git-file-name name version))
(sha256
(base32 "05i15278swdmpif3p6g18sy0sn7rnfdl3m2rj5p30cnyb0j29vig"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(begin
;; XXX: 'delete-all-but' is copied from the turbovnc package.
;; Consider implementing it as a reusable procedure in
;; guix/build/utils or guix/build-system/go.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "exp")))))
(modules '((guix build utils)))
(snippet #~(delete-all-but "." "exp"))))
(build-system go-build-system)
(arguments
(list
@@ -32562,18 +32442,9 @@ code.")
(name "go-modernc-org-ccgo-v4")
(source (origin
(inherit (package-source go-modernc-org-ccgo-v3))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "v4")))))
#~(begin (delete-all-but "." "v4")))))
(arguments
(substitute-keyword-arguments
(package-arguments go-modernc-org-ccgo-v3)
@@ -33529,20 +33400,9 @@ unmarshaling functions based on @code{encoding/json} @code{Unmarshal()}.")
(file-name (git-file-name name version))
(sha256
(base32 "12n8ij4gisah5mvxcgq263iic61gjpxdj3ml03826zckzn7wlv46"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
;; XXX: 'delete-all-but' is copied from the turbovnc package.
;; Consider implementing it as a reusable procedure in
;; guix/build/utils or guix/build-system/go.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "cmd")
(delete-all-but "cmd" "config")))))
(build-system go-build-system)
+63 -68
View File
@@ -44,6 +44,7 @@
;;; Copyright © 2025 James Smith <jsubuntuxp@disroot.org>
;;; Copyright © 2026 Cayetano Santos <csantosb@inventati.org>
;;; Copyright © 2026 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
;;; Copyright © 2026 Sughosha <sughosha@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1532,77 +1533,71 @@ frames per second (FPS), temperatures, CPU/GPU load and more.")
(define-public openexr
(package
(name "openexr")
(version "3.2.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/AcademySoftwareFoundation/openexr")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"00s1a05kggk71vfbnsvykyjc2j7y6yyzgl63sy4yiddshz2k2mcr"))))
(version "3.4.11")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/AcademySoftwareFoundation/openexr")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (base32 "0c0l62s42i4jxp6bsf47fqlmdrazpk783jfpgj4jnprsm2spdp75"))
(modules '((guix build utils)))
;; Unbundle third party libraries.
(snippet #~(with-directory-excursion "external"
(for-each delete-file-recursively
'("deflate" "OpenJPH"))))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags
#~(list #$@(match (%current-system)
;; A test explicitly checks for SSE2 (would fail on
;; i686-linux), so make sure it is enabled for both C
;; and CPP.
((or "x86_64-linux" "i686-linux")
'("-DCMAKE_CXX_FLAGS=-mfpmath=sse -msse2"
"-DCMAKE_C_FLAGS=-mfpmath=sse -msse2"))
(_ '())))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-test-directory
(lambda _
(substitute* (list
"src/test/OpenEXRTest/tmpDir.h"
"src/test/OpenEXRCoreTest/main.cpp")
(("/var/tmp")
"/tmp"))))
#$@(if (target-32bit?)
#~((add-after 'patch-test-directory 'disable-broken-tests
(lambda _
;; Disable tests that fail at least on i686-linux.
(substitute* '("src/test/OpenEXRCoreTest/main.cpp"
"src/test/OpenEXRTest/main.cpp")
(("TEST \\(testCompression, \"basic\"\\);")
"")
(("TEST\\( testNoCompression, \"core_compression\" \\);")
"")
(("TEST\\( testRLECompression, \"core_compression\" \\);")
"")
(("TEST\\( testZIPCompression, \"core_compression\" \\);")
"")
(("TEST\\( testZIPSCompression, \"core_compression\" \\);")
"")
(("TEST\\( testB44Compression, \"core_compression\" \\);")
"")
(("TEST\\( testB44ACompression, \"core_compression\" \\);")
"")
(("TEST \\(testOptimizedInterleavePatterns, \"basic\"\\);")
"")))))
#~())
#$@(if (target-aarch64?)
#~((add-after 'patch-test-directory 'disable-broken-aarch64-tests
;; Disable tests known to fail on aarch64. Remove once
;; https://github.com/AcademySoftwareFoundation/openexr/issues/1460
;; is fixed.
(lambda _
(substitute* '("src/test/OpenEXRCoreTest/main.cpp")
(("TEST \\(testDWAACompression, \"core_compression\"\\);")
"")
(("TEST \\(testDWABCompression, \"core_compression\"\\);")
"")))))
#~()))))
(inputs (list imath))
(list
#:configure-flags
#~(list #$@(match (%current-system)
;; A test explicitly checks for SSE2 (would fail on
;; i686-linux), so make sure it is enabled for both C
;; and CPP.
((or "x86_64-linux" "i686-linux")
'("-DCMAKE_CXX_FLAGS=-mfpmath=sse -msse2"
"-DCMAKE_C_FLAGS=-mfpmath=sse -msse2"))
(_ '())))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-test-directory
(lambda _
(substitute* '("src/test/OpenEXRTest/tmpDir.h"
"src/test/OpenEXRCoreTest/main.cpp")
(("/var/tmp") "/tmp"))))
;; Disable tests that fail at least on i686-linux.
#$@(if (target-32bit?)
#~((add-after 'patch-test-directory 'disable-broken-tests
(lambda _
(substitute* "src/test/OpenEXRCoreTest/main.cpp"
((".*testNoCompression, .*") "")
((".*testRLECompression, .*") "")
((".*testZIPCompression, .*") "")
((".*testZIPSCompression, .*") "")
((".*testB44Compression, .*") "")
((".*testB44ACompression, .*") ""))
(substitute* "src/test/OpenEXRTest/main.cpp"
((".*testCompression, .*") "")
((".*testOptimizedInterleavePatterns, .*") "")))))
#~())
;; Disable tests known to fail on aarch64. Remove once
;; https://github.com/AcademySoftwareFoundation/openexr/issues/1460
;; is fixed.
#$@(if (target-aarch64?)
#~((add-after 'patch-test-directory 'disable-broken-tests
(lambda _
(substitute* '("src/test/OpenEXRCoreTest/main.cpp")
(("TEST \\(testDWAACompression, \"core_compression\"\\);")
"")
(("TEST \\(testDWABCompression, \"core_compression\"\\);")
"")))))
#~()))))
(propagated-inputs
(list libdeflate ; Marked as Requires.private in OpenEXR.pc.
imath)) ; Marked as Requires in OpenEXR.pc.
(home-page "https://www.openexr.com/")
(list libdeflate ;marked as Requires.private in OpenEXR.pc
imath ;marked as Requires in OpenEXR.pc
openjph)) ;marked as Requires.private in OpenEXR.pc
(home-page "https://openexr.com")
(synopsis "High-dynamic-range file format library")
(description
"OpenEXR provides the specification and reference implementation of the
+2 -2
View File
@@ -47,13 +47,13 @@
(define-public groff
(package
(name "groff")
(version "1.22.4")
(version "1.24.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/groff/groff-" version
".tar.gz"))
(sha256 (base32
"14q2mldnr1vx0l9lqp9v2f6iww24gj28iyh4j2211hyynx67p3p7"))))
"0w3mf9jb5j1gbw1160lr5498q4ayl5i3jpf5g8721l1yzzcbr6z7"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;12MiB of PS, PDF, HTML, and examples
+1 -1
View File
@@ -713,7 +713,7 @@ exec ${system}/rc \"$@\"
("libpciaccess" ,libpciaccess-static)
;; For NFS support
("libtirpc" ,libtirpc/hurd)
("libtirpc" ,libtirpc)
;; Tools for the /libexec/* scripts.
("bash-minimal" ,bash-minimal)
+7 -15
View File
@@ -600,24 +600,16 @@ different data arrays similar to those available in the numdiff software.")
(file-name (git-file-name name version))
(snippet
#~(begin
(use-modules (guix build utils)
(ice-9 ftw)
(srfi srfi-26))
(use-modules (guix build utils))
;; Delete any bundled .jar files.
(for-each delete-file (find-files "." "\\.jar$"))
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "3rdparty"
"fastcv" ;TODO: Unbundle these
"libspng"
"libtim-vx"
"orbbecsdk"
"quirc"
"zlib-ng")))
"fastcv" ;TODO: Unbundle these
"libspng"
"libtim-vx"
"orbbecsdk"
"quirc"
"zlib-ng")))
(sha256
(base32
"15w4fqjqv5k1yw70jbjsnlgiky39mqpy05rvmm2fbyjrif4kbgkl"))))
+82 -65
View File
@@ -2987,86 +2987,101 @@ by AOM, including with alpha.")
Format) file format decoder and encoder.")
(license license:lgpl3+)))
(define libjxl-testdata
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/libjxl/testdata")
(commit "ff8d743aaba05b3014f17e5475e576242fa979fc")))
(sha256
(base32 "05nba2h0m74n5f9jzl3vzvnj74fj3si09ncwk2dqg41qdc49d1ng"))))
(define-public libjxl
(package
(name "libjxl")
(version "0.11.1")
(version "0.11.2")
(outputs (list "out" "pixbuf-loader"))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/libjxl/libjxl")
(commit (string-append "v" version))
(recursive? #t)))
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1wfxzrhj8a19z6x47ib1qbmgyg56jsxjs955xcvqhdkrx8l2271r"))
(modules '((guix build utils)))
(snippet
;; Delete the bundles that will not be used.
'(begin
(for-each (lambda (directory)
(delete-file-recursively
(string-append "third_party/" directory)))
'("brotli" "googletest" "highway" "lcms" "libjpeg-turbo"
"libpng" "zlib"))))))
(base32 "0a6fg2v81rqsbrzi97x1d7wadcikh2fizr64rsza668cwvsk631q"))))
(build-system cmake-build-system)
(arguments
`(#:modules ((guix build cmake-build-system)
(guix build utils)
(srfi srfi-26))
#:configure-flags
(list "-DJPEGXL_FORCE_SYSTEM_GTEST=true"
"-DJPEGXL_FORCE_SYSTEM_BROTLI=true"
"-DJPEGXL_FORCE_SYSTEM_LCMS2=true"
"-DJPEGXL_FORCE_SYSTEM_HWY=true"
"-DJPEGXL_BUNDLE_LIBPNG=false"
"-DJPEGXL_ENABLE_PLUGINS=true")
#:phases
(modify-phases %standard-phases
,@(cond
((target-riscv64?)
'((add-after 'unpack 'fix-atomic
(lambda _
(substitute* "lib/jxl/enc_xyb.cc"
(("#include \"lib/jxl/enc_xyb.h\"" a)
(string-append a "\n#include <atomic>")))))))
((target-x86-32?)
'((add-after 'unpack 'loosen-test-parameter
(lambda _
;; This test fails likely due to a floating point
;; rounding difference.
(substitute* "lib/jxl/color_management_test.cc"
(("8\\.7e-4") "8.7e-3"))))))
(#t '()))
(list
#:configure-flags
#~'("-DJPEGXL_FORCE_SYSTEM_GTEST=true"
"-DJPEGXL_FORCE_SYSTEM_BROTLI=true"
"-DJPEGXL_FORCE_SYSTEM_LCMS2=true"
"-DJPEGXL_FORCE_SYSTEM_HWY=true"
"-DJPEGXL_BUNDLE_LIBPNG=false"
"-DJPEGXL_ENABLE_PLUGINS=true")
#:phases
#~(modify-phases %standard-phases
#$@(cond
((target-riscv64?)
#~((add-after 'unpack 'fix-atomic
(lambda _
(substitute* "lib/jxl/enc_xyb.cc"
(("#include \"lib/jxl/enc_xyb.h\"" a)
(string-append a "\n#include <atomic>")))))))
((target-x86-32?)
#~((add-after 'unpack 'loosen-test-parameter
(lambda _
;; This test fails likely due to a floating point
;; rounding difference.
(substitute* "lib/jxl/color_management_test.cc"
(("8\\.7e-4") "8.7e-3"))))))
(#t
#~()))
(add-after 'unpack 'patch-dependencies
(lambda* (#:key inputs #:allow-other-keys)
(with-directory-excursion "third_party"
;; HACK: Create dummy files to pretend the bundled sjpeg and
;; skcms exist.
(apply invoke "touch"
'("sjpeg/CMakeLists.txt"
"sjpeg/COPYING"
"skcms/skcms.h"
"skcms/LICENSE"))
(substitute* "CMakeLists.txt"
(("include\\(skcms\\.cmake\\)")
"find_library(SKCMS_LIB NAMES skcms REQUIRED)")
(("include\\(sjpeg\\.cmake\\)")
"find_package(sjpeg REQUIRED)")))
(with-directory-excursion "lib"
(substitute* "jxl_cms.cmake"
(("target_link_skcms\\(jxl_cms\\)")
"target_link_libraries(jxl_cms PRIVATE ${SKCMS_LIB})"))
(substitute* "jxl_extras.cmake"
(("\\.\\.\\/third_party\\/sjpeg\\/src")
(dirname (search-input-file inputs "src/sjpegi.h")))))))
(add-after 'unpack 'unpack-testdata
(lambda _
(rmdir "testdata")
(copy-recursively #$libjxl-testdata "testdata")))
(add-after 'install 'split
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(out:pixbuf (assoc-ref outputs "pixbuf-loader"))
(thumbnailer (string-append
out
"/share/thumbnailers/jxl.thumbnailer"))
(thumbnailer* (string-append
out:pixbuf
"/share/thumbnailers/jxl.thumbnailer"))
(pixbuf-loader (string-append
out
"/lib/gdk-pixbuf-2.0/2.10.0/loaders/"
"libpixbufloader-jxl.so"))
(pixbuf-loader* (string-append
out:pixbuf
"/lib/gdk-pixbuf-2.0/2.10.0/loaders/"
"libpixbufloader-jxl.so")))
(for-each (lambda (old new)
(install-file old (dirname new))
(delete-file old)
(chmod new #o555))
(list thumbnailer pixbuf-loader)
(list thumbnailer* pixbuf-loader*))))))))
(lambda _
(for-each
(lambda (path)
(let ((old (string-append #$output path))
(new (string-append #$output:pixbuf-loader path)))
(install-file old (dirname new))
(delete-file old)
(chmod new #o555)))
'("/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jxl.so"
"/share/thumbnailers/jxl.thumbnailer")))))))
(native-inputs
(list asciidoc doxygen googletest pkg-config python))
(list asciidoc
doxygen
googletest
pkg-config
python
(package-source sjpeg))) ;for sjpegi.h
(inputs
(list freeglut
gdk-pixbuf
@@ -3079,6 +3094,8 @@ Format) file format decoder and encoder.")
libpng
libwebp
openexr
sjpeg
skcms
zlib))
;; These are in Requires.private of libjxl.pc.
(propagated-inputs
+2 -14
View File
@@ -1362,21 +1362,9 @@ code prior to it getting merged into @code{go-cid}.")
(file-name (git-file-name name version))
(sha256
(base32 "00lwizzdfdx6kynxddal3all6q9dhwqanpkw0d0vxlwik4nkvxa5"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
;; XXX: 'delete-all-but' is copied from the turbovnc package.
;; Consider to implement it as re-usable procedure in
;; guix/build/utils or guix/build-system/go.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "ipfs")))))
#~(begin (delete-all-but "." "ipfs")))))
(build-system go-build-system)
(arguments
(list
+2 -2
View File
@@ -36,7 +36,7 @@
(define-public jemalloc
(package
(name "jemalloc")
(version "5.3.0")
(version "5.3.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -44,7 +44,7 @@
version "/jemalloc-" version ".tar.bz2"))
(sha256
(base32
"1apyxjd1ixy4g8xkr61p0ny8jiz8vyv1j0k4nxqkxpqrf4g2vf1d"))))
"14kgf0hs864hp5xxqfqh37l1d8wwg57h7wv28rffs8ig4f0bq9iq"))))
(build-system gnu-build-system)
(arguments
(list
+5 -5
View File
@@ -588,14 +588,11 @@ This package is part of the KDE multimedia module.")
(add-after 'install 'wrap-executable
(lambda _
(let* ((ffmpeg #$(this-package-input "ffmpeg"))
(frei0r #$(this-package-input "frei0r-plugins"))
(ladspa #$(this-package-input "ladspa"))
(qtbase #$(this-package-input "qtbase")))
(wrap-program (string-append #$output "/bin/kdenlive")
`("PATH" ":" prefix
,(list (string-append ffmpeg "/bin")))
`("FREI0R_PATH" ":" =
(,(string-append frei0r "/lib/frei0r-1")))
`("LADSPA_PATH" ":" =
(,(string-append ladspa "/lib/ladspa")))
`("QT_QPA_PLATFORM_PLUGIN_PATH" ":" =
@@ -603,13 +600,12 @@ This package is part of the KDE multimedia module.")
`("MLT_PREFIX" ":" =
(,#$(this-package-input "mlt"))))))))))
(native-inputs
(list extra-cmake-modules kdoctools pkg-config qttools))
(list extra-cmake-modules frei0r-api kdoctools pkg-config qttools))
(inputs
(list bash-minimal
breeze ; make dark theme available easily
breeze-icons ; recommended icon set
ffmpeg
frei0r-plugins
imath
karchive
kcrash
@@ -638,6 +634,10 @@ This package is part of the KDE multimedia module.")
qtsvg
qtwayland
shared-mime-info))
(native-search-paths
(list (search-path-specification
(variable "FREI0R_PATH")
(files (list "lib/frei0r-1")))))
(home-page "https://kdenlive.org")
(synopsis "Non-linear video editor")
(description "Kdenlive is an acronym for KDE Non-Linear Video Editor.
+3 -27
View File
@@ -92,16 +92,8 @@ tree for exported @acronym{CustomResourceDefinition, CRD} types.")
(file-name (git-file-name name version))
(sha256
(base32 "0d9rjyl5h0xm9isgr8b2fz8528wk3pds71rjl8g08fgsmsa5kicb"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet #~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
;; Replace symlinks to tests with file contents
(for-each
(lambda (f)
@@ -182,16 +174,8 @@ tree for exported @acronym{CustomResourceDefinition, CRD} types.")
(file-name (git-file-name name version))
(sha256
(base32 "0d9rjyl5h0xm9isgr8b2fz8528wk3pds71rjl8g08fgsmsa5kicb"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet #~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "server")
(rename-file "server" "server.tmp")
(mkdir-p "server/v3")
@@ -265,16 +249,8 @@ system.")
(file-name (git-file-name name version))
(sha256
(base32 "0d9rjyl5h0xm9isgr8b2fz8528wk3pds71rjl8g08fgsmsa5kicb"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet #~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "pkg")
(rename-file "pkg" "pkg.tmp")
(mkdir-p "pkg/v3")
+15 -15
View File
@@ -69,17 +69,6 @@
(search-patches "libcanberra-sound-theme-freedesktop.patch"
"libcanberra-wayland-crash.patch"))))
(build-system gnu-build-system)
(inputs
`(("alsa-lib" ,alsa-lib)
("gstreamer" ,gstreamer)
("gtk+" ,gtk+)
("libltdl" ,libltdl)
("libvorbis" ,libvorbis)
("pulseaudio" ,pulseaudio)
("udev" ,eudev)
("sound-theme-freedesktop" ,sound-theme-freedesktop)))
(native-inputs
(list pkg-config))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -87,10 +76,21 @@
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/sound-theme-spec.c"
(("@SOUND_THEME_DIRECTORY@")
(string-append
(assoc-ref inputs "sound-theme-freedesktop")
"/share")))
#t)))))
(dirname
(dirname
(search-input-directory inputs
"share/sounds/freedesktop"))))))))))
(inputs
(list alsa-lib
gstreamer
gtk+
libltdl
libvorbis
pulseaudio
eudev
sound-theme-freedesktop))
(native-inputs
(list pkg-config))
(home-page "https://0pointer.de/lennart/projects/libcanberra/")
(synopsis
"Implementation of the XDG Sound Theme and Name Specifications")
+82 -95
View File
@@ -86,6 +86,7 @@
;;; Copyright © 2025 Mathieu Laparie <mlaparie@disr.it>
;;; Copyright © 2025 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2025 Arjan Adriaanse <arjan@adriaan.se>
;;; Copyright © 2025 Dariqq <dariqq@posteo.net>
;;; Copyright © 2026 Justin Veilleux <terramorpha@cock.li>
;;; Copyright © 2026 Simen Endsjø <contact@simendsjo.me>
;;;
@@ -3036,57 +3037,45 @@ which need to be installed separately.")
(define-public linux-pam
(package
(name "linux-pam")
(version "1.5.2")
(version "1.7.2")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/linux-pam/linux-pam/releases/download/v"
version "/Linux-PAM-" version ".tar.xz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/linux-pam/linux-pam")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0kgrsj2scv5mx6w925h9hxf11jnqqs9z8s22aw94b90xm4qp3v74"))
"1z5apric696zsci28c7651spvdll0zrpfm9z574gcjf45mp22gmi"))
(patches (search-patches "linux-pam-unix_chkpwd.patch"
"linux-pam-no-setfsuid.patch"))))
(build-system gnu-build-system)
(build-system meson-build-system)
(outputs '("out" "doc")) ;; 0.8 MiB of html
(inputs (list libxcrypt))
(native-inputs
(list flex
;; TODO: optional dependencies
;; ("cracklib" ,cracklib)
))
(list gettext-minimal
flex bison
;; manpages
libxslt
libxml2
docbook-xml
docbook-xsl))
(arguments
(list
;; Most users, such as `shadow', expect the headers to be under
;; `security'.
#:configure-flags #~(list (string-append "--includedir="
(assoc-ref %outputs "out")
"/include/security")
;; explicit libdir for pkgconfig files
;; drop with 1.5.3, which fixes
;; https://github.com/linux-pam/linux-pam/issues/466
(string-append "--libdir="
(assoc-ref %outputs "out")
"/lib")
;; XXX: <rpc/rpc.h> is missing from glibc when
;; cross-compiling, so we have to disable NIS
;; support altogether.
#$@(if (%current-target-system)
#~("--disable-nis")
#~()))
#:phases (if (target-hurd?)
#~(modify-phases %standard-phases
(add-after 'unpack 'skip-pam-limits
(lambda _
;; 'pam_limits.c' uses <sys/prctl.h>, which is
;; Linux-specific. Skip it on GNU/Hurd.
(substitute* "modules/Makefile.in"
(("pam_limits") "")))))
#~%standard-phases)
#:configure-flags
#~(list
;; lastlog is deprecated since 1.5.3
"-Dpam_lastlog=enabled"
(string-append "-Dvendordir=" #$output "/share/pam")
(string-append "-Ddocbook-rng="
#$(let ((docbook-xml (this-package-native-input
"docbook-xml")))
(file-append docbook-xml
"/xml/docbook/"
(package-version docbook-xml)
"/rng/docbookxi.rng")))
(string-append "-Dhtmldir=" #$output:doc "/share/doc/" #$name "/html"))
;; XXX: Tests won't run in chroot, presumably because /etc/pam.d
;; isn't available.
#:tests? #f))
@@ -4561,7 +4550,7 @@ that the Ethernet protocol is much simpler than the IP protocol.")
(define-public iproute
(package
(name "iproute2")
(version "6.4.0")
(version "7.0.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -4569,7 +4558,7 @@ that the Ethernet protocol is much simpler than the IP protocol.")
version ".tar.xz"))
(sha256
(base32
"0wm2g70vfhnf8wb6py3zmzwxp4zv1icny1pvkwaxmr67rggbhlac"))))
"0kiggxwnjsglxnj43wqkc0rmq0acxf6xqcgk7ddc0qyynpvr0a76"))))
(build-system gnu-build-system)
(arguments
(list
@@ -4581,6 +4570,7 @@ that the Ethernet protocol is much simpler than the IP protocol.")
"HOSTCC=gcc"
(string-append "BASH_COMPDIR=" out
"/etc/bash_completion.d")
(string-append "PREFIX=" out)
(string-append "LIBDIR=" out "/lib")
(string-append "HDRDIR=" out "/include")
(string-append "SBINDIR=" out "/sbin")
@@ -4605,7 +4595,7 @@ that the Ethernet protocol is much simpler than the IP protocol.")
(substitute* "Makefile"
(("^.*ARPDDIR.*$") "")))))))
(inputs
(list bdb iptables libmnl))
(list bdb iptables libbpf libcap libelf libmnl libselinux libtirpc))
(native-inputs
(list bison flex pkg-config))
;; For tests.
@@ -4634,65 +4624,62 @@ inadequately in modern network environments, and both should be deprecated.")
(revision "0"))
(package
(name "net-tools")
(version (string-append "1.60-" revision "." (string-take commit 7)))
(source (origin
(method url-fetch)
(uri (string-append "https://sourceforge.net/code-snapshots/git/"
"n/ne/net-tools/code.git/net-tools-code-"
commit ".zip"))
(file-name (string-append name "-" version ".zip"))
(sha256
(base32
"0hz9fda9d78spp774b6rr5xaxav7cm4h0qcpxf70rvdbrf6qx7vy"))))
(version (string-append "1.60-" revision "."
(string-take commit 7)))
(source
(origin
(method url-fetch)
(uri (string-append "https://sourceforge.net/code-snapshots/git/"
"n/ne/net-tools/code.git/net-tools-code-" commit
".zip"))
(file-name (string-append name "-" version ".zip"))
(sha256
(base32 "0hz9fda9d78spp774b6rr5xaxav7cm4h0qcpxf70rvdbrf6qx7vy"))))
(home-page "https://net-tools.sourceforge.net/")
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
(list
;; Binaries that depend on libnet-tools.a don't declare that
;; dependency, making it parallel-unsafe.
#:parallel-build? #f
#:tests? #f ;no test suite
#:make-flags
#~(list #$(string-append "CC=" (cc-for-target))
(string-append "BASEDIR=" #$output)
(string-append "INSTALLNLSDIR=" #$output "/share/locale")
(string-append "mandir=/share/man"))
#:modules `((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1)
(srfi srfi-26))
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir-p (string-append out "/bin"))
(mkdir-p (string-append out "/sbin"))
#:phases
#~(modify-phases %standard-phases
(replace 'configure
(lambda _
(mkdir-p (string-append #$output "/bin"))
(mkdir-p (string-append #$output "/sbin"))
;; Pretend we have everything...
(system "yes | make config")
;; Pretend we have everything...
(system "yes | make config")
;; ... except for the things we don't have.
;; HAVE_AFDECnet requires libdnet, which we don't have.
;; HAVE_HWSTRIP and HAVE_HWTR require kernel headers
;; that have been removed.
;; XXX SELINUX and AFBLUETOOTH are removed for now, but we should
;; think about adding them later.
(substitute* '("config.make" "config.h")
(("^.*HAVE_(AFDECnet|HWSTRIP|HWTR|SELINUX|AFBLUETOOTH)[ =]1.*$")
""))
#t)))
(add-after 'install 'remove-redundant-commands
(lambda* (#:key outputs #:allow-other-keys)
;; Remove commands and man pages redundant with Inetutils.
(let* ((out (assoc-ref outputs "out"))
(dup (append-map (cut find-files out <>)
'("^hostname"
"^(yp|nis|dns)?domainname"))))
(for-each delete-file dup)
#t))))
;; Binaries that depend on libnet-tools.a don't declare that
;; dependency, making it parallel-unsafe.
#:parallel-build? #f
#:tests? #f ; no test suite
#:make-flags (let ((out (assoc-ref %outputs "out")))
(list ,(string-append "CC=" (cc-for-target))
(string-append "BASEDIR=" out)
(string-append "INSTALLNLSDIR=" out "/share/locale")
(string-append "mandir=/share/man")))))
(native-inputs `(("gettext" ,gettext-minimal)
("unzip" ,unzip)))
;; ... except for the things we don't have.
;; HAVE_AFDECnet requires libdnet, which we don't have.
;; HAVE_HWSTRIP and HAVE_HWTR require kernel headers
;; that have been removed.
;; XXX SELINUX and AFBLUETOOTH are removed for now, but we should
;; think about adding them later.
(substitute* '("config.make" "config.h")
(("^.*HAVE_(AFDECnet|HWSTRIP|HWTR|SELINUX|AFBLUETOOTH)[ =]1.*$")
""))))
(add-after 'install 'remove-redundant-commands
(lambda _
;; Remove commands and man pages redundant with Inetutils.
(for-each delete-file
(append-map (cute find-files #$output <>)
'("^hostname"
"^(yp|nis|dns)?domainname"))))))))
(native-inputs (list gettext-minimal unzip))
(supported-systems (remove target-hurd? %supported-systems))
(synopsis "Tools for controlling the network subsystem in Linux")
(description
+4 -14
View File
@@ -785,20 +785,10 @@ operating systems.")
(file-name (git-file-name name version))
(sha256
(base32 "1sg6ifabci7xyp3zds1w906vx6jsmyjlfr6bqld7m7hj07by9ndd"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "autosetup"
"mutt-gettext.tcl"
"mutt-iconv.tcl")))))
(modules '((guix build utils)))
(snippet #~(delete-all-but "autosetup"
"mutt-gettext.tcl"
"mutt-iconv.tcl"))))
(build-system gnu-build-system)
(inputs
(list cyrus-sasl
+60 -58
View File
@@ -3592,23 +3592,24 @@ can solve two kinds of problems:
(variable "CURLOPT_CAPATH")
(files '("etc/ssl/certs")))))
(arguments
`(#:configure-flags
(list (string-append "--with-shell="
(assoc-ref %build-inputs "bash")
"/bin/sh")
(list
#:configure-flags
#~(list (string-append "--with-shell="
(assoc-ref %build-inputs "bash")
"/bin/sh")
;; XXX: Without this flag, linking octave-cli fails with
;; undefined references to 'logf@GLIBCXX_3.4' et.al. due to
;; not pulling in liboctinterp.la for -lstdc++.
"--enable-link-all-dependencies")
#:phases
(modify-phases %standard-phases
(add-after 'configure 'configure-makeinfo
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "libinterp/corefcn/help.h"
(("\"makeinfo\"")
(string-append
"\"" (assoc-ref inputs "texinfo") "/bin/makeinfo\""))))))))
;; XXX: Without this flag, linking octave-cli fails with
;; undefined references to 'logf@GLIBCXX_3.4' et.al. due to
;; not pulling in liboctinterp.la for -lstdc++.
"--enable-link-all-dependencies")
#:phases
#~(modify-phases %standard-phases
(add-after 'configure 'configure-makeinfo
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "libinterp/corefcn/help.h"
(("\"makeinfo\"")
(format #f "~s"
(search-input-file inputs "bin/makeinfo")))))))))
(home-page "https://www.gnu.org/software/octave/")
(synopsis "High-level language for numerical computation (no GUI)")
(description "GNU Octave is a high-level interpreted language that is
@@ -5821,13 +5822,14 @@ software from KarypisLab, such as METIS.")
`((release-monitoring-url
. "http://glaros.dtc.umn.edu/gkhome/metis/metis/download")))
(build-system cmake-build-system)
(inputs
`(("blas" ,openblas)))
(arguments
`(#:tests? #f ;no tests
#:configure-flags `("-DSHARED=ON"
,(string-append "-DGKLIB_PATH=" (getcwd)
"/metis-" ,version "/GKlib"))))
(list
#:tests? #f ;no tests
#:configure-flags
#~(list "-DSHARED=ON"
(string-append "-DGKLIB_PATH="
(getcwd) "/metis-" #$version "/GKlib"))))
(inputs (list openblas))
(home-page "http://glaros.dtc.umn.edu/gkhome/metis/metis/overview")
(synopsis "Graph partitioning and fill-reducing matrix ordering library")
(description
@@ -7529,47 +7531,47 @@ factorization.")
#t))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no "check" target
#:make-flags
(list (string-append "CC=" ,(cc-for-target))
"TBB=-ltbb"
"MY_METIS_LIB=-lmetis"
(list
#:tests? #f ;no "check" target
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
"TBB=-ltbb"
"MY_METIS_LIB=-lmetis"
;; The default is to link against netlib lapack. Use OpenBLAS
;; instead.
"BLAS=-lopenblas" "LAPACK=-lopenblas"
;; The default is to link against netlib lapack. Use OpenBLAS
;; instead.
"BLAS=-lopenblas"
"LAPACK=-lopenblas"
;; Flags for cmake (required to build GraphBLAS and Mongoose)
(string-append "CMAKE_OPTIONS=-DCMAKE_INSTALL_PREFIX="
(assoc-ref %outputs "out")
" -DCMAKE_VERBOSE_MAKEFILE=ON"
" -DCMAKE_C_FLAGS_RELEASE=\"$(CFLAGS) $(CPPFLAGS)\""
" -DCMAKE_CXX_FLAGS_RELEASE=\"$(CXXFLAGS) $(CPPFLAGS)\""
" -DCMAKE_SKIP_RPATH=TRUE"
" -DCMAKE_BUILD_TYPE=Release"
" -DCMAKE_INSTALL_LIBDIR=lib")
(string-append "INSTALL_LIB="
(assoc-ref %outputs "out") "/lib")
(string-append "INSTALL_INCLUDE="
(assoc-ref %outputs "out") "/include")
"library")
#:phases
(modify-phases %standard-phases
,@(if (target-riscv64?)
;; GraphBLAS FTBFS on riscv64-linux
`((add-after 'unpack 'skip-graphblas
(lambda _
(substitute* "Makefile"
((".*cd GraphBLAS.*") "")
(("metisinstall gbinstall moninstall")
"metisinstall moninstall")))))
'())
(delete 'configure)))) ;no configure script
;; Flags for cmake (required to build GraphBLAS and Mongoose)
(string-append
"CMAKE_OPTIONS=-DCMAKE_INSTALL_PREFIX=" #$output
" -DCMAKE_VERBOSE_MAKEFILE=ON"
" -DCMAKE_C_FLAGS_RELEASE=\"$(CFLAGS) $(CPPFLAGS)\""
" -DCMAKE_CXX_FLAGS_RELEASE=\"$(CXXFLAGS) $(CPPFLAGS)\""
" -DCMAKE_SKIP_RPATH=TRUE"
" -DCMAKE_BUILD_TYPE=Release"
" -DCMAKE_INSTALL_LIBDIR=lib")
(string-append "INSTALL_LIB=" #$output "/lib")
(string-append "INSTALL_INCLUDE=" #$output "/include")
"library")
#:phases
#~(modify-phases %standard-phases
#$@(if (target-riscv64?)
;; GraphBLAS FTBFS on riscv64-linux
#~((add-after 'unpack 'skip-graphblas
(lambda _
(substitute* "Makefile"
((".*cd GraphBLAS.*")
"")
(("metisinstall gbinstall moninstall")
"metisinstall moninstall")))))
#~())
(delete 'configure)))) ;no configure script
(inputs
(list tbb openblas gmp mpfr metis))
(native-inputs
`(("cmake" ,cmake-minimal)
("m4" ,m4)))
(list cmake-minimal m4))
(home-page "https://faculty.cse.tamu.edu/davis/suitesparse.html")
(synopsis "Suite of sparse matrix software")
(description
+1 -10
View File
@@ -336,18 +336,9 @@ software vendors, application developers and computer science researchers.")
(uri (string-append "https://www.open-mpi.org/software/ompi/v"
(version-major+minor version)
"/downloads/openmpi-" version ".tar.bz2"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
'(begin
;; XXX: 'delete-all-but' is copied from the turbovnc package.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
;; Delete as many bundled libraries as permitted by the build
;; system.
(delete-all-but "3rd-party" "treematch" "Makefile.in" "Makefile.am")
+12 -16
View File
@@ -103,18 +103,6 @@
#t))))
(build-system gnu-build-system)
(inputs `(("ghostscript" ,ghostscript)
("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("libtiff" ,libtiff)
("libxml2" ,libxml2)
("xorg-rgb" ,xorg-rgb)
("zlib" ,zlib)))
(native-inputs
`(("flex" ,flex)
("perl" ,perl)
("pkg-config" ,pkg-config)
("python" ,python-wrapper)))
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
@@ -172,8 +160,7 @@
;; Skip tests that use nonfree programs that we don't build.
(("ps-alt-roundtrip.test") "" )
(("pbm-misc-converters.test") ""))
#t))
(("pbm-misc-converters.test") ""))))
(replace 'install
(lambda* (#:key outputs make-flags #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
@@ -190,8 +177,17 @@
(symlink
(match (find-files "." "^libnetpbm\\.so\\.[^.]*\\.[^.]*$")
((head _ ...) head))
"libnetpbm.so"))
#t)))))))
"libnetpbm.so")))))))))
(inputs
(list ghostscript
libjpeg-turbo
libpng
libtiff
libxml2
xorg-rgb
zlib))
(native-inputs
(list flex perl pkg-config python-wrapper))
(synopsis "Toolkit for manipulation of images")
(description
"Netpbm is a toolkit for the manipulation of graphic images, including
+4 -3
View File
@@ -103,7 +103,7 @@ in the Mozilla clients.")
(define-public nss
(package
(name "nss")
(version "3.101.4") ;update to latest ESR release
(version "3.112.5") ;update to latest ESR release
(source (origin
(method url-fetch)
(uri (let ((version-with-underscores
@@ -114,12 +114,13 @@ in the Mozilla clients.")
"nss-" version ".tar.gz")))
(sha256
(base32
"1sqvh49qi9vq55sbg42c5n0kz6w6ni383hgiyhaym6drsmbzb86a"))
"03chsv0bjd2fi8lab241grbyqd4blapll5lbrpraddpd5mc8rjx4"))
;; Create nss.pc and nss-config.
(patches (search-patches "nss-3.56-pkgconfig.patch"
"nss-getcwd-nonnull.patch"
"nss-increase-test-timeout.patch"
"nss-disable-broken-tests.patch"))
"nss-3.115-disable-broken-tests.patch"
"nss-3.115-disable-pkix-ocsp-tests.patch"))
(modules '((guix build utils)))
(snippet
'(begin
+26 -44
View File
@@ -40,42 +40,39 @@
(define-public libtirpc
(package
(name "libtirpc")
(version "1.3.1")
(version "1.3.7")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/libtirpc/libtirpc/"
version "/libtirpc-"
version ".tar.bz2"))
(patches (search-patches "libtirpc-CVE-2021-46828.patch"))
(patches (search-patches "libtirpc-hurd.patch"))
(sha256
(base32
"05zf16ilwwkzv4cccaac32nssrj3rg444n9pskiwbgk6y359an14"))))
"00n7cq5dggfknvyqr193c5qxlx0681n9l0fh0m5faj9mkp0klzdl"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--disable-static")
(list
#:configure-flags
#~(list "--disable-static"
;; When cross-building use the target system's krb5-config
#$@(if (%current-target-system)
#~((string-append "ac_cv_prog_KRB5_CONFIG="
#$(this-package-input "mit-krb5")
"/bin/krb5-config"))
'()))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'adjust-netconfig-reference
(lambda* (#:key outputs #:allow-other-keys)
(substitute* '("man/netconfig.5"
"man/getnetconfig.3t"
"man/getnetpath.3t"
"man/rpc.3t"
"src/getnetconfig.c"
"tirpc/netconfig.h")
(("/etc/netconfig") (string-append (assoc-ref outputs "out")
"/etc/netconfig")))))
,@(if (%current-target-system)
`((add-after 'unpack 'adjust-pkg-config
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "libtirpc.pc.in"
(("-ltirpc")
(string-append "-ltirpc"
" -L" (dirname (search-input-file
inputs "/lib/libkrb5.so"))
" -lkrb5"))))))
`()))))
(native-inputs (list mit-krb5)) ;; for cross-compilation
#~(modify-phases %standard-phases
(add-after 'unpack 'adjust-netconfig-reference
(lambda* (#:key outputs #:allow-other-keys)
(substitute* '("man/netconfig.5"
"man/getnetconfig.3t"
"man/getnetpath.3t"
"man/rpc.3t"
"src/getnetconfig.c"
"tirpc/netconfig.h")
(("/etc/netconfig") (string-append (assoc-ref outputs "out")
"/etc/netconfig"))))))))
(inputs (list mit-krb5))
(home-page "https://sourceforge.net/projects/libtirpc/")
(synopsis "Transport-independent Sun/ONC RPC implementation")
@@ -85,19 +82,8 @@ procedure calls) protocol in a transport-independent manner. It supports both
IPv4 and IPv6. ONC RPC is notably used by the network file system (NFS).")
(license bsd-3)))
(define-public libtirpc/hurd
(package/inherit libtirpc
(name "libtirpc-hurd")
(source (origin (inherit (package-source libtirpc))
(patches (search-patches "libtirpc-hurd.patch"
"libtirpc-CVE-2021-46828.patch"))))
(arguments
(substitute-keyword-arguments arguments
((#:configure-flags flags ''())
;; When cross-building the target system's krb5-config should be used.
#~(list (string-append "ac_cv_prog_KRB5_CONFIG="
#$(this-package-input "mit-krb5")
"/bin/krb5-config")))))))
;; XXX: Deprecated on 2026-05-26.
(define-deprecated-package libtirpc/hurd libtirpc)
(define-public rpcbind
(package
@@ -165,11 +151,7 @@ from the protocol files.")
(arguments
`(#:configure-flags '("--disable-static")))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("gettext" ,gettext-minimal)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(list autoconf automake gettext-minimal libtool pkg-config))
(inputs
(list libtirpc))
(synopsis "Public client interface for NIS(YP) and NIS+")
@@ -5,60 +5,74 @@ must be called when no other threads exist).
This fixes network functionality in rust:cargo, and probably removes the need
for other future workarounds.
===================================================================
--- curl-8.5.0.orig/lib/easy.c 2023-12-17 00:36:32.400468561 -0500
+++ curl-8.5.0/lib/easy.c 2023-12-17 00:39:08.898612331 -0500
@@ -137,6 +137,9 @@
Index: curl-8.19.0/lib/easy.c
===================================================================
--- curl-8.19.0.orig/lib/easy.c
+++ curl-8.19.0/lib/easy.c
@@ -117,6 +117,9 @@ curl_calloc_callback Curl_ccalloc = (cur
static char *leakpointer;
#endif
+char * Curl_ssl_cert_dir = NULL;
+char * Curl_ssl_cert_file = NULL;
+
/**
* curl_global_init() globally initializes curl given a bitwise set of the
* different features of what to initialize.
@@ -163,6 +166,9 @@
@@ -140,6 +143,9 @@ static CURLcode global_init(long flags,
goto fail;
}
+ Curl_ssl_cert_dir = curl_getenv("SSL_CERT_DIR");
+ Curl_ssl_cert_file = curl_getenv("SSL_CERT_FILE");
+
if(!Curl_ssl_init()) {
DEBUGF(fprintf(stderr, "Error: Curl_ssl_init failed\n"));
DEBUGF(curl_mfprintf(stderr, "Error: Curl_ssl_init failed\n"));
goto fail;
@@ -287,6 +293,9 @@
@@ -269,6 +275,9 @@ void curl_global_cleanup(void)
Curl_ssl_cleanup();
Curl_resolver_global_cleanup();
Curl_async_global_cleanup();
+ free(Curl_ssl_cert_dir);
+ free(Curl_ssl_cert_file);
+
#ifdef _WIN32
Curl_win32_cleanup(easy_init_flags);
#endif
diff -ur curl-7.66.0.orig/lib/url.c curl-7.66.0/lib/url.c
--- curl-7.66.0.orig/lib/url.c 2020-01-02 15:43:11.883921171 +0100
+++ curl-7.66.0/lib/url.c 2020-01-02 16:21:11.563880346 +0100
@@ -524,6 +524,21 @@
if(result)
return result;
Index: curl-8.19.0/lib/vtls/vtls.c
===================================================================
--- curl-8.19.0.orig/lib/vtls/vtls.c
+++ curl-8.19.0/lib/vtls/vtls.c
@@ -294,10 +294,8 @@ static void free_primary_ssl_config(stru
CURLcode Curl_ssl_easy_config_complete(struct Curl_easy *data)
{
struct ssl_config_data *sslc = &data->set.ssl;
-#if defined(CURL_CA_PATH) || defined(CURL_CA_BUNDLE)
struct UserDefined *set = &data->set;
CURLcode result;
-#endif
if(Curl_ssl_backend() != CURLSSLBACKEND_SCHANNEL) {
#if defined(USE_APPLE_SECTRUST) || defined(CURL_CA_NATIVE)
@@ -318,6 +316,21 @@ CURLcode Curl_ssl_easy_config_complete(s
return result;
}
#endif
+ extern char * Curl_ssl_cert_dir;
+ extern char * Curl_ssl_cert_file;
+ if(Curl_ssl_cert_dir) {
+ if(result = Curl_setstropt(&set->str[STRING_SSL_CAPATH], Curl_ssl_cert_dir))
+ return result;
+ if(result = Curl_setstropt(&set->str[STRING_SSL_CAPATH_PROXY], Curl_ssl_cert_dir))
+ return result;
+ if(result = Curl_setstropt(&set->str[STRING_SSL_CAPATH], Curl_ssl_cert_dir))
+ return result;
+ if(result = Curl_setstropt(&set->str[STRING_SSL_CAPATH_PROXY], Curl_ssl_cert_dir))
+ return result;
+ }
+
+ if(Curl_ssl_cert_file) {
+ if(result = Curl_setstropt(&set->str[STRING_SSL_CAFILE], Curl_ssl_cert_file))
+ return result;
+ if(result = Curl_setstropt(&set->str[STRING_SSL_CAFILE_PROXY], Curl_ssl_cert_file))
+ return result;
+ if(result = Curl_setstropt(&set->str[STRING_SSL_CAFILE], Curl_ssl_cert_file))
+ return result;
+ if(result = Curl_setstropt(&set->str[STRING_SSL_CAFILE_PROXY], Curl_ssl_cert_file))
+ return result;
+ }
}
set->wildcard_enabled = FALSE;
sslc->primary.CAfile = data->set.str[STRING_SSL_CAFILE];
sslc->primary.CRLfile = data->set.str[STRING_SSL_CRLFILE];
@@ -1,567 +0,0 @@
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-46828
https://nvd.nist.gov/vuln/detail/CVE-2021-46828
http://git.linux-nfs.org/?p=steved/libtirpc.git;a=commit;h=86529758570cef4c73fb9b9c4104fdc510f701ed
From 86529758570cef4c73fb9b9c4104fdc510f701ed Mon Sep 17 00:00:00 2001
From: Dai Ngo <dai.ngo@oracle.com>
Date: Sat, 21 Aug 2021 13:16:23 -0400
Subject: [PATCH] Fix DoS vulnerability in libtirpc
Currently svc_run does not handle poll timeout and rendezvous_request
does not handle EMFILE error returned from accept(2 as it used to.
These two missing functionality were removed by commit b2c9430f46c4.
The effect of not handling poll timeout allows idle TCP conections
to remain ESTABLISHED indefinitely. When the number of connections
reaches the limit of the open file descriptors (ulimit -n) then
accept(2) fails with EMFILE. Since there is no handling of EMFILE
error this causes svc_run() to get in a tight loop calling accept(2).
This resulting in the RPC service of svc_run is being down, it's
no longer able to service any requests.
RPC service rpcbind, statd and mountd are effected by this
problem.
Fix by enhancing rendezvous_request to keep the number of
SVCXPRT conections to 4/5 of the size of the file descriptor
table. When this thresold is reached, it destroys the idle
TCP connections or destroys the least active connection if
no idle connnction was found.
Fixes: 44bf15b8 rpcbind: don't use obsolete svc_fdset interface of libtirpc
Signed-off-by: dai.ngo@oracle.com
Signed-off-by: Steve Dickson <steved@redhat.com>
---
INSTALL | 371 +----------------------------------------------------------
src/svc.c | 17 ++-
src/svc_vc.c | 62 +++++++++-
3 files changed, 78 insertions(+), 372 deletions(-)
mode change 100644 => 120000 INSTALL
diff --git a/INSTALL b/INSTALL
deleted file mode 100644
index 2099840..0000000
--- a/INSTALL
+++ /dev/null
@@ -1,370 +0,0 @@
-Installation Instructions
-*************************
-
-Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
-Inc.
-
- Copying and distribution of this file, with or without modification,
-are permitted in any medium without royalty provided the copyright
-notice and this notice are preserved. This file is offered as-is,
-without warranty of any kind.
-
-Basic Installation
-==================
-
- Briefly, the shell command `./configure && make && make install'
-should configure, build, and install this package. The following
-more-detailed instructions are generic; see the `README' file for
-instructions specific to this package. Some packages provide this
-`INSTALL' file but do not implement all of the features documented
-below. The lack of an optional feature in a given package is not
-necessarily a bug. More recommendations for GNU packages can be found
-in *note Makefile Conventions: (standards)Makefile Conventions.
-
- The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation. It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions. Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, and a
-file `config.log' containing compiler output (useful mainly for
-debugging `configure').
-
- It can also use an optional file (typically called `config.cache'
-and enabled with `--cache-file=config.cache' or simply `-C') that saves
-the results of its tests to speed up reconfiguring. Caching is
-disabled by default to prevent problems with accidental use of stale
-cache files.
-
- If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
-be considered for the next release. If you are using the cache, and at
-some point `config.cache' contains results you don't want to keep, you
-may remove or edit it.
-
- The file `configure.ac' (or `configure.in') is used to create
-`configure' by a program called `autoconf'. You need `configure.ac' if
-you want to change it or regenerate `configure' using a newer version
-of `autoconf'.
-
- The simplest way to compile this package is:
-
- 1. `cd' to the directory containing the package's source code and type
- `./configure' to configure the package for your system.
-
- Running `configure' might take a while. While running, it prints
- some messages telling which features it is checking for.
-
- 2. Type `make' to compile the package.
-
- 3. Optionally, type `make check' to run any self-tests that come with
- the package, generally using the just-built uninstalled binaries.
-
- 4. Type `make install' to install the programs and any data files and
- documentation. When installing into a prefix owned by root, it is
- recommended that the package be configured and built as a regular
- user, and only the `make install' phase executed with root
- privileges.
-
- 5. Optionally, type `make installcheck' to repeat any self-tests, but
- this time using the binaries in their final installed location.
- This target does not install anything. Running this target as a
- regular user, particularly if the prior `make install' required
- root privileges, verifies that the installation completed
- correctly.
-
- 6. You can remove the program binaries and object files from the
- source code directory by typing `make clean'. To also remove the
- files that `configure' created (so you can compile the package for
- a different kind of computer), type `make distclean'. There is
- also a `make maintainer-clean' target, but that is intended mainly
- for the package's developers. If you use it, you may have to get
- all sorts of other programs in order to regenerate files that came
- with the distribution.
-
- 7. Often, you can also type `make uninstall' to remove the installed
- files again. In practice, not all packages have tested that
- uninstallation works correctly, even though it is required by the
- GNU Coding Standards.
-
- 8. Some packages, particularly those that use Automake, provide `make
- distcheck', which can by used by developers to test that all other
- targets like `make install' and `make uninstall' work correctly.
- This target is generally not run by end users.
-
-Compilers and Options
-=====================
-
- Some systems require unusual options for compilation or linking that
-the `configure' script does not know about. Run `./configure --help'
-for details on some of the pertinent environment variables.
-
- You can give `configure' initial values for configuration parameters
-by setting variables in the command line or in the environment. Here
-is an example:
-
- ./configure CC=c99 CFLAGS=-g LIBS=-lposix
-
- *Note Defining Variables::, for more details.
-
-Compiling For Multiple Architectures
-====================================
-
- You can compile the package for more than one kind of computer at the
-same time, by placing the object files for each architecture in their
-own directory. To do this, you can use GNU `make'. `cd' to the
-directory where you want the object files and executables to go and run
-the `configure' script. `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'. This
-is known as a "VPATH" build.
-
- With a non-GNU `make', it is safer to compile the package for one
-architecture at a time in the source code directory. After you have
-installed the package for one architecture, use `make distclean' before
-reconfiguring for another architecture.
-
- On MacOS X 10.5 and later systems, you can create libraries and
-executables that work on multiple system types--known as "fat" or
-"universal" binaries--by specifying multiple `-arch' options to the
-compiler but only a single `-arch' option to the preprocessor. Like
-this:
-
- ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
- CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
- CPP="gcc -E" CXXCPP="g++ -E"
-
- This is not guaranteed to produce working output in all cases, you
-may have to build one architecture at a time and combine the results
-using the `lipo' tool if you have problems.
-
-Installation Names
-==================
-
- By default, `make install' installs the package's commands under
-`/usr/local/bin', include files under `/usr/local/include', etc. You
-can specify an installation prefix other than `/usr/local' by giving
-`configure' the option `--prefix=PREFIX', where PREFIX must be an
-absolute file name.
-
- You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files. If you
-pass the option `--exec-prefix=PREFIX' to `configure', the package uses
-PREFIX as the prefix for installing programs and libraries.
-Documentation and other data files still use the regular prefix.
-
- In addition, if you use an unusual directory layout you can give
-options like `--bindir=DIR' to specify different values for particular
-kinds of files. Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them. In general, the
-default for these options is expressed in terms of `${prefix}', so that
-specifying just `--prefix' will affect all of the other directory
-specifications that were not explicitly provided.
-
- The most portable way to affect installation locations is to pass the
-correct locations to `configure'; however, many packages provide one or
-both of the following shortcuts of passing variable assignments to the
-`make install' command line to change installation locations without
-having to reconfigure or recompile.
-
- The first method involves providing an override variable for each
-affected directory. For example, `make install
-prefix=/alternate/directory' will choose an alternate location for all
-directory configuration variables that were expressed in terms of
-`${prefix}'. Any directories that were specified during `configure',
-but not in terms of `${prefix}', must each be overridden at install
-time for the entire installation to be relocated. The approach of
-makefile variable overrides for each directory variable is required by
-the GNU Coding Standards, and ideally causes no recompilation.
-However, some platforms have known limitations with the semantics of
-shared libraries that end up requiring recompilation when using this
-method, particularly noticeable in packages that use GNU Libtool.
-
- The second method involves providing the `DESTDIR' variable. For
-example, `make install DESTDIR=/alternate/directory' will prepend
-`/alternate/directory' before all installation names. The approach of
-`DESTDIR' overrides is not required by the GNU Coding Standards, and
-does not work on platforms that have drive letters. On the other hand,
-it does better at avoiding recompilation issues, and works well even
-when some directory options were not specified in terms of `${prefix}'
-at `configure' time.
-
-Optional Features
-=================
-
- If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
- Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System). The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
- For packages that use the X Window System, `configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
-
- Some packages offer the ability to configure how verbose the
-execution of `make' will be. For these packages, running `./configure
---enable-silent-rules' sets the default to minimal output, which can be
-overridden with `make V=1'; while running `./configure
---disable-silent-rules' sets the default to verbose, which can be
-overridden with `make V=0'.
-
-Particular systems
-==================
-
- On HP-UX, the default C compiler is not ANSI C compatible. If GNU
-CC is not installed, it is recommended to use the following options in
-order to use an ANSI C compiler:
-
- ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
-
-and if that doesn't work, install pre-built binaries of GCC for HP-UX.
-
- HP-UX `make' updates targets which have the same time stamps as
-their prerequisites, which makes it generally unusable when shipped
-generated files such as `configure' are involved. Use GNU `make'
-instead.
-
- On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
-parse its `<wchar.h>' header file. The option `-nodtk' can be used as
-a workaround. If GNU CC is not installed, it is therefore recommended
-to try
-
- ./configure CC="cc"
-
-and if that doesn't work, try
-
- ./configure CC="cc -nodtk"
-
- On Solaris, don't put `/usr/ucb' early in your `PATH'. This
-directory contains several dysfunctional programs; working variants of
-these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
-in your `PATH', put it _after_ `/usr/bin'.
-
- On Haiku, software installed for all users goes in `/boot/common',
-not `/usr/local'. It is recommended to use the following options:
-
- ./configure --prefix=/boot/common
-
-Specifying the System Type
-==========================
-
- There may be some features `configure' cannot figure out
-automatically, but needs to determine by the type of machine the package
-will run on. Usually, assuming the package is built to be run on the
-_same_ architectures, `configure' can figure that out, but if it prints
-a message saying it cannot guess the machine type, give it the
-`--build=TYPE' option. TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name which has the form:
-
- CPU-COMPANY-SYSTEM
-
-where SYSTEM can have one of these forms:
-
- OS
- KERNEL-OS
-
- See the file `config.sub' for the possible values of each field. If
-`config.sub' isn't included in this package, then this package doesn't
-need to know the machine type.
-
- If you are _building_ compiler tools for cross-compiling, you should
-use the option `--target=TYPE' to select the type of system they will
-produce code for.
-
- If you want to _use_ a cross compiler, that generates code for a
-platform different from the build platform, you should specify the
-"host" platform (i.e., that on which the generated programs will
-eventually be run) with `--host=TYPE'.
-
-Sharing Defaults
-================
-
- If you want to set default values for `configure' scripts to share,
-you can create a site shell script called `config.site' that gives
-default values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists. Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
-
-Defining Variables
-==================
-
- Variables not defined in a site shell script can be set in the
-environment passed to `configure'. However, some packages may run
-configure again during the build, and the customized values of these
-variables may be lost. In order to avoid this problem, you should set
-them in the `configure' command line, using `VAR=value'. For example:
-
- ./configure CC=/usr/local2/bin/gcc
-
-causes the specified `gcc' to be used as the C compiler (unless it is
-overridden in the site shell script).
-
-Unfortunately, this technique does not work for `CONFIG_SHELL' due to
-an Autoconf limitation. Until the limitation is lifted, you can use
-this workaround:
-
- CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
-
-`configure' Invocation
-======================
-
- `configure' recognizes the following options to control how it
-operates.
-
-`--help'
-`-h'
- Print a summary of all of the options to `configure', and exit.
-
-`--help=short'
-`--help=recursive'
- Print a summary of the options unique to this package's
- `configure', and exit. The `short' variant lists options used
- only in the top level, while the `recursive' variant lists options
- also present in any nested packages.
-
-`--version'
-`-V'
- Print the version of Autoconf used to generate the `configure'
- script, and exit.
-
-`--cache-file=FILE'
- Enable the cache: use and save the results of the tests in FILE,
- traditionally `config.cache'. FILE defaults to `/dev/null' to
- disable caching.
-
-`--config-cache'
-`-C'
- Alias for `--cache-file=config.cache'.
-
-`--quiet'
-`--silent'
-`-q'
- Do not print messages saying which checks are being made. To
- suppress all normal output, redirect it to `/dev/null' (any error
- messages will still be shown).
-
-`--srcdir=DIR'
- Look for the package's source code in directory DIR. Usually
- `configure' can determine that directory automatically.
-
-`--prefix=DIR'
- Use DIR as the installation prefix. *note Installation Names::
- for more details, including other options available for fine-tuning
- the installation locations.
-
-`--no-create'
-`-n'
- Run the configure checks, but stop before creating any output
- files.
-
-`configure' also accepts some other, not widely useful, options. Run
-`configure --help' for more details.
diff --git a/INSTALL b/INSTALL
new file mode 120000
index 0000000..e3f22c0
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1 @@
+/usr/share/automake-1.16/INSTALL
\ No newline at end of file
diff --git a/src/svc.c b/src/svc.c
index 6db164b..3a8709f 100644
--- a/src/svc.c
+++ b/src/svc.c
@@ -57,7 +57,7 @@
#define max(a, b) (a > b ? a : b)
-static SVCXPRT **__svc_xports;
+SVCXPRT **__svc_xports;
int __svc_maxrec;
/*
@@ -194,6 +194,21 @@ __xprt_do_unregister (xprt, dolock)
rwlock_unlock (&svc_fd_lock);
}
+int
+svc_open_fds()
+{
+ int ix;
+ int nfds = 0;
+
+ rwlock_rdlock (&svc_fd_lock);
+ for (ix = 0; ix < svc_max_pollfd; ++ix) {
+ if (svc_pollfd[ix].fd != -1)
+ nfds++;
+ }
+ rwlock_unlock (&svc_fd_lock);
+ return (nfds);
+}
+
/*
* Add a service program to the callout list.
* The dispatch routine will be called when a rpc request for this
diff --git a/src/svc_vc.c b/src/svc_vc.c
index f1d9f00..3dc8a75 100644
--- a/src/svc_vc.c
+++ b/src/svc_vc.c
@@ -64,6 +64,8 @@
extern rwlock_t svc_fd_lock;
+extern SVCXPRT **__svc_xports;
+extern int svc_open_fds();
static SVCXPRT *makefd_xprt(int, u_int, u_int);
static bool_t rendezvous_request(SVCXPRT *, struct rpc_msg *);
@@ -82,6 +84,7 @@ static void svc_vc_ops(SVCXPRT *);
static bool_t svc_vc_control(SVCXPRT *xprt, const u_int rq, void *in);
static bool_t svc_vc_rendezvous_control (SVCXPRT *xprt, const u_int rq,
void *in);
+static int __svc_destroy_idle(int timeout);
struct cf_rendezvous { /* kept in xprt->xp_p1 for rendezvouser */
u_int sendsize;
@@ -313,13 +316,14 @@ done:
return (xprt);
}
+
/*ARGSUSED*/
static bool_t
rendezvous_request(xprt, msg)
SVCXPRT *xprt;
struct rpc_msg *msg;
{
- int sock, flags;
+ int sock, flags, nfds, cnt;
struct cf_rendezvous *r;
struct cf_conn *cd;
struct sockaddr_storage addr;
@@ -379,6 +383,16 @@ again:
gettimeofday(&cd->last_recv_time, NULL);
+ nfds = svc_open_fds();
+ if (nfds >= (_rpc_dtablesize() / 5) * 4) {
+ /* destroy idle connections */
+ cnt = __svc_destroy_idle(15);
+ if (cnt == 0) {
+ /* destroy least active */
+ __svc_destroy_idle(0);
+ }
+ }
+
return (FALSE); /* there is never an rpc msg to be processed */
}
@@ -820,3 +834,49 @@ __svc_clean_idle(fd_set *fds, int timeout, bool_t cleanblock)
{
return FALSE;
}
+
+static int
+__svc_destroy_idle(int timeout)
+{
+ int i, ncleaned = 0;
+ SVCXPRT *xprt, *least_active;
+ struct timeval tv, tdiff, tmax;
+ struct cf_conn *cd;
+
+ gettimeofday(&tv, NULL);
+ tmax.tv_sec = tmax.tv_usec = 0;
+ least_active = NULL;
+ rwlock_wrlock(&svc_fd_lock);
+
+ for (i = 0; i <= svc_max_pollfd; i++) {
+ if (svc_pollfd[i].fd == -1)
+ continue;
+ xprt = __svc_xports[i];
+ if (xprt == NULL || xprt->xp_ops == NULL ||
+ xprt->xp_ops->xp_recv != svc_vc_recv)
+ continue;
+ cd = (struct cf_conn *)xprt->xp_p1;
+ if (!cd->nonblock)
+ continue;
+ if (timeout == 0) {
+ timersub(&tv, &cd->last_recv_time, &tdiff);
+ if (timercmp(&tdiff, &tmax, >)) {
+ tmax = tdiff;
+ least_active = xprt;
+ }
+ continue;
+ }
+ if (tv.tv_sec - cd->last_recv_time.tv_sec > timeout) {
+ __xprt_unregister_unlocked(xprt);
+ __svc_vc_dodestroy(xprt);
+ ncleaned++;
+ }
+ }
+ if (timeout == 0 && least_active != NULL) {
+ __xprt_unregister_unlocked(least_active);
+ __svc_vc_dodestroy(least_active);
+ ncleaned++;
+ }
+ rwlock_unlock(&svc_fd_lock);
+ return (ncleaned);
+}
--
1.8.3.1
+111 -43
View File
@@ -1,10 +1,10 @@
This is a combination of two patches:
This is a combination of three patches:
1) Taken from https://salsa.debian.org/debian/libtirpc/-/raw/master/debian/patches/03-kfreebsd.diff
Description: Fix build on non Linux architectures
Author: Andreas Beckmann <anbe@debian.org>
Last-Update: 2019-09-01
Last-Update: 2025-03-17
2) Taken from https://salsa.debian.org/debian/libtirpc/-/raw/master/debian/patches/05-hurd-port.diff
@@ -13,10 +13,39 @@ Description: Get source building on Hurd
- Define MAXHOSTNAMELEN to 64 if missing.
- Bind sockets on Hurd like on Linux.
Author: Petter Reinholdtsen <pere@hungry.com>
Last-Update: 2025-03-17
3) Taken from https://salsa.debian.org/debian/libtirpc/-/raw/master/debian/patches/06-hurd-client-port.diff
Description: Fix client code for hurd, avoiding malloc overflow
When trying to setup a inet connection, it happens the following:
- in libtirp, src/clnt_vc.c, clnt_vc_create gets called
- when trying to allocate vc_fd_locks, __rpc_dtbsize() is used as size
for that array of fd locks
- __rpc_dtbsize(), in src/rpc_generic.c, queries using rlimit the
maximum (rlim_max) number of file descriptors (RLIMIT_NOFILE):
- on Linux, the default is { rlim_cur = 1024, rlim_max = 4096 }
- on kFreeBSD, the default is { rlim_cur = 1024, rlim_max = 1024 }
- on Hurd, the default is { rlim_cur = 1024, rlim_max = RLIM_INFINITY }
meaning that on Hurd the memory allocation fails (as
__rpc_dtbsize() * sizeof(int) overflows and is negative)
Change libtiprc so __rpc_dtbsize falls back on rlim_cur if rlim_max
is unlimited.
This patch fixes the client connection using inet sockets; local unix
sockets are not working, for two reasons so far:
- getpeername on them gives EOPNOTSUPP
- SO_REUSEADDR is not implemented for them
Author: Pino Toscano <pino@debian.org>
Bug-Debian: http://bugs.debian.org/739674
Last-Update: 2020-03-03
--- a/src/svc_dg.c
+++ b/src/svc_dg.c
@@ -648,6 +648,7 @@
@@ -650,6 +650,7 @@
void
svc_dg_enable_pktinfo(int fd, const struct __rpc_sockinfo *si)
{
@@ -24,7 +53,7 @@ Author: Petter Reinholdtsen <pere@hungry.com>
int val = 1;
switch (si->si_af) {
@@ -660,6 +661,7 @@
@@ -662,6 +663,7 @@
break;
#endif
}
@@ -32,7 +61,7 @@ Author: Petter Reinholdtsen <pere@hungry.com>
}
/*
@@ -670,6 +672,7 @@
@@ -672,6 +674,7 @@
int
svc_dg_valid_pktinfo(struct msghdr *msg)
{
@@ -40,7 +69,7 @@ Author: Petter Reinholdtsen <pere@hungry.com>
struct cmsghdr *cmsg;
if (!msg->msg_name)
@@ -716,4 +719,7 @@
@@ -718,4 +721,7 @@
}
return 1;
@@ -50,7 +79,7 @@ Author: Petter Reinholdtsen <pere@hungry.com>
}
--- a/src/clnt_vc.c
+++ b/src/clnt_vc.c
@@ -71,10 +71,12 @@
@@ -76,10 +76,12 @@
#define MCALL_MSG_SIZE 24
#define CMGROUP_MAX 16
@@ -64,7 +93,7 @@ Author: Petter Reinholdtsen <pere@hungry.com>
/*
* Credentials structure, used to verify the identity of a peer
* process that has sent us a message. This is allocated by the
@@ -90,6 +92,7 @@
@@ -95,6 +97,7 @@
short cmcred_ngroups; /* number or groups */
gid_t cmcred_groups[CMGROUP_MAX]; /* groups */
};
@@ -74,30 +103,18 @@ Author: Petter Reinholdtsen <pere@hungry.com>
struct cmsghdr cmsg;
--- a/src/getpeereid.c
+++ b/src/getpeereid.c
@@ -25,9 +25,14 @@
*/
+#include "config.h"
+
@@ -31,6 +31,7 @@
#include <sys/param.h>
#include <sys/socket.h>
#include <sys/un.h>
+#ifdef HAVE_SYS_USER_H
+# include <sys/user.h>
+#endif /* HAVE_SYS_USER_H */
+#include <sys/user.h>
#include <errno.h>
#include <unistd.h>
--- a/src/getpeereid.c
+++ b/src/getpeereid.c
@@ -35,12 +36,25 @@
@@ -40,12 +41,22 @@
int
getpeereid(int s, uid_t *euid, gid_t *egid)
{
+#ifndef HAVE_SYS_USER_H
+ return(-1);
+#else
+#ifdef XUCRED_VERSION
+ struct xucred uc;
+#define uid cr_uid
@@ -117,34 +134,17 @@ Author: Petter Reinholdtsen <pere@hungry.com>
if (error != 0)
return (error);
// if (uc.cr_version != XUCRED_VERSION)
@@ -59,4 +66,5 @@
*euid = uc.uid;
*egid = uc.gid;
return (0);
+#endif /* HAVE_SYS_USER_H */
}
--- a/tirpc/reentrant.h
+++ b/tirpc/reentrant.h
@@ -36,7 +36,7 @@
@@ -36,6 +36,6 @@
* These definitions are only guaranteed to be valid on Linux.
*/
-#if defined(__linux__)
-#if defined(__linux__) || defined(__APPLE__)
+#if defined(__linux__) || defined(__GLIBC__)
#include <pthread.h>
--- a/configure.ac
+++ b/configure.ac
@@ -93,7 +93,7 @@
AC_PROG_LIBTOOL
AC_HEADER_DIRENT
AC_PREFIX_DEFAULT(/usr)
-AC_CHECK_HEADERS([arpa/inet.h fcntl.h libintl.h limits.h locale.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h syslog.h unistd.h features.h gssapi/gssapi_ext.h])
+AC_CHECK_HEADERS([arpa/inet.h fcntl.h libintl.h limits.h locale.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h syslog.h unistd.h features.h gssapi/gssapi_ext.h sys/user.h])
AC_CHECK_LIB([pthread], [pthread_create])
AC_CHECK_FUNCS([getrpcbyname getrpcbynumber setrpcent endrpcent getrpcent])
--- a/src/auth_unix.c
+++ b/src/auth_unix.c
@@ -56,6 +56,11 @@
@@ -170,3 +170,71 @@ Author: Petter Reinholdtsen <pere@hungry.com>
#define STARTPORT 600
#define LOWPORT 512
--- a/src/getpeereid.c
+++ b/src/getpeereid.c
@@ -28,10 +28,14 @@
#include "config.h"
#endif
+#include "config.h"
+
#include <sys/param.h>
#include <sys/socket.h>
#include <sys/un.h>
-#include <sys/user.h>
+#ifdef HAVE_SYS_USER_H
+# include <sys/user.h>
+#endif /* HAVE_SYS_USER_H */
#include <errno.h>
#include <unistd.h>
@@ -41,6 +45,9 @@
int
getpeereid(int s, uid_t *euid, gid_t *egid)
{
+#ifndef HAVE_SYS_USER_H
+ return(-1);
+#else
#ifdef XUCRED_VERSION
struct xucred uc;
#define uid cr_uid
@@ -64,6 +71,7 @@
*euid = uc.uid;
*egid = uc.gid;
return (0);
+#endif /* HAVE_SYS_USER_H */
}
#endif
--- a/configure.ac
+++ b/configure.ac
@@ -200,7 +200,7 @@
AC_CHECK_HEADERS([arpa/inet.h fcntl.h libintl.h limits.h locale.h
netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h sys/ioctl.h
sys/param.h sys/socket.h sys/time.h syslog.h unistd.h features.h
-gssapi/gssapi_ext.h endian.h machine/endian.h])
+gssapi/gssapi_ext.h endian.h machine/endian.h sys/user.h])
AX_PTHREAD
AC_CHECK_FUNCS([getpeereid getrpcbyname getrpcbynumber setrpcent endrpcent getrpcent])
--- a/src/rpc_generic.c
+++ b/src/rpc_generic.c
@@ -107,12 +107,17 @@
{
static int tbsize;
struct rlimit rl;
+ rlim_t lim;
if (tbsize) {
return (tbsize);
}
if (getrlimit(RLIMIT_NOFILE, &rl) == 0) {
- return (tbsize = (int)rl.rlim_cur);
+ lim = rl.rlim_max;
+ if (lim == RLIM_INFINITY) {
+ lim = rl.rlim_cur;
+ }
+ return (tbsize = (int)lim);
}
/*
* Something wrong. I'll try to save face by returning a
@@ -2,8 +2,14 @@ unix_chkpwd is designed to have a suid bit, but it's not possible to set it
for files in the store. This patch tells unix_pam.so to look for
unix_chkpwd in setuid program directory on Guix System.
--- a/modules/pam_unix/Makefile.in
+++ b/modules/pam_unix/Makefile.in
@@ -651,1 +651,1 @@
- -DCHKPWD_HELPER=\"$(sbindir)/unix_chkpwd\" \
+ -DCHKPWD_HELPER=\"/run/setuid-programs/unix_chkpwd\" \
--- a/modules/module-meson.build
+++ b/modules/module-meson.build
@@ -114,7 +114,7 @@ if module == 'pam_unix'
if enable_nis
pam_module_src += ['yppasswd_xdr.c']
endif
- pam_module_c_args += ['-DCHKPWD_HELPER="@0@"'.format(sbindir / 'unix_chkpwd'),
+ pam_module_c_args += ['-DCHKPWD_HELPER="@0@"'.format('/run/privileged/bin' / 'unix_chkpwd'),
'-DUPDATE_HELPER="@0@"'.format(sbindir / 'unix_update')]
pam_module_deps += [libcrypt, libselinux, libtirpc, libnsl]
endif
@@ -1,33 +0,0 @@
These tests are broken in 3.101.3.
See https://bugzilla.mozilla.org/show_bug.cgi?id=1964304
--- nss-3.101.3/nss/tests/tools/tools.sh 1969-12-31 16:00:01.000000000 -0800
+++ nss-3.101.3/nss/tests/tools/tools.sh 2025-05-05 16:36:47.835447542 -0700
@@ -540,26 +540,6 @@
ret=$?
html_msg $ret 0 "Importing private key pbmac1 hmac-sha-512 from PKCS#12 file"
check_tmpfile
-
- echo "${BINDIR}/pk12util -l ${TOOLSDIR}/data/pbmac1-invalid-bad-iter.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -W '1234'"
- ${BINDIR}/pk12util -l ${TOOLSDIR}/data/pbmac1-invalid-bad-iter.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -W '1234' 2>&1
- ret=$?
- html_msg $ret 19 "Fail to list private key with bad iterator"
- check_tmpfile
-
- echo "${BINDIR}/pk12util -l ${TOOLSDIR}/data/pbmac1-invalid-bad-salt.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -W '1234'"
- ${BINDIR}/pk12util -l ${TOOLSDIR}/data/pbmac1-invalid-bad-salt.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -W '1234' 2>&1
- ret=$?
- echo "Fail to list private key with bad salt val=$ret"
- html_msg $ret 19 "Fail to import private key with bad salt"
- check_tmpfile
-
- echo "${BINDIR}/pk12util -l ${TOOLSDIR}/data/pbmac1-invalid-no-length.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -W '1234'"
- ${BINDIR}/pk12util -l ${TOOLSDIR}/data/pbmac1-invalid-no-length.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -W '1234' 2>&1
- ret=$?
- echo "Fail to import private key with no length val=$ret"
- html_msg $ret 19 "Fail to import private key with no length"
- check_tmpfile
}
############################## tools_p12 ###############################
+1 -1
View File
@@ -6658,7 +6658,7 @@ a safe way.")
(base32
"0y70qh5kn2hyrrvbsfhg0iws2qggk5vkpz37f7rbd5rd9cjc57dp"))))
(build-system perl-build-system)
(native-inputs `(("test-script" ,perl-test-script)))
(native-inputs (list perl-test-script))
(synopsis "Portable implementation of the `which' utility")
(description
"File::Which was created to be able to get the paths to executable
+3 -18
View File
@@ -107,24 +107,9 @@ data in motion, or as a file format for data at rest.")
(uri (git-reference
(url "https://github.com/protocolbuffers/protobuf/")
(commit (string-append "v" version))))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(begin
;; XXX: 'delete-all-but' is copied from the turbovnc package.
(define (delete-all-but directory . preserve)
(define (directory? x)
(and=> (stat x #f)
(compose (cut eq? 'directory <>) stat:type)))
(with-directory-excursion directory
(let* ((pred
(negate (cut member <> (append '("." "..") preserve))))
(items (scandir "." pred)))
(for-each delete-file-recursively items))))
;; "utf8_range" development now takes place in main protobuf
;; repository.
(delete-all-but "third_party" "utf8_range")))
(modules '((guix build utils)))
;; "utf8_range" development now takes place in main protobuf repository.
(snippet #~(delete-all-but "third_party" "utf8_range"))
(file-name (git-file-name name version))
(sha256
(base32 "1rdxm75bqwjj4qd3hz4vlydra6bw5dq391kwln2q0pjfx9gbrjhk"))))
+9 -21
View File
@@ -5005,26 +5005,11 @@ readable.")
(base32 "1m6h6m0vm8vdx2nk26nvlbyfvlj0g9ph8cdh38258gn18fd2db0l"))
(patches
(search-patches "python-vaex-core-fix-tsl-use.patch"))
(modules '((guix build utils)
(ice-9 ftw)))
(snippet
#~(begin
;; Delete everything except for vaex-core itself:
(define (delete-except exception)
(lambda (file)
(unless (member file `("." ".." ,exception))
(delete-file-recursively file))))
(for-each (delete-except "packages") (scandir "."))
(with-directory-excursion "packages"
(for-each (delete-except "vaex-core") (scandir ".")))
(for-each (lambda (file)
(unless (member file '("." ".."))
(rename-file
(string-append "packages/vaex-core/" file)
file)))
(scandir "packages/vaex-core"))
(delete-file-recursively "packages")
(delete-file-recursively "vendor")))))
(modules '((guix build utils)))
(snippet #~(begin
(delete-all-but "." "packages")
(delete-all-but "packages" "vaex-core")
(delete-file-recursively "packages/vaex-core/vendor")))))
(build-system pyproject-build-system)
(arguments
(list
@@ -5033,7 +5018,10 @@ readable.")
#:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
(add-after 'unpack 'chdir
(lambda _
(chdir "packages/vaex-core")))
(add-after 'chdir 'relax-requirements
(lambda _
(substitute* "setup.py"
;; "dask!=2022.4.0,<2024.9"; there is a note "fingerprinting
+93 -88
View File
@@ -132,99 +132,104 @@ both WSD and eSCL.")
(("asctime \\(localtime \\(&current_time\\)\\)")
"\"1970-01-01\""))))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("autoconf-archive" ,autoconf-archive)
("automake" ,automake)
("gettext" ,gettext-minimal)
("libtool" ,libtool)
("pkg-config" ,pkg-config)
;; For scripts/pixma_gen_options.py.
("python" ,python-wrapper)))
(inputs
(list libusb))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'bootstrap 'zap-unnecessary-git-dependency
(lambda _
;; This runs before default patch-shebangs phase.
(substitute* "tools/git-version-gen"
(("/bin/sh") (which "sh")))
(with-output-to-file ".tarball-version"
(lambda _ (format #t ,version)))))
(add-before 'configure 'disable-backends
(lambda _
(setenv "BACKENDS" " ")
;; Disable tests that may require back ends to be built.
(substitute* "testsuite/Makefile.in"
((" backend ") " "))))
(add-before 'configure 'disable-failing-tests
(lambda _
;; Disable unmaintained tests that that fail with errors resembling:
;;
;; < # by sane-desc 3.5 from sane-backends 1.0.24git on Jul 31 2013
;; ---
;; > # by sane-desc 3.5 from sane-backends 1.0.27 on 1970-01-01#
;; FAIL: sane-desc -m usermap -s ./data
(for-each
(lambda (pattern)
(substitute* "testsuite/tools/Makefile.in"
(((string-append " " pattern " ")) " ")))
(list "usermap" "db" "udev" "udev\\+acl" "udev\\+hwdb" "hwdb"))
;; Disable tests that try to connect to actual USB hardware & fail
;; with the following error when no USB access is allowed at all:
;;
;; sanei_usb_test: sanei_usb_test.c:849: main: Assertion
;; `test_init (1)' failed.
(substitute* "testsuite/sanei/Makefile.in"
(("sanei_usb_test\\$\\(EXEEXT\\) ") ""))))
(add-before 'build 'build-pixma_sane_options.c
;; "No rule to make target '../backend/pixma/pixma_sane_options.c',
;; needed by 'sane-backends.pot-update'."
(lambda _
(invoke "make" "-C" "backend" "pixma/pixma_sane_options.c")))
(add-after 'install 'install-udev-rules
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir-p (string-append out "/lib/udev/rules.d"))
(copy-file "tools/udev/libsane.rules"
(string-append out
"/lib/udev/rules.d/"
"60-libsane.rules")))))
(add-after 'install 'remove-dll.conf
(lambda _
;; dll.conf lists enabled backends, so it should be removed as
;; there are none in this package
(delete-file (string-append %output "/etc/sane.d/dll.conf"))))
(add-after 'install 'make-reproducible
;; XXX Work around an old bug <https://issues.guix.gnu.org/26247>.
;; Then work around "Throw to key `decoding-error' ..." by using sed.
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(locale (string-append out "/share/locale")))
(with-directory-excursion locale
(for-each (lambda (file)
(invoke "sed" "-i" "/^PO-Revision-Date:/d" file))
(list "en@boldquot/LC_MESSAGES/sane-backends.mo"
"en@quot/LC_MESSAGES/sane-backends.mo")))))))))
(native-search-paths
(list
(search-path-specification
(variable "SANE_CONFIG_DIR")
(files '("etc/sane.d")))
(search-path-specification
(variable "SANE_BACKEND_LIB_PATH")
(files '("lib/sane")))))
#:phases
#~(modify-phases %standard-phases
(add-before 'bootstrap 'zap-unnecessary-git-dependency
(lambda _
;; This runs before default patch-shebangs phase.
(substitute* "tools/git-version-gen"
(("/bin/sh")
(which "sh")))
(with-output-to-file ".tarball-version"
(lambda _
(format #t #$version)))))
(add-before 'configure 'disable-backends
(lambda _
(setenv "BACKENDS" " ")
;; Disable tests that may require back ends to be built.
(substitute* "testsuite/Makefile.in"
((" backend ")
" "))))
(add-before 'configure 'disable-failing-tests
(lambda _
;; Disable unmaintained tests that that fail with errors resembling:
;;
;; < # by sane-desc 3.5 from sane-backends 1.0.24git on Jul 31 2013
;; ---
;; > # by sane-desc 3.5 from sane-backends 1.0.27 on 1970-01-01#
;; FAIL: sane-desc -m usermap -s ./data
(for-each (lambda (pattern)
(substitute* "testsuite/tools/Makefile.in"
(((string-append " " pattern " "))
" ")))
(list "usermap"
"db"
"udev"
"udev\\+acl"
"udev\\+hwdb"
"hwdb"))
;; Disable tests that try to connect to actual USB hardware & fail
;; with the following error when no USB access is allowed at all:
;;
;; sanei_usb_test: sanei_usb_test.c:849: main: Assertion
;; `test_init (1)' failed.
(substitute* "testsuite/sanei/Makefile.in"
(("sanei_usb_test\\$\\(EXEEXT\\) ")
""))))
(add-before 'build 'build-pixma_sane_options.c
;; "No rule to make target '../backend/pixma/pixma_sane_options.c',
;; needed by 'sane-backends.pot-update'."
(lambda _
(invoke "make" "-C" "backend" "pixma/pixma_sane_options.c")))
(add-after 'install 'install-udev-rules
(lambda _
(let ((dest (string-append #$output "/lib/udev/rules.d/"
"60-libsane.rules")))
(mkdir-p (dirname dest))
(copy-file "tools/udev/libsane.rules" dest))))
(add-after 'install 'remove-dll.conf
(lambda _
;; dll.conf lists enabled backends, so it should be removed as
;; there are none in this package
(delete-file (string-append #$output "/etc/sane.d/dll.conf"))))
(add-after 'install 'make-reproducible
;; XXX Work around an old bug <https://issues.guix.gnu.org/26247>.
;; Then work around "Throw to key `decoding-error' ..." by using sed.
(lambda _
(with-directory-excursion (string-append #$output "/share/locale")
(for-each (lambda (file)
(invoke "sed" "-i" "/^PO-Revision-Date:/d" file))
(list "en@boldquot/LC_MESSAGES/sane-backends.mo"
"en@quot/LC_MESSAGES/sane-backends.mo"))))))))
(native-inputs
(list autoconf
autoconf-archive
automake
gettext-minimal
libtool
pkg-config
;; For scripts/pixma_gen_options.py.
python-wrapper))
(inputs (list libusb))
(native-search-paths
(list (search-path-specification
(variable "SANE_CONFIG_DIR")
(files '("etc/sane.d")))
(search-path-specification
(variable "SANE_BACKEND_LIB_PATH")
(files '("lib/sane")))))
(home-page "http://www.sane-project.org")
(synopsis
"Raster image scanner library and drivers, without scanner support")
(description "SANE stands for \"Scanner Access Now Easy\" and is an API
proving access to any raster image scanner hardware (flatbed scanner,
hand-held scanner, video- and still-cameras, frame-grabbers, etc.). The
package contains the library, but no drivers.")
(description
"SANE stands for \"Scanner Access Now Easy\" and is an API proving access
to any raster image scanner hardware (flatbed scanner, hand-held scanner,
video- and still-cameras, frame-grabbers, etc.). The package contains the
library, but no drivers.")
(license license:gpl2+))) ; plus linking exception
(define-public sane-backends
+2 -2
View File
@@ -893,7 +893,7 @@ A @code{andglob} program is also provided along with s.")
(define-public oksh
(package
(name "oksh")
(version "7.5")
(version "7.8")
(source
(origin
(method url-fetch)
@@ -902,7 +902,7 @@ A @code{andglob} program is also provided along with s.")
version "/oksh-" version ".tar.gz"))
(sha256
(base32
"0pgdxvy8jgydsyzk7vcc93pm09bihqvrn3i35gz1ncg9z31rbf20"))))
"0l59x9mm6nbixcpz3zf3iplqili2gyw8l382rj89b0iv32hxac1v"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; there are no tests available
+1 -9
View File
@@ -46,19 +46,11 @@
(file-name (git-file-name name version))
(sha256
(base32 "17iqvqs7w3z5c4acnjc6mixqkqz4rff2c7flfpnlwgfjgqy1a2zw"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
;; XXX: Keep just some portion with valulable data and no license
;; issues.
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "."
"allsky"
"coordinates"
+34 -40
View File
@@ -89,49 +89,43 @@
;; XXX:
;; There numerous issues with the testsuite.
;; Enable all of them once they are fixed in upstream.
`(#:tests? #f
#:parallel-build? #f
#:configure-flags
(list
"--enable-shared"
(string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out")
"/lib"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-rpath
(lambda _
(substitute* "main/Makefile"
(("flite_LIBS_flags \\+= -Wl,-rpath [^ ]*")
"flite_LIBS_flags +="))
#t))
(delete 'check)
;; Modifying testsuite/Makefile is not done in favor of
;; overriding 'check.
;; The path not taken would be:
;; test:\n\t$(foreach x,$(subst tris1,,$(subst dcoffset_wave,,$(subst flite_test,,$(subst by_word,,$(subst bin2ascii,,$(subst lpc_resynth,,$(subst rfc,,$(subst compare_wave,,$(subst record_in_noise,,$(subst combine_waves,,$(patsubst play_%,,$(subst record_wave,,$(subst lex_lookup,,$(patsubst lpc_test%,,$(patsubst asciiS2U%,,$(patsubst asciiU2S%,,$(ALL))))))))))))))))),echo TEST $x && ./$x data.one && ) true
(add-after 'install 'check
(lambda _
(invoke "make" "-C" "testsuite")
(with-directory-excursion "testsuite"
(invoke "./token_test")
(invoke "./hrg_test")
(invoke "./regex_test")
(invoke "./nums_test")
(invoke "./lex_test")
(invoke "./utt_test")
(invoke "./multi_thread"))
#t))
(add-after 'install 'remove-static-libs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
(for-each delete-file
(find-files out "\\.a$"))
#t))))))
(list
#:tests? #f
#:parallel-build? #f
#:configure-flags
#~(list "--enable-shared"
(string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-rpath
(lambda _
(substitute* "main/Makefile"
(("flite_LIBS_flags \\+= -Wl,-rpath [^ ]*")
"flite_LIBS_flags +="))))
(delete 'check)
;; Modifying testsuite/Makefile is not done in favor of
;; overriding 'check.
;; The path not taken would be:
;; test:\n\t$(foreach x,$(subst tris1,,$(subst dcoffset_wave,,$(subst flite_test,,$(subst by_word,,$(subst bin2ascii,,$(subst lpc_resynth,,$(subst rfc,,$(subst compare_wave,,$(subst record_in_noise,,$(subst combine_waves,,$(patsubst play_%,,$(subst record_wave,,$(subst lex_lookup,,$(patsubst lpc_test%,,$(patsubst asciiS2U%,,$(patsubst asciiU2S%,,$(ALL))))))))))))))))),echo TEST $x && ./$x data.one && ) true
(add-after 'install 'check
(lambda _
(invoke "make" "-C" "testsuite")
(with-directory-excursion "testsuite"
(invoke "./token_test")
(invoke "./hrg_test")
(invoke "./regex_test")
(invoke "./nums_test")
(invoke "./lex_test")
(invoke "./utt_test")
(invoke "./multi_thread"))))
(add-after 'install 'remove-static-libs
(lambda _
(for-each delete-file
(find-files #$output "\\.a$")))))))
(native-inputs
(list perl))
(inputs
`(("alsa" ,alsa-lib)))
(list alsa-lib))
(synopsis "Speech synthesis system")
(description "Flite (festival-lite) is a small, fast run-time text to speech
synthesis engine developed at CMU and primarily designed for small embedded
+33 -38
View File
@@ -216,45 +216,40 @@ X11 GUIs.")
(patches (search-patches "tk-find-library.patch"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(add-before 'configure 'pre-configure
(lambda _ (chdir "unix")))
(add-after 'install 'create-wish-symlink
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(symlink (string-append out "/bin/wish"
,(version-major+minor
(package-version tk)))
(string-append out "/bin/wish")))))
(add-after 'install 'add-fontconfig-flag
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Add the missing -L flag for Fontconfig in 'tk.pc' and
;; 'tkConfig.sh'.
(let ((out (assoc-ref outputs "out"))
(fontconfig (assoc-ref inputs "fontconfig")))
(substitute* (find-files out
"^(tkConfig\\.sh|tk\\.pc)$")
(("-lfontconfig")
(string-append "-L" fontconfig
"/lib -lfontconfig")))))))
#:configure-flags
(list (string-append "--with-tcl="
(assoc-ref %build-inputs "tcl")
"/lib")
;; This is needed when cross-compiling, see:
;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=719247
,@(if (%current-target-system)
'("tcl_cv_strtod_buggy=1"
"ac_cv_func_strtod=yes")
'()))
;; The tests require a running X server, so we just skip them.
#:tests? #f))
(list
;; The tests require a running X server, so we just skip them.
#:tests? #f
#:configure-flags
#~(list (string-append "--with-tcl="
(assoc-ref %build-inputs "tcl") "/lib")
;; This is needed when cross-compiling, see:
;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=719247
#$@(if (%current-target-system)
'("tcl_cv_strtod_buggy=1" "ac_cv_func_strtod=yes")
'()))
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'pre-configure
(lambda _
(chdir "unix")))
(add-after 'install 'create-wish-symlink
(lambda _
(let ((version #$(version-major+minor (package-version tk)))
(dest (string-append #$output "/bin/wish")))
(symlink (string-append dest version)
dest))))
(add-after 'install 'add-fontconfig-flag
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Add the missing -L flag for Fontconfig in 'tk.pc' and
;; 'tkConfig.sh'.
(let ((fontconfig (search-input-file inputs
"lib/libfontconfig.so")))
(substitute* (find-files #$output "^(tkConfig\\.sh|tk\\.pc)$")
(("-lfontconfig")
(string-append "-L" (dirname fontconfig)
" -lfontconfig")))))))))
(native-inputs (list pkg-config))
(inputs `(("libxft" ,libxft)
("fontconfig" ,fontconfig)
("tcl" ,tcl)))
(inputs (list libxft fontconfig tcl))
;; tk.h refers to X11 headers, hence the propagation.
(propagated-inputs (list libx11 libxext))
+61 -63
View File
@@ -182,70 +182,68 @@ used as drop-in replacement for the non-free code from RFC 3591.")
(build-system gnu-build-system)
(outputs '("out" "doc" "static")) ;doc contains HTML documentation
(arguments
`(#:configure-flags '("--enable-doc=yes" "--enable-tests=yes")
#:parallel-build? #f ;non-deterministic build failures may occur otherwise
#:parallel-tests? #f ;fails removing the same the files twice otherwise
#:phases (modify-phases %standard-phases
(add-after 'unpack 'patch-configure.ac
(lambda _
;; spandsp looks at hard coded locations of the FHS to
;; find libxml2.
(substitute* "configure.ac"
(("AC_MSG_CHECKING\\(for libxml/xmlmemory\\.h.*" all)
(string-append all
"PKG_CHECK_MODULES(XML2, libxml-2.0)\n"
"CPPFLAGS+=\" $XML2_CFLAGS\"\n")))
;; Force a regeneration of the autotools build system.
(delete-file "autogen.sh")
(delete-file "configure")
#t))
(add-after 'unpack 'do-not-install-data-files
;; The .tiff images produced for tests are not
;; reproducible and it is not desirable to have those
;; distributed.
(lambda _
(substitute* '("test-data/itu/fax/Makefile.am"
"test-data/etsi/fax/Makefile.am")
(("nobase_data_DATA")
"noinst_DATA"))
#t))
(add-after 'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
(let ((doc (string-append (assoc-ref outputs "doc")
"/share/doc/" ,name "-" ,version)))
(copy-recursively "doc/t38_manual" doc)
#t)))
(add-after 'install 'move-static-libraries
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(static (assoc-ref outputs "static")))
(mkdir-p (string-append static "/lib"))
(with-directory-excursion out
(for-each (lambda (file)
(rename-file file
(string-append static "/"
file)))
(find-files "lib" "\\.a$")))
#t))))))
(list
#:configure-flags #~'("--enable-doc=yes" "--enable-tests=yes")
#:parallel-build? #f ;non-deterministic build failures may occur otherwise
#:parallel-tests? #f ;fails removing the same the files twice otherwise
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-configure.ac
(lambda _
;; spandsp looks at hard coded locations of the FHS to
;; find libxml2.
(substitute* "configure.ac"
(("AC_MSG_CHECKING\\(for libxml/xmlmemory\\.h.*" all)
(string-append all
"PKG_CHECK_MODULES(XML2, libxml-2.0)\n"
"CPPFLAGS+=\" $XML2_CFLAGS\"\n")))
;; Force a regeneration of the autotools build system.
(delete-file "autogen.sh")
(delete-file "configure")))
(add-after 'unpack 'do-not-install-data-files
;; The .tiff images produced for tests are not
;; reproducible and it is not desirable to have those
;; distributed.
(lambda _
(substitute* '("test-data/itu/fax/Makefile.am"
"test-data/etsi/fax/Makefile.am")
(("nobase_data_DATA")
"noinst_DATA"))))
(add-after 'install 'install-doc
(lambda _
(copy-recursively "doc/t38_manual"
(string-append #$output:doc
"/share/doc/"
#$name "-"
#$version))))
(add-after 'install 'move-static-libraries
(lambda _
(let ((static #$output:static))
(mkdir-p (string-append static "/lib"))
(with-directory-excursion #$output
(for-each (lambda (file)
(rename-file file
(string-append static "/" file)))
(find-files "lib" "\\.a$")))))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)
;; For the tests
("fftw" ,fftw)
("libpcap" ,libpcap)
("libsndfile" ,libsndfile)
("libjpeg" ,libjpeg-turbo) ;XXX: should be propagated from libtiff
("libtiff" ,libtiff)
("netpbm" ,netpbm)
("sox" ,sox)
;; For the documentation
("docbook-xml" ,docbook-xml-4.3)
("docbook-xsl" ,docbook-xsl)
("doxygen" ,doxygen)
("libxml2" ,libxml2)
("libxslt" ,libxslt)))
(list autoconf
automake
libtool
pkg-config
;; For the tests
fftw
libpcap
libsndfile
libjpeg-turbo ;XXX: should be propagated from libtiff
libtiff
netpbm
sox
;; For the documentation
docbook-xml-4.3
docbook-xsl
doxygen
libxml2
libxslt))
(synopsis "DSP library for telephony")
(description "SpanDSP is a library of DSP functions for telephony, in the
8000 sample per second world of E1s, T1s, and higher order PCM channels. It
+6 -6
View File
@@ -191,7 +191,7 @@ libenca and several charset conversion libraries and tools.")
(hidden-package
(package
(name "utf8proc-bootstrap")
(version "2.10.0")
(version "2.11.3")
(source
(origin
(method git-fetch)
@@ -200,7 +200,7 @@ libenca and several charset conversion libraries and tools.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1n1k67x39sk8xnza4w1xkbgbvgb1g7w2a7j2qrqzqaw1lyilqsy2"))))
(base32 "1ssix4zf3lac1afzlw2gbfg3n52gmggip8lv224gywqf3zyvyp8c"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ;To break dependency cycle.
@@ -223,7 +223,7 @@ case-folding, and other operations for data in the UTF-8 encoding.")
(inherit utf8proc-bootstrap)
(name "utf8proc")
(native-inputs
(let ((UNICODE_VERSION "16.0.0")) ; defined in data/Makefile
(let ((UNICODE_VERSION "17.0.0")) ; defined in data/Makefile
;; Only if the tests will be run should these be added.
(if (and (%current-system)
(supported-package? julia))
@@ -235,7 +235,7 @@ case-folding, and other operations for data in the UTF-8 encoding.")
UNICODE_VERSION "/ucd/NormalizationTest.txt"))
(sha256
(base32
"1cffwlxgn6sawxb627xqaw3shnnfxq0v7cbgsld5w1z7aca9f4fq")))
"1nw7i89q42r0plwlc8qj6qm18brk23hc0jf800cp86km63azy6ah")))
(origin
(method url-fetch)
(uri (string-append
@@ -243,7 +243,7 @@ case-folding, and other operations for data in the UTF-8 encoding.")
UNICODE_VERSION "/ucd/auxiliary/GraphemeBreakTest.txt"))
(sha256
(base32
"1d9w6vdfxakjpp38qjvhgvbl2qx0zv5655ph54dhdb3hs9a96azf")))
"1v4k2x52bzwgqxw89hdf3wdgwm8q3ianmfrya37bl699qp939lg2")))
(origin
(method url-fetch)
(uri (string-append
@@ -251,7 +251,7 @@ case-folding, and other operations for data in the UTF-8 encoding.")
UNICODE_VERSION "/ucd/DerivedCoreProperties.txt"))
(sha256
(base32
"1gfsq4vdmzi803i2s8ih7mm4fgs907kvkg88kvv9fi4my9hm3lrr")))
"021clafsjmjblsxcszp0dpxy2phwhbmyghfmxym2yj2w378zxir4")))
;; For tests.
julia
perl
+12 -28
View File
@@ -329,7 +329,7 @@ Python 3.3 and later, rather than on Python 2.")
;; The size of the closure of 'git-minimal' is two thirds that of 'git'.
;; Its test suite runs slightly faster and most importantly it doesn't
;; depend on packages that are expensive to build such as Subversion.
(define-public git-minimal
(define-public git-minimal/pinned
(package
(name "git-minimal")
(version "2.54.0")
@@ -529,6 +529,8 @@ Python 3.3 and later, rather than on Python 2.")
(for-each mkdir-p (list bash zsh))
(copy-file "contrib/completion/git-completion.bash"
(string-append bash "/git"))
(copy-file "contrib/completion/git-completion.bash"
(string-append zsh "/git-completion.bash"))
(copy-file "contrib/completion/git-prompt.sh"
(string-append #$output "/bin/git-prompt"))
(copy-file "contrib/completion/git-completion.zsh"
@@ -602,11 +604,18 @@ Python 3.3 and later, rather than on Python 2.")
(description
"Git is a free distributed version control system designed to handle
everything from small to very large projects with speed and efficiency.")
(properties '((lint-hidden-cpe-vendors . ("jenkins"))
(properties '((hidden? . #t) ;pinned variant for Graphene/GTK+
(lint-hidden-cpe-vendors . ("jenkins"))
(upstream-name . "git")))
(license license:gpl2)
(home-page "https://git-scm.com/")))
(define-public git-minimal
(package
(inherit git-minimal/pinned)
(properties (alist-delete 'hidden?
(package-properties git-minimal/pinned)))))
(define-public git
(package/inherit git-minimal
(name "git")
@@ -821,23 +830,6 @@ everything from small to very large projects with speed and efficiency.")
;;; (security or else) and this deprecation could be removed.
(define-deprecated/public-alias git-minimal/fixed git-minimal/pinned)
(define-public git-minimal/pinned
;; Version that rarely changes, depended on by Graphene/GTK+.
(package/inherit git-minimal
(version "2.50.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/software/scm/git/git-"
version ".tar.xz"))
(sha256
(base32
"0if0vqn3fj22p95a0125zpgwz3mqfqxqnvwa7fkf7b00wh0c1wyz"))))
;; Temporary measure to prevent unnecessary package rebuilds.
(arguments
(substitute-keyword-arguments arguments
((#:configure-flags flags #~'())
(if (%current-target-system) git-cross-configure-flags #~(list)))))))
(define-public mergiraf
(package
(name "mergiraf")
@@ -3535,17 +3527,9 @@ modification time.")
(check-in version)))
(sha256
(base32 "0haaczpjnjpkiikf0q70nfabm2csdk6dl9rh80j0sh90wfvkyqwm"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "autosetup" "proj.tcl" "wh-common.tcl")
(delete-file-recursively "extsrc")
;; Re-create Fossil check-out manifests,
+150 -108
View File
@@ -520,22 +520,19 @@ video decode, encode and filtering on Intel's Gen graphics hardware platforms.")
(build-system gnu-build-system)
(outputs '("out" "doc"))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'move-docs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(doc (assoc-ref outputs "doc")))
(mkdir-p (string-append doc "/share"))
(rename-file
(string-append out "/share/gtk-doc")
(string-append doc "/share/gtk-doc"))
#t))))))
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'move-docs
(lambda _
(let ((doc #$output:doc))
(mkdir-p (string-append doc "/share"))
(rename-file (string-append #$output "/share/gtk-doc")
(string-append doc "/share/gtk-doc"))))))))
(native-inputs
(list dash gtk-doc/stable pkg-config))
(inputs
`(("glew" ,glew)
("opengl" ,mesa)))
(list glew mesa))
(propagated-inputs
(list orc))
(synopsis "Dirac video codec")
@@ -939,9 +936,8 @@ television and DVD. It is also known as AC-3.")
(define-public libaom
(package
(replacement libaom/fixed)
(name "libaom")
(version "3.8.0")
(version "3.13.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -950,7 +946,7 @@ television and DVD. It is also known as AC-3.")
(file-name (git-file-name name version))
(sha256
(base32
"04zfgvzi4h4ybvjc4zfpfsmldz8w6vasjlrry7j4p6g3g7wk64r7"))))
"1i5sd7zbjz5jy1w8cdrrm09cqi4ai8vdf08nvjf75dlszmmvl9j5"))))
(build-system cmake-build-system)
(native-inputs
(list perl pkg-config python)) ; to detect the version
@@ -975,21 +971,6 @@ television and DVD. It is also known as AC-3.")
shared library and encoder and decoder command-line executables.")
(license license:bsd-2)))
(define-public libaom/fixed
(package
(inherit libaom)
(name "libaom")
(version "3.9.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://aomedia.googlesource.com/aom/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0wpbc2vnwnvgr2ig64rgy38bi3wg24kaxizzc0i403ar8dx6q3ax"))))))
(define-public libmpeg2
(package
(name "libmpeg2")
@@ -1482,10 +1463,10 @@ designed to encode video or images into an H.265 / HEVC encoded bitstream.")
(native-inputs
(list pkg-config nasm))
(propagated-inputs
`(("freetype" ,freetype)
("fribidi" ,fribidi)
("fontconfig" ,fontconfig)
("harfbuzz" ,harfbuzz)))
(list freetype
fribidi
fontconfig
harfbuzz))
(home-page "https://github.com/libass/libass")
(synopsis "Subtitle rendering library for the ASS/SSA format")
(description "libass is a subtitle rendering library for the
@@ -1783,7 +1764,6 @@ operate properly.")
(list dav1d
fontconfig
freetype
frei0r-plugins
gnutls
opus
ladspa
@@ -1822,6 +1802,7 @@ operate properly.")
zlib)))
(native-inputs
(list bc
frei0r-api
perl
pkg-config
texinfo
@@ -1984,6 +1965,10 @@ filter-scale2ref_keep_aspect,sws-floatimg-cmp")
(path (string-join (map dirname dso) ":")))
(format #t "setting LD_LIBRARY_PATH to ~s~%" path)
(setenv "LD_LIBRARY_PATH" path)))))))
(native-search-paths
(list (search-path-specification
(variable "FREI0R_PATH")
(files (list "lib/frei0r-1")))))
(home-page "https://www.ffmpeg.org/")
(synopsis "Audio and video framework")
(description "FFmpeg is a complete, cross-platform solution to record,
@@ -4115,8 +4100,7 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
#~(modify-phases %standard-phases
(add-after 'install 'wrap-executable
(lambda _
(let* ((frei0r #$(this-package-input "frei0r-plugins"))
(ladspa #$(this-package-input "ladspa"))
(let* ((ladspa #$(this-package-input "ladspa"))
;; In MLT 7, 'melt' symlinks to 'melt-7'. Try to keep
;; compatibility with MLT 6 where it's only 'melt'.
(major #$(version-major version))
@@ -4125,8 +4109,6 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
(string-append "melt-" major)
"melt")))
(wrap-program (string-append #$output "/bin/" exec)
`("FREI0R_PATH" ":" =
(,(string-append frei0r "/lib/frei0r-1")))
`("LADSPA_PATH" ":" =
(,(string-append ladspa "/lib/ladspa"))))))))))
(inputs
@@ -4136,7 +4118,6 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
eigen ; movit requires.private
ffmpeg
fftw
frei0r-plugins
gdk-pixbuf
gtk+
jack-1
@@ -4159,7 +4140,11 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
sox
vidstab))
(native-inputs
(list pkg-config python-minimal swig-4.0))
(list frei0r-api pkg-config python-minimal swig-4.0))
(native-search-paths
(list (search-path-specification
(variable "FREI0R_PATH")
(files (list "lib/frei0r-1")))))
(home-page "https://www.mltframework.org/")
(synopsis "Author, manage, and run multitrack audio/video compositions")
(description
@@ -5211,14 +5196,14 @@ specifications.")
(define-public libaacs
(package
(name "libaacs")
(version "0.11.0")
(version "0.11.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://ftp.videolan.org/pub/videolan/libaacs/"
version "/libaacs-" version ".tar.bz2"))
(sha256
(base32 "11skjqjlldmbjkyxdcz4fmcn6y4p95r1xagbcnjy4ndnzf0l723d"))))
(base32 "0f8ax9dp49mrm1484bl2df659b34xyrjmngzmvvpg2n9wkms12m8"))))
(inputs
(list libgcrypt))
(native-inputs
@@ -6072,58 +6057,117 @@ these formats and provides some elementary operations (copying, scaling,
alpha blending etc).")
(license license:gpl3)))
(define-public frei0r-plugins
(define-public frei0r
(package
(name "frei0r-plugins")
(version "1.7.0")
(name "frei0r")
(version "3.1.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://files.dyne.org/frei0r"
"/old-releases/frei0r-plugins-"
version
".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/dyne/frei0r")
(commit (string-append "v" version))))
(sha256
(base32
"0fjji3060r4fwr7vn91lwfzl80lg3my9lkp94kbyw8xwz7qgh7qv"))))
(build-system gnu-build-system)
(base32 "0mhqcqjvibb4lw28n7mqhmcnxkiyi6n2k60jqqm8mgz74k2jqk8g"))
(file-name (git-file-name name version))
(modules (list '(guix build utils)))
(snippet
#~(begin
;; Delete public api headers, as they are provided by frei0r-api.
(delete-file "include/frei0r.h")
(delete-file "include/frei0r.hpp")
;; Prevent installation of pkg-config file.
(substitute* "CMakeLists.txt"
(("^install .*/frei0r\\.pc.*/pkgconfig.*") ""))))))
(build-system cmake-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-Makefile
(lambda _
;; XXX: The 1.7.0 Makefile looks for files that have slightly different
;; names in the tarball. Try removing this for future versions.
(substitute* "Makefile.in"
(("README\\.md ChangeLog TODO AUTHORS")
"README.txt ChangeLog.txt TODO.txt AUTHORS.txt"))
#t)))))
;; TODO: opencv for additional face detection filters.
(inputs
(list gavl cairo))
(native-inputs
(list pkg-config))
(home-page "https://www.dyne.org/software/frei0r/")
(synopsis "Minimalistic plugin API for video effects")
(list
;; The package does not contain any tests.
#:tests? #f))
(inputs (list cairo gavl opencv))
(native-inputs (list frei0r-api pkg-config))
(home-page "https://dyne.org/software/frei0r/")
(synopsis "Collection of free and portable video plugins")
(description
"Frei0r is a minimalistic plugin API for video effects.
The main emphasis is on simplicity for an API that will round up
the most common video effects into simple filters, sources and
mixers that can be controlled by parameters. Frei0r wants to
provide a way to share these simple effects between many
applications, avoiding their reimplementation by different projects.
It counts more than 100 plugins.")
"Frei0r is a minimalistic plugin API and collection of video effects. The
main emphasis is on simplicity for an API that will round up the most common
video effects into simple filters, sources and mixers that can be controlled by
parameters. Frei0r wants to provide a way to share these simple effects between
many applications, avoiding their reimplementation by different projects. It
counts more than 100 plugins.")
(license (list license:gpl2+
;; The following files are licensed as LGPL2.1+:
;; src/generator/ising0r/ising0r.c
;; src/mixer2/sleid0r/sleid0r_wipe-up.c
;; src/mixer2/sleid0r/sleid0r_wipe-right.c
;; src/mixer2/sleid0r/sleid0r_wipe-rect.c
;; src/mixer2/sleid0r/sleid0r_wipe-left.c
;; src/mixer2/sleid0r/sleid0r_wipe-down.c
;; src/mixer2/sleid0r/sleid0r_wipe-circle.c
;; src/mixer2/sleid0r/sleid0r_wipe-barn-door-v.c
;; src/mixer2/sleid0r/sleid0r_wipe-barn-door-h.c
;; src/mixer2/sleid0r/sleid0r_push-up.c
;; src/mixer2/sleid0r/sleid0r_slide-up.c
;; src/mixer2/sleid0r/sleid0r_push-right.c
;; src/mixer2/sleid0r/sleid0r_slide-right.c
;; src/mixer2/sleid0r/sleid0r_push-left.c
;; src/mixer2/sleid0r/sleid0r_slide-left.c
;; src/mixer2/sleid0r/sleid0r_push-down.c
;; src/mixer2/sleid0r/sleid0r_slide-down.c
;; src/generator/onecol0r/onecol0r.cpp
;; src/generator/nois0r/nois0r.cpp
;; src/generator/lissajous0r/lissajous0r.cpp
;; src/filter/ndvi/gradientlut.hpp
;; src/generator/ising0r/ising0r.c
;; src/filter/ndvi/ndvi.cpp
;; src/filter/ndvi/gradientlut.hpp
;; src/filter/facedetect/facedetect.cpp
license:lgpl2.1+))))
;; XXX: Deprecated on 2026-05-18.
(define-deprecated-package frei0r-plugins frei0r)
(define-public frei0r-api
(package
(name "frei0r-api")
(version "1.2")
(source
(origin
(method git-fetch)
(file-name (git-file-name name version))
(uri (git-reference
(url "https://github.com/dyne/frei0r")
;; This release contains the latest version of the headers.
;; It should only be updated if the headers change.
(commit "v3.0.0")))
(sha256
(base32 "1wgsja14b4ihcakm5w7ndn0dflsp8xyv7r90hi4x2yipc7gf46iy"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan
#~'(("include/frei0r.h" "include/")
("include/frei0r.hpp" "include/")
("frei0r.pc" "lib/pkgconfig/"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'write-pkg-config-file
(lambda _
(with-output-to-file "frei0r.pc"
(lambda _
(format #t
"Name: frei0r
Description: minimalistic plugin API for video effects
Version: ~a
Libs:
Cflags: -I~a~%"
#$(package-version this-package)
(string-append #$output "/include")))))))))
(home-page "https://frei0r.dyne.org/codedoc/html/")
(synopsis "Public API of frei0r")
(description
"Public header files of frei0r, a large collection of free and portable
video plugins.")
(license license:gpl2+)))
(define-public motion
(package
(name "motion")
@@ -6267,32 +6311,30 @@ spec for MP4), which can be obtained from the ISO or found online.")
(license license:expat)))
(define-public vidstab
(let ((commit "aeabc8daa7904f9edf7441a11f293965a5ef53b8")
(revision "0"))
(package
(name "vidstab")
(version (git-version "1.1.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/georgmartius/vid.stab")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"042iy0f3khwzr68djzvqgn301sy21ljvkf52rnc2c73q7ircnzzn"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f)) ; tests are not run as part of standard build process
(home-page "http://public.hronopik.de/vid.stab/")
(synopsis "Video stabilization library")
(description "Vidstab is a video stabilization library which can be used
(package
(name "vidstab")
(version "1.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/georgmartius/vid.stab")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"19k822bwsnw58ikbfh4fhh97zpn89ji9k1gdvh9r2ljy82g52md7"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f)) ; tests are not run as part of standard build process
(home-page "http://public.hronopik.de/vid.stab/")
(synopsis "Video stabilization library")
(description "Vidstab is a video stabilization library which can be used
with FFmpeg. A video acquired using a hand-held camera or a camera mounted on a
vehicle typically suffers from undesirable shakes and jitters. Activities such
as surfing, skiing, riding and walking while shooting videos are especially
prone to erratic camera shakes. Vidstab targets these video contents to help
create smoother and stable videos.")
(license license:gpl2+))))
(license license:gpl2+)))
(define-public libopenshot
(package
@@ -6457,14 +6499,11 @@ transitions, and effects and then export your film to many common formats.")
(("\"melt-7\"") (string-append "\"" mlt "/bin/melt-7\""))))))
(add-after 'install 'wrap-executable
(lambda _
(let ((frei0r #$(this-package-input "frei0r-plugins"))
(jack #$(this-package-input "jack"))
(let ((jack #$(this-package-input "jack"))
(ladspa #$(this-package-input "ladspa"))
(mlt #$(this-package-input "mlt"))
(sdl2 #$(this-package-input "sdl2")))
(wrap-program (string-append #$output "/bin/shotcut")
`("FREI0R_PATH" ":" =
(,(string-append frei0r "/lib/frei0r-1")))
`("LADSPA_PATH" ":" =
(,(string-append ladspa "/lib/ladspa")))
`("LD_LIBRARY_PATH" ":" prefix
@@ -6472,12 +6511,11 @@ transitions, and effects and then export your film to many common formats.")
`("PATH" ":" prefix
,(list (string-append mlt "/bin"))))))))))
(native-inputs
(list pkg-config python-wrapper qttools vulkan-headers))
(list frei0r-api pkg-config python-wrapper qttools vulkan-headers))
(inputs
(list bash-minimal
ffmpeg
fftw
frei0r-plugins
jack-1
ladspa
libxkbcommon
@@ -6490,6 +6528,10 @@ transitions, and effects and then export your film to many common formats.")
qtwebsockets
sdl2
vulkan-loader))
(native-search-paths
(list (search-path-specification
(variable "FREI0R_PATH")
(files (list "lib/frei0r-1")))))
(home-page "https://www.shotcut.org/")
(synopsis "Video editor built on the MLT framework")
(description
+1 -9
View File
@@ -183,9 +183,7 @@ RDP, VNC, SPICE, NX, XDMCP, SSH and EXEC network protocols are supported.")
(uri (git-reference
(url "https://github.com/TurboVNC/turbovnc")
(commit version)))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
;; There are a few bundled Java libraries, such as jsch and jzlib,
@@ -193,12 +191,6 @@ RDP, VNC, SPICE, NX, XDMCP, SSH and EXEC network protocols are supported.")
;; bundled under java/org. These are used by the 'vncviewer'
;; program. The jsch copy is modified and integrates changes from
;; https://github.com/mwiede/jsch, so cannot easily be un-bundled.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
;; d3des, rfb (headers) and turbojpeg-jni are small and not
;; packaged in Guix, so preserve them.
+5 -5
View File
@@ -75,7 +75,7 @@
;;; Copyright © 2025 Remco van 't Veer <remco@remworks.net>"
;;; Copyright © 2025 Daniel Khodabakhsh <d@niel.khodabakh.sh>
;;; Copyright © 2025 Josep Bigorra <jjbigorra@gmail.com>
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2025, 2026 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2025 Philippe Swartvagher <phil.swart@gmx.fr>
;;; Copyright © 2025 pinoaffe <pinoaffe@gmail.com>
;;; Copyright © 2025, 2026 gemmaro <gemmaro.dev@gmail.com>
@@ -1474,7 +1474,7 @@ used to train large language models, and poisoning the collected data.")
(define-public jansson
(package
(name "jansson")
(version "2.14")
(version "2.15.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/akheron/jansson"
@@ -1482,7 +1482,7 @@ used to train large language models, and poisoning the collected data.")
"/jansson-" version ".tar.bz2"))
(sha256
(base32
"1fdgji964mrrz19glx0zh91asji542fvybymvzk6rrbagkr5dagv"))))
"0m49glsr5v376jpyj2y0xyr11703pr4bfgipz5jk2dq0a1vcgsm7"))))
(build-system gnu-build-system)
(arguments
(list
@@ -9124,7 +9124,7 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.")
(define-public nghttp2
(package
(name "nghttp2")
(version "1.58.0")
(version "1.68.1")
(source
(origin
(method url-fetch)
@@ -9133,7 +9133,7 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.")
"nghttp2-" version ".tar.xz"))
(sha256
(base32
"1q4ps8acr7nyia7mf2z11m0yh3fn1imhyv855j3xjbx91l2a6s2a"))))
"1cph2j688zxxxl3944g5grjma15qbv4b6z252ichsn7ilyq7mgba"))))
(build-system gnu-build-system)
(outputs (list "out"
"lib")) ; only libnghttp2
+35 -32
View File
@@ -1479,8 +1479,7 @@ treat it as part of their software base when porting.")
(inputs
(list libxt xorgproto libxext))
(native-inputs
`(("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)))
(list gettext-minimal pkg-config))
(home-page "https://www.x.org/wiki/")
(synopsis "Xorg XPM library")
(description "XPM (X Pixmap) image file format library.")
@@ -6342,39 +6341,43 @@ to answer a question. Xmessage can also exit after a specified time.")
(search-patches "xterm-370-explicit-xcursor.patch"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--enable-wide-chars" "--enable-load-vt-fonts"
"--enable-i18n" "--enable-doublechars"
"--enable-luit" "--enable-mini-luit"
"X_EXTRA_LIBS=-lXcursor")
#:tests? #f ; no test suite
#:phases
(modify-phases %standard-phases
(add-after 'build 'patch-file-names
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "uxterm"
(("([ `\\|])(sh|sed|awk|xmessage) " _ prefix command)
(string-append prefix (which command) " "))
(("(`|\"|LANG=C )(locale) " _ prefix command)
(string-append prefix (which command) " "))
(("=xterm")
(string-append "=" out "/bin/xterm")))))))))
(list
#:tests? #f ; no test suite
#:configure-flags
#~(list "--enable-wide-chars"
"--enable-load-vt-fonts"
"--enable-i18n"
"--enable-doublechars"
"--enable-luit"
"--enable-mini-luit"
"X_EXTRA_LIBS=-lXcursor")
#:phases
#~(modify-phases %standard-phases
(add-after 'build 'patch-file-names
(lambda _
(substitute* "uxterm"
(("([ `\\|])(sh|sed|awk|xmessage) " _ prefix command)
(string-append prefix (which command) " "))
(("(`|\"|LANG=C )(locale) " _ prefix command)
(string-append prefix (which command) " "))
(("=xterm")
(string-append "=" #$output "/bin/xterm"))))))))
(native-inputs
(list pkg-config))
(inputs
`(("luit" ,luit)
("libXft" ,libxft)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
("ncurses" ,ncurses)
("libICE" ,libice)
("libSM" ,libsm)
("libX11" ,libx11)
("libXcursor" ,libxcursor)
("libXext" ,libxext)
("libXt" ,libxt)
("xorgproto" ,xorgproto)
("libXaw" ,libxaw)))
(list luit
libxft
fontconfig
freetype
ncurses
libice
libsm
libx11
libxcursor
libxext
libxt
xorgproto
libxaw))
(home-page "https://invisible-island.net/xterm/")
(synopsis "Terminal emulator for the X Window System")
(description
+16 -4
View File
@@ -10,6 +10,7 @@
;;; Copyright © 2021, 2022 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2023 Carlo Zancanaro <carlo@zancanaro.id.au>
;;; Copyright © 2025 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -77,6 +78,7 @@
make-file-writable
copy-recursively
delete-file-recursively
delete-all-but
file-name-predicate
find-files
false-if-file-not-found
@@ -522,6 +524,14 @@ errors."
;; Don't follow symlinks.
lstat)))
(define (delete-all-but directory . preserve)
"Delete DIRECTORY recursively except for the files in PRESERVE immediately
found under it."
(with-directory-excursion directory
(let* ((pred (negate (cut member <> (cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(define (file-name-predicate regexp)
"Return a predicate that returns true when passed a file name whose base
name matches REGEXP."
@@ -534,19 +544,21 @@ name matches REGEXP."
(define* (find-files dir #:optional (pred (const #t))
#:key (stat lstat)
directories?
fail-on-error?)
fail-on-error?
(enter? (const #t)))
"Return the lexicographically sorted list of files under DIR for which PRED
returns true. PRED is passed two arguments: the absolute file name, and its
stat buffer; the default predicate always returns true. PRED can also be a
regular expression, in which case it is equivalent to (file-name-predicate
PRED). STAT is used to obtain file information; using 'lstat' means that
symlinks are not followed. If DIRECTORIES? is true, then directories will
also be included. If FAIL-ON-ERROR? is true, raise an exception upon error."
symlinks are not followed. If DIRECTORIES? is true, then directories will also
be included. If FAIL-ON-ERROR? is true, raise an exception upon error. Enter
sub-directories only when (ENTER? path stat result) returns true."
(let ((pred (if (procedure? pred)
pred
(file-name-predicate pred))))
;; Sort the result to get deterministic results.
(sort (file-system-fold (const #t)
(sort (file-system-fold enter?
(lambda (file stat result) ; leaf
(if (pred file stat)
(cons file result)