mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
Compare commits
149 commits
8bff539ceb
...
63b515f157
Author | SHA1 | Date | |
---|---|---|---|
|
63b515f157 | ||
|
357bbd23cd | ||
|
0db7719a96 | ||
|
46d7928968 | ||
|
d3cb28f605 | ||
|
2d494404c9 | ||
|
7d64044147 | ||
|
49b443a79a | ||
|
f0ecc20fbf | ||
|
dd1ab753ef | ||
|
9b5d820836 | ||
|
79d9d96e32 | ||
|
b03c32339a | ||
|
8a41a6a182 | ||
|
592b875e5a | ||
|
a0ae72b934 | ||
|
461f6734fa | ||
|
5c673bb1de | ||
|
76f6bc683b | ||
|
c350deb477 | ||
|
9664466c3c | ||
|
d065e422ae | ||
|
3ca65f4b07 | ||
|
a13c527a0e | ||
|
10b43f385e | ||
|
8630d9e305 | ||
|
2011ec3def | ||
|
18ededd3c5 | ||
|
d22165df30 | ||
|
131aea3fd3 | ||
|
68ece80ff9 | ||
|
6c955278b0 | ||
|
8c2beae6d3 | ||
|
9b72edbc66 | ||
|
442343a895 | ||
|
3b0387e8ca | ||
|
e089257338 | ||
|
580db526fe | ||
|
f86dfb91c6 | ||
|
b0511641fd | ||
|
65d78a4c49 | ||
|
ace3474e83 | ||
|
03459c05f6 | ||
|
8b5e5093ec | ||
|
c33df372df | ||
|
3523a6ea00 | ||
|
055c28f2fb | ||
|
4c15f6f41a | ||
|
7933870864 | ||
|
a0246e63b1 | ||
|
68fbaa044e | ||
|
52d2029e17 | ||
|
8541b5b57c | ||
|
5a738c6a9a | ||
|
7f3e2f62ce | ||
|
cb54a1df80 | ||
|
27ac6cf1d7 | ||
|
1f3f1cb80f | ||
|
1a96daf2ad | ||
|
8b4bc0255e | ||
|
f2bb900704 | ||
|
24cb8ef808 | ||
|
e0face7fa6 | ||
|
2a050bfecd | ||
|
76ee7cbd56 | ||
|
7cfc2503ed | ||
|
5b237838bc | ||
|
b1da9ac437 | ||
|
cb9b4c4ad2 | ||
|
812560b0bb | ||
|
b1a0e0b3ae | ||
|
60fa1486a2 | ||
|
5c036f1236 | ||
|
8c3d674b65 | ||
|
3a8a7b86ec | ||
|
7576d8ca24 | ||
|
a540ec794c | ||
|
2e96dccdb7 | ||
|
7e8cde2119 | ||
|
7746384cfa | ||
|
6c8243a7ea | ||
|
0a07dd9cf2 | ||
|
60cebb5cc3 | ||
|
10276b31ea | ||
|
14face88ee | ||
|
537f12edb3 | ||
|
7d505d1109 | ||
|
e617758bb2 | ||
|
56ed5e952f | ||
|
0e12a484c9 | ||
|
db9557cfdf | ||
|
02902fd0ba | ||
|
7d7c1428e5 | ||
|
6f2cbe7f4f | ||
|
9cb3d609a8 | ||
|
2865ca4b88 | ||
|
a693581752 | ||
|
305e24ac59 | ||
|
40a1743beb | ||
|
2c706e87e3 | ||
|
0529cf1000 | ||
|
7bb028b25c | ||
|
6cc5867bcb | ||
|
6f8b8c436e | ||
|
a932006b42 | ||
|
b73498acb3 | ||
|
f8e1b3c28f | ||
|
3d2703cc07 | ||
|
5a8abec052 | ||
|
df81748146 | ||
|
9052b6ffb2 | ||
|
b0d44b0aa4 | ||
|
91513889ca | ||
|
cb802245f9 | ||
|
0bde5e3d0a | ||
|
98182c8f07 | ||
|
878c1a8df8 | ||
|
da5ba8a9b9 | ||
|
026ed19943 | ||
|
97049a428f | ||
|
8d731c4f6c | ||
|
56f909eefd | ||
|
203243cc6a | ||
|
e2294916c8 | ||
|
7c7bc37b6e | ||
|
bcbc4cf384 | ||
|
0971788c0b | ||
|
758808cd9d | ||
|
7382948978 | ||
|
679c9b0d8b | ||
|
8580847f8a | ||
|
40c2edf91b | ||
|
6e4ac11633 | ||
|
5e89d39601 | ||
|
6e12325bf3 | ||
|
052fab5f0b | ||
|
8c7d8cbd2f | ||
|
b97049b29c | ||
|
4a16a264e9 | ||
|
2ae4c32a74 | ||
|
04a4f8cc9d | ||
|
7ed492c5a8 | ||
|
03b630d95b | ||
|
ab26bff569 | ||
|
00799525e7 | ||
|
fff8271db4 | ||
|
896872cba8 | ||
|
ace78713a9 | ||
|
29d364498e |
86 changed files with 2482 additions and 1956 deletions
|
@ -240,7 +240,6 @@ guix/build-system/asdf\.scm @guix/lisp
|
|||
|
||||
gnu/packages/anthy\.scm @guix/localization
|
||||
gnu/packages/fcitx5\.scm @guix/localization
|
||||
gnu/packages/fcitx\.scm @guix/localization
|
||||
gnu/packages/fonts\.scm @guix/localization
|
||||
gnu/packages/ibus\.scm @guix/localization
|
||||
|
||||
|
|
|
@ -13983,7 +13983,7 @@ natively.
|
|||
@cindex building the dependents of a package
|
||||
@anchor{build-dependents}
|
||||
@item --dependents[=@var{depth}]
|
||||
@itemx -P [@var{depth}]
|
||||
@itemx -P @var{depth}
|
||||
Build the dependents of the following package. By default, build all
|
||||
the direct and indirect dependents; when @var{depth} is provided, limit
|
||||
to dependents at that distance: 1 for direct dependents, 2 for
|
||||
|
@ -26956,23 +26956,46 @@ site} for more information.
|
|||
@defvar sane-service-type
|
||||
This service provides access to scanners @i{via}
|
||||
@uref{http://www.sane-project.org, SANE} by installing the necessary
|
||||
udev rules. It is included in @code{%desktop-services} (@pxref{Desktop
|
||||
Services}) and relies by default on @code{sane-backends-minimal} package
|
||||
(see below) for hardware support.
|
||||
udev rules and pluggable backends. It is included in
|
||||
@code{%desktop-services} (@pxref{Desktop Services}) and relies by
|
||||
default on @code{sane-backends} package (see below) for hardware
|
||||
support.
|
||||
@end defvar
|
||||
|
||||
@defvar sane-backends-minimal
|
||||
The default package which the @code{sane-service-type} installs. It
|
||||
supports many recent scanners.
|
||||
@end defvar
|
||||
@deftp {Data Type} sane-configuration
|
||||
Data type representing the configuration for SANE.
|
||||
|
||||
@defvar sane-backends
|
||||
This package includes support for all scanners that
|
||||
@code{sane-backends-minimal} supports, plus older Hewlett-Packard
|
||||
scanners supported by @code{hplip} package. In order to use this on
|
||||
a system which relies on @code{%desktop-services}, you may use
|
||||
@code{modify-services} (@pxref{Service Reference,
|
||||
@code{modify-services}}) as illustrated below:
|
||||
@table @asis
|
||||
|
||||
@item @code{sane} (default: @code{sane})
|
||||
Package containing SANE library.
|
||||
|
||||
@item @code{backends} (default: @code{(sane-backends)})
|
||||
List of packages with pluggable SANE backends:
|
||||
|
||||
@itemize @bullet
|
||||
@item
|
||||
@code{sane-backends}: The default backend collection which supports many recent scanners,
|
||||
|
||||
@item
|
||||
@code{sane-airscan}: A backend that enables network scanners supporting eSCL (Apple) or WSD,
|
||||
(Microsoft) protocols
|
||||
|
||||
@item
|
||||
@code{hplip}: A backend containing drivers for older Hewlett-Packard scanners,
|
||||
|
||||
@item
|
||||
@code{utsushi}: A backend containing drivers for older Epson devices.
|
||||
|
||||
@end itemize
|
||||
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
In order to use additional backends on a system which relies on
|
||||
@code{%desktop-services}, you may use @code{modify-services}
|
||||
(@pxref{Service Reference, @code{modify-services}}) as illustrated
|
||||
below:
|
||||
|
||||
@lisp
|
||||
(use-modules (gnu))
|
||||
|
@ -26986,13 +27009,14 @@ a system which relies on @code{%desktop-services}, you may use
|
|||
(define %my-desktop-services
|
||||
;; List of desktop services that supports a broader range of scanners.
|
||||
(modify-services %desktop-services
|
||||
(sane-service-type _ => sane-backends)))
|
||||
(sane-service-type _ =>
|
||||
(sane-configuration
|
||||
(backends (list sane-backends sane-airscan))))))
|
||||
|
||||
(operating-system
|
||||
@dots{}
|
||||
(services %my-desktop-services))
|
||||
@end lisp
|
||||
@end defvar
|
||||
|
||||
@deffn {Procedure} geoclue-application name [#:allowed? #t] [#:system? #f] [#:users '()]
|
||||
Return a configuration allowing an application to access GeoClue
|
||||
|
|
|
@ -797,7 +797,6 @@ asdf-build-system."
|
|||
"Localization of your system to specific languages."
|
||||
#:scope (list "gnu/packages/anthy.scm"
|
||||
"gnu/packages/fcitx5.scm"
|
||||
"gnu/packages/fcitx.scm"
|
||||
"gnu/packages/fonts.scm"
|
||||
"gnu/packages/ibus.scm")))
|
||||
|
||||
|
|
13
gnu/local.mk
13
gnu/local.mk
|
@ -276,7 +276,6 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/packages/erlang-xyz.scm \
|
||||
%D%/packages/esolangs.scm \
|
||||
%D%/packages/fabric-management.scm \
|
||||
%D%/packages/fcitx.scm \
|
||||
%D%/packages/fcitx5.scm \
|
||||
%D%/packages/fediverse.scm \
|
||||
%D%/packages/figlet.scm \
|
||||
|
@ -1137,7 +1136,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/csvkit-set-locale-for-tests.patch \
|
||||
%D%/packages/patches/ctranslate2-local-build.patch \
|
||||
%D%/packages/patches/cube-nocheck.patch \
|
||||
%D%/packages/patches/cups-minimal-Address-PPD-injection-issues.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 \
|
||||
|
@ -1229,6 +1228,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/emacs-telega-path-placeholder.patch \
|
||||
%D%/packages/patches/emacs-telega-test-env.patch \
|
||||
%D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch \
|
||||
%D%/packages/patches/emacs-zoom-image-test-fix.patch \
|
||||
%D%/packages/patches/enblend-enfuse-reproducible.patch \
|
||||
%D%/packages/patches/enjarify-setup-py.patch \
|
||||
%D%/packages/patches/enlightenment-fix-setuid-path.patch \
|
||||
|
@ -1554,6 +1554,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \
|
||||
%D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \
|
||||
%D%/packages/patches/gtk-doc-respect-xml-catalog.patch \
|
||||
%D%/packages/patches/gtk-doc-mkhtml-test-fix.patch \
|
||||
%D%/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch \
|
||||
%D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
|
||||
%D%/packages/patches/gtksourceview-2-add-default-directory.patch \
|
||||
|
@ -1604,6 +1605,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/idris-test-ffi008.patch \
|
||||
%D%/packages/patches/ilmbase-fix-tests.patch \
|
||||
%D%/packages/patches/inferno-fix-crash.patch \
|
||||
%D%/packages/patches/inkscape-libxml2.patch \
|
||||
%D%/packages/patches/instead-use-games-path.patch \
|
||||
%D%/packages/patches/intltool-perl-compatibility.patch \
|
||||
%D%/packages/patches/inetutils-hurd64.patch \
|
||||
|
@ -1675,6 +1677,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/librewolf-use-system-wide-dir.patch \
|
||||
%D%/packages/patches/libvirt-add-install-prefix.patch \
|
||||
%D%/packages/patches/libvirt-respect-modules-path.patch \
|
||||
%D%/packages/patches/libzmf-doxygen-1.14.patch \
|
||||
%D%/packages/patches/libziparchive-add-includes.patch \
|
||||
%D%/packages/patches/lightdm-arguments-ordering.patch \
|
||||
%D%/packages/patches/lightdm-vnc-ipv6.patch \
|
||||
|
@ -1747,6 +1750,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/libofa-ftbfs-1.diff \
|
||||
%D%/packages/patches/libofa-curl.diff \
|
||||
%D%/packages/patches/libofa-ftbfs-2.diff \
|
||||
%D%/packages/patches/libosinfo-libxml2-fix.patch \
|
||||
%D%/packages/patches/libotr-test-auth-fix.patch \
|
||||
%D%/packages/patches/libksieve-Fix-missing-link-libraries.patch \
|
||||
%D%/packages/patches/libmad-armv7-thumb-pt1.patch \
|
||||
|
@ -1787,7 +1791,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/libxcb-path-max.patch \
|
||||
%D%/packages/patches/libxml2-xpath0-Add-option-xpath0.patch \
|
||||
%D%/packages/patches/libwpd-gcc-compat.patch \
|
||||
%D%/packages/patches/libxslt-generated-ids.patch \
|
||||
%D%/packages/patches/libxt-guix-search-paths.patch \
|
||||
%D%/packages/patches/lierolibre-check-unaligned-access.patch \
|
||||
%D%/packages/patches/lierolibre-is-free-software.patch \
|
||||
|
@ -1830,6 +1833,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/make-impure-dirs.patch \
|
||||
%D%/packages/patches/makem-replace-git.patch \
|
||||
%D%/packages/patches/marisa-fix-MARISA_WORD_SIZE.patch \
|
||||
%D%/packages/patches/mash-add-missing-headers.patch \
|
||||
%D%/packages/patches/mathjax-disable-webpack.patch \
|
||||
%D%/packages/patches/mathjax-no-a11y.patch \
|
||||
%D%/packages/patches/mathjax-3.1.2-no-a11y.patch \
|
||||
|
@ -2226,6 +2230,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/rtosc-0.3.1-fix-invalid-comparison-operator.patch \
|
||||
%D%/packages/patches/racket-chez-scheme-bin-sh.patch \
|
||||
%D%/packages/patches/racket-launcher-config-dir.patch \
|
||||
%D%/packages/patches/raptor2-libxml2.patch \
|
||||
%D%/packages/patches/racket-rktio-bin-sh.patch \
|
||||
%D%/packages/patches/re2c-Use-maximum-alignment.patch \
|
||||
%D%/packages/patches/reduce-unbundle-libffi.patch \
|
||||
|
@ -2261,6 +2266,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/sage-safeguard-sage-getargspec-cython.patch \
|
||||
%D%/packages/patches/sajson-for-gemmi-numbers-as-strings.patch \
|
||||
%D%/packages/patches/sajson-build-with-gcc10.patch \
|
||||
%D%/packages/patches/sane-look-for-plugins-in-SANE_BACKEND_LIB_PATH.patch \
|
||||
%D%/packages/patches/sbc-fix-build-non-x86.patch \
|
||||
%D%/packages/patches/sbcl-fix-arm64-shared-lib.patch \
|
||||
%D%/packages/patches/sbcl-aserve-add-HTML-5-elements.patch \
|
||||
|
@ -2433,6 +2439,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/vtk-7-gcc-11-compat.patch \
|
||||
%D%/packages/patches/vtk-7-hdf5-compat.patch \
|
||||
%D%/packages/patches/vtk-7-python-compat.patch \
|
||||
%D%/packages/patches/vulkan-tools-wayland-1.24.patch \
|
||||
%D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch \
|
||||
%D%/packages/patches/wcstools-extend-makefiles.patch \
|
||||
%D%/packages/patches/wdl-link-libs-and-fix-jnetlib.patch \
|
||||
|
|
|
@ -57,7 +57,7 @@
|
|||
"1zzdp5bwnszza5q6cjw66hkicay8b49n5pda7cbcgfg4hbbzv2rn"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs
|
||||
(list libxml2-next))
|
||||
(list libxml2))
|
||||
(native-inputs
|
||||
(list readline pkg-config))
|
||||
(home-page "https://augeas.net")
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
;;; Copyright © 2020, 2023, 2024, 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2021 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2025 John Kehayias <john@guixotic.coop>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -460,7 +461,13 @@ Makefile, simplifying the entire process for the developer.")
|
|||
'("t/tags-lisp-space.sh"
|
||||
;; This test fails, probably a timestamp thing:
|
||||
;; make: Nothing to be done for 'all'.
|
||||
"t/remake-aclocal-version-mismatch.sh")
|
||||
"t/remake-aclocal-version-mismatch.sh"
|
||||
;; Non-deterministic test failures:
|
||||
"t/aclocal-autoconf-version-check.sh"
|
||||
"t/backcompat2.sh"
|
||||
"t/backcompat3.sh"
|
||||
"t/nodef.sh"
|
||||
"t/nodef2.sh")
|
||||
(("^#!.*" all)
|
||||
(string-append all "exit 77;\n")))))
|
||||
#$@(if (%current-target-system)
|
||||
|
|
|
@ -526,8 +526,6 @@ used to apply commands with arbitrarily long arguments.")
|
|||
"tests/split/fail.sh"
|
||||
;; These tests error
|
||||
"tests/dd/nocache.sh"
|
||||
;; These tests can intermitently fail on btrfs
|
||||
"tests/cp/reflink-auto.sh"
|
||||
;; These tests fail
|
||||
"tests/cp/sparse.sh"
|
||||
"tests/cp/special-f.sh"
|
||||
|
@ -573,6 +571,10 @@ used to apply commands with arbitrarily long arguments.")
|
|||
(("(^| )main *\\(.*" all)
|
||||
(string-append all "{\n exit (77);//"))))
|
||||
'())
|
||||
;; These tests can fail on btrfs.
|
||||
(substitute* "tests/cp/reflink-auto.sh"
|
||||
(("^#!.*" all)
|
||||
(string-append all "exit 77;\n")))
|
||||
(substitute* "Makefile.in"
|
||||
;; fails on filesystems where inotify cannot be used,
|
||||
;; more info in #47935
|
||||
|
|
|
@ -7310,7 +7310,9 @@ trees (phylogenies) and characters.")
|
|||
(base32
|
||||
"0w1p4l1jwg9kkifm0jsg33a212ps0jn61islmnng2afp77y5nkr6"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs (list python-setuptools python-setuptools-scm python-wheel))
|
||||
(arguments
|
||||
(list #:test-flags #~(list "py2bitTest/test.py")))
|
||||
(native-inputs (list python-pytest python-setuptools python-setuptools-scm))
|
||||
(home-page "https://github.com/dpryan79/py2bit")
|
||||
(synopsis "Access 2bit files using lib2bit")
|
||||
(description
|
||||
|
@ -10463,7 +10465,7 @@ technology. Its features include:
|
|||
(define-public mash
|
||||
(package
|
||||
(name "mash")
|
||||
(version "2.1")
|
||||
(version "2.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -10472,12 +10474,13 @@ technology. Its features include:
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"049hwcc059p2fd9vwndn63laifvvsi0wmv84i6y1fr79k15dxwy6"))
|
||||
"00x4pvxwp3isf0qign1qmxwxc9rwzn5b3igjw9hyn3vx17bsx92q"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Delete bundled kseq.
|
||||
;; TODO: Also delete bundled murmurhash and open bloom filter.
|
||||
'(delete-file "src/mash/kseq.h"))))
|
||||
'(delete-file "src/mash/kseq.h"))
|
||||
(patches (search-patches "mash-add-missing-headers.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; No tests.
|
||||
|
@ -10496,7 +10499,8 @@ technology. Its features include:
|
|||
(lambda _
|
||||
(substitute* '("src/mash/Sketch.cpp"
|
||||
"src/mash/CommandFind.cpp"
|
||||
"src/mash/CommandScreen.cpp")
|
||||
"src/mash/CommandScreen.cpp"
|
||||
"src/mash/CommandTaxScreen.cpp")
|
||||
(("^#include \"kseq\\.h\"")
|
||||
"#include \"htslib/kseq.h\""))))
|
||||
(add-after 'fix-includes 'use-c++14
|
||||
|
@ -20727,7 +20731,7 @@ efficiently.")
|
|||
(define-public python-hic2cool
|
||||
(package
|
||||
(name "python-hic2cool")
|
||||
(version "0.8.3")
|
||||
(version "1.0.1")
|
||||
;; pypi sources do not contain the test_data directory and no test can be
|
||||
;; run
|
||||
(source
|
||||
|
@ -20739,32 +20743,15 @@ efficiently.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0dlnf0qfcp4jrc1nyya32a035c13xicyq16bwfnwhbb9s47mz7gl"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; Two of the test-data files need to be writable.
|
||||
(add-after 'unpack 'make-test-data-writable
|
||||
(lambda _
|
||||
(for-each make-file-writable
|
||||
(list "test_data/hic2cool_0.4.2_single_res.cool"
|
||||
"test_data/hic2cool_0.7.0_multi_res.mcool"))))
|
||||
;; See https://github.com/4dn-dcic/hic2cool/issues/58
|
||||
(add-after 'unpack 'fix-incompatibility-with-h5py-3
|
||||
(lambda _
|
||||
(substitute* "test.py"
|
||||
(("h5py.File\\(fname\\)") "h5py.File(fname, 'r')"))
|
||||
(substitute* "hic2cool/hic2cool_updates.py"
|
||||
(("h5py.File\\(writefile\\)")
|
||||
"h5py.File(writefile, 'a')"))))
|
||||
;; These two tests fail for unknown reasons.
|
||||
(add-after 'unpack 'disable-broken-tests
|
||||
(lambda _
|
||||
(substitute* "test.py"
|
||||
(("def test_convert") "def _test_convert")))))))
|
||||
"0k0i43z43rxbpna4hfci406ma906w893frfj3cha1n8drvhdql6c"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-poetry-core))
|
||||
(propagated-inputs
|
||||
(list python-cooler python-h5py python-numpy python-pandas
|
||||
(list python-cooler
|
||||
python-h5py
|
||||
python-numpy
|
||||
python-pandas
|
||||
python-scipy))
|
||||
(home-page "https://github.com/4dn-dcic/hic2cool")
|
||||
(synopsis "Converter for .hic and .cool files")
|
||||
|
@ -23605,7 +23592,7 @@ The output is in SAM format.")
|
|||
#$(this-package-input "libxml2")
|
||||
"/include/libxml2"))))
|
||||
(propagated-inputs
|
||||
(list libxml2-next))
|
||||
(list libxml2))
|
||||
(native-inputs
|
||||
(list check swig))
|
||||
(home-page "https://sbml.org/Software/libSBML")
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2025 Aiden Isik <aidenisik+git@member.fsf.org>
|
||||
;;; Copyright © 2025 Josep Bigorra <jjbigorra@gmail.com>
|
||||
;;; Copyright © 2025 John Kehayias <john.kehayias@protonmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -308,7 +309,7 @@ files and generates build instructions for the Ninja build system.")
|
|||
(define-public meson
|
||||
(package
|
||||
(name "meson")
|
||||
(version "1.5.2")
|
||||
(version "1.9.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/mesonbuild/meson/"
|
||||
|
@ -316,8 +317,8 @@ files and generates build instructions for the Ninja build system.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"02wi62k9w7716xxdgrrx68q89vaq3ncnbpw5ms0g27npn2df0mgr"))))
|
||||
(build-system python-build-system)
|
||||
"13a9pj7d2mxgv5gbd78di4pb4w722vjis0vmk38m1vdm95v2f9yd"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f ;disabled to avoid extra dependencies
|
||||
#:phases
|
||||
|
@ -327,12 +328,14 @@ files and generates build instructions for the Ninja build system.")
|
|||
(replace 'wrap
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(substitute* (search-input-file outputs "bin/meson")
|
||||
(("# EASY-INSTALL-ENTRY-SCRIPT")
|
||||
(format #f "\
|
||||
import sys
|
||||
sys.path.insert(0, '~a')
|
||||
# EASY-INSTALL-ENTRY-SCRIPT" (site-packages inputs outputs)))))))))
|
||||
(inputs (list python ninja/pinned))
|
||||
(("import sys" all)
|
||||
(string-append
|
||||
all "\n"
|
||||
"sys.path.insert(0, '"
|
||||
(site-packages inputs outputs)
|
||||
"')"))))))))
|
||||
(native-inputs (list python-setuptools))
|
||||
(inputs (list python ninja))
|
||||
(home-page "https://mesonbuild.com/")
|
||||
(synopsis "Build system designed to be fast and user-friendly")
|
||||
(description
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
;;; Copyright © 2020 Antoine Côté <antoine.cote@posteo.net>
|
||||
;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2020 Magali Lemes <magalilemes00@gmail.com>
|
||||
;;; Copyright © 2020, 2021, 2022, 2023 Simon Tournier <zimon.toutoune@gmail.com>
|
||||
;;; Copyright © 2020-2023, 2025 Simon Tournier <zimon.toutoune@gmail.com>
|
||||
;;; Copyright © 2020 Aniket Patil <aniket112.patil@gmail.com>
|
||||
;;; Copyright © 2021 Marcel Schilling <marcel.schilling@uni-luebeck.de>
|
||||
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
|
||||
|
@ -103,6 +103,7 @@
|
|||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages node)
|
||||
#:use-module (gnu packages ocr)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages pdf)
|
||||
#:use-module (gnu packages perl)
|
||||
|
@ -55433,6 +55434,36 @@ or animation) or multiple time series; methods for spatial and temporal
|
|||
matching or aggregation, retrieving coordinates, print, summary, etc.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public r-tesseract
|
||||
(package
|
||||
(name "r-tesseract")
|
||||
(version "5.2.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "tesseract" version))
|
||||
(sha256
|
||||
(base32 "181fbv1qhqxljr67phkrxahbfgsxa73gzq30zq0wvi38gzbfbnv8"))))
|
||||
(properties `((upstream-name . "tesseract")))
|
||||
(build-system r-build-system)
|
||||
(inputs (list tesseract-ocr
|
||||
zlib))
|
||||
(propagated-inputs (list r-curl
|
||||
r-digest
|
||||
r-pdftools
|
||||
r-rappdirs
|
||||
r-rcpp))
|
||||
(native-inputs (list pkg-config
|
||||
r-knitr
|
||||
r-spelling))
|
||||
(home-page "https://github.com/ropensci/tesseract")
|
||||
(synopsis "Open Source OCR Engine")
|
||||
(description
|
||||
"Bindings to @code{tesseract}: an optical character recognition (OCR) engine
|
||||
that supports over 100 languages. The engine is highly configurable in order
|
||||
to tune the detection algorithms and obtain the best possible results.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public r-gstat
|
||||
(package
|
||||
(name "r-gstat")
|
||||
|
|
|
@ -1136,20 +1136,26 @@ trivial to build for local use. Portability is emphasized over performance.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1d0cnd2s607j642h64821mpklfvvzy70mkyl2dlsm5s9lgvndn2p"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; These files are pre-generated, the build system is able to
|
||||
;; re-generate those.
|
||||
#~(for-each delete-file '("src/precomputed_ecmult.c"
|
||||
"src/precomputed_ecmult_gen.c")))))
|
||||
"1d0cnd2s607j642h64821mpklfvvzy70mkyl2dlsm5s9lgvndn2p"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--enable-module-recovery"
|
||||
"--enable-experimental"
|
||||
"--enable-shared"
|
||||
"--disable-static"
|
||||
"--disable-benchmark")))
|
||||
(list #:configure-flags
|
||||
#~(list
|
||||
"--enable-module-recovery"
|
||||
"--enable-experimental"
|
||||
"--enable-shared"
|
||||
"--disable-static"
|
||||
"--disable-benchmark")
|
||||
#:phases
|
||||
(if (%current-target-system)
|
||||
#~%standard-phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; These files are pre-generated, the build system is able to
|
||||
;; re-generate those if not cross-compiling,
|
||||
(add-after 'unpack 'delete-precomputed-files
|
||||
(lambda _
|
||||
(for-each delete-file '("src/precomputed_ecmult.c"
|
||||
"src/precomputed_ecmult_gen.c"))))))))
|
||||
(native-inputs
|
||||
(list autoconf automake libtool))
|
||||
(synopsis "C library for EC operations on curve secp256k1")
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
;;; Copyright © 2025 Lukas Gradl <lgradl@posteo.net>
|
||||
;;; Copyright © 2025 Antoine Côté <antoine.cote@posteo.net>
|
||||
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2025 John Kehayias <john@guixotic.coop>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -321,7 +322,7 @@ filters for the PDF-centric printing workflow introduced by OpenPrinting.")
|
|||
(define-public cups-minimal
|
||||
(package
|
||||
(name "cups-minimal")
|
||||
(version "2.4.9")
|
||||
(version "2.4.14")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -331,8 +332,8 @@ filters for the PDF-centric printing workflow introduced by OpenPrinting.")
|
|||
;; Avoid NAME confusion: these are the complete CUPS sources.
|
||||
(file-name (git-file-name "cups" version))
|
||||
(sha256
|
||||
(base32 "08wjd1flyaslhnwvxl39403qi3g675rk532ysiyk6cda4r8ks1g1"))
|
||||
(patches (search-patches "cups-minimal-Address-PPD-injection-issues.patch"))))
|
||||
(base32 "1dk5salizxy1qm19gw93ffdd34hsn1cd4s57nwl7nfhwwirkiri2"))
|
||||
(patches (search-patches "cups-relax-root-ownership-check.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
|
@ -703,6 +704,14 @@ should only be used as part of the Guix cups-pk-helper service.")
|
|||
(string-append "rulessystemdir = " out "/lib/systemd/system"))
|
||||
(("/etc/sane.d")
|
||||
(string-append out "/etc/sane.d"))))))
|
||||
(add-after 'install 'move-sane-config-to-dll.d
|
||||
(lambda _
|
||||
;; move dll.conf to dll.d - the directory intended for 3rd-party
|
||||
;; backend configurations.
|
||||
(let ((dll.d (string-append #$output "/etc/sane.d/dll.d"))
|
||||
(dll.conf (string-append #$output "/etc/sane.d/dll.conf")))
|
||||
(mkdir-p dll.d)
|
||||
(rename-file dll.conf (string-append dll.d "/hpaio")))))
|
||||
(add-after 'install 'install-models-dat
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(install-file "data/models/models.dat"
|
||||
|
@ -751,7 +760,7 @@ should only be used as part of the Guix cups-pk-helper service.")
|
|||
python-pygobject
|
||||
python-pyqt
|
||||
python-wrapper
|
||||
sane-backends-minimal
|
||||
sane
|
||||
net-snmp
|
||||
openssl
|
||||
avahi
|
||||
|
@ -789,7 +798,7 @@ should only be used as part of the Guix cups-pk-helper service.")
|
|||
dbus
|
||||
libjpeg-turbo
|
||||
libusb
|
||||
sane-backends-minimal
|
||||
sane
|
||||
zlib))
|
||||
(synopsis "GUI-less version of hplip")))
|
||||
|
||||
|
|
|
@ -1173,7 +1173,7 @@ Language.")
|
|||
(define-public mariadb
|
||||
(package
|
||||
(name "mariadb")
|
||||
(version "10.11.10")
|
||||
(version "10.11.14")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://downloads.mariadb.com/MariaDB"
|
||||
|
@ -1181,7 +1181,7 @@ Language.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"08phlqcwcwl753zi2jv702q7b3h25d489289mflnm8c31djp8smh"))
|
||||
"0bq5gn5yl3c6jnsamam4nb42y10c43ag764f7mkf7m5i9yqiqmwa"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
|
|
@ -528,7 +528,7 @@ server and embedded PowerPC, and S390 guests.")
|
|||
(package
|
||||
(inherit american-fuzzy-lop)
|
||||
(name "aflplusplus")
|
||||
(version "4.32c")
|
||||
(version "4.33c")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -537,7 +537,7 @@ server and embedded PowerPC, and S390 guests.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1a92mbwk51pih5jb944wqhvmbpy0acpxgvdfbq3c4xw7gisgn5qn"))))
|
||||
"1h4ya82s1wd11c04r0g0wsq56asl1np3nmsf6yk4vyic9nm0hsq0"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments american-fuzzy-lop)
|
||||
((#:make-flags _ ''())
|
||||
|
|
|
@ -187,7 +187,7 @@ markup) can be customized and extended by the user.")
|
|||
(define-public doxygen
|
||||
(package
|
||||
(name "doxygen")
|
||||
(version "1.9.8")
|
||||
(version "1.14.0")
|
||||
(home-page "https://www.doxygen.nl/")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
|
@ -198,7 +198,7 @@ markup) can be customized and extended by the user.")
|
|||
".src.tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"0qjgw7bnx668hpi4r8m366vsq118s9365zf8z4x5yjrqx0ld5qq5"))))
|
||||
"0pbbdvc1zxps6mi58bry16rcrdw6b9gvf9nhv0kp60qkmc8nslyl"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
(list bison
|
||||
|
@ -219,12 +219,15 @@ markup) can be customized and extended by the user.")
|
|||
#~'())
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-bibtex-test
|
||||
(add-after 'unpack 'disable-some-tests
|
||||
(lambda _
|
||||
;; Disable test that requires bibtex to avoid a
|
||||
;; circular dependency.
|
||||
(for-each delete-file-recursively
|
||||
'("testing/012" "testing/012_cite.dox"))))
|
||||
;; Disable test that requires bibtex to avoid a
|
||||
;; circular dependency.
|
||||
'("testing/012" "testing/012_cite.dox"
|
||||
;; Reported upstream, see
|
||||
;; <https://github.com/doxygen/doxygen/issues/11772>.
|
||||
"testing/009" "testing/009_bug.cpp"))))
|
||||
(add-before 'configure 'patch-sh
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((/bin/sh (search-input-file inputs "/bin/sh")))
|
||||
|
|
|
@ -243,7 +243,7 @@ object or archive file), @command{eu-strip} (for discarding symbols),
|
|||
(list pkg-config texinfo python-sphinx python))
|
||||
(propagated-inputs
|
||||
(list elfutils ;libabigail.la says -lelf
|
||||
libxml2-next)) ;in Requires.private of libabigail.pc
|
||||
libxml2)) ;in Requires.private of libabigail.pc
|
||||
(synopsis "Analyze application binary interfaces (ABIs)")
|
||||
(description
|
||||
"@dfn{ABIGAIL} stands for the Application Binary Interface Generic
|
||||
|
|
|
@ -9432,11 +9432,11 @@ inline PDF preview in Org buffers by using @command{pdf2svg}.")
|
|||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-org-rainbow-tags
|
||||
;; Upstream didn't tag version.
|
||||
(let ((commit "c6040d228c5e8c5c6d33c7f81fc09d935ad1bcbd"))
|
||||
(let ((commit "dfe36047bc9646b621452f3e2e97170e99e2b43f")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "emacs-org-rainbow-tags")
|
||||
(version "0.1-pre")
|
||||
(version (git-version "0.1-pre" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -9445,7 +9445,7 @@ inline PDF preview in Org buffers by using @command{pdf2svg}.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"006nx01sby8k0fc9lf63ldf0sl94ihldyrvqr9r18fb1gpzvivl6"))))
|
||||
"1rhgvbhsbm999l5kg19747dxwscd5h5sl330d6a422f0dxvvxqrq"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/KaratasFurkan/org-rainbow-tags")
|
||||
(synopsis "Colorize Org tags automatically")
|
||||
|
|
|
@ -158,7 +158,8 @@
|
|||
"emacs-native-comp-driver-options.patch"
|
||||
"emacs-native-comp-fix-filenames.patch"
|
||||
"emacs-native-comp-pin-packages.patch"
|
||||
"emacs-pgtk-super-key-fix.patch"))
|
||||
"emacs-pgtk-super-key-fix.patch"
|
||||
"emacs-zoom-image-test-fix.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(with-directory-excursion "lisp"
|
||||
|
|
|
@ -1566,8 +1566,7 @@ use on a given system.")
|
|||
parallel
|
||||
perl
|
||||
pkg-config
|
||||
python-wrapper
|
||||
python-libxml2))
|
||||
python-wrapper))
|
||||
(inputs
|
||||
(list pcre2))
|
||||
(home-page "https://www.gnu.org/software/libredwg/")
|
||||
|
|
|
@ -1,96 +0,0 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
|
||||
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2022 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages fcitx)
|
||||
#:use-module ((guix licenses) #:select (gpl2+))
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages graphviz)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
(define-public presage
|
||||
(package
|
||||
(name "presage")
|
||||
(version "0.9.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "mirror://sourceforge/presage/presage/"
|
||||
version "/presage-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0rm3b3zaf6bd7hia0lr1wyvi1rrvxkn7hg05r5r1saj0a3ingmay"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list
|
||||
"CFLAGS=-Wno-narrowing -std=c++14"
|
||||
"CXXFLAGS=-Wno-narrowing -std=c++14")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'move-doc
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(doc (assoc-ref outputs "doc")))
|
||||
(mkdir-p (string-append doc "/share/presage"))
|
||||
(rename-file
|
||||
(string-append out "/share/presage/html")
|
||||
(string-append doc "/share/presage/html")))))
|
||||
(add-after 'unpack 'update-config-scripts
|
||||
(lambda* (#:key native-inputs inputs #:allow-other-keys)
|
||||
(for-each (lambda (file)
|
||||
(install-file
|
||||
(search-input-file
|
||||
(or native-inputs inputs)
|
||||
(string-append "/bin/" file)) "."))
|
||||
'("config.guess" "config.sub")))))))
|
||||
(native-inputs
|
||||
`(("config" ,config)
|
||||
("dot" ,graphviz)
|
||||
("doxygen" ,doxygen)
|
||||
("gettext" ,gettext-minimal)
|
||||
("glib:bin" ,glib "bin")
|
||||
("gtk+:bin" ,gtk+ "bin")
|
||||
("help2man" ,help2man)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python-wrapper" ,python-wrapper)))
|
||||
(inputs
|
||||
(list glib gtk+ libx11 sqlite tinyxml))
|
||||
(synopsis "Intelligent Predictive Text Entry System")
|
||||
(description "Presage generates predictions by modelling natural language as
|
||||
a combination of redundant information sources. It computes probabilities for
|
||||
words which are most likely to be entered next by merging predictions generated
|
||||
by the different predictive algorithms.")
|
||||
(home-page "https://presage.sourceforge.io/")
|
||||
(license gpl2+)))
|
||||
|
|
@ -94,7 +94,6 @@
|
|||
#:use-module (gnu packages disk)
|
||||
#:use-module (gnu packages docbook)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages fcitx)
|
||||
#:use-module (gnu packages file)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages gawk)
|
||||
|
@ -380,95 +379,6 @@ inappropriate content.")
|
|||
license:gpl2+
|
||||
license:lgpl2.1+))))
|
||||
|
||||
(define-public maliit-framework
|
||||
(package
|
||||
(name "maliit-framework")
|
||||
(version "2.3.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/maliit/framework")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1dkjxvfxg56hfy70j6ibfklfyv57jiha4vgc3ggl60r5kjx65s5b"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
;; The Ft_MIMPluginManager::testPluginDescriptions test fails
|
||||
;; with a QFATAL error: received signal 11, while
|
||||
;; ut_mimpluginmanager fails at least on powerpc64le with a
|
||||
;; subprocess aborted error (see:
|
||||
;; https://github.com/maliit/framework/issues/120).
|
||||
(invoke "ctest" "-E"
|
||||
"(ft_mimpluginmanager|ut_mimpluginmanager)")))))))
|
||||
(native-inputs (list extra-cmake-modules
|
||||
wayland-protocols
|
||||
pkg-config
|
||||
doxygen
|
||||
graphviz
|
||||
`(,glib "bin"))) ;for gdbus-codegen))
|
||||
(inputs (list qtbase-5
|
||||
qtdeclarative-5
|
||||
qtwayland-5
|
||||
wayland
|
||||
libxkbcommon
|
||||
dbus
|
||||
eudev
|
||||
glib))
|
||||
(home-page "https://github.com/maliit/framework")
|
||||
(synopsis "Core libraries of Maliit")
|
||||
(description "This package provides Maliit provides a flexible input
|
||||
method framework.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public maliit-keyboard
|
||||
(package
|
||||
(name "maliit-keyboard")
|
||||
(version "2.3.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/maliit/keyboard")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0g89lckl4wzwamc89hs8871fbiyrsjwzk5b6ic4vhc4d1clyqzaw"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'install 'install-schemas
|
||||
(lambda* (#:key source outputs #:allow-other-keys)
|
||||
(with-directory-excursion (string-append #$output
|
||||
"/share/glib-2.0/schemas")
|
||||
(invoke "glib-compile-schemas" ".")))))))
|
||||
(native-inputs (list extra-cmake-modules pkg-config gettext-minimal
|
||||
`(,glib "bin")))
|
||||
(inputs (list hunspell
|
||||
glib
|
||||
libchewing
|
||||
libpinyin
|
||||
maliit-framework
|
||||
presage
|
||||
qtbase-5
|
||||
qtdeclarative-5
|
||||
qtmultimedia-5
|
||||
qtquickcontrols2-5))
|
||||
(home-page "https://github.com/maliit/keyboard")
|
||||
(synopsis "Maliit Keyboard")
|
||||
(description
|
||||
"This package provides virtual keyboard for Wayland and X11
|
||||
display servers. It supports many different languages and emoji.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
;; Private package used by shared-mime-info.
|
||||
(define xdgmime
|
||||
;; No public release, match commit to the one used in the
|
||||
|
@ -676,7 +586,7 @@ freedesktop.org project.")
|
|||
;; Updating this will rebuild over 700 packages through libinput-minimal.
|
||||
(package
|
||||
(name "libinput")
|
||||
(version "1.26.2")
|
||||
(version "1.29.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -685,7 +595,7 @@ freedesktop.org project.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1zwwq7a0a6yznc6jxhp6gb50yw5vpfkvgbrabrpc5pwldpckfbrg"))))
|
||||
"1kgr18p7n9bvim9bx24jbr5nwp6icla3bgzfskr04f68mirmx561"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("-Ddocumentation=false")
|
||||
|
@ -732,21 +642,6 @@ other applications that need to directly deal with input devices.")
|
|||
"-Ddebug-gui=false" ;requires gtk+@3
|
||||
,flags))))))
|
||||
|
||||
;; TODO: Remove this package when libinput-minimal >= 1.28
|
||||
(define-public libinput-minimal-next
|
||||
(package/inherit libinput-minimal
|
||||
(name "libinput-minimal")
|
||||
(version "1.28.903")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.freedesktop.org/libinput/libinput.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0i5yljdff4fjchpa8ifscbcssnmiim58ai1zy3v41vim2illprv5"))))))
|
||||
|
||||
(define-public libei
|
||||
(package
|
||||
(name "libei")
|
||||
|
@ -1453,7 +1348,7 @@ in and for C++.")
|
|||
(define-public wayland
|
||||
(package
|
||||
(name "wayland")
|
||||
(version "1.23.1")
|
||||
(version "1.24.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://gitlab.freedesktop.org/" name
|
||||
|
@ -1461,12 +1356,11 @@ in and for C++.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1vg5h6d94hglh7724q6wx9dpg4y0afvxksankp1hwbcy76lb4kw6"))))
|
||||
"0dh5bldg24ajxz7xmylwm01nmj572x1vb0ya9qrppmhsl23j92c2"))))
|
||||
(build-system meson-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
(list #:parallel-tests? #f
|
||||
#:phases
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'move-doc
|
||||
(lambda _
|
||||
|
@ -1504,7 +1398,7 @@ fullscreen) or other display servers.")
|
|||
(define-public wayland-protocols
|
||||
(package
|
||||
(name "wayland-protocols")
|
||||
(version "1.44")
|
||||
(version "1.45")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -1513,7 +1407,7 @@ fullscreen) or other display servers.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1gjhfiah8hkhqlfan2pr8jvf9h8rjkyz79kkxddi8js2q7dy4bbq"))))
|
||||
"1d2fv41vq75pvgkd3ykjypnp8zv0afv71p36cd91h19lbmwaia8h"))))
|
||||
(build-system meson-build-system)
|
||||
(inputs
|
||||
(list wayland))
|
||||
|
@ -2340,7 +2234,7 @@ between protocols to provide a unified interface for applications.")
|
|||
(inputs (list sqlite))
|
||||
(propagated-inputs
|
||||
;; telepathy-logger-0.2.pc refers to all these.
|
||||
(list libxml2-next telepathy-glib))
|
||||
(list libxml2 telepathy-glib))
|
||||
(synopsis "Telepathy logger library")
|
||||
(home-page "https://telepathy.freedesktop.org/")
|
||||
(description
|
||||
|
|
|
@ -244,7 +244,10 @@ provided, as well as a framework to add new color models and data types.")
|
|||
(base32 "0v2wa2a3vnz1g4z5h9s8ili5h5kzk95hxlcp0zlxkwgbf5img1sq"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
`(#:configure-flags
|
||||
;; TODO: properly unbundle.
|
||||
'("--wrap-mode=nodownload")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'extend-test-time-outs
|
||||
(lambda _
|
||||
|
|
|
@ -314,7 +314,7 @@ also known as DXTn or DXTC) for Mesa.")
|
|||
(define-public mesa
|
||||
(package
|
||||
(name "mesa")
|
||||
(version "25.1.3")
|
||||
(version "25.2.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -324,7 +324,7 @@ also known as DXTn or DXTC) for Mesa.")
|
|||
"mesa-" version ".tar.xz")))
|
||||
(sha256
|
||||
(base32
|
||||
"0zxsvly6xjinaicgcf81ycljjjzy3mj0hqwf01b6sdgxnnnnrjzz"))))
|
||||
"1y5lj9zy2hfvx9ji1rvsjapmzap7mpp5i3pf2yfcpmpica2v5mpj"))))
|
||||
(build-system meson-build-system)
|
||||
(propagated-inputs
|
||||
;; The following are in the Requires.private field of gl.pc.
|
||||
|
@ -357,7 +357,6 @@ also known as DXTn or DXTC) for Mesa.")
|
|||
glslang
|
||||
libclc
|
||||
pkg-config
|
||||
python-libxml2 ;for OpenGL ES 1.1 and 2.0 support
|
||||
python-mako
|
||||
python-ply
|
||||
python-pyyaml
|
||||
|
@ -406,13 +405,12 @@ panfrost,r300,r600,svga,softpipe,llvmpipe,tegra,v3d,vc4,virgl,zink"))
|
|||
"-Dglx=dri" ;Thread Local Storage, improves performance
|
||||
;; "-Dopencl=true"
|
||||
;; "-Domx=true"
|
||||
"-Dosmesa=true"
|
||||
"-Dgallium-xa=enabled"
|
||||
|
||||
;; features required by wayland
|
||||
"-Dgles2=enabled"
|
||||
"-Dgbm=enabled"
|
||||
"-Dshared-glapi=enabled"
|
||||
"--wrap-mode=nodownload" ; XXX: disable
|
||||
|
||||
#$@(cond
|
||||
((target-x86-32?)
|
||||
|
@ -439,6 +437,9 @@ panfrost,r300,r600,svga,softpipe,llvmpipe,tegra,v3d,vc4,virgl,zink"))
|
|||
;; Also enable the tests.
|
||||
"-Dbuild-tests=true"
|
||||
|
||||
;; Re-enable X11 protocol support for the DRI2 extension.
|
||||
"-Dlegacy-x11=dri2"
|
||||
|
||||
"-Dllvm=enabled") ; default is x86/x86_64 only
|
||||
|
||||
;; XXX: 'debugoptimized' causes LTO link failures on some drivers. The
|
||||
|
|
|
@ -770,7 +770,7 @@ The intltool collection can be used to do these things:
|
|||
"1jl7gsr7aclb9nvqazr039m86y7f7ivfhl2pixcrbfqjkb97r6kb"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list bash-minimal libxml2 python-libxml2 python))
|
||||
(list bash-minimal libxml2 python))
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
|
@ -858,7 +858,7 @@ by GDBus included in Glib.")
|
|||
pkg-config
|
||||
vala))
|
||||
(inputs (list check python python-pygobject))
|
||||
(propagated-inputs (list glib libxml2-next sqlite))
|
||||
(propagated-inputs (list glib libxml2 sqlite))
|
||||
(arguments
|
||||
(list #:tests? #f ;one test fails.
|
||||
#:imported-modules `((guix build python-build-system)
|
||||
|
|
|
@ -443,7 +443,7 @@ services.")
|
|||
"/share/gtk-doc/html"))))
|
||||
(native-inputs (list docbook-xml-4.1.2 gobject-introspection gtk-doc/stable
|
||||
pkg-config))
|
||||
(propagated-inputs (list glib libsoup-minimal-2 libxml2-next-for-grafting))
|
||||
(propagated-inputs (list glib libsoup-minimal-2 libxml2))
|
||||
(synopsis "Glib library for feeds")
|
||||
(description "LibGRSS is a Glib abstraction to handle feeds in RSS, Atom,
|
||||
and other formats.")
|
||||
|
@ -1223,7 +1223,7 @@ Library reference documentation.")
|
|||
;; These inputs are required by the pkg-config file.
|
||||
(list glib
|
||||
libsoup
|
||||
libxml2-next-for-grafting))
|
||||
libxml2))
|
||||
(synopsis "WebDav server implementation using libsoup")
|
||||
(description "PhoDav was initially developed as a file-sharing mechanism for Spice,
|
||||
but it is generic enough to be reused in other projects,
|
||||
|
@ -1433,7 +1433,7 @@ a debugging tool, @command{gssdp-device-sniffer}.")
|
|||
gsettings-desktop-schemas ;for ‘org.gnome.system.proxy’.
|
||||
gssdp
|
||||
libsoup
|
||||
libxml2-next-for-grafting))
|
||||
libxml2))
|
||||
(synopsis "PnP API for GNOME")
|
||||
(description "This package provides GUPnP, an object-oriented framework
|
||||
for creating UPnP devices and control points, written in C using
|
||||
|
@ -2018,7 +2018,7 @@ and system administrators.")
|
|||
(inputs
|
||||
(list graphene
|
||||
gtk+
|
||||
libxml2-next-for-grafting
|
||||
libxml2
|
||||
libxslt
|
||||
poppler
|
||||
python-minimal
|
||||
|
@ -2068,7 +2068,7 @@ formats like PNG, SVG, PDF and EPS.")
|
|||
("json-glib" ,json-glib)
|
||||
("liboauth" ,liboauth)
|
||||
("libsoup" ,libsoup-minimal-2)
|
||||
("libxml2" ,libxml2-next-for-grafting)))
|
||||
("libxml2" ,libxml2)))
|
||||
(home-page "https://wiki.gnome.org/Projects/libgdata")
|
||||
(synopsis "Library for accessing online service APIs")
|
||||
(description
|
||||
|
@ -3600,7 +3600,7 @@ XML/CSS rendering engine.")
|
|||
zlib))
|
||||
(propagated-inputs
|
||||
(list glib
|
||||
libxml2-next-for-grafting))
|
||||
libxml2))
|
||||
(synopsis "G Structured File Library")
|
||||
(description "Libgsf aims to provide an efficient extensible I/O abstraction
|
||||
for dealing with different structured file formats.")
|
||||
|
@ -3802,7 +3802,7 @@ diagrams.")
|
|||
`(,glib "bin") ; glib-mkenums, etc.
|
||||
gobject-introspection)) ; g-ir-compiler, etc.
|
||||
(inputs
|
||||
(list pango libcroco libxml2))
|
||||
(list pango libcroco libxml2-2.11))
|
||||
(propagated-inputs
|
||||
;; librsvg-2.0.pc refers to all of that.
|
||||
(list cairo gdk-pixbuf glib))
|
||||
|
@ -4215,7 +4215,7 @@ ported to GTK+.")
|
|||
(inputs
|
||||
(list python)) ;; needed for the optional libglade-convert program
|
||||
(propagated-inputs
|
||||
(list gtk+-2 libxml2-next-for-grafting)) ; required by libglade-2.0.pc
|
||||
(list gtk+-2 libxml2)) ; required by libglade-2.0.pc
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(home-page "https://developer.gnome.org/libglade")
|
||||
|
@ -4254,7 +4254,7 @@ widgets built in the loading process.")
|
|||
;; Therefore we must do it.
|
||||
(zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))))))
|
||||
;; Mentioned as Required by the .pc file
|
||||
(propagated-inputs (list libxml2-next-for-grafting))
|
||||
(propagated-inputs (list libxml2))
|
||||
(inputs
|
||||
(list popt pangox-compat libgnome libgnomecanvas libglade))
|
||||
(native-inputs
|
||||
|
@ -4911,7 +4911,7 @@ GLib and GObject, and integrates JSON with GLib data types.")
|
|||
("libtool" ,libtool)))
|
||||
(propagated-inputs
|
||||
;; Required by libxklavier.pc.
|
||||
(list glib libxml2-next-for-grafting))
|
||||
(list glib libxml2))
|
||||
(inputs
|
||||
(list iso-codes/pinned libxi libxkbfile xkbcomp xkeyboard-config))
|
||||
(home-page "https://www.freedesktop.org/wiki/Software/LibXklavier/")
|
||||
|
@ -5021,7 +5021,6 @@ files.")
|
|||
|
||||
(define-public rest
|
||||
(package
|
||||
(replacement rest/fixed)
|
||||
(name "rest")
|
||||
(version "0.8.1")
|
||||
(source (origin
|
||||
|
@ -5050,13 +5049,6 @@ claim to be \"RESTful\". It includes convenience wrappers for libsoup and
|
|||
libxml to ease remote use of the RESTful API.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public rest/fixed
|
||||
(package
|
||||
(inherit rest)
|
||||
(propagated-inputs
|
||||
(modify-inputs (package-propagated-inputs rest)
|
||||
(replace "libxml2" libxml2-next-for-grafting)))))
|
||||
|
||||
(define-public rest-next
|
||||
(package
|
||||
(inherit rest)
|
||||
|
@ -5210,7 +5202,7 @@ as OpenStreetMap, OpenCycleMap, OpenAerialMap and Maps.")
|
|||
libpsl
|
||||
nghttp2 ;for pkg-config
|
||||
`(,nghttp2 "lib")
|
||||
libxml2-next-for-grafting
|
||||
libxml2
|
||||
sqlite
|
||||
zlib))
|
||||
(inputs
|
||||
|
@ -5799,7 +5791,7 @@ output devices.")
|
|||
docbook-xsl
|
||||
gtk-doc/stable
|
||||
libxslt
|
||||
sane-backends
|
||||
sane
|
||||
vala))))) ;for VAPI, needed by simple-scan
|
||||
|
||||
(define-public geoclue
|
||||
|
@ -6018,7 +6010,7 @@ service via the system message bus.")
|
|||
(list gtk+
|
||||
gdk-pixbuf
|
||||
json-glib
|
||||
libxml2-next-for-grafting
|
||||
libxml2
|
||||
libsoup
|
||||
geocode-glib))
|
||||
(inputs
|
||||
|
@ -6137,7 +6129,7 @@ settings, themes, mouse settings, and startup of other daemons.")
|
|||
(list intltool
|
||||
`(,glib "bin") gobject-introspection pkg-config))
|
||||
(propagated-inputs
|
||||
(list glib gmime libarchive libgcrypt libxml2-next-for-grafting))
|
||||
(list glib gmime libarchive libgcrypt libxml2))
|
||||
(inputs
|
||||
(list libsoup))
|
||||
(home-page "https://projects.gnome.org/totem")
|
||||
|
@ -7238,7 +7230,7 @@ USB transfers with your high-level application or system daemon.")
|
|||
gdk-pixbuf
|
||||
gusb
|
||||
libadwaita
|
||||
sane-backends))
|
||||
sane))
|
||||
(home-page "https://gitlab.gnome.org/GNOME/simple-scan")
|
||||
(synopsis "Document and image scanner")
|
||||
(description
|
||||
|
@ -8122,7 +8114,7 @@ to display dialog boxes from the commandline and shell scripts.")
|
|||
libxext
|
||||
libxfixes
|
||||
libxkbcommon
|
||||
libxml2-next-for-grafting
|
||||
libxml2
|
||||
libxrandr
|
||||
mesa
|
||||
pango
|
||||
|
@ -8948,7 +8940,7 @@ the available networks and allows users to easily switch between them.")
|
|||
(base32 "0gp8irc5ny9i6bw9fp21p8djgksi1s8l5flbn5blisgfpcb2w820"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs
|
||||
(list libxml2-next-for-grafting)) ;required by .pc file
|
||||
(list libxml2)) ;required by .pc file
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
automake
|
||||
|
@ -9726,7 +9718,8 @@ easy, safe, and automatic.")
|
|||
#$output "/lib:"
|
||||
#$output "/lib/tracker-3.0")
|
||||
"-Ddocs=false"
|
||||
"-Dsystemd_user_services=false")
|
||||
"-Dsystemd_user_services=false"
|
||||
"--wrap-mode=nodownload") ; XXX: to be disabled
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-paths
|
||||
|
@ -13885,7 +13878,7 @@ developed with the aim of being used with the Librem 5 phone.")
|
|||
sqlite
|
||||
vala))
|
||||
(propagated-inputs
|
||||
(list libxml2-next-for-grafting)) ; required by libgda-5.0.pc
|
||||
(list libxml2)) ; required by libgda-5.0.pc
|
||||
(home-page "https://gitlab.gnome.org/GNOME/libgda")
|
||||
(synopsis "Uniform data access")
|
||||
(description
|
||||
|
@ -14000,7 +13993,7 @@ world.")
|
|||
("python-pyenchant" ,python-pyenchant)
|
||||
("python-reportlab" ,python-reportlab)
|
||||
("python-sane" ,python-sane)
|
||||
("sane-backends" ,sane-backends)
|
||||
("sane" ,sane)
|
||||
("tesseract-ocr" ,tesseract-ocr)))
|
||||
(home-page "https://wiki.gnome.org/Apps/OCRFeeder")
|
||||
(synopsis "Complete OCR Suite")
|
||||
|
|
|
@ -60,6 +60,75 @@
|
|||
;;;
|
||||
;;; Code:
|
||||
|
||||
(define-public go-cel-dev-expr
|
||||
(package
|
||||
(name "go-cel-dev-expr")
|
||||
(version "0.24.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/google/cel-spec")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0fzy5njwzg48h1mqbfhczyq6hxmbq3yzdivkjh1x8ipj19v4hvfl"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "cel.dev/expr"))
|
||||
(propagated-inputs
|
||||
(list go-google-golang-org-genproto-googleapis-rpc
|
||||
go-google-golang-org-protobuf))
|
||||
(home-page "https://cel.dev/")
|
||||
(synopsis "Common Expression Language")
|
||||
(description
|
||||
"The Common Expression Language (CEL) implements common semantics for
|
||||
expression evaluation, enabling different applications to more easily
|
||||
interoperate.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-ebitengine-purego
|
||||
(package
|
||||
(name "go-github-com-ebitengine-purego")
|
||||
(version "0.8.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ebitengine/purego")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0sy5cn56wxwv1qpl6vg5160hlk004m5wdlf18rfnj63573f5kivh"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/ebitengine/purego"
|
||||
;; TODO: This failed test should be proper checked.
|
||||
;; ld:
|
||||
;; /tmp/guix-build-go-github-com-ebitengine-purego-0.8.4.drv-0/ccguQKNs.o:
|
||||
;; relocation R_X86_64_32 against `.bss' can not be used when making a
|
||||
;; shared object; recompile with -fPIC ld: failed to set dynamic section
|
||||
;; sizes: bad value collect2: error: ld returned 1 exit status
|
||||
#:test-flags #~(list "-skip" "TestNestedDlopenCall")))
|
||||
(home-page "https://github.com/ebitengine/purego")
|
||||
(synopsis "Library for calling C functions from Go without Cgo")
|
||||
(description
|
||||
"This package provides a library for calling C functions from Go without
|
||||
Cgo.
|
||||
|
||||
Featues:
|
||||
@itemize
|
||||
@item build for other platforms easily without a C compiler
|
||||
@item efficiently cache entirely Go builds
|
||||
@item using Cgo generates a C wrapper function for each C function called
|
||||
@item load symbols at runtime and use it as a plugin system
|
||||
@item call into other languages that are compiled into shared objects
|
||||
@item works even with @code{CGO_ENABLED=1} so incremental porting is possible
|
||||
@end itemize")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-goccmack-gocc
|
||||
(package
|
||||
(name "go-github-com-goccmack-gocc")
|
||||
|
|
|
@ -289,6 +289,57 @@ for Golang projects via modular Makefiles and GitHub Actions.")
|
|||
in Golang.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-bsm-ginkgo-v2
|
||||
(package
|
||||
(name "go-github-com-bsm-ginkgo-v2")
|
||||
(version "2.12.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/bsm/ginkgo")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "01k1j1bwdq23hs9zzbz9kdljvr6hzym53mqxh2gy0bz4lggcd6qs"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/bsm/ginkgo/v2"
|
||||
#:test-flags #~(list "-vet=off")))
|
||||
(home-page "https://github.com/bsm/ginkgo")
|
||||
(synopsis "Straight copy of Ginkgo library")
|
||||
(description
|
||||
"This package is a straight copy of the excellent
|
||||
@url{http://onsi.github.io/ginkgo/, Ginkgo} library, stripped to the bare core
|
||||
to be free of third-party dependencies.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-bsm-gomega
|
||||
(package
|
||||
(name "go-github-com-bsm-gomega")
|
||||
(version "1.27.10")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/bsm/gomega")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0i7p85wsqv1j9aq052vdw006xq42n1rdgnk1lr6f5wnapwab2shz"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/bsm/gomega"))
|
||||
(home-page "https://github.com/bsm/gomega")
|
||||
(synopsis "Straight copy of Gomega library")
|
||||
(description
|
||||
"This is a straight copy of the excellent
|
||||
@url{http://onsi.github.io/gomega/, Gomega} library, stripped to the bare core
|
||||
to be free of third-party dependencies.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-caarlos0-testfs
|
||||
(package
|
||||
(name "go-github-com-caarlos0-testfs")
|
||||
|
|
|
@ -438,6 +438,73 @@ Signature headers are to be set (but not both).
|
|||
It's an alternative fork of @url{https://github.com/go-fed/httpsig}.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-a-h-templ
|
||||
(package
|
||||
(name "go-github-com-a-h-templ")
|
||||
(version "0.3.943")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/a-h/templ")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0dqcdva7z53lhfv6ldjixwp4a363sr2cv5qm8rz2w7n8ba60m37f"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
;; Submodules with their own go.mod files and packaged separately:
|
||||
;;
|
||||
;; - github.com/a-h/templ/docs
|
||||
;; - github.com/a-h/templ/runtime/fuzzing
|
||||
(delete-file-recursively "docs")
|
||||
(delete-file-recursively "runtime/fuzzing")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/a-h/templ"
|
||||
#:unpack-path "github.com/a-h/templ"
|
||||
;; TODO: Find out how to enable complete test suit, which might need
|
||||
;; gopls and other extra commands available in the PATH.
|
||||
#:test-flags
|
||||
#~(list "-skip" (string-join
|
||||
(list "Test/css-1.css"
|
||||
"Test/js-1.js"
|
||||
"TestFormatting"
|
||||
"TestIsAvailable/existing_commands_return_true")
|
||||
"|"))
|
||||
#:test-subdirs #~(list "internal/...")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'remove-examples
|
||||
(lambda* (#:key unpack-path #:allow-other-keys)
|
||||
(with-directory-excursion (string-append "src/" unpack-path)
|
||||
(delete-file-recursively "examples")))))))
|
||||
(native-inputs
|
||||
(list go-github-com-stretchr-testify))
|
||||
(propagated-inputs
|
||||
(list go-github-com-a-h-parse
|
||||
go-github-com-andybalholm-brotli
|
||||
go-github-com-cenkalti-backoff-v4
|
||||
go-github-com-cli-browser
|
||||
go-github-com-fatih-color
|
||||
go-github-com-fsnotify-fsnotify
|
||||
go-github-com-google-go-cmp
|
||||
go-github-com-natefinch-atomic
|
||||
go-github-com-rs-cors
|
||||
go-golang-org-x-mod
|
||||
go-golang-org-x-net
|
||||
go-golang-org-x-sync
|
||||
go-golang-org-x-tools))
|
||||
(home-page "https://templ.guide/")
|
||||
(synopsis "Language for writing HTML user interfaces in Golang")
|
||||
(description
|
||||
"This package implements a functionality to create components that render
|
||||
fragments of HTML and compose them to create screens, pages, documents, or
|
||||
apps.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-aki237-nscjar
|
||||
(package
|
||||
(name "go-github-com-aki237-nscjar")
|
||||
|
@ -6556,6 +6623,30 @@ intends to be compatible with Avahi.")
|
|||
Block Storage for container, cloud and virtualisation.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-lum8rjack-go-ja4h
|
||||
(package
|
||||
(name "go-github-com-lum8rjack-go-ja4h")
|
||||
(version "0.0.0-20250828030157-fa5266d50650")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/lum8rjack/go-ja4h")
|
||||
(commit (go-version->git-ref version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "079qh3lj6a8jr90g170lc36b878hqfyi94azqs8fl0wnj2fzzcs3"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/lum8rjack/go-ja4h"))
|
||||
(home-page "https://github.com/lum8rjack/go-ja4h")
|
||||
(synopsis "JA4H Fingerprint in Golang")
|
||||
(description
|
||||
"This Package provides an implementation of the
|
||||
@url{https://github.com/FoxIO-LLC/ja4, JA4HTTP (JA4H) hashing algorithm}.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-macronut-go-tproxy
|
||||
(package
|
||||
(name "go-github-com-macronut-go-tproxy")
|
||||
|
@ -9879,6 +9970,39 @@ information or even the peer of a VETH interface.")
|
|||
"Package jsonschema provides json-schema compilation and validation.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-sebest-xff
|
||||
(package
|
||||
(name "go-github-com-sebest-xff")
|
||||
(version "0.0.0-20210106013422-671bd2870b3a")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/sebest/xff")
|
||||
(commit (go-version->git-ref version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "06is8vvgxsis4sdr1d1n7p5g16x3rrw86qwkiwgamm5vnjkrvcdp"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/sebest/xff"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'remove-examples
|
||||
(lambda* (#:key tests? import-path #:allow-other-keys)
|
||||
(with-directory-excursion (string-append "src/" import-path)
|
||||
(delete-file-recursively "examples")))))))
|
||||
(native-inputs
|
||||
(list go-github-com-stretchr-testify))
|
||||
(home-page "https://github.com/sebest/xff")
|
||||
(synopsis "X-Forwarded-For middleware fo Golang")
|
||||
(description
|
||||
"Package @@code{xff} is a @code{net/http} middleware/handler to parse
|
||||
@url{http://tools.ietf.org/html/rfc7239, Forwarded HTTP Extension} in
|
||||
Golang.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-sherclockholmes-webpush-go
|
||||
(package
|
||||
(name "go-github-com-sherclockholmes-webpush-go")
|
||||
|
@ -13580,6 +13704,22 @@ carries no encryption keys and cannot decode the traffic that it proxies.")))
|
|||
(propagated-inputs '())
|
||||
(inputs '())))
|
||||
|
||||
(define-public templ
|
||||
(package/inherit go-github-com-a-h-templ
|
||||
(name "templ")
|
||||
(arguments
|
||||
(substitute-keyword-arguments
|
||||
(package-arguments go-github-com-a-h-templ)
|
||||
((#:tests? _ #t) #f)
|
||||
((#:install-source? _ #t) #f)
|
||||
((#:import-path _ "github.com/a-h/templ")
|
||||
"github.com/a-h/templ/cmd/templ")))
|
||||
(native-inputs
|
||||
(append (package-native-inputs go-github-com-a-h-templ)
|
||||
(package-propagated-inputs go-github-com-a-h-templ)))
|
||||
(propagated-inputs '())
|
||||
(inputs '())))
|
||||
|
||||
(define-public xurls
|
||||
(package/inherit go-mvdan-cc-xurls-v2
|
||||
(name "xurls")
|
||||
|
|
|
@ -751,6 +751,32 @@ Application Record Encoding} https://baremessages.org/ message format for
|
|||
Golang.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-a-h-parse
|
||||
(package
|
||||
(name "go-github-com-a-h-parse")
|
||||
(version "0.0.0-20250122154542-74294addb73e")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/a-h/parse")
|
||||
(commit (go-version->git-ref version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1warii2f9mrp5m2da9pn4chzd4y3fjlc3547va8xljfh09bvray4"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/a-h/parse"))
|
||||
(native-inputs
|
||||
(list go-github-com-google-go-cmp))
|
||||
(home-page "https://github.com/a-h/parse")
|
||||
(synopsis "Parsing tools for Golang")
|
||||
(description
|
||||
"This package provides a set of parsing tools for Go inspired by
|
||||
@url{https://github.com/sprache/Sprache/, Sprache}.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-a8m-envsubst
|
||||
(package
|
||||
(name "go-github-com-a8m-envsubst")
|
||||
|
@ -1609,6 +1635,34 @@ commands.")
|
|||
"This package implements optimal parameters for data-types.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-antlr4-go-antlr-v4
|
||||
(package
|
||||
(name "go-github-com-antlr4-go-antlr-v4")
|
||||
(version "4.13.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/antlr4-go/antlr")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1m5q00fvz28dgvv3ws924p6gamxm6gzqfm12f5ryhljifg22xq3d"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/antlr4-go/antlr/v4"))
|
||||
(propagated-inputs
|
||||
(list go-golang-org-x-exp))
|
||||
(home-page "https://github.com/antlr4-go/antlr")
|
||||
(synopsis "ANTLR4 Go Runtime Module")
|
||||
(description
|
||||
"This package implements the Go version of the
|
||||
@url{https://github.com/antlr/antlr4, ANTLR 4} runtime - ANother Tool for
|
||||
Language Recognition, a parser generator that uses a LL algorithm for
|
||||
parsing.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-apex-logs
|
||||
(package
|
||||
(name "go-github-com-apex-logs")
|
||||
|
@ -4570,6 +4624,92 @@ dependencies and a simple API.")
|
|||
"This package provides a transport-agnostic, filesystem metadata manifest system.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-containerd-errdefs
|
||||
(package
|
||||
(name "go-github-com-containerd-errdefs")
|
||||
(version "1.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/containerd/errdefs")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0afaljkkd388f6igr3f2vjnd14yr8h20fcfzglw8j5q1q7a1cvik"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
;; Submodules with their own go.mod files and packaged separately:
|
||||
;;
|
||||
;; - github.com/containerd/errdefs/pkg
|
||||
(delete-file-recursively "pkg")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/containerd/errdefs"))
|
||||
(home-page "https://github.com/containerd/errdefs")
|
||||
(synopsis "Common definition and library of errors used by containerd")
|
||||
(description
|
||||
"Package errdefs defines the common errors used throughout containerd
|
||||
packages.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-containerd-errdefs-pkg
|
||||
(package
|
||||
(name "go-github-com-containerd-errdefs-pkg")
|
||||
(version "0.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/containerd/errdefs")
|
||||
(commit (go-version->git-ref version
|
||||
#:subdir "pkg"))))
|
||||
(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 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 "." "pkg")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skip-build? #t
|
||||
#:import-path "github.com/containerd/errdefs/pkg"
|
||||
#:unpack-path "github.com/containerd/errdefs"))
|
||||
(propagated-inputs
|
||||
(list go-github-com-containerd-errdefs
|
||||
go-github-com-containerd-typeurl-v2
|
||||
go-google-golang-org-genproto-googleapis-rpc
|
||||
go-google-golang-org-grpc
|
||||
go-google-golang-org-protobuf))
|
||||
(home-page "https://github.com/containerd/errdefs")
|
||||
(synopsis "Addintional error handling modules for containerd")
|
||||
(description
|
||||
"This package provides an additinal Golang modules for error handling in
|
||||
containerd projects.
|
||||
|
||||
@itemize
|
||||
@item errgrpc - provides utility functions for translating errors to and from
|
||||
a gRPC context
|
||||
@item errhttp - provides utility functions for translating errors to and from
|
||||
a HTTP context
|
||||
@end itemize")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-containerd-fifo
|
||||
(package
|
||||
(name "go-github-com-containerd-fifo")
|
||||
|
@ -7016,6 +7156,31 @@ in a consistent state and never represent an in-progress write.")
|
|||
;; <...>
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-facebookgo-flagenv
|
||||
(package
|
||||
(name "go-github-com-facebookgo-flagenv")
|
||||
(version "0.0.0-20160425205200-fcd59fca7456")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/facebookarchive/flagenv")
|
||||
(commit (go-version->git-ref version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0c7fw4y4gmdrn66dx7la637lx0hvs1w27x9j12wdx037n51r078g"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;Tests require dated code <github.com/facebookgo/ensure>
|
||||
#:import-path "github.com/facebookgo/flagenv"))
|
||||
(home-page "https://github.com/facebookgo/flagenv")
|
||||
(synopsis "Populate flags from environment variables")
|
||||
(description
|
||||
"Package flagenv provides the ability to populate flags from environment
|
||||
variables.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-facette-natsort
|
||||
(package
|
||||
(name "go-github-com-facette-natsort")
|
||||
|
@ -8836,6 +9001,67 @@ This package contains a series of small enhancements and additions.")
|
|||
the resource usage and performance characteristics of running containers.")
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public go-github-com-google-cel-go
|
||||
(package
|
||||
(name "go-github-com-google-cel-go")
|
||||
(version "0.26.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/google/cel-go")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0hrdr9fzac0p7jrlbchz2qvdikr1szq5rg4sdsld7n849mmz8ypf"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
;; Submodules with their own go.mod files and packaged separately:
|
||||
;;
|
||||
;; - github.com/google/cel-go/codelab
|
||||
;; - github.com/google/cel-go/conformance
|
||||
;; - github.com/google/cel-go/policy
|
||||
;; - github.com/google/cel-go/repl/appengine
|
||||
;; - github.com/google/cel-go/repl
|
||||
;; - github.com/google/cel-go/tools
|
||||
(for-each delete-file-recursively
|
||||
(list "codelab"
|
||||
"conformance"
|
||||
"policy"
|
||||
"repl/appengine"
|
||||
"repl"
|
||||
"tools"
|
||||
"vendor"))))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skip-build? #t
|
||||
#:import-path "github.com/google/cel-go"
|
||||
#:test-flags #~(list "-skip" "TestStringFormat")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'remove-examples
|
||||
(lambda* (#:key tests? import-path #:allow-other-keys)
|
||||
(with-directory-excursion (string-append "src/" import-path)
|
||||
(delete-file-recursively "examples")))))))
|
||||
(propagated-inputs
|
||||
(list go-cel-dev-expr
|
||||
go-github-com-antlr4-go-antlr-v4
|
||||
go-github-com-stoewer-go-strcase
|
||||
go-golang-org-x-text
|
||||
go-google-golang-org-genproto-googleapis-api
|
||||
go-google-golang-org-protobuf
|
||||
go-gopkg-in-yaml-v3))
|
||||
(home-page "https://github.com/google/cel-go")
|
||||
(synopsis "Common Expression Language")
|
||||
(description
|
||||
"The Common Expression Language (CEL) is a non-Turing complete language
|
||||
designed for simplicity, speed, safety, and portability. CEL's C-like
|
||||
@url{https://github.com/google/cel-spec, syntax} looks nearly identical to
|
||||
equivalent expressions in C++, Go, Java, and TypeScript.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-google-gnostic-models
|
||||
(package
|
||||
(name "go-github-com-google-gnostic-models")
|
||||
|
@ -9221,6 +9447,31 @@ according @@url{https://rfc-editor.org/rfc/rfc8785.html, RFC 8785}.")
|
|||
"This package can generate ASCII line graphs in Golang.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-h2non-filetype
|
||||
(package
|
||||
(name "go-github-com-h2non-filetype")
|
||||
(version "1.1.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/h2non/filetype")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "05xad4dfimlccg3hy0fpcns4fl7yj17dbpdf6ijwbp6k4ryzy9cm"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/h2non/filetype"))
|
||||
(home-page "https://github.com/h2non/filetype")
|
||||
(synopsis "Infer binary file types based on the magic numbers header signature")
|
||||
(description
|
||||
"This package implements a functionality to infer file and MIME type
|
||||
checking the @url{https://en.wikipedia.org/wiki/Magic_number_(programming)
|
||||
,magic numbers} signature.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-h2non-parth
|
||||
(package
|
||||
(name "go-github-com-h2non-parth")
|
||||
|
@ -14146,6 +14397,30 @@ the current user without cgo. This library does that, enabling
|
|||
cross-compilation.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-mitchellh-go-ps
|
||||
(package
|
||||
(name "go-github-com-mitchellh-go-ps")
|
||||
(version "1.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mitchellh/go-ps")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0ipcbz66x7q8xczi7cyfq06y7n7v0syvkp730vn9jrn7s8f5ag0z"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/mitchellh/go-ps"))
|
||||
(home-page "https://github.com/mitchellh/go-ps")
|
||||
(synopsis "Process List Library for Golang")
|
||||
(description
|
||||
"This package provides an API for finding and listing processes in a
|
||||
platform-agnostic way.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-mitchellh-go-wordwrap
|
||||
(package
|
||||
(name "go-github-com-mitchellh-go-wordwrap")
|
||||
|
@ -14299,6 +14574,29 @@ parsing.")
|
|||
"This directory contains documents about Docker Image Specification v1.X.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-moby-spdystream
|
||||
(package
|
||||
(name "go-github-com-moby-spdystream")
|
||||
(version "0.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/moby/spdystream")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0p5pwwspmp24ff900656fyvrgdz8xxl6y0dk9fqgcaaaylmw0v9g"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/moby/spdystream"))
|
||||
(home-page "https://github.com/moby/spdystream")
|
||||
(synopsis "Multiplexed streams for Golang")
|
||||
(description
|
||||
"This package provides a multiplexed stream library using spdy.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-moby-sys-capability
|
||||
(package
|
||||
(name "go-github-com-moby-sys-capability")
|
||||
|
@ -15145,6 +15443,31 @@ multibase} (self identifying base encodings) in Go.")
|
|||
varints.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-mxk-go-flowrate
|
||||
(package
|
||||
(name "go-github-com-mxk-go-flowrate")
|
||||
(version "0.0.0-20140419014527-cca7078d478f")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mxk/go-flowrate")
|
||||
(commit (go-version->git-ref version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0zqs39923ja0yypdmiqk6x8pgmfs3ms5x5sl1dqv9z6zyx2xy541"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skip-build? #t
|
||||
#:import-path "github.com/mxk/go-flowrate"))
|
||||
(home-page "https://github.com/mxk/go-flowrate")
|
||||
(synopsis "Limiting and monitoring data flow rate in Golang")
|
||||
(description
|
||||
"This package provides the tools for monitoring and limiting the flow
|
||||
rate of an arbitrary data stream.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-nakagami-firebirdsql
|
||||
(package
|
||||
(name "go-github-com-nakagami-firebirdsql")
|
||||
|
@ -15179,6 +15502,30 @@ varints.")
|
|||
@url{https://firebirdsql.org/, Firebird} RDBMS.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-natefinch-atomic
|
||||
(package
|
||||
(name "go-github-com-natefinch-atomic")
|
||||
(version "1.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/natefinch/atomic")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0y1hr9smjfwp3zgn8s9njp84x9m42x3a7f1h2q7qyd0i5hf9bcvx"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/natefinch/atomic"))
|
||||
(home-page "https://github.com/natefinch/atomic")
|
||||
(synopsis "Atomic file writing in Golang")
|
||||
(description
|
||||
"This package provides functions to atomically change files, by writing
|
||||
first to a temp file, and then overwriting the target file in an atomic way.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-nathan-osman-go-sunrise
|
||||
(package
|
||||
(name "go-github-com-nathan-osman-go-sunrise")
|
||||
|
@ -15336,6 +15683,38 @@ through it's psuedoterminal.")
|
|||
list of sentences.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-nicksnyder-go-i18n-v2
|
||||
(package
|
||||
(name "go-github-com-nicksnyder-go-i18n-v2")
|
||||
(version "2.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/nicksnyder/go-i18n")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "14v4v06j30rsn2y8lss7j5qyfbr7wir7yzpjd8wqh279aq489d2j"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skip-build? #t
|
||||
#:import-path "github.com/nicksnyder/go-i18n/v2"
|
||||
;; One test fails with error: open active.en.toml: permission denied.
|
||||
#:test-flags #~(list "-skip" "TestMain/extract")))
|
||||
(propagated-inputs
|
||||
(list go-github-com-burntsushi-toml
|
||||
go-golang-org-x-text
|
||||
go-gopkg-in-yaml-v3))
|
||||
(home-page "https://github.com/nicksnyder/go-i18n")
|
||||
(synopsis "Internationalization and localization for Golang")
|
||||
(description
|
||||
"This package provides support for implementing internationalization and
|
||||
localization of Go code, covering pluralized strings for all 200+ languages in
|
||||
@acronym{CLDR, Unicode Common Locale Data Repository}.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-nightlyone-lockfile
|
||||
(package
|
||||
(name "go-github-com-nightlyone-lockfile")
|
||||
|
@ -17206,6 +17585,58 @@ watches memory utilization and forces Go GC in accordance with a user-defined
|
|||
policy.")
|
||||
(license (list license:asl2.0 license:expat))))
|
||||
|
||||
(define-public go-github-com-redis-go-redis-v9
|
||||
(package
|
||||
(name "go-github-com-redis-go-redis-v9")
|
||||
(version "9.13.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/redis/go-redis")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "19scv5fbwacrbpv329w2a48z1w5wmxi7ax93bp1p398k4yqx6izf"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
;; Submodules with their own go.mod files and packaged separately:
|
||||
;;
|
||||
;; - github.com/redis/go-redis/extra/rediscensus/v9
|
||||
;; - github.com/redis/go-redis/extra/rediscmd/v9
|
||||
;; - github.com/redis/go-redis/extra/redisotel/v9
|
||||
;; - github.com/redis/go-redis/extra/redisprometheus/v9
|
||||
;; - github.com/redis/go-redis/internal/customvet
|
||||
(delete-file-recursively "extra")
|
||||
(delete-file-recursively "internal/customvet")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/redis/go-redis/v9"
|
||||
#:test-flags
|
||||
;; Tests requir running Redis server.
|
||||
#~(list "-skip" "Example|TestGinkgoSuite")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'remove-examples
|
||||
(lambda* (#:key import-path #:allow-other-keys)
|
||||
(delete-file-recursively
|
||||
(string-append "src/" import-path "/example")))))))
|
||||
(native-inputs
|
||||
(list go-github-com-bsm-ginkgo-v2
|
||||
go-github-com-bsm-gomega))
|
||||
(propagated-inputs
|
||||
(list go-github-com-cespare-xxhash-v2
|
||||
go-github-com-dgryski-go-rendezvous))
|
||||
(home-page "https://github.com/redis/go-redis")
|
||||
(synopsis "Redis client for Golang")
|
||||
(description
|
||||
"go-redis is the official Redis client library for the Go programming
|
||||
language. It offers a straightforward interface for interacting with Redis
|
||||
servers.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public go-github-com-reiver-go-porterstemmer
|
||||
;; The latest commit contain test fixtures.
|
||||
(let ((commit "ab0f922907ea0321367a5776bd7a6c35d505d53b")
|
||||
|
@ -22665,6 +23096,32 @@ machine readable. It is modeled after the Go standard library's @code{io} and
|
|||
go-github-com-mattn-go-colorable
|
||||
go-golang-org-x-term))))
|
||||
|
||||
(define-public go-gopkg-in-inf-v0
|
||||
(package
|
||||
(name "go-gopkg-in-inf-v0")
|
||||
(version "0.9.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/go-inf/inf")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "00k5iqjcp371fllqxncv7jkf80hn1zww92zm78cclbcn4ybigkng"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "gopkg.in/inf.v0"
|
||||
;; Tests are not copatiblw with Go 1.24+.
|
||||
#:test-flags #~(list "-vet=off")))
|
||||
(home-page "https://github.com/go-inf/inf")
|
||||
(synopsis "Infinite precision decimal arithmetic in Golang")
|
||||
(description
|
||||
"This package (type @code{inf.Dec}) implements a \"infinite-precision\"
|
||||
decimal arithmetic.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-gopkg-in-ini-v1
|
||||
(package
|
||||
(name "go-gopkg-in-ini-v1")
|
||||
|
@ -22977,6 +23434,61 @@ dependencies.")
|
|||
XML, Apple Binary, OpenStep, and GNUStep) from/to arbitrary Go types.")
|
||||
(license license:giftware)))
|
||||
|
||||
(define-public go-k8s-io-apimachinery
|
||||
(package
|
||||
(name "go-k8s-io-apimachinery")
|
||||
(version "0.34.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/kubernetes/apimachinery")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0mdmw951k9a2v817c0xxlazvz2500lw80mh53xjwspss0yx9b8fb"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "k8s.io/apimachinery"
|
||||
;; TODO: Check why some tests fails in other subdirectories.
|
||||
#:test-subdirs #~(list "pkg/test/...")))
|
||||
(native-inputs
|
||||
(list go-github-com-armon-go-socks5
|
||||
go-github-com-stretchr-testify
|
||||
go-golang-org-x-time))
|
||||
(propagated-inputs
|
||||
(list go-github-com-davecgh-go-spew
|
||||
go-github-com-fxamacker-cbor-v2
|
||||
go-github-com-gogo-protobuf
|
||||
go-github-com-google-gnostic-models
|
||||
go-github-com-google-go-cmp
|
||||
go-github-com-google-uuid
|
||||
go-github-com-moby-spdystream
|
||||
go-github-com-mxk-go-flowrate
|
||||
go-github-com-pmezard-go-difflib
|
||||
go-github-com-spf13-pflag
|
||||
go-golang-org-x-net
|
||||
go-gopkg-in-evanphx-json-patch-v4
|
||||
go-gopkg-in-inf-v0
|
||||
go-k8s-io-klog-v2
|
||||
go-k8s-io-kube-openapi
|
||||
go-k8s-io-utils
|
||||
go-sigs-k8s-io-json
|
||||
go-sigs-k8s-io-randfill
|
||||
go-sigs-k8s-io-structured-merge-diff-v6
|
||||
go-sigs-k8s-io-yaml))
|
||||
(home-page "https://k8s.io/apimachinery")
|
||||
(synopsis "Kubernetes and Kubernetes-like API utilities")
|
||||
(description
|
||||
"This package provides scheme, typing, encoding, decoding, and conversion
|
||||
functions for Kubernetes and Kubernetes-like API objects. It is a shared
|
||||
dependency for servers and clients to work with Kubernetes API infrastructure
|
||||
without direct type dependencies. Its first consumers are
|
||||
@code{k8s.io/kubernetes}, @code{k8s.io/client-go}, and
|
||||
@code{k8s.io/apiserver}.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-k8s-io-gengo-v2
|
||||
(package
|
||||
(name "go-k8s-io-gengo-v2")
|
||||
|
@ -23549,6 +24061,61 @@ prints the Go version used to build that executable.")
|
|||
unmarshaling functions based on @code{encoding/json} @code{Unmarshal()}.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-sigs-k8s-io-kustomize-cmd-config
|
||||
(package
|
||||
(name "go-sigs-k8s-io-kustomize-cmd-config")
|
||||
(version "0.20.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/kubernetes-sigs/kustomize")
|
||||
(commit (go-version->git-ref version
|
||||
#:subdir "cmd/config"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "12n8ij4gisah5mvxcgq263iic61gjpxdj3ml03826zckzn7wlv46"))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26)))
|
||||
(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 "." "cmd")
|
||||
(delete-all-but "cmd" "config")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skip-build? #t
|
||||
#:import-path "sigs.k8s.io/kustomize/cmd/config"
|
||||
#:unpack-path "sigs.k8s.io/kustomize"
|
||||
;; Full test suite requires Docker in the PATH.
|
||||
#:test-subdirs #~(list "internal/commands"
|
||||
"runner/...")))
|
||||
(native-inputs
|
||||
(list go-github-com-stretchr-testify))
|
||||
(propagated-inputs
|
||||
(list go-github-com-go-errors-errors
|
||||
go-github-com-spf13-cobra
|
||||
go-gopkg-in-inf-v0
|
||||
go-sigs-k8s-io-kustomize-kyaml))
|
||||
(home-page "https://sigs.k8s.io/kustomize")
|
||||
(synopsis "Kubernetes config filters")
|
||||
(description
|
||||
"This package implements a functionality to expose Kubernetes config
|
||||
filters directly as CLI commands for the purposes of development of the
|
||||
@code{kyaml} package and as a reference implementation for using the
|
||||
libraries.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-sigs-k8s-io-kustomize-kyaml
|
||||
(package
|
||||
(name "go-sigs-k8s-io-kustomize-kyaml")
|
||||
|
|
|
@ -374,7 +374,7 @@ arrays of data.")
|
|||
(define-public gstreamer-docs
|
||||
(package
|
||||
(name "gstreamer-docs")
|
||||
(version "1.24.9")
|
||||
(version "1.26.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -382,7 +382,7 @@ arrays of data.")
|
|||
"/gstreamer-docs-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0vb4d35rglvjlj2y9r0nlgankflqw0ql6gwsf4612505sa01mz7s"))))
|
||||
"11q0yydchisd4c0jnqa6kmnf66kf25fim3l456krlwcy1qpsvd4j"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
|
@ -434,7 +434,7 @@ the GStreamer multimedia framework.")
|
|||
(define-public gstreamer
|
||||
(package
|
||||
(name "gstreamer")
|
||||
(version "1.24.9")
|
||||
(version "1.26.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -443,7 +443,7 @@ the GStreamer multimedia framework.")
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"03r6rwmih3nqxrfw9nkhpbwpwp1yf7qw3m2phl6a027mxrmppx7b"))))
|
||||
"1016z0znl2j43n08rl19zdhfvfsgnmg44qh8fk6dr4qj481icrnw"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:disallowed-references (list python)
|
||||
|
@ -515,7 +515,7 @@ This package provides the core library and elements.")
|
|||
(define-public gst-plugins-base
|
||||
(package
|
||||
(name "gst-plugins-base")
|
||||
(version "1.24.9")
|
||||
(version "1.26.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -523,7 +523,7 @@ This package provides the core library and elements.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1jspg24zlpmg4bxa298v6l8hcaqw27411dj2v16y0g3xj13bkcsv"))))
|
||||
"0cvrq9767w0aqzinifbirbc95jg4i4md4b8f4b70hlq217pzkyaf"))))
|
||||
(build-system meson-build-system)
|
||||
(propagated-inputs
|
||||
(list glib ;required by gstreamer-sdp-1.0.pc
|
||||
|
@ -623,7 +623,7 @@ for the GStreamer multimedia library.")
|
|||
(define-public gst-plugins-good
|
||||
(package
|
||||
(name "gst-plugins-good")
|
||||
(version "1.24.9")
|
||||
(version "1.26.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -632,7 +632,7 @@ for the GStreamer multimedia library.")
|
|||
"https://gstreamer.freedesktop.org/src/" name "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "17vr55pgh2paqi82l5jn841873c2w0lal7kgz2i3qzikzw5yazc9"))))
|
||||
(base32 "0lrwscda9yy8a61bv65c3392vb5m8phrl5i7bwgbprnz1rkwjkpy"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -743,14 +743,14 @@ model to base your own plug-in on, here it is.")
|
|||
(define-public gst-plugins-bad
|
||||
(package
|
||||
(name "gst-plugins-bad")
|
||||
(version "1.24.9")
|
||||
(version "1.26.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://gstreamer.freedesktop.org/src/"
|
||||
name "/" name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1aswb97v1ird3rmfcsa32bvp4kgp8r987f83pd1knx8amylzgz1n"))
|
||||
"0qbmblksgl2nmbi6brw54b1bzziw9flvqk2zb576y9qlmyn8vi4m"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -814,7 +814,13 @@ model to base your own plug-in on, here it is.")
|
|||
((".*elements/dtls\\.c.*") "")
|
||||
|
||||
;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3921
|
||||
((".*elements/mxfdemux\\.c.*") ""))
|
||||
((".*elements/mxfdemux\\.c.*") "")
|
||||
|
||||
;; Unable to create pipeline 'bin.
|
||||
;; ( vulkanupload ! vulkancolorconvert ! vulkandownload )':
|
||||
;; no element "vulkanupload"
|
||||
((".*elements/vkcolorconvert\\.c.*") "")
|
||||
((".*elements/vkupload\\.c.*") ""))
|
||||
(substitute* "tests/check/elements/zxing.c"
|
||||
;; zxing 1.2.0 seemingly changed the type representation of
|
||||
;; the EAN_13 structure; disable it.
|
||||
|
@ -953,7 +959,7 @@ par compared to the rest.")
|
|||
(define-public gst-plugins-ugly
|
||||
(package
|
||||
(name "gst-plugins-ugly")
|
||||
(version "1.24.9")
|
||||
(version "1.26.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -961,7 +967,7 @@ par compared to the rest.")
|
|||
(string-append "https://gstreamer.freedesktop.org/src/"
|
||||
name "/" name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1dn33ivfc0rnn545y40303h5z9bm5ca9f8j2czmhbk9q1w8k0ssb"))))
|
||||
(base32 "19fvv6rvrcvhw4lnx078xb4b85pzbwbrqwdk841sqd7pjpl5wzs1"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
|
||||
|
@ -1010,7 +1016,7 @@ think twice about shipping them.")
|
|||
(define-public gst-libav
|
||||
(package
|
||||
(name "gst-libav")
|
||||
(version "1.24.9")
|
||||
(version "1.26.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -1019,7 +1025,7 @@ think twice about shipping them.")
|
|||
"https://gstreamer.freedesktop.org/src/" name "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0v253lbic7abc9vpb690f80arql10193ljqkzgs03vh8wnd2ws1j"))))
|
||||
(base32 "0kbjs8z545maj3j2qzgpg41v3yr53q1c852v80zbmf5rld87xnis"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs (list perl pkg-config python-wrapper ruby))
|
||||
(inputs (list ffmpeg))
|
||||
|
@ -1033,7 +1039,7 @@ decoders, muxers, and demuxers provided by FFmpeg.")
|
|||
(define-public gst-editing-services
|
||||
(package
|
||||
(name "gst-editing-services")
|
||||
(version "1.24.9")
|
||||
(version "1.26.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -1041,7 +1047,7 @@ decoders, muxers, and demuxers provided by FFmpeg.")
|
|||
"gst-editing-services-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"04khlbw3wy5zr2s246252zrd4hnzv2x36l5avz0lxif6pr9nwl07"))))
|
||||
"1lkgs5h76qzqfpqvi31vs5xr68bbi0kwkw2g0ahvcs1l5hysj86x"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -1100,10 +1106,45 @@ given, also pass them to the build system instead of the ones used by PKG."
|
|||
\"bad\" plugin set, essentially containing libraries and the gst-transcoder
|
||||
binary, but none of the actual plugins.")))
|
||||
|
||||
(define-public gst-rtsp-server
|
||||
(package
|
||||
(name "gst-rtsp-server")
|
||||
(version "1.26.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://gstreamer.freedesktop.org/src/" name "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1ibg83sa0nswqan5fg378bg36jis5sn1dwfl1mvqjiw4m59qlpj1"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-failing-tests
|
||||
(lambda _
|
||||
(define failing
|
||||
(list "client" "media" "mediafactory" "rtspserver"
|
||||
"sessionmedia" "stream" "onvif" "rtspclientsink"))
|
||||
(substitute* "tests/check/meson.build"
|
||||
(("'gst/(.*)',?" all test)
|
||||
(if (member test failing) "" all))))))))
|
||||
(propagated-inputs
|
||||
(list gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad))
|
||||
(native-inputs (list gobject-introspection
|
||||
`(,glib "bin")
|
||||
pkg-config
|
||||
python-wrapper))
|
||||
(home-page "https://gstreamer.freedesktop.org/")
|
||||
(synopsis "Library for building RTSP servers with GStreamer")
|
||||
(description "This package provides a GStreamer extension to handle
|
||||
RTSP connections and messages.")
|
||||
(license license:lgpl2.0+)))
|
||||
|
||||
(define-public python-gst
|
||||
(package
|
||||
(name "python-gst")
|
||||
(version "1.24.9")
|
||||
(version "1.26.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -1111,7 +1152,7 @@ binary, but none of the actual plugins.")))
|
|||
"gst-python-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bplhfnvsi3l9fmfb346n2dvzi1jrxqpp4kcwiwsrjrlgic1vrl0"))))
|
||||
"04hv5pj8br56knvw1nsx74j1lpxskbm6znsdqac28iszqjkvjhwk"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -1127,7 +1168,10 @@ binary, but none of the actual plugins.")))
|
|||
(native-inputs
|
||||
(list pkg-config python))
|
||||
(propagated-inputs
|
||||
(list gst-plugins-base python-pygobject))
|
||||
(list gst-plugins-base
|
||||
gst-plugins-bad ; for gst-analytics
|
||||
gst-rtsp-server
|
||||
python-pygobject))
|
||||
(home-page "https://gstreamer.freedesktop.org/")
|
||||
(synopsis "GStreamer GObject Introspection overrides for Python")
|
||||
(description
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
;;; Copyright © 2023 Sergiu Ivanov <sivanov@colimite.fr>
|
||||
;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com>
|
||||
;;; Copyright © 2023, 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2024 John Kehayias <john.kehayias@protonmail.com>
|
||||
;;; Copyright © 2024, 2025 John Kehayias <john.kehayias@protonmail.com>
|
||||
;;; Copyright © 2025 Florian Pelz <pelzflorian@pelzflorian.de>
|
||||
;;; Copyright © 2025 Remco van 't Veer <remco@remworks.net>
|
||||
;;;
|
||||
|
@ -613,7 +613,7 @@ diagrams.")
|
|||
fribidi
|
||||
glib
|
||||
gtk
|
||||
libxml2-next
|
||||
libxml2
|
||||
pango
|
||||
pcre2))
|
||||
(home-page "https://wiki.gnome.org/Projects/GtkSourceView")
|
||||
|
@ -1009,19 +1009,19 @@ application suites.")
|
|||
(package
|
||||
(inherit gtk+-2)
|
||||
(name "gtk+")
|
||||
(version "3.24.43")
|
||||
(replacement gtk+/fixed)
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
(version-major+minor version) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1izky8dxaxp4bg5nii4n58dgpkw79mvmvbkldf04n0qmhmjg013y"))
|
||||
(patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
|
||||
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
|
||||
(version "3.24.49")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.gnome.org/GNOME/gtk")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0flsnh3f0l9v3y2hmnxz1h15nw1l12ixmiwcpiy1ywplrlgq4j00"))
|
||||
(patches (search-patches
|
||||
"gtk3-respect-GUIX_GTK3_PATH.patch"
|
||||
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
|
||||
;; There is no "doc" output, because adding gtk-doc here would introduce a
|
||||
;; dependency cycle with itself.
|
||||
(outputs '("out" "bin"))
|
||||
|
@ -1097,11 +1097,22 @@ application suites.")
|
|||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-failing-tests
|
||||
(lambda _
|
||||
;; These tests fail only in the containerized environment, for
|
||||
;; unknown reasons.
|
||||
(substitute* "testsuite/gtk/meson.build"
|
||||
((".*\\['defaultvalue'],.*") "")
|
||||
((".*\\['objects-finalize',.*") ""))))
|
||||
;; These tests fail only in the containerized environment, for
|
||||
;; unknown reasons.
|
||||
(substitute* "testsuite/gtk/meson.build"
|
||||
((".*\\['defaultvalue'],.*") "")
|
||||
((".*\\['objects-finalize',.*") ""))
|
||||
;; The 'flipping-icons.ui' and 'gtk-icontheme-sizing.ui' tests
|
||||
;; fail for unknown reasons (see:
|
||||
;; <https://gitlab.gnome.org/GNOME/gtk/-/issues/7679>).
|
||||
(substitute* "testsuite/reftests/meson.build"
|
||||
((" 'flipping-icons.ui',.*") "")
|
||||
((" 'gtk-icontheme-sizing.ui',.*") ""))
|
||||
;; This test fails just on i686-linux, for unknown reasons.
|
||||
#$@(if (target-x86-32?)
|
||||
#~((substitute* "testsuite/reftests/meson.build"
|
||||
((" 'linear-gradient.ui',.*") "")))
|
||||
#~())))
|
||||
(add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file
|
||||
(assoc-ref glib-or-gtk:%standard-phases
|
||||
'generate-gdk-pixbuf-loaders-cache-file))
|
||||
|
@ -1128,41 +1139,6 @@ application suites.")
|
|||
(variable "GUIX_GTK3_PATH")
|
||||
(files '("lib/gtk-3.0")))))))
|
||||
|
||||
(define-public gtk+/fixed
|
||||
(package
|
||||
(inherit gtk+)
|
||||
(name "gtk+")
|
||||
(version "3.24.49")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.gnome.org/GNOME/gtk")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0flsnh3f0l9v3y2hmnxz1h15nw1l12ixmiwcpiy1ywplrlgq4j00"))
|
||||
(patches (search-patches
|
||||
"gtk3-respect-GUIX_GTK3_PATH.patch"
|
||||
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments gtk+)
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(replace 'disable-failing-tests
|
||||
(lambda _
|
||||
;; These tests fail only in the containerized environment, for
|
||||
;; unknown reasons.
|
||||
(substitute* "testsuite/gtk/meson.build"
|
||||
((".*\\['defaultvalue'],.*") "")
|
||||
((".*\\['objects-finalize',.*") ""))
|
||||
;; The 'flipping-icons.ui' and 'gtk-icontheme-sizing.ui' tests
|
||||
;; fail for unknown reasons (see:
|
||||
;; <https://gitlab.gnome.org/GNOME/gtk/-/issues/7679>).
|
||||
(substitute* "testsuite/reftests/meson.build"
|
||||
((" 'flipping-icons.ui',.*") "")
|
||||
((" 'gtk-icontheme-sizing.ui',.*") ""))))))))))
|
||||
|
||||
(define-public gtk
|
||||
(package
|
||||
(name "gtk")
|
||||
|
@ -2370,7 +2346,8 @@ information.")
|
|||
(base32
|
||||
"0746lwxgybc5ss3hzdd0crjjghk0ck0x9jbmz73iig405arp42xj"))
|
||||
(patches
|
||||
(search-patches "gtk-doc-respect-xml-catalog.patch"))))
|
||||
(search-patches "gtk-doc-respect-xml-catalog.patch"
|
||||
"gtk-doc-mkhtml-test-fix.patch"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
|
|
@ -476,7 +476,7 @@ sharing.")
|
|||
procps
|
||||
psmisc ;for pstree
|
||||
rpm
|
||||
sane-backends
|
||||
sane
|
||||
smartmontools
|
||||
sysstat
|
||||
upower
|
||||
|
|
|
@ -815,7 +815,7 @@ the OpenCV-Python library.")
|
|||
libpng
|
||||
(librsvg-for-system)
|
||||
libtiff
|
||||
libxml2-next
|
||||
libxml2
|
||||
libwebp
|
||||
matio
|
||||
openexr
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
;;; Copyright © 2020 Boris A. Dekshteyn <boris.dekshteyn@gmail.com>
|
||||
;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech>
|
||||
;;; Copyright © 2023, 2024 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2025 John Kehayias <john@guixotic.coop>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -78,6 +79,7 @@
|
|||
(base32 "0sq81smxwypgnp7r3wgza8w25dsz9qa8ga79sc85xzj3qi6q9lfv"))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 format)))
|
||||
(patches (search-patches "inkscape-libxml2.patch"))
|
||||
(snippet
|
||||
'(begin
|
||||
(let-syntax
|
||||
|
|
|
@ -1417,7 +1417,7 @@ transport data and for performing public transport journey queries.")
|
|||
(list extra-cmake-modules))
|
||||
(inputs
|
||||
(list ki18n
|
||||
sane-backends))
|
||||
sane))
|
||||
(home-page "https://invent.kde.org/libraries/ksanecore")
|
||||
(synopsis "Library providing logic to interface scanners")
|
||||
(description
|
||||
|
|
|
@ -286,7 +286,7 @@ into other word processors.")
|
|||
(native-inputs
|
||||
(list cppunit gperf pkg-config))
|
||||
(propagated-inputs ; in Requires or Requires.private field of .pkg
|
||||
(list icu4c liblangtag librevenge libxml2-next))
|
||||
(list icu4c liblangtag librevenge libxml2))
|
||||
(inputs
|
||||
(list boost))
|
||||
(arguments
|
||||
|
@ -372,7 +372,7 @@ working with graphics in the WPG (WordPerfect Graphics) format.")
|
|||
(native-inputs
|
||||
(list autoconf automake libtool cppunit pkg-config))
|
||||
(propagated-inputs ;in Requires field of .pkg
|
||||
(list curl libxml2-next))
|
||||
(list curl libxml2))
|
||||
(inputs
|
||||
(list boost cyrus-sasl openssl))
|
||||
(arguments
|
||||
|
@ -413,7 +413,7 @@ as Alfresco or Nuxeo.")
|
|||
(native-inputs
|
||||
(list doxygen gperf perl pkg-config))
|
||||
(propagated-inputs ; in Requires or Requires.private field of .pkg
|
||||
(list librevenge libxml2-next))
|
||||
(list librevenge libxml2))
|
||||
(inputs
|
||||
(list boost))
|
||||
(home-page "https://wiki.documentfoundation.org/DLP/Libraries/libabw")
|
||||
|
@ -467,7 +467,7 @@ CorelDRAW documents of all versions.")
|
|||
(native-inputs
|
||||
(list cppunit doxygen gperf pkg-config))
|
||||
(propagated-inputs ; in Requires or Requires.private field of .pkg
|
||||
(list liblangtag librevenge libxml2-next zlib))
|
||||
(list liblangtag librevenge libxml2 zlib))
|
||||
(inputs
|
||||
(list boost glm mdds))
|
||||
(home-page "https://wiki.documentfoundation.org/DLP/Libraries/libetonyek")
|
||||
|
@ -479,14 +479,14 @@ Apple Keynote documents. It currently supports Keynote versions 2 to 5.")
|
|||
(define-public liblangtag
|
||||
(package
|
||||
(name "liblangtag")
|
||||
(version "0.6.4")
|
||||
(version "0.6.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://bitbucket.org/tagoh/liblangtag/downloads/"
|
||||
"liblangtag-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "0r55r30ih8dgq1hwbpl834igilj7bpxcnmlrlkd3vryk2wn0c0ap"))))
|
||||
(base32 "03h33sjqsrmmkyj2kxs7c6226hd4s5n22bz62b4hag1zmvabrmjy"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list libtool pkg-config))
|
||||
|
@ -772,15 +772,28 @@ Works word processor file format.")
|
|||
(uri (string-append "http://dev-www.libreoffice.org/src/libzmf/libzmf-"
|
||||
version ".tar.xz"))
|
||||
(sha256 (base32
|
||||
"08mg5kmkjrmqrd8j5rkzw9vdqlvibhb1ynp6bmfxnzq5rcq1l197"))))
|
||||
"08mg5kmkjrmqrd8j5rkzw9vdqlvibhb1ynp6bmfxnzq5rcq1l197"))
|
||||
(patches (search-patches "libzmf-doxygen-1.14.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; A harmless 'sign-compare' error pops up on i686 so disable '-Werror'.
|
||||
'(#:configure-flags '("--disable-werror")))
|
||||
(list
|
||||
;; A harmless 'sign-compare' error pops up on i686 so disable '-Werror'.
|
||||
#:configure-flags #~'("--disable-werror")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'bootstrap
|
||||
(lambda _
|
||||
;; Override the bootstrap phase as a makefile has been patched.
|
||||
(invoke "autoreconf" "-vif"))))))
|
||||
(inputs
|
||||
(list boost icu4c libpng librevenge zlib))
|
||||
(native-inputs
|
||||
(list cppunit doxygen pkg-config))
|
||||
(list autoconf
|
||||
automake
|
||||
libtool
|
||||
cppunit
|
||||
doxygen
|
||||
pkg-config))
|
||||
(home-page "https://wiki.documentfoundation.org/DLP/Libraries/libzmf")
|
||||
(synopsis "Parses file format of Zoner Callisto/Draw documents")
|
||||
(description "Libzmf is a library that parses the file format of Zoner
|
||||
|
@ -1177,7 +1190,7 @@ commonly called @code{ftoa} or @code{dtoa}.")
|
|||
python-lxml
|
||||
qrcodegen-cpp
|
||||
redland
|
||||
sane-backends
|
||||
sane
|
||||
unixodbc
|
||||
unzip
|
||||
vigra
|
||||
|
|
|
@ -116,14 +116,14 @@
|
|||
(define computed-origin-method (@@ (guix packages) computed-origin-method))
|
||||
|
||||
(define firefox-l10n
|
||||
(let ((commit "2962877b9abd5bfa1e24e5bbc1e16e47e12d6760"))
|
||||
(let ((commit "0349e18db25a701938d83c61fa90f6074ae9df01"))
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mozilla-l10n/firefox-l10n.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "firefox-l10n" commit))
|
||||
(sha256 (base32 "1gaxbjjm0d4k4wgl64mwcxy2hx1vdq1dbmvjacg2fqxpnb62481x")))))
|
||||
(sha256 (base32 "0lqpmfgkfwjz5n45qifc0v1cxk5qw8ldyi6423m591l7z4n4rjdg")))))
|
||||
|
||||
(define* (make-librewolf-source #:key version firefox-hash librewolf-hash l10n)
|
||||
(let* ((ff-src (firefox-source-origin
|
||||
|
@ -220,17 +220,17 @@
|
|||
;; It's used for cache validation and therefore can lead to strange bugs.
|
||||
;; ex: date '+%Y%m%d%H%M%S'
|
||||
;; or: (format-time-string "%Y%m%d%H%M%S")
|
||||
(define %librewolf-build-id "20250829153926")
|
||||
(define %librewolf-build-id "20250919153758")
|
||||
|
||||
(define-public librewolf
|
||||
(package
|
||||
(name "librewolf")
|
||||
(version "142.0.1-1")
|
||||
(version "143.0-1")
|
||||
(source
|
||||
(make-librewolf-source
|
||||
#:version version
|
||||
#:firefox-hash "1h0hx0jxwy4rshdq6s5l5hbj8gyhn2zssisr59skwf63si7b9bdh"
|
||||
#:librewolf-hash "1myzm6jblnrw1vdf5xlynbfr6a9swwcaws689az7xgq6s6n0rc3y"
|
||||
#:firefox-hash "10yz3rz2akf3b19hd2c5v77f038j0h6ci1asjb4w480q14wclibc"
|
||||
#:librewolf-hash "1jq52g5v38f0dmpyhpr9x9mjsbnn7afq2cr113wmqpdz6ynl07kr"
|
||||
#:l10n firefox-l10n))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
|
|
@ -303,7 +303,7 @@ desktop and the mate-about program.")
|
|||
(propagated-inputs
|
||||
;; both of these are requires.private in mateweather.pc
|
||||
(list libsoup-minimal-2
|
||||
libxml2-next))
|
||||
libxml2))
|
||||
(home-page "https://mate-desktop.org/")
|
||||
(synopsis "MATE library for weather information from the Internet")
|
||||
(description
|
||||
|
|
|
@ -300,7 +300,7 @@ XMPP-based sessions.")
|
|||
gtk-doc/stable
|
||||
pkg-config))
|
||||
(inputs (list libxcrypt ncurses))
|
||||
(propagated-inputs (list glib libxml2-next))
|
||||
(propagated-inputs (list glib libxml2))
|
||||
(synopsis "GLib Ncurses Toolkit")
|
||||
(description "GNT is an ncurses toolkit for creating text-mode graphical
|
||||
user interfaces in a fast and easy way. It is based on GLib and ncurses.")
|
||||
|
|
|
@ -286,7 +286,7 @@ This package tracks the Extended Support Release (ESR) channel.")
|
|||
(package
|
||||
(inherit nss)
|
||||
(name "nss-rapid")
|
||||
(version "3.115")
|
||||
(version "3.116")
|
||||
(source
|
||||
(origin
|
||||
(inherit (package-source nss))
|
||||
|
@ -297,7 +297,7 @@ This package tracks the Extended Support Release (ESR) channel.")
|
|||
"releases/NSS_" version-with-underscores "_RTM/src/"
|
||||
"nss-" version ".tar.gz")))
|
||||
(sha256
|
||||
(base32 "1av1g18dkx86zxvpr34j5mx976mgsk002khlb40k4ydx6gxlfamc"))
|
||||
(base32 "0wxvy9kxqafrwqkx977wpy1mynvsf7mdag3zy9qkn7mdwhfn2f1r"))
|
||||
(patches
|
||||
(search-patches "nss-3.56-pkgconfig.patch"
|
||||
"nss-getcwd-nonnull.patch"
|
||||
|
|
|
@ -213,7 +213,7 @@ default. To add support for more languages, the
|
|||
leptonica
|
||||
podofo
|
||||
poppler-qt5
|
||||
sane-backends
|
||||
sane
|
||||
qtbase-5
|
||||
qtspell
|
||||
quazip-5
|
||||
|
|
|
@ -194,8 +194,8 @@
|
|||
;; Note: the 'update-guix-package.scm' script expects this definition to
|
||||
;; start precisely like this.
|
||||
(let ((version "1.4.0")
|
||||
(commit "a68bcfd2f53a409c530629d8ec0d9d152a56e16b")
|
||||
(revision 44))
|
||||
(commit "679c9b0d8b02710f286b7fb3e65835eefa9f1890")
|
||||
(revision 45))
|
||||
(package
|
||||
(name "guix")
|
||||
|
||||
|
@ -211,7 +211,7 @@
|
|||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"10ri7f1pwq43ix0k59fqrrgdipz67sx9kyi3yw9x9n89v3k1ns62"))
|
||||
"0mzflm74kllhfr4gbb1r93l6v8l6r9ak6f46bakpxfpv763bp719"))
|
||||
(file-name (string-append "guix-" version "-checkout"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
|
|
@ -1,529 +0,0 @@
|
|||
From 373924d728b61cf6dec9c8a1a1edeb4b9f342529 Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
Date: Fri, 27 Sep 2024 17:03:10 +0200
|
||||
Subject: [PATCH] gnu: cups-minimal: Address PPD injection issues.
|
||||
|
||||
This patch combines 5 upstream commits:
|
||||
9939a70b750edd9d05270060cc5cf62ca98cfbe5
|
||||
04bb2af4521b56c1699a2c2431c56c05a7102e69
|
||||
e0630cd18f76340d302000f2bf6516e99602b844
|
||||
1e6ca5913eceee906038bc04cc7ccfbe2923bdfd
|
||||
2abe1ba8a66864aa82cd9836b37e57103b8e1a3b
|
||||
---
|
||||
cups/ppd-cache.c | 235 +++++++++++++++++++++++++++++++++--------------
|
||||
scheduler/ipp.c | 9 +-
|
||||
2 files changed, 174 insertions(+), 70 deletions(-)
|
||||
|
||||
diff --git a/cups/ppd-cache.c b/cups/ppd-cache.c
|
||||
index e750fccd4..d2533b731 100644
|
||||
--- a/cups/ppd-cache.c
|
||||
+++ b/cups/ppd-cache.c
|
||||
@@ -32,6 +32,7 @@
|
||||
static int cups_connect(http_t **http, const char *url, char *resource, size_t ressize);
|
||||
static int cups_get_url(http_t **http, const char *url, char *name, size_t namesize);
|
||||
static const char *ppd_inputslot_for_keyword(_ppd_cache_t *pc, const char *keyword);
|
||||
+static void ppd_put_string(cups_file_t *fp, cups_lang_t *lang, cups_array_t *strings, const char *ppd_option, const char *ppd_choice, const char *pwg_msgid);
|
||||
static void pwg_add_finishing(cups_array_t *finishings, ipp_finishings_t template, const char *name, const char *value);
|
||||
static void pwg_add_message(cups_array_t *a, const char *msg, const char *str);
|
||||
static int pwg_compare_finishings(_pwg_finishings_t *a, _pwg_finishings_t *b);
|
||||
@@ -3197,9 +3198,10 @@ _ppdCreateFromIPP2(
|
||||
ipp_t *media_col, /* Media collection */
|
||||
*media_size; /* Media size collection */
|
||||
char make[256], /* Make and model */
|
||||
- *model, /* Model name */
|
||||
+ *mptr, /* Pointer into make and model */
|
||||
ppdname[PPD_MAX_NAME];
|
||||
/* PPD keyword */
|
||||
+ const char *model; /* Model name */
|
||||
int i, j, /* Looping vars */
|
||||
count, /* Number of values */
|
||||
bottom, /* Largest bottom margin */
|
||||
@@ -3221,8 +3223,7 @@ _ppdCreateFromIPP2(
|
||||
int have_qdraft = 0,/* Have draft quality? */
|
||||
have_qhigh = 0; /* Have high quality? */
|
||||
char msgid[256]; /* Message identifier (attr.value) */
|
||||
- const char *keyword, /* Keyword value */
|
||||
- *msgstr; /* Localized string */
|
||||
+ const char *keyword; /* Keyword value */
|
||||
cups_array_t *strings = NULL;/* Printer strings file */
|
||||
struct lconv *loc = localeconv();
|
||||
/* Locale data */
|
||||
@@ -3260,34 +3261,104 @@ _ppdCreateFromIPP2(
|
||||
}
|
||||
|
||||
/*
|
||||
- * Standard stuff for PPD file...
|
||||
+ * Get a sanitized make and model...
|
||||
*/
|
||||
|
||||
- cupsFilePuts(fp, "*PPD-Adobe: \"4.3\"\n");
|
||||
- cupsFilePuts(fp, "*FormatVersion: \"4.3\"\n");
|
||||
- cupsFilePrintf(fp, "*FileVersion: \"%d.%d\"\n", CUPS_VERSION_MAJOR, CUPS_VERSION_MINOR);
|
||||
- cupsFilePuts(fp, "*LanguageVersion: English\n");
|
||||
- cupsFilePuts(fp, "*LanguageEncoding: ISOLatin1\n");
|
||||
- cupsFilePuts(fp, "*PSVersion: \"(3010.000) 0\"\n");
|
||||
- cupsFilePuts(fp, "*LanguageLevel: \"3\"\n");
|
||||
- cupsFilePuts(fp, "*FileSystem: False\n");
|
||||
- cupsFilePuts(fp, "*PCFileName: \"ippeve.ppd\"\n");
|
||||
+ if ((attr = ippFindAttribute(supported, "printer-make-and-model", IPP_TAG_TEXT)) != NULL && ippValidateAttribute(attr))
|
||||
+ {
|
||||
+ /*
|
||||
+ * Sanitize the model name to only contain PPD-safe characters.
|
||||
+ */
|
||||
|
||||
- if ((attr = ippFindAttribute(supported, "printer-make-and-model", IPP_TAG_TEXT)) != NULL)
|
||||
strlcpy(make, ippGetString(attr, 0, NULL), sizeof(make));
|
||||
+
|
||||
+ for (mptr = make; *mptr; mptr ++)
|
||||
+ {
|
||||
+ if (*mptr < ' ' || *mptr >= 127 || *mptr == '\"')
|
||||
+ {
|
||||
+ /*
|
||||
+ * Truncate the make and model on the first bad character...
|
||||
+ */
|
||||
+
|
||||
+ *mptr = '\0';
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ while (mptr > make)
|
||||
+ {
|
||||
+ /*
|
||||
+ * Strip trailing whitespace...
|
||||
+ */
|
||||
+
|
||||
+ mptr --;
|
||||
+ if (*mptr == ' ')
|
||||
+ *mptr = '\0';
|
||||
+ }
|
||||
+
|
||||
+ if (!make[0])
|
||||
+ {
|
||||
+ /*
|
||||
+ * Use a default make and model if nothing remains...
|
||||
+ */
|
||||
+
|
||||
+ strlcpy(make, "Unknown", sizeof(make));
|
||||
+ }
|
||||
+ }
|
||||
else
|
||||
- strlcpy(make, "Unknown Printer", sizeof(make));
|
||||
+ {
|
||||
+ /*
|
||||
+ * Use a default make and model...
|
||||
+ */
|
||||
+
|
||||
+ strlcpy(make, "Unknown", sizeof(make));
|
||||
+ }
|
||||
|
||||
if (!_cups_strncasecmp(make, "Hewlett Packard ", 16) || !_cups_strncasecmp(make, "Hewlett-Packard ", 16))
|
||||
{
|
||||
+ /*
|
||||
+ * Normalize HP printer make and model...
|
||||
+ */
|
||||
+
|
||||
model = make + 16;
|
||||
strlcpy(make, "HP", sizeof(make));
|
||||
+
|
||||
+ if (!_cups_strncasecmp(model, "HP ", 3))
|
||||
+ model += 3;
|
||||
+ }
|
||||
+ else if ((mptr = strchr(make, ' ')) != NULL)
|
||||
+ {
|
||||
+ /*
|
||||
+ * Separate "MAKE MODEL"...
|
||||
+ */
|
||||
+
|
||||
+ while (*mptr && *mptr == ' ')
|
||||
+ *mptr++ = '\0';
|
||||
+
|
||||
+ model = mptr;
|
||||
}
|
||||
- else if ((model = strchr(make, ' ')) != NULL)
|
||||
- *model++ = '\0';
|
||||
else
|
||||
- model = make;
|
||||
+ {
|
||||
+ /*
|
||||
+ * No separate model name...
|
||||
+ */
|
||||
|
||||
+ model = "Printer";
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
+ * Standard stuff for PPD file...
|
||||
+ */
|
||||
+
|
||||
+ cupsFilePuts(fp, "*PPD-Adobe: \"4.3\"\n");
|
||||
+ cupsFilePuts(fp, "*FormatVersion: \"4.3\"\n");
|
||||
+ cupsFilePrintf(fp, "*FileVersion: \"%d.%d\"\n", CUPS_VERSION_MAJOR, CUPS_VERSION_MINOR);
|
||||
+ cupsFilePuts(fp, "*LanguageVersion: English\n");
|
||||
+ cupsFilePuts(fp, "*LanguageEncoding: ISOLatin1\n");
|
||||
+ cupsFilePuts(fp, "*PSVersion: \"(3010.000) 0\"\n");
|
||||
+ cupsFilePuts(fp, "*LanguageLevel: \"3\"\n");
|
||||
+ cupsFilePuts(fp, "*FileSystem: False\n");
|
||||
+ cupsFilePuts(fp, "*PCFileName: \"ippeve.ppd\"\n");
|
||||
cupsFilePrintf(fp, "*Manufacturer: \"%s\"\n", make);
|
||||
cupsFilePrintf(fp, "*ModelName: \"%s\"\n", model);
|
||||
cupsFilePrintf(fp, "*Product: \"(%s)\"\n", model);
|
||||
@@ -3317,13 +3388,13 @@ _ppdCreateFromIPP2(
|
||||
}
|
||||
cupsFilePuts(fp, "\"\n");
|
||||
|
||||
- if ((attr = ippFindAttribute(supported, "printer-more-info", IPP_TAG_URI)) != NULL)
|
||||
+ if ((attr = ippFindAttribute(supported, "printer-more-info", IPP_TAG_URI)) != NULL && ippValidateAttribute(attr))
|
||||
cupsFilePrintf(fp, "*APSupplies: \"%s\"\n", ippGetString(attr, 0, NULL));
|
||||
|
||||
- if ((attr = ippFindAttribute(supported, "printer-charge-info-uri", IPP_TAG_URI)) != NULL)
|
||||
+ if ((attr = ippFindAttribute(supported, "printer-charge-info-uri", IPP_TAG_URI)) != NULL && ippValidateAttribute(attr))
|
||||
cupsFilePrintf(fp, "*cupsChargeInfoURI: \"%s\"\n", ippGetString(attr, 0, NULL));
|
||||
|
||||
- if ((attr = ippFindAttribute(supported, "printer-strings-uri", IPP_TAG_URI)) != NULL)
|
||||
+ if ((attr = ippFindAttribute(supported, "printer-strings-uri", IPP_TAG_URI)) != NULL && ippValidateAttribute(attr))
|
||||
{
|
||||
http_t *http = NULL; /* Connection to printer */
|
||||
char stringsfile[1024]; /* Temporary strings file */
|
||||
@@ -3367,7 +3438,7 @@ _ppdCreateFromIPP2(
|
||||
|
||||
response = cupsDoRequest(http, request, resource);
|
||||
|
||||
- if ((attr = ippFindAttribute(response, "printer-strings-uri", IPP_TAG_URI)) != NULL)
|
||||
+ if ((attr = ippFindAttribute(response, "printer-strings-uri", IPP_TAG_URI)) != NULL && ippValidateAttribute(attr))
|
||||
cupsFilePrintf(fp, "*cupsStringsURI %s: \"%s\"\n", keyword, ippGetString(attr, 0, NULL));
|
||||
|
||||
ippDelete(response);
|
||||
@@ -3389,10 +3460,10 @@ _ppdCreateFromIPP2(
|
||||
if (ippGetBoolean(ippFindAttribute(supported, "job-accounting-user-id-supported", IPP_TAG_BOOLEAN), 0))
|
||||
cupsFilePuts(fp, "*cupsJobAccountingUserId: True\n");
|
||||
|
||||
- if ((attr = ippFindAttribute(supported, "printer-privacy-policy-uri", IPP_TAG_URI)) != NULL)
|
||||
+ if ((attr = ippFindAttribute(supported, "printer-privacy-policy-uri", IPP_TAG_URI)) != NULL && ippValidateAttribute(attr))
|
||||
cupsFilePrintf(fp, "*cupsPrivacyURI: \"%s\"\n", ippGetString(attr, 0, NULL));
|
||||
|
||||
- if ((attr = ippFindAttribute(supported, "printer-mandatory-job-attributes", IPP_TAG_KEYWORD)) != NULL)
|
||||
+ if ((attr = ippFindAttribute(supported, "printer-mandatory-job-attributes", IPP_TAG_KEYWORD)) != NULL && ippValidateAttribute(attr))
|
||||
{
|
||||
char prefix = '\"'; // Prefix for string
|
||||
|
||||
@@ -3410,7 +3481,7 @@ _ppdCreateFromIPP2(
|
||||
cupsFilePuts(fp, "\"\n");
|
||||
}
|
||||
|
||||
- if ((attr = ippFindAttribute(supported, "printer-requested-job-attributes", IPP_TAG_KEYWORD)) != NULL)
|
||||
+ if ((attr = ippFindAttribute(supported, "printer-requested-job-attributes", IPP_TAG_KEYWORD)) != NULL && ippValidateAttribute(attr))
|
||||
{
|
||||
char prefix = '\"'; // Prefix for string
|
||||
|
||||
@@ -3973,18 +4044,16 @@ _ppdCreateFromIPP2(
|
||||
cupsFilePrintf(fp, "*DefaultInputSlot: %s\n", ppdname);
|
||||
|
||||
for (j = 0; j < (int)(sizeof(sources) / sizeof(sources[0])); j ++)
|
||||
+ {
|
||||
if (!strcmp(sources[j], keyword))
|
||||
{
|
||||
snprintf(msgid, sizeof(msgid), "media-source.%s", keyword);
|
||||
|
||||
- if ((msgstr = _cupsLangString(lang, msgid)) == msgid || !strcmp(msgid, msgstr))
|
||||
- if ((msgstr = _cupsMessageLookup(strings, msgid)) == msgid)
|
||||
- msgstr = keyword;
|
||||
-
|
||||
cupsFilePrintf(fp, "*InputSlot %s: \"<</MediaPosition %d>>setpagedevice\"\n", ppdname, j);
|
||||
- cupsFilePrintf(fp, "*%s.InputSlot %s/%s: \"\"\n", lang->language, ppdname, msgstr);
|
||||
+ ppd_put_string(fp, lang, strings, "InputSlot", ppdname, msgid);
|
||||
break;
|
||||
}
|
||||
+ }
|
||||
}
|
||||
cupsFilePuts(fp, "*CloseUI: *InputSlot\n");
|
||||
}
|
||||
@@ -4010,12 +4079,9 @@ _ppdCreateFromIPP2(
|
||||
pwg_ppdize_name(keyword, ppdname, sizeof(ppdname));
|
||||
|
||||
snprintf(msgid, sizeof(msgid), "media-type.%s", keyword);
|
||||
- if ((msgstr = _cupsLangString(lang, msgid)) == msgid || !strcmp(msgid, msgstr))
|
||||
- if ((msgstr = _cupsMessageLookup(strings, msgid)) == msgid)
|
||||
- msgstr = keyword;
|
||||
|
||||
cupsFilePrintf(fp, "*MediaType %s: \"<</MediaType(%s)>>setpagedevice\"\n", ppdname, ppdname);
|
||||
- cupsFilePrintf(fp, "*%s.MediaType %s/%s: \"\"\n", lang->language, ppdname, msgstr);
|
||||
+ ppd_put_string(fp, lang, strings, "MediaType", ppdname, msgid);
|
||||
}
|
||||
cupsFilePuts(fp, "*CloseUI: *MediaType\n");
|
||||
}
|
||||
@@ -4476,12 +4542,9 @@ _ppdCreateFromIPP2(
|
||||
pwg_ppdize_name(keyword, ppdname, sizeof(ppdname));
|
||||
|
||||
snprintf(msgid, sizeof(msgid), "output-bin.%s", keyword);
|
||||
- if ((msgstr = _cupsLangString(lang, msgid)) == msgid || !strcmp(msgid, msgstr))
|
||||
- if ((msgstr = _cupsMessageLookup(strings, msgid)) == msgid)
|
||||
- msgstr = keyword;
|
||||
|
||||
cupsFilePrintf(fp, "*OutputBin %s: \"\"\n", ppdname);
|
||||
- cupsFilePrintf(fp, "*%s.OutputBin %s/%s: \"\"\n", lang->language, ppdname, msgstr);
|
||||
+ ppd_put_string(fp, lang, strings, "OutputBin", ppdname, msgid);
|
||||
|
||||
if ((tray_ptr = ippGetOctetString(trays, i, &tray_len)) != NULL)
|
||||
{
|
||||
@@ -4600,9 +4663,6 @@ _ppdCreateFromIPP2(
|
||||
cupsArrayAdd(names, (char *)keyword);
|
||||
|
||||
snprintf(msgid, sizeof(msgid), "finishings.%d", value);
|
||||
- if ((msgstr = _cupsLangString(lang, msgid)) == msgid || !strcmp(msgid, msgstr))
|
||||
- if ((msgstr = _cupsMessageLookup(strings, msgid)) == msgid)
|
||||
- msgstr = keyword;
|
||||
|
||||
if (value >= IPP_FINISHINGS_NONE && value <= IPP_FINISHINGS_LAMINATE)
|
||||
ppd_keyword = base_keywords[value - IPP_FINISHINGS_NONE];
|
||||
@@ -4617,7 +4677,7 @@ _ppdCreateFromIPP2(
|
||||
continue;
|
||||
|
||||
cupsFilePrintf(fp, "*StapleLocation %s: \"\"\n", ppd_keyword);
|
||||
- cupsFilePrintf(fp, "*%s.StapleLocation %s/%s: \"\"\n", lang->language, ppd_keyword, msgstr);
|
||||
+ ppd_put_string(fp, lang, strings, "StapleLocation", ppd_keyword, msgid);
|
||||
cupsFilePrintf(fp, "*cupsIPPFinishings %d/%s: \"*StapleLocation %s\"\n", value, keyword, ppd_keyword);
|
||||
}
|
||||
|
||||
@@ -4680,9 +4740,6 @@ _ppdCreateFromIPP2(
|
||||
cupsArrayAdd(names, (char *)keyword);
|
||||
|
||||
snprintf(msgid, sizeof(msgid), "finishings.%d", value);
|
||||
- if ((msgstr = _cupsLangString(lang, msgid)) == msgid || !strcmp(msgid, msgstr))
|
||||
- if ((msgstr = _cupsMessageLookup(strings, msgid)) == msgid)
|
||||
- msgstr = keyword;
|
||||
|
||||
if (value >= IPP_FINISHINGS_NONE && value <= IPP_FINISHINGS_LAMINATE)
|
||||
ppd_keyword = base_keywords[value - IPP_FINISHINGS_NONE];
|
||||
@@ -4697,7 +4754,7 @@ _ppdCreateFromIPP2(
|
||||
continue;
|
||||
|
||||
cupsFilePrintf(fp, "*FoldType %s: \"\"\n", ppd_keyword);
|
||||
- cupsFilePrintf(fp, "*%s.FoldType %s/%s: \"\"\n", lang->language, ppd_keyword, msgstr);
|
||||
+ ppd_put_string(fp, lang, strings, "FoldType", ppd_keyword, msgid);
|
||||
cupsFilePrintf(fp, "*cupsIPPFinishings %d/%s: \"*FoldType %s\"\n", value, keyword, ppd_keyword);
|
||||
}
|
||||
|
||||
@@ -4768,9 +4825,6 @@ _ppdCreateFromIPP2(
|
||||
cupsArrayAdd(names, (char *)keyword);
|
||||
|
||||
snprintf(msgid, sizeof(msgid), "finishings.%d", value);
|
||||
- if ((msgstr = _cupsLangString(lang, msgid)) == msgid || !strcmp(msgid, msgstr))
|
||||
- if ((msgstr = _cupsMessageLookup(strings, msgid)) == msgid)
|
||||
- msgstr = keyword;
|
||||
|
||||
if (value >= IPP_FINISHINGS_NONE && value <= IPP_FINISHINGS_LAMINATE)
|
||||
ppd_keyword = base_keywords[value - IPP_FINISHINGS_NONE];
|
||||
@@ -4785,7 +4839,7 @@ _ppdCreateFromIPP2(
|
||||
continue;
|
||||
|
||||
cupsFilePrintf(fp, "*PunchMedia %s: \"\"\n", ppd_keyword);
|
||||
- cupsFilePrintf(fp, "*%s.PunchMedia %s/%s: \"\"\n", lang->language, ppd_keyword, msgstr);
|
||||
+ ppd_put_string(fp, lang, strings, "PunchMedia", ppd_keyword, msgid);
|
||||
cupsFilePrintf(fp, "*cupsIPPFinishings %d/%s: \"*PunchMedia %s\"\n", value, keyword, ppd_keyword);
|
||||
}
|
||||
|
||||
@@ -4856,9 +4910,6 @@ _ppdCreateFromIPP2(
|
||||
cupsArrayAdd(names, (char *)keyword);
|
||||
|
||||
snprintf(msgid, sizeof(msgid), "finishings.%d", value);
|
||||
- if ((msgstr = _cupsLangString(lang, msgid)) == msgid || !strcmp(msgid, msgstr))
|
||||
- if ((msgstr = _cupsMessageLookup(strings, msgid)) == msgid)
|
||||
- msgstr = keyword;
|
||||
|
||||
if (value == IPP_FINISHINGS_TRIM)
|
||||
ppd_keyword = "Auto";
|
||||
@@ -4866,7 +4917,7 @@ _ppdCreateFromIPP2(
|
||||
ppd_keyword = trim_keywords[value - IPP_FINISHINGS_TRIM_AFTER_PAGES];
|
||||
|
||||
cupsFilePrintf(fp, "*CutMedia %s: \"\"\n", ppd_keyword);
|
||||
- cupsFilePrintf(fp, "*%s.CutMedia %s/%s: \"\"\n", lang->language, ppd_keyword, msgstr);
|
||||
+ ppd_put_string(fp, lang, strings, "CutMedia", ppd_keyword, msgid);
|
||||
cupsFilePrintf(fp, "*cupsIPPFinishings %d/%s: \"*CutMedia %s\"\n", value, keyword, ppd_keyword);
|
||||
}
|
||||
|
||||
@@ -4905,12 +4956,11 @@ _ppdCreateFromIPP2(
|
||||
|
||||
cupsArrayAdd(templates, (void *)keyword);
|
||||
|
||||
+ pwg_ppdize_name(keyword, ppdname, sizeof(ppdname));
|
||||
+
|
||||
snprintf(msgid, sizeof(msgid), "finishing-template.%s", keyword);
|
||||
- if ((msgstr = _cupsLangString(lang, msgid)) == msgid || !strcmp(msgid, msgstr))
|
||||
- if ((msgstr = _cupsMessageLookup(strings, msgid)) == msgid)
|
||||
- msgstr = keyword;
|
||||
|
||||
- cupsFilePrintf(fp, "*cupsFinishingTemplate %s: \"\n", keyword);
|
||||
+ cupsFilePrintf(fp, "*cupsFinishingTemplate %s: \"\n", ppdname);
|
||||
for (finishing_attr = ippFirstAttribute(finishing_col); finishing_attr; finishing_attr = ippNextAttribute(finishing_col))
|
||||
{
|
||||
if (ippGetValueTag(finishing_attr) == IPP_TAG_BEGIN_COLLECTION)
|
||||
@@ -4923,7 +4973,7 @@ _ppdCreateFromIPP2(
|
||||
}
|
||||
}
|
||||
cupsFilePuts(fp, "\"\n");
|
||||
- cupsFilePrintf(fp, "*%s.cupsFinishingTemplate %s/%s: \"\"\n", lang->language, keyword, msgstr);
|
||||
+ ppd_put_string(fp, lang, strings, "cupsFinishingTemplate", ppdname, msgid);
|
||||
cupsFilePuts(fp, "*End\n");
|
||||
}
|
||||
|
||||
@@ -4959,9 +5009,8 @@ _ppdCreateFromIPP2(
|
||||
{
|
||||
ipp_t *preset = ippGetCollection(attr, i);
|
||||
/* Preset collection */
|
||||
- const char *preset_name = ippGetString(ippFindAttribute(preset, "preset-name", IPP_TAG_ZERO), 0, NULL),
|
||||
+ const char *preset_name = ippGetString(ippFindAttribute(preset, "preset-name", IPP_TAG_ZERO), 0, NULL);
|
||||
/* Preset name */
|
||||
- *localized_name; /* Localized preset name */
|
||||
ipp_attribute_t *member; /* Member attribute in preset */
|
||||
const char *member_name; /* Member attribute name */
|
||||
char member_value[256]; /* Member attribute value */
|
||||
@@ -4969,7 +5018,8 @@ _ppdCreateFromIPP2(
|
||||
if (!preset || !preset_name)
|
||||
continue;
|
||||
|
||||
- cupsFilePrintf(fp, "*APPrinterPreset %s: \"\n", preset_name);
|
||||
+ pwg_ppdize_name(preset_name, ppdname, sizeof(ppdname));
|
||||
+ cupsFilePrintf(fp, "*APPrinterPreset %s: \"\n", ppdname);
|
||||
for (member = ippFirstAttribute(preset); member; member = ippNextAttribute(preset))
|
||||
{
|
||||
member_name = ippGetName(member);
|
||||
@@ -5010,7 +5060,10 @@ _ppdCreateFromIPP2(
|
||||
fin_col = ippGetCollection(member, i);
|
||||
|
||||
if ((keyword = ippGetString(ippFindAttribute(fin_col, "finishing-template", IPP_TAG_ZERO), 0, NULL)) != NULL)
|
||||
- cupsFilePrintf(fp, "*cupsFinishingTemplate %s\n", keyword);
|
||||
+ {
|
||||
+ pwg_ppdize_name(keyword, ppdname, sizeof(ppdname));
|
||||
+ cupsFilePrintf(fp, "*cupsFinishingTemplate %s\n", ppdname);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
else if (!strcmp(member_name, "media"))
|
||||
@@ -5037,13 +5090,13 @@ _ppdCreateFromIPP2(
|
||||
if ((keyword = ippGetString(ippFindAttribute(media_col, "media-source", IPP_TAG_ZERO), 0, NULL)) != NULL)
|
||||
{
|
||||
pwg_ppdize_name(keyword, ppdname, sizeof(ppdname));
|
||||
- cupsFilePrintf(fp, "*InputSlot %s\n", keyword);
|
||||
+ cupsFilePrintf(fp, "*InputSlot %s\n", ppdname);
|
||||
}
|
||||
|
||||
if ((keyword = ippGetString(ippFindAttribute(media_col, "media-type", IPP_TAG_ZERO), 0, NULL)) != NULL)
|
||||
{
|
||||
pwg_ppdize_name(keyword, ppdname, sizeof(ppdname));
|
||||
- cupsFilePrintf(fp, "*MediaType %s\n", keyword);
|
||||
+ cupsFilePrintf(fp, "*MediaType %s\n", ppdname);
|
||||
}
|
||||
}
|
||||
else if (!strcmp(member_name, "print-quality"))
|
||||
@@ -5088,8 +5141,9 @@ _ppdCreateFromIPP2(
|
||||
|
||||
cupsFilePuts(fp, "\"\n*End\n");
|
||||
|
||||
- if ((localized_name = _cupsMessageLookup(strings, preset_name)) != preset_name)
|
||||
- cupsFilePrintf(fp, "*%s.APPrinterPreset %s/%s: \"\"\n", lang->language, preset_name, localized_name);
|
||||
+ snprintf(msgid, sizeof(msgid), "preset-name.%s", preset_name);
|
||||
+ pwg_ppdize_name(preset_name, ppdname, sizeof(ppdname));
|
||||
+ ppd_put_string(fp, lang, strings, "APPrinterPreset", ppdname, msgid);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5360,6 +5414,43 @@ cups_get_url(http_t **http, /* IO - Current HTTP connection */
|
||||
}
|
||||
|
||||
|
||||
+/*
|
||||
+ * 'ppd_put_strings()' - Write localization attributes to a PPD file.
|
||||
+ */
|
||||
+
|
||||
+static void
|
||||
+ppd_put_string(cups_file_t *fp, /* I - PPD file */
|
||||
+ cups_lang_t *lang, /* I - Language */
|
||||
+ cups_array_t *strings, /* I - Strings */
|
||||
+ const char *ppd_option,/* I - PPD option */
|
||||
+ const char *ppd_choice,/* I - PPD choice */
|
||||
+ const char *pwg_msgid) /* I - PWG message ID */
|
||||
+{
|
||||
+ const char *text; /* Localized text */
|
||||
+
|
||||
+
|
||||
+ if ((text = _cupsLangString(lang, pwg_msgid)) == pwg_msgid || !strcmp(pwg_msgid, text))
|
||||
+ {
|
||||
+ if ((text = _cupsMessageLookup(strings, pwg_msgid)) == pwg_msgid)
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ // Add the first line of localized text...
|
||||
+ cupsFilePrintf(fp, "*%s.%s %s/", lang->language, ppd_option, ppd_choice);
|
||||
+ while (*text && *text != '\n')
|
||||
+ {
|
||||
+ // Escape ":" and "<"...
|
||||
+ if (*text == ':' || *text == '<')
|
||||
+ cupsFilePrintf(fp, "<%02X>", *text);
|
||||
+ else
|
||||
+ cupsFilePutChar(fp, *text);
|
||||
+
|
||||
+ text ++;
|
||||
+ }
|
||||
+ cupsFilePuts(fp, ": \"\"\n");
|
||||
+}
|
||||
+
|
||||
+
|
||||
/*
|
||||
* 'pwg_add_finishing()' - Add a finishings value.
|
||||
*/
|
||||
@@ -5473,7 +5564,7 @@ pwg_ppdize_name(const char *ipp, /* I - IPP keyword */
|
||||
*end; /* End of name buffer */
|
||||
|
||||
|
||||
- if (!ipp)
|
||||
+ if (!ipp || !_cups_isalnum(*ipp))
|
||||
{
|
||||
*name = '\0';
|
||||
return;
|
||||
@@ -5488,8 +5579,14 @@ pwg_ppdize_name(const char *ipp, /* I - IPP keyword */
|
||||
ipp ++;
|
||||
*ptr++ = (char)toupper(*ipp++ & 255);
|
||||
}
|
||||
- else
|
||||
+ else if (*ipp == '_' || *ipp == '.' || *ipp == '-' || _cups_isalnum(*ipp))
|
||||
+ {
|
||||
*ptr++ = *ipp++;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ ipp ++;
|
||||
+ }
|
||||
}
|
||||
|
||||
*ptr = '\0';
|
||||
diff --git a/scheduler/ipp.c b/scheduler/ipp.c
|
||||
index 37623c54e..14b1fe1e0 100644
|
||||
--- a/scheduler/ipp.c
|
||||
+++ b/scheduler/ipp.c
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* IPP routines for the CUPS scheduler.
|
||||
*
|
||||
- * Copyright © 2020-2023 by OpenPrinting
|
||||
+ * Copyright © 2020-2024 by OpenPrinting
|
||||
* Copyright © 2007-2021 by Apple Inc.
|
||||
* Copyright © 1997-2007 by Easy Software Products, all rights reserved.
|
||||
*
|
||||
@@ -5417,6 +5417,13 @@ create_local_bg_thread(
|
||||
}
|
||||
}
|
||||
|
||||
+ // Validate response from printer...
|
||||
+ if (!ippValidateAttributes(response))
|
||||
+ {
|
||||
+ send_ipp_status(con, IPP_STATUS_ERROR_DEVICE, _("Printer returned invalid data: %s"), cupsLastErrorString());
|
||||
+ goto finish_response;
|
||||
+ }
|
||||
+
|
||||
// TODO: Grab printer icon file...
|
||||
httpClose(http);
|
||||
|
||||
--
|
||||
2.46.0
|
||||
|
34
gnu/packages/patches/cups-relax-root-ownership-check.patch
Normal file
34
gnu/packages/patches/cups-relax-root-ownership-check.patch
Normal file
|
@ -0,0 +1,34 @@
|
|||
From 943e44dafa192b54fadcbb24f5f87d62a22c9f84 Mon Sep 17 00:00:00 2001
|
||||
From: Sergey Trofimov <sarg@sarg.org.ru>
|
||||
Date: Wed, 17 Sep 2025 12:09:34 +0200
|
||||
Subject: [PATCH] Exempt files in /gnu/store from root ownership check.
|
||||
|
||||
---
|
||||
cups/file.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/cups/file.c b/cups/file.c
|
||||
index 95054f3c8..9822619d4 100644
|
||||
--- a/cups/file.c
|
||||
+++ b/cups/file.c
|
||||
@@ -159,7 +159,8 @@ _cupsFileCheck(
|
||||
* 4. Must not be writable by others
|
||||
*/
|
||||
|
||||
- if (fileinfo.st_uid || /* 1. Must be owned by root */
|
||||
+ int in_gnu_store = !strncmp(filename, "/gnu/store/", 11);
|
||||
+ if ((fileinfo.st_uid && !in_gnu_store) || /* 1. Must be owned by root or be in /gnu/store */
|
||||
(fileinfo.st_mode & S_IWGRP) || /* 2. Must not be writable by group */
|
||||
(fileinfo.st_mode & S_ISUID) || /* 3. Must not be setuid */
|
||||
(fileinfo.st_mode & S_IWOTH)) /* 4. Must not be writable by others */
|
||||
@@ -198,7 +199,7 @@ _cupsFileCheck(
|
||||
goto finishup;
|
||||
}
|
||||
|
||||
- if (fileinfo.st_uid || /* 1. Must be owned by root */
|
||||
+ if ((fileinfo.st_uid && !in_gnu_store) || /* 1. Must be owned by root or be in /gnu/store */
|
||||
(fileinfo.st_mode & S_IWGRP) || /* 2. Must not be writable by group */
|
||||
(fileinfo.st_mode & S_ISUID) || /* 3. Must not be setuid */
|
||||
(fileinfo.st_mode & S_IWOTH)) /* 4. Must not be writable by others */
|
||||
--
|
||||
2.51.0
|
25
gnu/packages/patches/emacs-zoom-image-test-fix.patch
Normal file
25
gnu/packages/patches/emacs-zoom-image-test-fix.patch
Normal file
|
@ -0,0 +1,25 @@
|
|||
From 462a541db904405ede8446c48ba0c71ad41c544d Mon Sep 17 00:00:00 2001
|
||||
From: Eli Zaretskii <eliz@gnu.org>
|
||||
Date: Thu, 17 Jul 2025 19:34:50 +0300
|
||||
Subject: [PATCH] ; * test/lisp/net/shr-tests.el (shr-test/zoom-image): Fix
|
||||
<img> (bug#79041).
|
||||
|
||||
---
|
||||
test/lisp/net/shr-tests.el | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/test/lisp/net/shr-tests.el b/test/lisp/net/shr-tests.el
|
||||
index 363cd144e8f3..a931d07a1631 100644
|
||||
--- a/test/lisp/net/shr-tests.el
|
||||
+++ b/test/lisp/net/shr-tests.el
|
||||
@@ -145,8 +145,8 @@ settings, then once more for each (OPTION . VALUE) pair.")
|
||||
(dolist (alt '(nil "" "nothing to see here"))
|
||||
(with-temp-buffer
|
||||
(ert-info ((format "image with alt=%S" alt))
|
||||
- (let ((attrs (if alt (format " alt=\"%s\"" alt) "")))
|
||||
- (insert (format "<img src=\"%s\" %s" image-url attrs)))
|
||||
+ (let ((attrs (if alt (format " alt=\"%s\">" alt) ">")))
|
||||
+ (insert (format "<img src=\"%s\"%s" image-url attrs)))
|
||||
(cl-letf* (;; Pretend we're a graphical display.
|
||||
((symbol-function 'display-graphic-p) #'always)
|
||||
((symbol-function 'url-queue-retrieve)
|
33
gnu/packages/patches/gtk-doc-mkhtml-test-fix.patch
Normal file
33
gnu/packages/patches/gtk-doc-mkhtml-test-fix.patch
Normal file
|
@ -0,0 +1,33 @@
|
|||
From 951743698610eaaa0cc9030f7d7d02437419ac24 Mon Sep 17 00:00:00 2001
|
||||
From: Neil Hanlon <neil@shrug.pw>
|
||||
Date: Fri, 9 Feb 2024 15:32:38 -0500
|
||||
Subject: [PATCH] Add gobject example source code to path for mkhtml test
|
||||
|
||||
Fixes #150
|
||||
|
||||
I'm not really sure why this is required, but I suspect it has to do
|
||||
with changes in how GCC handles path traversal due to recent (ish)
|
||||
security issues, as the code here is evaluated to
|
||||
`../xml/../../examples/gobject.c` which probably looks unhealthy to
|
||||
automatically include.
|
||||
|
||||
Signed-off-by: Neil Hanlon <neil@shrug.pw>
|
||||
---
|
||||
tests/gobject/docs/meson.build | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/tests/gobject/docs/meson.build b/tests/gobject/docs/meson.build
|
||||
index a1dd66ca..236a1cc0 100644
|
||||
--- a/tests/gobject/docs/meson.build
|
||||
+++ b/tests/gobject/docs/meson.build
|
||||
@@ -119,6 +119,7 @@ test(
|
||||
'--path=@0@'.format(':'.join([
|
||||
gobject_test_docs_dir,
|
||||
srcdir,
|
||||
+ join_paths(srcdir, 'tests/gobject/examples'),
|
||||
])
|
||||
),
|
||||
],
|
||||
--
|
||||
GitLab
|
||||
|
33
gnu/packages/patches/inkscape-libxml2.patch
Normal file
33
gnu/packages/patches/inkscape-libxml2.patch
Normal file
|
@ -0,0 +1,33 @@
|
|||
From 694d8ae43d06efff21adebf377ce614d660b24cd Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hesse <mail@eworm.de>
|
||||
Date: Fri, 17 Nov 2023 22:30:42 +0100
|
||||
Subject: [PATCH] include missing header file
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This fixes build error:
|
||||
```
|
||||
/build/inkscape/src/inkscape/src/object/uri.cpp: In constructor ‘Inkscape::URI::URI(const gchar*, const char*)’:
|
||||
/build/inkscape/src/inkscape/src/object/uri.cpp:86:9: error: ‘xmlFree’ was not declared in this scope; did you mean ‘xmlFreeURI’?
|
||||
86 | xmlFree(full);
|
||||
```
|
||||
---
|
||||
src/object/uri.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/object/uri.h b/src/object/uri.h
|
||||
index 381adec58cf..d5b211fe2b2 100644
|
||||
--- a/src/object/uri.h
|
||||
+++ b/src/object/uri.h
|
||||
@@ -13,6 +13,7 @@
|
||||
#define INKSCAPE_URI_H
|
||||
|
||||
#include <libxml/uri.h>
|
||||
+#include <libxml/xmlmemory.h>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
|
||||
--
|
||||
GitLab
|
||||
|
83
gnu/packages/patches/libosinfo-libxml2-fix.patch
Normal file
83
gnu/packages/patches/libosinfo-libxml2-fix.patch
Normal file
|
@ -0,0 +1,83 @@
|
|||
From 0adf38535637ec668e658d43f04f60f11f51574f Mon Sep 17 00:00:00 2001
|
||||
From: Roman Bogorodskiy <bogorodskiy@gmail.com>
|
||||
Date: Thu, 10 Apr 2025 13:54:02 +0200
|
||||
Subject: [PATCH] loader: don't use libxml2 deprecated APIs
|
||||
|
||||
Address the following items:
|
||||
|
||||
- Deprecated direct access to buf's content
|
||||
- Mismatching error function signature
|
||||
- Deprecated direct access to ctxt's lastError
|
||||
|
||||
Signed-off-by: Roman Bogorodskiy <bogorodskiy@gmail.com>
|
||||
---
|
||||
osinfo/osinfo_loader.c | 42 +++++++++++++++++++++++-------------------
|
||||
1 file changed, 23 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/osinfo/osinfo_loader.c b/osinfo/osinfo_loader.c
|
||||
index 0a9004af..b3fd4535 100644
|
||||
--- a/osinfo/osinfo_loader.c
|
||||
+++ b/osinfo/osinfo_loader.c
|
||||
@@ -354,7 +354,7 @@ osinfo_loader_doc(const char *xpath,
|
||||
xmlXPathFreeObject(obj);
|
||||
OSINFO_LOADER_SET_ERROR(err, "Cannot format stylesheet");
|
||||
}
|
||||
- ret = g_strdup((char *)buf->content);
|
||||
+ ret = g_strdup((char *)xmlBufferContent(buf));
|
||||
|
||||
xmlBufferFree(buf);
|
||||
xmlXPathFreeObject(obj);
|
||||
@@ -1902,28 +1902,32 @@ static void osinfo_loader_root(OsinfoLoader *loader,
|
||||
}
|
||||
|
||||
static void
|
||||
-catchXMLError(void *ctx, const char *msg ATTRIBUTE_UNUSED, ...)
|
||||
+catchXMLError(void *ctx, const char *msg, ...)
|
||||
{
|
||||
xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
|
||||
+ const xmlError *xmlErr = NULL;
|
||||
+ g_autofree gchar *xmlmsg = NULL;
|
||||
|
||||
- if (ctxt && ctxt->_private) {
|
||||
- GError **err = ctxt->_private;
|
||||
- if (!error_is_set(err)) {
|
||||
- gchar *xmlmsg;
|
||||
- if (ctxt->lastError.file) {
|
||||
- xmlmsg = g_strdup_printf("%s:%d: %s",
|
||||
- ctxt->lastError.file,
|
||||
- ctxt->lastError.line,
|
||||
- ctxt->lastError.message);
|
||||
- } else {
|
||||
- xmlmsg = g_strdup_printf("at line %d: %s",
|
||||
- ctxt->lastError.line,
|
||||
- ctxt->lastError.message);
|
||||
- }
|
||||
- OSINFO_LOADER_SET_ERROR(ctxt->_private, xmlmsg);
|
||||
- g_free(xmlmsg);
|
||||
- }
|
||||
+ if (!ctxt || !ctxt->_private)
|
||||
+ return;
|
||||
+
|
||||
+ if (error_is_set(ctxt->_private))
|
||||
+ return;
|
||||
+
|
||||
+ if (!(xmlErr = xmlCtxtGetLastError(ctx)))
|
||||
+ return;
|
||||
+
|
||||
+ if (xmlErr->file) {
|
||||
+ xmlmsg = g_strdup_printf("%s:%d: %s",
|
||||
+ xmlErr->file,
|
||||
+ xmlErr->line,
|
||||
+ xmlErr->message);
|
||||
+ } else {
|
||||
+ xmlmsg = g_strdup_printf("at line %d: %s",
|
||||
+ xmlErr->line,
|
||||
+ xmlErr->message);
|
||||
}
|
||||
+ OSINFO_LOADER_SET_ERROR(ctxt->_private, xmlmsg);
|
||||
}
|
||||
|
||||
static void osinfo_loader_process_xml(OsinfoLoader *loader,
|
||||
--
|
||||
GitLab
|
||||
|
|
@ -1,173 +0,0 @@
|
|||
This makes generated IDs deterministic.
|
||||
|
||||
Written by Daniel Veillard.
|
||||
|
||||
This should be fixed in next release (2.29).
|
||||
See https://bugzilla.gnome.org/show_bug.cgi?id=751621.
|
||||
|
||||
diff --git a/libxslt/functions.c b/libxslt/functions.c
|
||||
index 6448bde..5b00a6d 100644
|
||||
--- a/libxslt/functions.c
|
||||
+++ b/libxslt/functions.c
|
||||
@@ -651,6 +651,63 @@ xsltFormatNumberFunction(xmlXPathParserContextPtr ctxt, int nargs)
|
||||
}
|
||||
|
||||
/**
|
||||
+ * xsltCleanupIds:
|
||||
+ * @ctxt: the transformation context
|
||||
+ * @root: the root of the resulting document
|
||||
+ *
|
||||
+ * This clean up ids which may have been saved in Element contents
|
||||
+ * by xsltGenerateIdFunction() to provide stable IDs on elements.
|
||||
+ *
|
||||
+ * Returns the number of items cleaned or -1 in case of error
|
||||
+ */
|
||||
+int
|
||||
+xsltCleanupIds(xsltTransformContextPtr ctxt, xmlNodePtr root) {
|
||||
+ xmlNodePtr cur;
|
||||
+ int count = 0;
|
||||
+
|
||||
+ if ((ctxt == NULL) || (root == NULL))
|
||||
+ return(-1);
|
||||
+ if (root->type != XML_ELEMENT_NODE)
|
||||
+ return(-1);
|
||||
+
|
||||
+ cur = root;
|
||||
+ while (cur != NULL) {
|
||||
+ if (cur->type == XML_ELEMENT_NODE) {
|
||||
+ if (cur->content != NULL) {
|
||||
+ cur->content = NULL;
|
||||
+ count++;
|
||||
+ }
|
||||
+ if (cur->children != NULL) {
|
||||
+ cur = cur->children;
|
||||
+ continue;
|
||||
+ }
|
||||
+ }
|
||||
+ if (cur->next != NULL) {
|
||||
+ cur = cur->next;
|
||||
+ continue;
|
||||
+ }
|
||||
+ do {
|
||||
+ cur = cur->parent;
|
||||
+ if (cur == NULL)
|
||||
+ break;
|
||||
+ if (cur == (xmlNodePtr) root) {
|
||||
+ cur = NULL;
|
||||
+ break;
|
||||
+ }
|
||||
+ if (cur->next != NULL) {
|
||||
+ cur = cur->next;
|
||||
+ break;
|
||||
+ }
|
||||
+ } while (cur != NULL);
|
||||
+ }
|
||||
+
|
||||
+fprintf(stderr, "Attributed %d IDs for element, cleaned up %d\n",
|
||||
+ ctxt->nextid, count);
|
||||
+
|
||||
+ return(count);
|
||||
+}
|
||||
+
|
||||
+/**
|
||||
* xsltGenerateIdFunction:
|
||||
* @ctxt: the XPath Parser context
|
||||
* @nargs: the number of arguments
|
||||
@@ -701,7 +758,39 @@ xsltGenerateIdFunction(xmlXPathParserContextPtr ctxt, int nargs){
|
||||
if (obj)
|
||||
xmlXPathFreeObject(obj);
|
||||
|
||||
- val = (long)((char *)cur - (char *)&base_address);
|
||||
+ /*
|
||||
+ * Try to provide stable ID for generated document:
|
||||
+ * - usually ID are computed to be placed on elements via attributes
|
||||
+ * so using the element as the node for the ID
|
||||
+ * - the cur->content should be a correct placeholder for this, we use
|
||||
+ * it to hold element node numbers in xmlXPathOrderDocElems to
|
||||
+ * speed up XPath too
|
||||
+ * - xsltCleanupIds() clean them up before handing the XSLT output
|
||||
+ * to the API client.
|
||||
+ * - other nodes types use the node address method but that should
|
||||
+ * not end up in resulting document ID
|
||||
+ * - we can enable this by default without risk of performance issues
|
||||
+ * only the one pass xsltCleanupIds() is added
|
||||
+ */
|
||||
+ if (cur->type == XML_ELEMENT_NODE) {
|
||||
+ if (cur->content == NULL) {
|
||||
+ xsltTransformContextPtr tctxt;
|
||||
+
|
||||
+ tctxt = xsltXPathGetTransformContext(ctxt);
|
||||
+ if (tctxt == NULL) {
|
||||
+ val = (long)((char *)cur - (char *)&base_address);
|
||||
+ } else {
|
||||
+ tctxt->nextid++;
|
||||
+ val = tctxt->nextid;
|
||||
+ cur->content = (void *) (val);
|
||||
+ }
|
||||
+ } else {
|
||||
+ val = (long) cur->content;
|
||||
+ }
|
||||
+ } else {
|
||||
+ val = (long)((char *)cur - (char *)&base_address);
|
||||
+ }
|
||||
+
|
||||
if (val >= 0) {
|
||||
sprintf((char *)str, "idp%ld", val);
|
||||
} else {
|
||||
diff --git a/libxslt/functions.h b/libxslt/functions.h
|
||||
index e0e0bf9..4a1e163 100644
|
||||
--- a/libxslt/functions.h
|
||||
+++ b/libxslt/functions.h
|
||||
@@ -64,6 +64,13 @@ XSLTPUBFUN void XSLTCALL
|
||||
int nargs);
|
||||
|
||||
/*
|
||||
+ * Cleanup for ID generation
|
||||
+ */
|
||||
+XSLTPUBFUN int XSLTCALL
|
||||
+ xsltCleanupIds (xsltTransformContextPtr ctxt,
|
||||
+ xmlNodePtr root);
|
||||
+
|
||||
+/*
|
||||
* And the registration
|
||||
*/
|
||||
|
||||
diff --git a/libxslt/transform.c b/libxslt/transform.c
|
||||
index 24f9eb2..2bdf6bf 100644
|
||||
--- a/libxslt/transform.c
|
||||
+++ b/libxslt/transform.c
|
||||
@@ -700,6 +700,7 @@ xsltNewTransformContext(xsltStylesheetPtr style, xmlDocPtr doc) {
|
||||
cur->traceCode = (unsigned long*) &xsltDefaultTrace;
|
||||
cur->xinclude = xsltGetXIncludeDefault();
|
||||
cur->keyInitLevel = 0;
|
||||
+ cur->nextid = 0;
|
||||
|
||||
return(cur);
|
||||
|
||||
@@ -6092,6 +6093,13 @@ xsltApplyStylesheetInternal(xsltStylesheetPtr style, xmlDocPtr doc,
|
||||
if (root != NULL) {
|
||||
const xmlChar *doctype = NULL;
|
||||
|
||||
+ /*
|
||||
+ * cleanup ids which may have been saved in Elements content ptrs
|
||||
+ */
|
||||
+ if (ctxt->nextid != 0) {
|
||||
+ xsltCleanupIds(ctxt, root);
|
||||
+ }
|
||||
+
|
||||
if ((root->ns != NULL) && (root->ns->prefix != NULL))
|
||||
doctype = xmlDictQLookup(ctxt->dict, root->ns->prefix, root->name);
|
||||
if (doctype == NULL)
|
||||
diff --git a/libxslt/xsltInternals.h b/libxslt/xsltInternals.h
|
||||
index 95e8fe6..8eedae4 100644
|
||||
--- a/libxslt/xsltInternals.h
|
||||
+++ b/libxslt/xsltInternals.h
|
||||
@@ -1782,6 +1782,8 @@ struct _xsltTransformContext {
|
||||
int maxTemplateVars;
|
||||
unsigned long opLimit;
|
||||
unsigned long opCount;
|
||||
+
|
||||
+ unsigned long nextid;/* for generating stable ids */
|
||||
};
|
||||
|
||||
/**
|
30
gnu/packages/patches/libzmf-doxygen-1.14.patch
Normal file
30
gnu/packages/patches/libzmf-doxygen-1.14.patch
Normal file
|
@ -0,0 +1,30 @@
|
|||
From 48f94abff2fcc4943626a62c6180c60862288b08 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Fridrich=20=C5=A0trba?= <fridrich.strba@bluewin.ch>
|
||||
Date: Tue, 3 Jun 2025 11:57:29 +0200
|
||||
Subject: [PATCH 245/248] Install all files generated by doxygen
|
||||
|
||||
Install the whole directory and do not pick only some file-types
|
||||
|
||||
Change-Id: I743253696f3e57dfe70c6509b7d620dc2bf39e76
|
||||
---
|
||||
docs/doxygen/Makefile.am | 4 +---
|
||||
1 file changed, 1 insertion(+), 3 deletions(-)
|
||||
|
||||
diff --git a/docs/doxygen/Makefile.am b/docs/doxygen/Makefile.am
|
||||
index 4351042..40a02e8 100644
|
||||
--- a/docs/doxygen/Makefile.am
|
||||
+++ b/docs/doxygen/Makefile.am
|
||||
@@ -6,9 +6,7 @@ if WITH_LIBZMF_DOCS
|
||||
|
||||
install-data-am:
|
||||
mkdir -p $(DESTDIR)$(docdir)/html
|
||||
- $(INSTALL_DATA) html/*.html $(DESTDIR)$(docdir)/html/
|
||||
- $(INSTALL_DATA) html/*.png $(DESTDIR)$(docdir)/html/
|
||||
- $(INSTALL_DATA) html/*.css $(DESTDIR)$(docdir)/html/
|
||||
+ $(INSTALL_DATA) html/* $(DESTDIR)$(docdir)/html/
|
||||
|
||||
uninstall-am:
|
||||
-rm -rf $(DESTDIR)$(docdir)/html
|
||||
--
|
||||
2.51.0
|
||||
|
26
gnu/packages/patches/mash-add-missing-headers.patch
Normal file
26
gnu/packages/patches/mash-add-missing-headers.patch
Normal file
|
@ -0,0 +1,26 @@
|
|||
https://patch-diff.githubusercontent.com/raw/marbl/Mash/pull/181.diff
|
||||
|
||||
Add missing includes to support newer compilers.
|
||||
---
|
||||
diff --git a/src/mash/robin_hood.h b/src/mash/robin_hood.h
|
||||
index 573607f..9141848 100644
|
||||
--- a/src/mash/robin_hood.h
|
||||
+++ b/src/mash/robin_hood.h
|
||||
@@ -42,6 +42,7 @@
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include <functional>
|
||||
+#include <limits>
|
||||
#include <memory> // only to support hash of smart pointers
|
||||
#include <stdexcept>
|
||||
#include <string>
|
||||
--- a/src/mash/Command.cpp
|
||||
+++ b/src/mash/Command.cpp
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <sys/ioctl.h>
|
||||
#include <sstream>
|
||||
#include <fstream>
|
||||
+#include <cstdint>
|
||||
|
||||
#include "Command.h"
|
||||
#include "version.h"
|
|
@ -6,18 +6,18 @@ that 'itstool' stumbles upon when processing UTF-8 data:
|
|||
Patch by Jan Matejek
|
||||
from <https://bugzilla.opensuse.org/show_bug.cgi?id=1065270>.
|
||||
|
||||
--- libxml2-2.9.5.orig/python/libxml.c
|
||||
+++ libxml2-2.9.5/python/libxml.c
|
||||
@@ -1620,6 +1620,7 @@ libxml_xmlErrorFuncHandler(ATTRIBUTE_UNU
|
||||
--- a/python/libxml.c
|
||||
+++ b/python/libxml.c
|
||||
@@ -1499,6 +1499,7 @@ libxml_xmlErrorFuncHandler(ATTRIBUTE_UNUSED void *ctx, const char *msg,
|
||||
PyObject *message;
|
||||
PyObject *result;
|
||||
char str[1000];
|
||||
+ unsigned char *ptr = (unsigned char *)str;
|
||||
|
||||
#ifdef DEBUG_ERROR
|
||||
printf("libxml_xmlErrorFuncHandler(%p, %s, ...) called\n", ctx, msg);
|
||||
@@ -1636,12 +1637,20 @@ libxml_xmlErrorFuncHandler(ATTRIBUTE_UNU
|
||||
str[999] = 0;
|
||||
if (libxml_xmlPythonErrorFuncHandler == NULL) {
|
||||
va_start(ap, msg);
|
||||
@@ -1510,12 +1511,20 @@ libxml_xmlErrorFuncHandler(ATTRIBUTE_UNUSED void *ctx, const char *msg,
|
||||
str[999] = 0;
|
||||
va_end(ap);
|
||||
|
||||
+#if PY_MAJOR_VERSION >= 3
|
||||
|
@ -32,7 +32,7 @@ from <https://bugzilla.opensuse.org/show_bug.cgi?id=1065270>.
|
|||
- message = libxml_charPtrConstWrap(str);
|
||||
+ message = libxml_charPtrConstWrap(ptr);
|
||||
PyTuple_SetItem(list, 1, message);
|
||||
result = PyEval_CallObject(libxml_xmlPythonErrorFuncHandler, list);
|
||||
result = PyObject_CallObject(libxml_xmlPythonErrorFuncHandler, list);
|
||||
+ /* Forget any errors caused in the error handler. */
|
||||
+ PyErr_Clear();
|
||||
Py_XDECREF(list);
|
||||
|
|
30
gnu/packages/patches/raptor2-libxml2.patch
Normal file
30
gnu/packages/patches/raptor2-libxml2.patch
Normal file
|
@ -0,0 +1,30 @@
|
|||
https://bugs.gentoo.org/906227
|
||||
https://github.com/dajobe/raptor/issues/59
|
||||
https://github.com/dajobe/raptor/pull/58
|
||||
|
||||
From 4dbc4c1da2a033c497d84a1291c46f416a9cac51 Mon Sep 17 00:00:00 2001
|
||||
From: David Anes <david.anes@suse.com>
|
||||
Date: Thu, 4 May 2023 11:54:02 +0200
|
||||
Subject: [PATCH] Remove the access to entities 'checked' private symbol for
|
||||
libxml2 2.11.0
|
||||
|
||||
Since version 2.11.0, some private symbols that were never intended
|
||||
as public API/ABI have been removed from libxml2, therefore the field
|
||||
'checked' is no longer present and raptor fails to build in this
|
||||
scenario.
|
||||
--- a/src/raptor_libxml.c
|
||||
+++ b/src/raptor_libxml.c
|
||||
@@ -246,10 +246,11 @@ raptor_libxml_getEntity(void* user_data, const xmlChar *name)
|
||||
|
||||
ret->owner = 1;
|
||||
|
||||
-#if LIBXML_VERSION >= 20627
|
||||
+#if LIBXML_VERSION >= 20627 && LIBXML_VERSION < 21100
|
||||
/* Checked field was released in 2.6.27 on 2006-10-25
|
||||
* http://git.gnome.org/browse/libxml2/commit/?id=a37a6ad91a61d168ecc4b29263def3363fff4da6
|
||||
*
|
||||
+ * and was later removed in version 2.11.0
|
||||
*/
|
||||
|
||||
/* Mark this entity as having been checked - never do this again */
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
From 324ad2e5b5d4b08fb682fa05d5baaaf087d13f5c Mon Sep 17 00:00:00 2001
|
||||
From: Sergey Trofimov <sarg@sarg.org.ru>
|
||||
Date: Sat, 20 Sep 2025 18:26:44 +0200
|
||||
Subject: [PATCH] Look for plugins in SANE_BACKEND_LIB_PATH.
|
||||
|
||||
---
|
||||
backend/dll.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/backend/dll.c b/backend/dll.c
|
||||
index bf34c4f6d..d52e81206 100644
|
||||
--- a/backend/dll.c
|
||||
+++ b/backend/dll.c
|
||||
@@ -461,6 +461,8 @@ load (struct backend *be)
|
||||
be->op[i] = op_unsupported;
|
||||
|
||||
path = getenv ("LD_LIBRARY_PATH");
|
||||
+ if (!path)
|
||||
+ path = getenv ("SANE_BACKEND_LIB_PATH"); /* for guix */
|
||||
if (!path)
|
||||
path = getenv ("SHLIB_PATH"); /* for HP-UX */
|
||||
if (!path)
|
||||
--
|
||||
2.51.0
|
||||
|
100
gnu/packages/patches/vulkan-tools-wayland-1.24.patch
Normal file
100
gnu/packages/patches/vulkan-tools-wayland-1.24.patch
Normal file
|
@ -0,0 +1,100 @@
|
|||
From f546743016f5301c063f2c50af0ea43dd2485ef4 Mon Sep 17 00:00:00 2001
|
||||
From: Charles Giessen <charles@lunarg.com>
|
||||
Date: Thu, 17 Jul 2025 09:56:40 -0500
|
||||
Subject: [PATCH] build: Remove pkg-config provided library names
|
||||
|
||||
The library names of Xcb, Xlib, and Wayland do not need to be queried from pkg-config,
|
||||
instead they can be hardcoded to use the fallback names.
|
||||
|
||||
The intent of querying the library names was to prevent issues where the hardcoded name
|
||||
was not the platform-appropriate name. But because <library>_LINK_LIBRARIES can have
|
||||
more than one library name, the logic to assign <library>_LINK_LIBRARIES into a compile
|
||||
definition breaks horribly. While it is possible to handle this in CMake, the dlopen code would
|
||||
also have to handle it which is much more error prone.
|
||||
---
|
||||
cube/CMakeLists.txt | 20 --------------------
|
||||
cube/wayland_loader.h | 3 ---
|
||||
cube/xcb_loader.h | 3 ---
|
||||
cube/xlib_loader.h | 3 ---
|
||||
4 files changed, 29 deletions(-)
|
||||
|
||||
diff --git a/cube/CMakeLists.txt b/cube/CMakeLists.txt
|
||||
index 7e135e79b..dac6bfed9 100644
|
||||
--- a/cube/CMakeLists.txt
|
||||
+++ b/cube/CMakeLists.txt
|
||||
@@ -307,16 +307,6 @@ if (ANDROID)
|
||||
return()
|
||||
endif()
|
||||
|
||||
-if (XCB_LINK_LIBRARIES)
|
||||
- target_compile_definitions(vkcube PRIVATE "XCB_LIBRARY=\"${XCB_LINK_LIBRARIES}\"")
|
||||
-endif()
|
||||
-if (X11_LINK_LIBRARIES)
|
||||
- target_compile_definitions(vkcube PRIVATE "XLIB_LIBRARY=\"${X11_LINK_LIBRARIES}\"")
|
||||
-endif()
|
||||
-if (WAYLAND_CLIENT_LINK_LIBRARIES)
|
||||
- target_compile_definitions(vkcube PRIVATE "WAYLAND_LIBRARY=\"${WAYLAND_CLIENT_LINK_LIBRARIES}\"")
|
||||
-endif()
|
||||
-
|
||||
# ----------------------------------------------------------------------------
|
||||
# vkcubepp
|
||||
|
||||
@@ -360,16 +350,6 @@ target_include_directories(vkcubepp PRIVATE .)
|
||||
target_compile_definitions(vkcubepp PRIVATE ${ENABLED_CUBE_PLATFORMS})
|
||||
target_link_libraries(vkcubepp ${CMAKE_DL_LIBS} Vulkan::Headers)
|
||||
|
||||
-if (XCB_LINK_LIBRARIES )
|
||||
- target_compile_definitions(vkcubepp PUBLIC "XCB_LIBRARY=\"${XCB_LINK_LIBRARIES}\"")
|
||||
-endif()
|
||||
-if (X11_LINK_LIBRARIES)
|
||||
- target_compile_definitions(vkcubepp PUBLIC "XLIB_LIBRARY=\"${X11_LINK_LIBRARIES}\"")
|
||||
-endif()
|
||||
-if (WAYLAND_CLIENT_LINK_LIBRARIES)
|
||||
- target_compile_definitions(vkcubepp PUBLIC "WAYLAND_LIBRARY=\"${WAYLAND_CLIENT_LINK_LIBRARIES}\"")
|
||||
-endif()
|
||||
-
|
||||
if(APPLE)
|
||||
install(
|
||||
TARGETS vkcubepp
|
||||
diff --git a/cube/wayland_loader.h b/cube/wayland_loader.h
|
||||
index 2afab6e97..7d7d91412 100644
|
||||
--- a/cube/wayland_loader.h
|
||||
+++ b/cube/wayland_loader.h
|
||||
@@ -80,9 +80,6 @@ static PFN_wl_display_disconnect cube_wl_display_disconnect = NULL;
|
||||
|
||||
static inline void *initialize_wayland() {
|
||||
void *wayland_library = NULL;
|
||||
-#if defined(WAYLAND_LIBRARY)
|
||||
- wayland_library = dlopen(WAYLAND_LIBRARY, RTLD_NOW | RTLD_LOCAL);
|
||||
-#endif
|
||||
if (NULL == wayland_library) {
|
||||
wayland_library = dlopen("libwayland-client.so.0", RTLD_NOW | RTLD_LOCAL);
|
||||
}
|
||||
diff --git a/cube/xcb_loader.h b/cube/xcb_loader.h
|
||||
index a94d5ab56..cecd25402 100644
|
||||
--- a/cube/xcb_loader.h
|
||||
+++ b/cube/xcb_loader.h
|
||||
@@ -88,9 +88,6 @@ static PFN_xcb_screen_next cube_xcb_screen_next = NULL;
|
||||
|
||||
void *initialize_xcb() {
|
||||
void *xcb_library = NULL;
|
||||
-#if defined(XCB_LIBRARY)
|
||||
- xcb_library = dlopen(XCB_LIBRARY, RTLD_NOW | RTLD_LOCAL);
|
||||
-#endif
|
||||
if (NULL == xcb_library) {
|
||||
xcb_library = dlopen("libxcb.so.1", RTLD_NOW | RTLD_LOCAL);
|
||||
}
|
||||
diff --git a/cube/xlib_loader.h b/cube/xlib_loader.h
|
||||
index c7874d0e7..881789f18 100644
|
||||
--- a/cube/xlib_loader.h
|
||||
+++ b/cube/xlib_loader.h
|
||||
@@ -72,9 +72,6 @@ static PFN_XFlush cube_XFlush = NULL;
|
||||
|
||||
void* initialize_xlib() {
|
||||
void* xlib_library = NULL;
|
||||
-#if defined(XLIB_LIBRARY)
|
||||
- xlib_library = dlopen(XLIB_LIBRARY, RTLD_NOW | RTLD_LOCAL);
|
||||
-#endif
|
||||
if (NULL == xlib_library) {
|
||||
xlib_library = dlopen("libX11.so.6", RTLD_NOW | RTLD_LOCAL);
|
||||
}
|
|
@ -185,7 +185,7 @@ it.")
|
|||
(define-public trealla
|
||||
(package
|
||||
(name "trealla")
|
||||
(version "2.83.5")
|
||||
(version "2.83.8")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -194,7 +194,7 @@ it.")
|
|||
(url "https://github.com/trealla-prolog/trealla")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "04d1h8331dsb1gbrp28h2sqkwqh3cfzbdlziczwqk2kyyp9sf9f8"))
|
||||
(base32 "1bpfzrwsgbmjl1maiaw5b8ixkgh548gw1lkiznsjgkjm7dxr4ns4"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
|
|
|
@ -5220,13 +5220,16 @@ sanitizer Rust crate.")
|
|||
(version "0.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "noiseprotocol" version))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/plizonczyk/noiseprotocol")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0ifnj0mpbqsfqba9n12vf5yzxj4qf2gxql3ry43qyshgnrqsi4mh"))))
|
||||
(base32 "1mk0rqpjifdv3v1cjwkdnjbrfmzzjm9f3qqs1r8vii4j2wvhm6am"))))
|
||||
(build-system pyproject-build-system)
|
||||
(propagated-inputs (list python-cryptography))
|
||||
(native-inputs (list python-setuptools python-wheel))
|
||||
(native-inputs (list python-setuptools python-pytest))
|
||||
(home-page "https://github.com/plizonczyk/noiseprotocol")
|
||||
(synopsis "Implementation of Noise Protocol Framework")
|
||||
(description
|
||||
|
|
|
@ -13131,8 +13131,7 @@ experimental data and metadata at the Laboratory for Fluorescence Dynamics.")
|
|||
python-pytest
|
||||
python-setuptools
|
||||
python-wheel))
|
||||
(inputs
|
||||
(list ffmpeg-7))
|
||||
(inputs (list ffmpeg))
|
||||
(home-page "https://github.com/PyAV-Org/PyAV")
|
||||
(synopsis "Pythonic bindings for FFmpeg's libraries")
|
||||
(description
|
||||
|
@ -15629,14 +15628,14 @@ the GObject Introspection bindings to libnotify for non-GTK applications.")
|
|||
(define-public python-beautifulsoup4
|
||||
(package
|
||||
(name "python-beautifulsoup4")
|
||||
(version "4.13.4")
|
||||
(version "4.13.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "beautifulsoup4" version))
|
||||
(sha256
|
||||
(base32
|
||||
"15bi8fl51aibdz33h3j1191n5l0c4r3k4hpjvbmyysmfrvhw9cyv"))))
|
||||
"159niwk99m9lbcxb9sl6jfqy9mb39bss4l1lwcypq3lkh89i6w2y"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-hatchling
|
||||
|
@ -17643,7 +17642,7 @@ from an XML-based format.")
|
|||
(propagated-inputs
|
||||
(list python-brotli
|
||||
python-fs
|
||||
python-lxml-4.9
|
||||
python-lxml
|
||||
python-lz4
|
||||
python-scipy
|
||||
python-unicodedata2
|
||||
|
@ -29198,6 +29197,7 @@ submitting it.")
|
|||
(sha256
|
||||
(base32 "0ymdwrx544a6gn6wm9dixpgzbfrbpxvcj5ys7m41cgb4lvpvx691"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments (list #:tests? #f)) ;No test suite.
|
||||
(native-inputs (list python-setuptools python-wheel))
|
||||
(home-page "https://github.com/iwalton3/python-mpv-jsonipc")
|
||||
(synopsis "Python API to control MPV using JSON IPC")
|
||||
|
@ -34263,7 +34263,19 @@ and have a maximum lifetime built-in.")
|
|||
(list
|
||||
#:test-flags
|
||||
;; Disable some failing tests.
|
||||
'(list "-k" "not test_print_subprocess"
|
||||
;;
|
||||
;; test_print_subprocess seems to inherit wrong environment, fails with
|
||||
;; E + ModuleNotFoundError: No module named 'executing'
|
||||
;; Test runs fine from local clone.
|
||||
;;
|
||||
;; test_executing_failure fails with
|
||||
;; E - [1, 2] (list) len=2
|
||||
;; E + [x, y]: [1, 2] (list) len=2
|
||||
;; unclear why, probably due to a dependency.
|
||||
'(list "-k" "not test_print_subprocess and not test_executing_failure"
|
||||
;; test_insert_assert.py also seems to inherit a bad environment:
|
||||
;; E fixture 'pytester_pretty' not found
|
||||
;; Test runs fine from local clone.
|
||||
"--ignore=tests/test_insert_assert.py")))
|
||||
(native-inputs
|
||||
(list python-hatchling python-pytest python-pytest-mock))
|
||||
|
@ -35514,7 +35526,7 @@ restores the original state after the string is printed.")
|
|||
(native-inputs
|
||||
(list python-pytest))
|
||||
(inputs
|
||||
(list sane-backends))
|
||||
(list sane))
|
||||
(home-page "https://github.com/python-pillow/Sane")
|
||||
(synopsis "Python interface to the SANE scanner")
|
||||
(description "This package provides Python interface to the SANE scanner
|
||||
|
@ -38711,7 +38723,7 @@ parsing rules in a single place.")
|
|||
(sha256
|
||||
(base32 "0g4cn522n4dv6ly8pwf97dc62rr4f7my38v0bh6vmac7jmrip7pv"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs (list python-setuptools python-wheel))
|
||||
(native-inputs (list python-setuptools python-pytest))
|
||||
(home-page "https://github.com/pR0Ps/iterable-io")
|
||||
(synopsis "Adapt generators and other iterables to a file-like interface")
|
||||
(description
|
||||
|
|
|
@ -2117,7 +2117,7 @@ Vulkan, OpenGL and other main graphic APIs.")
|
|||
vulkan-headers))
|
||||
(inputs
|
||||
(list alsa-lib
|
||||
ffmpeg
|
||||
ffmpeg-6
|
||||
glib
|
||||
libxkbcommon
|
||||
libxrandr
|
||||
|
|
|
@ -252,8 +252,7 @@ of parts of the Windows API.")
|
|||
linux-pam
|
||||
openssl
|
||||
pixman
|
||||
python
|
||||
python-libxml2))
|
||||
python))
|
||||
(native-inputs
|
||||
(append
|
||||
(list bison
|
||||
|
|
|
@ -77,7 +77,8 @@
|
|||
"-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1026whyxpajwijlr4k5c0iliwn09mwxrg7gkvd5kb0n9ga6vg788"))))
|
||||
"1026whyxpajwijlr4k5c0iliwn09mwxrg7gkvd5kb0n9ga6vg788"))
|
||||
(patches (search-patches "raptor2-libxml2.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list curl libxml2 libxslt zlib))
|
||||
|
|
|
@ -19903,6 +19903,7 @@
|
|||
`(("paste" ,rust-paste-1.0.15)
|
||||
("proc-macro2" ,rust-proc-macro2-1.0.94)
|
||||
("quote" ,rust-quote-1.0.40)
|
||||
("rustc-hash" ,rust-rustc-hash-2.1.1)
|
||||
("syn" ,rust-syn-2.0.100)
|
||||
("unicode-ident" ,rust-unicode-ident-1.0.18)))
|
||||
|
||||
|
|
|
@ -42,18 +42,20 @@
|
|||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix deprecation)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module ((guix licenses)
|
||||
#:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix search-paths)
|
||||
#:use-module (guix utils))
|
||||
|
||||
(define-public sane-airscan
|
||||
(package
|
||||
(name "sane-airscan")
|
||||
(version "0.99.27")
|
||||
(version "0.99.36")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -62,7 +64,7 @@
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1syxsih1kdnz9slsg5a92bqnllagm4cybqk4n2y6mbkqn6h0zlnv"))))
|
||||
(base32 "1dh7rq1g120gqhkr7ac3p7yizm330dj3xqrrg08dff7ra1jx955y"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:make-flags
|
||||
|
@ -78,8 +80,9 @@
|
|||
gnutls
|
||||
libjpeg-turbo
|
||||
libpng
|
||||
libtiff
|
||||
libxml2
|
||||
sane-backends))
|
||||
sane))
|
||||
(home-page "https://github.com/alexpevzner/sane-airscan")
|
||||
(synopsis "SANE backend for eSCL (AirScan) and WSD document scanners")
|
||||
(description ; no @acronym{eSCL} because the meaning isn't officially known
|
||||
|
@ -103,10 +106,11 @@ both WSD and eSCL.")
|
|||
(license (list license:gpl2+ ; the combined work
|
||||
license:expat)))) ; http_parser.[ch]
|
||||
|
||||
(define-public sane-backends-minimal
|
||||
(define-deprecated/public-alias sane-backends-minimal sane)
|
||||
(define-public sane
|
||||
(package
|
||||
(name "sane-backends-minimal")
|
||||
(version "1.3.1")
|
||||
(name "sane")
|
||||
(version "1.4.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -114,7 +118,9 @@ both WSD and eSCL.")
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1fb6shx9bz0svcyasmyqs93rbbwq7kzg6l0h1zh3kjvcwhchyv72"))
|
||||
(base32 "09hcqrli127amdxjlj6xd9lvc0rhlhhm8vxrnldbd8c2mxss7dbv"))
|
||||
(patches (search-patches
|
||||
"sane-look-for-plugins-in-SANE_BACKEND_LIB_PATH.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Generated HTML files and udev rules normally embed a
|
||||
|
@ -186,6 +192,11 @@ both WSD and eSCL.")
|
|||
(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.
|
||||
|
@ -197,6 +208,14 @@ both WSD and eSCL.")
|
|||
(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")))))
|
||||
(home-page "http://www.sane-project.org")
|
||||
(synopsis
|
||||
"Raster image scanner library and drivers, without scanner support")
|
||||
|
@ -206,20 +225,16 @@ hand-held scanner, video- and still-cameras, frame-grabbers, etc.). The
|
|||
package contains the library, but no drivers.")
|
||||
(license license:gpl2+))) ; plus linking exception
|
||||
|
||||
;; This variant links in the hpaio backend provided by hplip, which adds
|
||||
;; support for HP scanners whose backends are not maintained by the SANE
|
||||
;; project, and builds all of those backends.
|
||||
(define-public sane-backends
|
||||
(package/inherit sane-backends-minimal
|
||||
(package/inherit sane
|
||||
(name "sane-backends")
|
||||
(inputs
|
||||
`(("hplip" ,(@ (gnu packages cups) hplip))
|
||||
("libjpeg" ,libjpeg-turbo) ; for pixma/epsonds/other back ends
|
||||
`(("libjpeg" ,libjpeg-turbo) ; for pixma/epsonds/other back ends
|
||||
("libpng" ,libpng) ; support ‘scanimage --format=png’
|
||||
("libxml2" ,libxml2) ; for pixma back end
|
||||
,@(package-inputs sane-backends-minimal)))
|
||||
,@(package-inputs sane)))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments sane-backends-minimal)
|
||||
(substitute-keyword-arguments (package-arguments sane)
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(delete 'disable-backends)
|
||||
|
@ -229,22 +244,6 @@ package contains the library, but no drivers.")
|
|||
;; <https://bugs.gnu.org/39449>
|
||||
(substitute* "testsuite/backend/genesys/Makefile.in"
|
||||
((" genesys_unit_tests\\$\\(EXEEXT\\)") ""))
|
||||
#t))
|
||||
(add-after 'unpack 'add-backends
|
||||
(lambda _
|
||||
(substitute* "backend/dll.conf.in"
|
||||
(("hp5590" all) (format #f "~a~%~a" all "hpaio")))
|
||||
#t))
|
||||
(add-after 'install 'install-hpaio
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(define hplip (string-append (assoc-ref inputs "hplip")
|
||||
"/lib/sane"))
|
||||
(define out (string-append (assoc-ref outputs "out")
|
||||
"/lib/sane"))
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(symlink file (string-append out "/" (basename file))))
|
||||
(find-files hplip))
|
||||
#t))))))
|
||||
(synopsis
|
||||
"Raster image scanner library and drivers, with scanner support")
|
||||
|
@ -288,7 +287,7 @@ package contains the library and drivers.")))
|
|||
"/lib/udev/rules.d")))))))
|
||||
(inputs (list boost
|
||||
eudev
|
||||
sane-backends-minimal
|
||||
sane
|
||||
libusb
|
||||
libjpeg-turbo
|
||||
imagemagick
|
||||
|
@ -350,11 +349,7 @@ standard.")
|
|||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
`(("dbus" ,dbus)
|
||||
("libconfuse" ,libconfuse)
|
||||
("sane-backends" ,sane-backends)
|
||||
("udev" ,eudev)
|
||||
("zlib" ,zlib)))
|
||||
(list dbus libconfuse sane eudev zlib))
|
||||
(home-page "https://scanbd.sourceforge.io")
|
||||
(synopsis "Configurable scanner button monitor")
|
||||
(description "Scanbd stands for scanner button daemon. It regularly polls
|
||||
|
@ -435,7 +430,7 @@ provided the driver also exposes the buttons.")
|
|||
lcms
|
||||
libjpeg-turbo
|
||||
libtiff
|
||||
sane-backends
|
||||
sane
|
||||
xdg-utils)) ;to open the manual from the Help menu
|
||||
(home-page "https://gitlab.com/sane-project/frontend/xsane")
|
||||
(synopsis "Featureful graphical interface for document and image scanners")
|
||||
|
|
|
@ -660,7 +660,7 @@ This package also provides @samp{kdlpp}, a C++20 wrapper around @samp{ckdl}.")
|
|||
(define-public capnproto
|
||||
(package
|
||||
(name "capnproto")
|
||||
(version "1.0")
|
||||
(version "1.2.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -668,13 +668,13 @@ This package also provides @samp{kdlpp}, a C++20 wrapper around @samp{ckdl}.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"03f1862ljdshg7d0rg3j7jzgm3ip55kzd2y91q7p0racax3hxx6i"))
|
||||
"1vs2zpk4l55hb4lq4kldbwdqcjnwm1jblhcaqxmii9dxrd7f807d"))
|
||||
(patches (search-patches "capnproto-fix-test.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'check 'use-tmp-for-temporary-files
|
||||
(add-after 'unpack 'use-tmp-for-temporary-files
|
||||
(lambda _
|
||||
;; Use /tmp for temporary files, as the default /var/tmp directory
|
||||
;; doesn't exist.
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
;;; Copyright © 2021 Wiktor Żelazny <wzelazny@vurv.cz>
|
||||
;;; Copyright © 2022 Jose G Perez Taveras <josegpt27@gmail.com>
|
||||
;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
|
||||
;;; Copyright © 2023 Camilo Q.S. (Distopico) <distopico@riseup.net>
|
||||
;;; Copyright © 2023, 2025 Camilo Q.S. (Distopico) <distopico@riseup.net>
|
||||
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
|
||||
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;; Copyright © 2024 Brian Kubisiak <brian@kubisiak.com>
|
||||
|
@ -744,7 +744,7 @@ Latin script and other languages.")
|
|||
(define-public direnv
|
||||
(package
|
||||
(name "direnv")
|
||||
(version "2.36.0")
|
||||
(version "2.37.1")
|
||||
(source
|
||||
(origin (method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -753,7 +753,7 @@ Latin script and other languages.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0p6n9zi3p9frj3ndnpdc1cz51hq0nkyjc9b1rqg7967l8vhdr8f6"))))
|
||||
"08wywbj5niqhpy6m4y8xw065w3rgpi8khfy5qzqfxr6752h66v7p"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list #:install-source? #f
|
||||
|
|
|
@ -39,7 +39,6 @@
|
|||
#:use-module (gnu packages cpp)
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages digest)
|
||||
#:use-module (gnu packages fcitx)
|
||||
#:use-module (gnu packages fcitx5)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gl)
|
||||
|
|
|
@ -887,7 +887,7 @@ eye-candy, customizable, and reasonably lightweight.")
|
|||
(list (search-path-specification
|
||||
(variable "TERMINFO_DIRS")
|
||||
(files '("share/terminfo")))))
|
||||
(inputs (list fcft libxkbcommon-1.8 wayland wayland-protocols))
|
||||
(inputs (list fcft libxkbcommon wayland wayland-protocols))
|
||||
(synopsis "Wayland-native terminal emulator")
|
||||
(description
|
||||
"@command{foot} is a terminal emulator for systems using the Wayland
|
||||
|
|
|
@ -240,7 +240,7 @@ Browser.")
|
|||
libxcomposite
|
||||
libxt
|
||||
libffi
|
||||
ffmpeg-7
|
||||
ffmpeg
|
||||
libvpx
|
||||
icu4c
|
||||
pixman
|
||||
|
|
|
@ -4224,7 +4224,11 @@ will reconstruct the object along its delta-base chain and return it.")
|
|||
(install-file manpage
|
||||
(string-append #$output "/share/man/man1")))
|
||||
(find-files "." "^git-lfs.*\\.1$"))))))
|
||||
#~()))))
|
||||
#~())
|
||||
(add-after 'install 'rename-binary
|
||||
(lambda _
|
||||
(with-directory-excursion (string-append #$output "/bin")
|
||||
(rename-file "v3" "git-lfs")))))))
|
||||
(native-inputs
|
||||
(append (list git-minimal
|
||||
go-github-com-avast-retry-go
|
||||
|
@ -4251,7 +4255,7 @@ will reconstruct the object along its delta-base chain and return it.")
|
|||
(if (supported-package? ruby-asciidoctor/minimal)
|
||||
(list ronn-ng ruby-asciidoctor/minimal)
|
||||
'())))
|
||||
(home-page "https://git-lfs.github.com/")
|
||||
(home-page "https://git-lfs.com/")
|
||||
(synopsis "Git extension for versioning large files")
|
||||
(description
|
||||
"Git Large File Storage (LFS) replaces large files such as audio samples,
|
||||
|
|
|
@ -1527,7 +1527,7 @@ libebml is a C++ library to read and write EBML files.")
|
|||
(define-public libplacebo
|
||||
(package
|
||||
(name "libplacebo")
|
||||
(version "7.349.0")
|
||||
(version "7.351.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1536,7 +1536,7 @@ libebml is a C++ library to read and write EBML files.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1q12yf04z570a2l3vkig2iqm7bgqr90hdxmn78sk2injrsyx124q"))))
|
||||
(base32 "094mzr4cvvryxr7rpxqhvrs018r89m116cpkmmfy3d3sk8b09jki"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
|
@ -1644,17 +1644,17 @@ These tools require a supported graphics chip, driver, and VA-API back end to
|
|||
operate properly.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ffmpeg-7
|
||||
(define-public ffmpeg
|
||||
(package
|
||||
(name "ffmpeg")
|
||||
(version "7.0.2")
|
||||
(version "8.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"12dkv17mrsdqrm70c30azjw7qi1lfxca7xisw81x6flacddm2il6"))))
|
||||
"13kvs9rh5mp21gx64hdj0jlnz6q5c6spik8kh5q7fk6cnv61yxdj"))))
|
||||
(outputs '("out" "debug"))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
|
@ -1674,6 +1674,8 @@ operate properly.")
|
|||
libcaca
|
||||
libcdio-paranoia
|
||||
libdrm
|
||||
libgme
|
||||
libplacebo
|
||||
libtheora
|
||||
libva
|
||||
libvdpau
|
||||
|
@ -1685,13 +1687,16 @@ operate properly.")
|
|||
mesa
|
||||
openal
|
||||
pulseaudio
|
||||
shaderc
|
||||
sdl2
|
||||
soxr
|
||||
speex
|
||||
spirv-tools
|
||||
srt
|
||||
svt-av1
|
||||
twolame
|
||||
vidstab
|
||||
vulkan-loader
|
||||
x265
|
||||
xvid
|
||||
zlib)))
|
||||
|
@ -1701,7 +1706,8 @@ operate properly.")
|
|||
pkg-config
|
||||
texinfo
|
||||
speex
|
||||
yasm))
|
||||
vulkan-headers
|
||||
nasm))
|
||||
(arguments
|
||||
(list
|
||||
#:test-target "fate"
|
||||
|
@ -1716,7 +1722,6 @@ operate properly.")
|
|||
;; --enable-libfdk-aac enable AAC de/encoding via libfdk-aac [no]
|
||||
;; --enable-libflite enable flite (voice synthesis) support via
|
||||
;; libflite [no]
|
||||
;; --enable-libgme enable Game Music Emu via libgme [no]
|
||||
;; --enable-libgsm enable GSM de/encoding via libgsm [no]
|
||||
;; --enable-libiec61883 enable iec61883 via libiec61883 [no]
|
||||
;; --enable-libilbc enable iLBC de/encoding via libilbc [no]
|
||||
|
@ -1769,12 +1774,15 @@ operate properly.")
|
|||
"--enable-libcdio"
|
||||
"--enable-libdav1d"
|
||||
"--enable-libfreetype"
|
||||
"--enable-libgme"
|
||||
"--enable-libmp3lame"
|
||||
"--enable-libopus"
|
||||
"--enable-libplacebo"
|
||||
"--enable-libpulse"
|
||||
#$@(if (this-package-input "rav1e")
|
||||
'("--enable-librav1e")
|
||||
'())
|
||||
"--enable-libshaderc"
|
||||
"--enable-libsoxr"
|
||||
"--enable-libspeex"
|
||||
"--enable-libsrt"
|
||||
|
@ -1792,6 +1800,7 @@ operate properly.")
|
|||
"--enable-opengl"
|
||||
"--enable-libdrm"
|
||||
"--enable-vaapi"
|
||||
"--enable-vulkan"
|
||||
|
||||
"--enable-runtime-cpudetect"
|
||||
|
||||
|
@ -1836,7 +1845,7 @@ operate properly.")
|
|||
(lambda* (#:key outputs configure-flags #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(substitute* "configure"
|
||||
(("#! /bin/sh") (string-append "#!" (which "sh"))))
|
||||
(("#! */bin/sh") (string-append "#!" (which "sh"))))
|
||||
(setenv "SHELL" (which "bash"))
|
||||
(setenv "CONFIG_SHELL" (which "bash"))
|
||||
(apply invoke
|
||||
|
@ -1861,23 +1870,23 @@ convert and stream audio and video. It includes the libavcodec
|
|||
audio/video codec library.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public ffmpeg
|
||||
(define-public ffmpeg-6
|
||||
(package
|
||||
(inherit ffmpeg-7)
|
||||
(version "6.1.1")
|
||||
(inherit ffmpeg)
|
||||
(version "6.1.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0s7r2qv8gh2a3w568n9xxgcz0q8j5ww1jdsci1hm9f4l1yqg9146"))
|
||||
"0f2fr8ywchhlkdff88lr4d4vscqzsi1ndjh3r5jwbkayf94lcqiv"))
|
||||
(patches
|
||||
(search-patches
|
||||
"ffmpeg-add-av_stream_get_first_dts-for-chromium.patch"))))
|
||||
(arguments
|
||||
(if (target-x86-32?)
|
||||
(substitute-keyword-arguments (package-arguments ffmpeg-7)
|
||||
(substitute-keyword-arguments (package-arguments ffmpeg)
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-before 'configure 'relax-gcc-14-strictness
|
||||
|
@ -1885,8 +1894,9 @@ audio/video codec library.")
|
|||
(setenv
|
||||
"CFLAGS"
|
||||
(string-append "-g -O2"
|
||||
" -Wno-error=incompatible-pointer-types")))))))
|
||||
(package-arguments ffmpeg-7)))))
|
||||
" -Wno-error=incompatible-pointer-types"
|
||||
" -Wno-error=int-conversion")))))))
|
||||
(package-arguments ffmpeg)))))
|
||||
|
||||
(define-public ffmpeg-5
|
||||
(package
|
||||
|
@ -1926,8 +1936,12 @@ audio/video codec library.")
|
|||
(replace "sdl2" sdl2-2.0)))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments ffmpeg-5)
|
||||
((#:modules modules %default-gnu-modules)
|
||||
`((srfi srfi-1) ,@modules))
|
||||
((#:configure-flags flags ''())
|
||||
#~(cons "--enable-avresample" #$flags))))))
|
||||
#~(cons "--enable-avresample"
|
||||
(fold delete #$flags '("--enable-libplacebo"
|
||||
"--enable-libshaderc"))))))))
|
||||
|
||||
(define-public ffmpeg-for-stepmania
|
||||
(hidden-package
|
||||
|
@ -1995,270 +2009,271 @@ audio/video codec library.")
|
|||
|
||||
;;; Custom ffmpeg package used by Jami, which incorporates custom patches.
|
||||
(define-public ffmpeg-jami
|
||||
(package
|
||||
(inherit ffmpeg)
|
||||
(name "ffmpeg-jami")
|
||||
(source (let ((ffmpeg-origin (package-source ffmpeg)))
|
||||
(origin
|
||||
(inherit ffmpeg-origin)
|
||||
;; These patches originate come from
|
||||
;; <https://review.jami.net/plugins/gitiles/jami-daemon/+/refs/heads/master/contrib/src/ffmpeg/>.
|
||||
;; Make sure to keep them update and/or register any new ones
|
||||
;; here.
|
||||
(patches
|
||||
(append
|
||||
(origin-patches ffmpeg-origin)
|
||||
(search-patches
|
||||
"ffmpeg-jami-remove-mjpeg-log.patch"
|
||||
"ffmpeg-jami-change-RTCP-ratio.patch"
|
||||
"ffmpeg-jami-rtp_ext_abs_send_time.patch"
|
||||
"ffmpeg-jami-libopusdec-enable-FEC.patch"
|
||||
"ffmpeg-jami-libopusenc-reload-packet-loss-at-encode.patch"
|
||||
"ffmpeg-jami-screen-sharing-x11-fix.patch"
|
||||
"ffmpeg-jami-pipewiregrab-source-filter.patch"))))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments ffmpeg)
|
||||
((#:configure-flags _ '())
|
||||
;; The base configure flags preserved from ffmpeg appear first.
|
||||
#~(list "--disable-static"
|
||||
"--enable-shared"
|
||||
"--disable-stripping"
|
||||
(let ((ffmpeg ffmpeg-6))
|
||||
(package
|
||||
(inherit ffmpeg)
|
||||
(name "ffmpeg-jami")
|
||||
(source (let ((ffmpeg-origin (package-source ffmpeg)))
|
||||
(origin
|
||||
(inherit ffmpeg-origin)
|
||||
;; These patches originate come from
|
||||
;; <https://review.jami.net/plugins/gitiles/jami-daemon/+/refs/heads/master/contrib/src/ffmpeg/>.
|
||||
;; Make sure to keep them update and/or register any new ones
|
||||
;; here.
|
||||
(patches
|
||||
(append
|
||||
(origin-patches ffmpeg-origin)
|
||||
(search-patches
|
||||
"ffmpeg-jami-remove-mjpeg-log.patch"
|
||||
"ffmpeg-jami-change-RTCP-ratio.patch"
|
||||
"ffmpeg-jami-rtp_ext_abs_send_time.patch"
|
||||
"ffmpeg-jami-libopusdec-enable-FEC.patch"
|
||||
"ffmpeg-jami-libopusenc-reload-packet-loss-at-encode.patch"
|
||||
"ffmpeg-jami-screen-sharing-x11-fix.patch"
|
||||
"ffmpeg-jami-pipewiregrab-source-filter.patch"))))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments ffmpeg)
|
||||
((#:configure-flags _ '())
|
||||
;; The base configure flags preserved from ffmpeg appear first.
|
||||
#~(list "--disable-static"
|
||||
"--enable-shared"
|
||||
"--disable-stripping"
|
||||
|
||||
;; Extra Guix-added flags that make sense for this custom
|
||||
;; package; these could be contributed upstream.
|
||||
"--disable-doc"
|
||||
;; Extra Guix-added flags that make sense for this custom
|
||||
;; package; these could be contributed upstream.
|
||||
"--disable-doc"
|
||||
|
||||
;; The following flags are those specified by Jami.
|
||||
;; They're from the jami/daemon/contrib/src/ffmpeg/rules.mak
|
||||
;; file. We try to keep it as close to the official Jami
|
||||
;; package as possible, to provide all the codecs and extra
|
||||
;; features that are expected (see:
|
||||
;; https://review.jami.net/plugins/gitiles/jami-daemon/+/
|
||||
;; refs/heads/master/contrib/src/ffmpeg/rules.mak).
|
||||
"--disable-everything"
|
||||
"--enable-zlib"
|
||||
"--enable-gpl"
|
||||
"--enable-swscale"
|
||||
"--enable-bsfs"
|
||||
"--disable-filters"
|
||||
"--disable-programs"
|
||||
"--disable-postproc"
|
||||
;; The following flags are those specified by Jami.
|
||||
;; They're from the jami/daemon/contrib/src/ffmpeg/rules.mak
|
||||
;; file. We try to keep it as close to the official Jami
|
||||
;; package as possible, to provide all the codecs and extra
|
||||
;; features that are expected (see:
|
||||
;; https://review.jami.net/plugins/gitiles/jami-daemon/+/
|
||||
;; refs/heads/master/contrib/src/ffmpeg/rules.mak).
|
||||
"--disable-everything"
|
||||
"--enable-zlib"
|
||||
"--enable-gpl"
|
||||
"--enable-swscale"
|
||||
"--enable-bsfs"
|
||||
"--disable-filters"
|
||||
"--disable-programs"
|
||||
"--disable-postproc"
|
||||
|
||||
"--enable-libpipewire"
|
||||
"--enable-filter=pipewiregrab"
|
||||
"--enable-indev=lavfi"
|
||||
"--enable-decoder=wrapped_avframe"
|
||||
"--enable-libpipewire"
|
||||
"--enable-filter=pipewiregrab"
|
||||
"--enable-indev=lavfi"
|
||||
"--enable-decoder=wrapped_avframe"
|
||||
|
||||
"--disable-protocols"
|
||||
"--enable-protocol=crypto"
|
||||
"--enable-protocol=file"
|
||||
"--enable-protocol=rtp"
|
||||
"--enable-protocol=srtp"
|
||||
"--enable-protocol=tcp"
|
||||
"--enable-protocol=udp"
|
||||
"--enable-protocol=unix"
|
||||
"--enable-protocol=pipe"
|
||||
"--disable-protocols"
|
||||
"--enable-protocol=crypto"
|
||||
"--enable-protocol=file"
|
||||
"--enable-protocol=rtp"
|
||||
"--enable-protocol=srtp"
|
||||
"--enable-protocol=tcp"
|
||||
"--enable-protocol=udp"
|
||||
"--enable-protocol=unix"
|
||||
"--enable-protocol=pipe"
|
||||
|
||||
;; Enable muxers/demuxers.
|
||||
"--disable-demuxers"
|
||||
"--disable-muxers"
|
||||
"--enable-muxer=rtp"
|
||||
"--enable-muxer=g722"
|
||||
"--enable-muxer=g723_1"
|
||||
"--enable-muxer=g726"
|
||||
"--enable-muxer=g726le"
|
||||
"--enable-muxer=h263"
|
||||
"--enable-muxer=h264"
|
||||
"--enable-muxer=hevc"
|
||||
"--enable-muxer=matroska"
|
||||
"--enable-muxer=webm"
|
||||
"--enable-muxer=ogg"
|
||||
"--enable-muxer=pcm_s16be"
|
||||
"--enable-muxer=pcm_s16le"
|
||||
"--enable-muxer=wav"
|
||||
"--enable-demuxer=rtp"
|
||||
"--enable-demuxer=mjpeg"
|
||||
"--enable-demuxer=mjpeg_2000"
|
||||
"--enable-demuxer=mpegvideo"
|
||||
"--enable-demuxer=gif"
|
||||
"--enable-demuxer=image_jpeg_pipe"
|
||||
"--enable-demuxer=image_png_pipe"
|
||||
"--enable-demuxer=image_webp_pipe"
|
||||
"--enable-demuxer=matroska"
|
||||
"--enable-demuxer=m4v"
|
||||
"--enable-demuxer=mp3"
|
||||
"--enable-demuxer=ogg"
|
||||
"--enable-demuxer=flac"
|
||||
"--enable-demuxer=wav"
|
||||
"--enable-demuxer=ac3"
|
||||
"--enable-demuxer=g722"
|
||||
"--enable-demuxer=g723_1"
|
||||
"--enable-demuxer=g726"
|
||||
"--enable-demuxer=g726le"
|
||||
"--enable-demuxer=pcm_mulaw"
|
||||
"--enable-demuxer=pcm_alaw"
|
||||
"--enable-demuxer=pcm_s16be"
|
||||
"--enable-demuxer=pcm_s16le"
|
||||
"--enable-demuxer=h263"
|
||||
"--enable-demuxer=h264"
|
||||
"--enable-demuxer=hevc"
|
||||
;; Enable muxers/demuxers.
|
||||
"--disable-demuxers"
|
||||
"--disable-muxers"
|
||||
"--enable-muxer=rtp"
|
||||
"--enable-muxer=g722"
|
||||
"--enable-muxer=g723_1"
|
||||
"--enable-muxer=g726"
|
||||
"--enable-muxer=g726le"
|
||||
"--enable-muxer=h263"
|
||||
"--enable-muxer=h264"
|
||||
"--enable-muxer=hevc"
|
||||
"--enable-muxer=matroska"
|
||||
"--enable-muxer=webm"
|
||||
"--enable-muxer=ogg"
|
||||
"--enable-muxer=pcm_s16be"
|
||||
"--enable-muxer=pcm_s16le"
|
||||
"--enable-muxer=wav"
|
||||
"--enable-demuxer=rtp"
|
||||
"--enable-demuxer=mjpeg"
|
||||
"--enable-demuxer=mjpeg_2000"
|
||||
"--enable-demuxer=mpegvideo"
|
||||
"--enable-demuxer=gif"
|
||||
"--enable-demuxer=image_jpeg_pipe"
|
||||
"--enable-demuxer=image_png_pipe"
|
||||
"--enable-demuxer=image_webp_pipe"
|
||||
"--enable-demuxer=matroska"
|
||||
"--enable-demuxer=m4v"
|
||||
"--enable-demuxer=mp3"
|
||||
"--enable-demuxer=ogg"
|
||||
"--enable-demuxer=flac"
|
||||
"--enable-demuxer=wav"
|
||||
"--enable-demuxer=ac3"
|
||||
"--enable-demuxer=g722"
|
||||
"--enable-demuxer=g723_1"
|
||||
"--enable-demuxer=g726"
|
||||
"--enable-demuxer=g726le"
|
||||
"--enable-demuxer=pcm_mulaw"
|
||||
"--enable-demuxer=pcm_alaw"
|
||||
"--enable-demuxer=pcm_s16be"
|
||||
"--enable-demuxer=pcm_s16le"
|
||||
"--enable-demuxer=h263"
|
||||
"--enable-demuxer=h264"
|
||||
"--enable-demuxer=hevc"
|
||||
|
||||
;; Enable parsers.
|
||||
"--enable-parser=h263"
|
||||
"--enable-parser=h264"
|
||||
"--enable-parser=hevc"
|
||||
"--enable-parser=mpeg4video"
|
||||
"--enable-parser=vp8"
|
||||
"--enable-parser=vp9"
|
||||
"--enable-parser=opus"
|
||||
;; Enable parsers.
|
||||
"--enable-parser=h263"
|
||||
"--enable-parser=h264"
|
||||
"--enable-parser=hevc"
|
||||
"--enable-parser=mpeg4video"
|
||||
"--enable-parser=vp8"
|
||||
"--enable-parser=vp9"
|
||||
"--enable-parser=opus"
|
||||
|
||||
;; Encoders/decoders.
|
||||
"--enable-encoder=adpcm_g722"
|
||||
"--enable-decoder=adpcm_g722"
|
||||
"--enable-encoder=adpcm_g726"
|
||||
"--enable-decoder=adpcm_g726"
|
||||
"--enable-encoder=adpcm_g726le"
|
||||
"--enable-decoder=adpcm_g726le"
|
||||
"--enable-decoder=g729"
|
||||
"--enable-encoder=g723_1"
|
||||
"--enable-decoder=g723_1"
|
||||
"--enable-encoder=rawvideo"
|
||||
"--enable-decoder=rawvideo"
|
||||
"--enable-encoder=libx264"
|
||||
"--enable-decoder=h264"
|
||||
"--enable-encoder=pcm_alaw"
|
||||
"--enable-decoder=pcm_alaw"
|
||||
"--enable-encoder=pcm_mulaw"
|
||||
"--enable-decoder=pcm_mulaw"
|
||||
"--enable-encoder=mpeg4"
|
||||
"--enable-decoder=mpeg4"
|
||||
"--enable-encoder=libvpx_vp8"
|
||||
"--enable-decoder=vp8"
|
||||
"--enable-decoder=vp9"
|
||||
"--enable-encoder=h263"
|
||||
"--enable-encoder=h263p"
|
||||
"--enable-decoder=h263"
|
||||
"--enable-encoder=mjpeg"
|
||||
"--enable-decoder=mjpeg"
|
||||
"--enable-decoder=mjpegb"
|
||||
"--enable-libspeex"
|
||||
"--enable-libopus"
|
||||
"--enable-libvpx"
|
||||
"--enable-libx264"
|
||||
"--enable-encoder=libspeex"
|
||||
"--enable-decoder=libspeex"
|
||||
"--enable-encoder=libopus"
|
||||
"--enable-decoder=libopus"
|
||||
;; Encoders/decoders.
|
||||
"--enable-encoder=adpcm_g722"
|
||||
"--enable-decoder=adpcm_g722"
|
||||
"--enable-encoder=adpcm_g726"
|
||||
"--enable-decoder=adpcm_g726"
|
||||
"--enable-encoder=adpcm_g726le"
|
||||
"--enable-decoder=adpcm_g726le"
|
||||
"--enable-decoder=g729"
|
||||
"--enable-encoder=g723_1"
|
||||
"--enable-decoder=g723_1"
|
||||
"--enable-encoder=rawvideo"
|
||||
"--enable-decoder=rawvideo"
|
||||
"--enable-encoder=libx264"
|
||||
"--enable-decoder=h264"
|
||||
"--enable-encoder=pcm_alaw"
|
||||
"--enable-decoder=pcm_alaw"
|
||||
"--enable-encoder=pcm_mulaw"
|
||||
"--enable-decoder=pcm_mulaw"
|
||||
"--enable-encoder=mpeg4"
|
||||
"--enable-decoder=mpeg4"
|
||||
"--enable-encoder=libvpx_vp8"
|
||||
"--enable-decoder=vp8"
|
||||
"--enable-decoder=vp9"
|
||||
"--enable-encoder=h263"
|
||||
"--enable-encoder=h263p"
|
||||
"--enable-decoder=h263"
|
||||
"--enable-encoder=mjpeg"
|
||||
"--enable-decoder=mjpeg"
|
||||
"--enable-decoder=mjpegb"
|
||||
"--enable-libspeex"
|
||||
"--enable-libopus"
|
||||
"--enable-libvpx"
|
||||
"--enable-libx264"
|
||||
"--enable-encoder=libspeex"
|
||||
"--enable-decoder=libspeex"
|
||||
"--enable-encoder=libopus"
|
||||
"--enable-decoder=libopus"
|
||||
|
||||
;; Encoders/decoders for ringtones and audio streaming.
|
||||
"--enable-decoder=flac"
|
||||
"--enable-decoder=vorbis"
|
||||
"--enable-decoder=aac"
|
||||
"--enable-decoder=ac3"
|
||||
"--enable-decoder=eac3"
|
||||
"--enable-decoder=mp3"
|
||||
"--enable-decoder=pcm_u24le"
|
||||
"--enable-decoder=pcm_u32le"
|
||||
"--enable-decoder=pcm_u8"
|
||||
"--enable-decoder=pcm_f16le"
|
||||
"--enable-decoder=pcm_f32le"
|
||||
"--enable-decoder=pcm_f64le"
|
||||
"--enable-decoder=pcm_s16le"
|
||||
"--enable-decoder=pcm_s24le"
|
||||
"--enable-decoder=pcm_s32le"
|
||||
"--enable-decoder=pcm_s64le"
|
||||
"--enable-decoder=pcm_u16le"
|
||||
"--enable-encoder=pcm_u8"
|
||||
"--enable-encoder=pcm_f32le"
|
||||
"--enable-encoder=pcm_f64le"
|
||||
"--enable-encoder=pcm_s16le"
|
||||
"--enable-encoder=pcm_s32le"
|
||||
"--enable-encoder=pcm_s64le"
|
||||
;; Encoders/decoders for ringtones and audio streaming.
|
||||
"--enable-decoder=flac"
|
||||
"--enable-decoder=vorbis"
|
||||
"--enable-decoder=aac"
|
||||
"--enable-decoder=ac3"
|
||||
"--enable-decoder=eac3"
|
||||
"--enable-decoder=mp3"
|
||||
"--enable-decoder=pcm_u24le"
|
||||
"--enable-decoder=pcm_u32le"
|
||||
"--enable-decoder=pcm_u8"
|
||||
"--enable-decoder=pcm_f16le"
|
||||
"--enable-decoder=pcm_f32le"
|
||||
"--enable-decoder=pcm_f64le"
|
||||
"--enable-decoder=pcm_s16le"
|
||||
"--enable-decoder=pcm_s24le"
|
||||
"--enable-decoder=pcm_s32le"
|
||||
"--enable-decoder=pcm_s64le"
|
||||
"--enable-decoder=pcm_u16le"
|
||||
"--enable-encoder=pcm_u8"
|
||||
"--enable-encoder=pcm_f32le"
|
||||
"--enable-encoder=pcm_f64le"
|
||||
"--enable-encoder=pcm_s16le"
|
||||
"--enable-encoder=pcm_s32le"
|
||||
"--enable-encoder=pcm_s64le"
|
||||
|
||||
;; Encoders/decoders for images.
|
||||
"--enable-encoder=gif"
|
||||
"--enable-decoder=gif"
|
||||
"--enable-encoder=jpegls"
|
||||
"--enable-decoder=jpegls"
|
||||
"--enable-encoder=ljpeg"
|
||||
"--enable-decoder=jpeg2000"
|
||||
"--enable-encoder=png"
|
||||
"--enable-decoder=png"
|
||||
"--enable-encoder=bmp"
|
||||
"--enable-decoder=bmp"
|
||||
"--enable-encoder=tiff"
|
||||
"--enable-decoder=tiff"
|
||||
;; Encoders/decoders for images.
|
||||
"--enable-encoder=gif"
|
||||
"--enable-decoder=gif"
|
||||
"--enable-encoder=jpegls"
|
||||
"--enable-decoder=jpegls"
|
||||
"--enable-encoder=ljpeg"
|
||||
"--enable-decoder=jpeg2000"
|
||||
"--enable-encoder=png"
|
||||
"--enable-decoder=png"
|
||||
"--enable-encoder=bmp"
|
||||
"--enable-decoder=bmp"
|
||||
"--enable-encoder=tiff"
|
||||
"--enable-decoder=tiff"
|
||||
|
||||
;; Filters.
|
||||
"--enable-filter=scale"
|
||||
"--enable-filter=overlay"
|
||||
"--enable-filter=amix"
|
||||
"--enable-filter=amerge"
|
||||
"--enable-filter=aresample"
|
||||
"--enable-filter=format"
|
||||
"--enable-filter=aformat"
|
||||
"--enable-filter=fps"
|
||||
"--enable-filter=transpose"
|
||||
"--enable-filter=pad"
|
||||
;; Filters.
|
||||
"--enable-filter=scale"
|
||||
"--enable-filter=overlay"
|
||||
"--enable-filter=amix"
|
||||
"--enable-filter=amerge"
|
||||
"--enable-filter=aresample"
|
||||
"--enable-filter=format"
|
||||
"--enable-filter=aformat"
|
||||
"--enable-filter=fps"
|
||||
"--enable-filter=transpose"
|
||||
"--enable-filter=pad"
|
||||
|
||||
;; Decoders for ringtones and audio streaming.
|
||||
"--enable-decoder=pcm_s16be"
|
||||
"--enable-decoder=pcm_s16be_planar"
|
||||
"--enable-decoder=pcm_s16le_planar"
|
||||
"--enable-decoder=pcm_s24be"
|
||||
"--enable-decoder=pcm_s24le_planar"
|
||||
"--enable-decoder=pcm_s32be"
|
||||
"--enable-decoder=pcm_s32le_planar"
|
||||
"--enable-decoder=pcm_s64be"
|
||||
"--enable-decoder=pcm_s8"
|
||||
"--enable-decoder=pcm_s8_planar"
|
||||
"--enable-decoder=pcm_u16be"
|
||||
;; Decoders for ringtones and audio streaming.
|
||||
"--enable-decoder=pcm_s16be"
|
||||
"--enable-decoder=pcm_s16be_planar"
|
||||
"--enable-decoder=pcm_s16le_planar"
|
||||
"--enable-decoder=pcm_s24be"
|
||||
"--enable-decoder=pcm_s24le_planar"
|
||||
"--enable-decoder=pcm_s32be"
|
||||
"--enable-decoder=pcm_s32le_planar"
|
||||
"--enable-decoder=pcm_s64be"
|
||||
"--enable-decoder=pcm_s8"
|
||||
"--enable-decoder=pcm_s8_planar"
|
||||
"--enable-decoder=pcm_u16be"
|
||||
|
||||
;; More filters.
|
||||
"--enable-filter=afir"
|
||||
"--enable-filter=split"
|
||||
"--enable-filter=drawbox"
|
||||
"--enable-filter=drawtext"
|
||||
"--enable-filter=rotate"
|
||||
"--enable-filter=loop"
|
||||
"--enable-filter=setpts"
|
||||
"--enable-filter=movie"
|
||||
"--enable-filter=alphamerge"
|
||||
"--enable-filter=boxblur"
|
||||
"--enable-filter=lut"
|
||||
"--enable-filter=negate"
|
||||
"--enable-filter=colorkey"
|
||||
"--enable-filter=transpose"
|
||||
;; More filters.
|
||||
"--enable-filter=afir"
|
||||
"--enable-filter=split"
|
||||
"--enable-filter=drawbox"
|
||||
"--enable-filter=drawtext"
|
||||
"--enable-filter=rotate"
|
||||
"--enable-filter=loop"
|
||||
"--enable-filter=setpts"
|
||||
"--enable-filter=movie"
|
||||
"--enable-filter=alphamerge"
|
||||
"--enable-filter=boxblur"
|
||||
"--enable-filter=lut"
|
||||
"--enable-filter=negate"
|
||||
"--enable-filter=colorkey"
|
||||
"--enable-filter=transpose"
|
||||
|
||||
"--enable-libfreetype"
|
||||
"--enable-libfreetype"
|
||||
|
||||
#$@(if (string-contains (%current-system) "linux")
|
||||
;; Leave out the '--enable-cuvid' ... '--enable-encoder=hevc_nvenc'
|
||||
;; flags, as there's no support for ffnvcodec in Guix;
|
||||
;; it would not work with Mesa anyway.
|
||||
'("--enable-pic"
|
||||
"--extra-cxxflags=-fPIC"
|
||||
"--extra-cflags=-fPIC"
|
||||
"--target-os=linux"
|
||||
"--enable-indev=v4l2"
|
||||
"--enable-indev=xcbgrab"
|
||||
"--enable-vdpau"
|
||||
"--enable-hwaccel=h264_vdpau"
|
||||
"--enable-hwaccel=mpeg4_vdpau"
|
||||
"--enable-vaapi"
|
||||
"--enable-hwaccel=h264_vaapi"
|
||||
"--enable-hwaccel=mpeg4_vaapi"
|
||||
"--enable-hwaccel=h263_vaapi"
|
||||
"--enable-hwaccel=vp8_vaapi"
|
||||
"--enable-hwaccel=mjpeg_vaapi"
|
||||
"--enable-hwaccel=hevc_vaapi"
|
||||
"--enable-encoder=h264_vaapi"
|
||||
"--enable-encoder=vp8_vaapi"
|
||||
"--enable-encoder=mjpeg_vaapi"
|
||||
"--enable-encoder=hevc_vaapi")
|
||||
'())))))
|
||||
(inputs (modify-inputs (package-inputs ffmpeg)
|
||||
(append pipewire)))))
|
||||
#$@(if (string-contains (%current-system) "linux")
|
||||
;; Leave out the '--enable-cuvid' ... '--enable-encoder=hevc_nvenc'
|
||||
;; flags, as there's no support for ffnvcodec in Guix;
|
||||
;; it would not work with Mesa anyway.
|
||||
'("--enable-pic"
|
||||
"--extra-cxxflags=-fPIC"
|
||||
"--extra-cflags=-fPIC"
|
||||
"--target-os=linux"
|
||||
"--enable-indev=v4l2"
|
||||
"--enable-indev=xcbgrab"
|
||||
"--enable-vdpau"
|
||||
"--enable-hwaccel=h264_vdpau"
|
||||
"--enable-hwaccel=mpeg4_vdpau"
|
||||
"--enable-vaapi"
|
||||
"--enable-hwaccel=h264_vaapi"
|
||||
"--enable-hwaccel=mpeg4_vaapi"
|
||||
"--enable-hwaccel=h263_vaapi"
|
||||
"--enable-hwaccel=vp8_vaapi"
|
||||
"--enable-hwaccel=mjpeg_vaapi"
|
||||
"--enable-hwaccel=hevc_vaapi"
|
||||
"--enable-encoder=h264_vaapi"
|
||||
"--enable-encoder=vp8_vaapi"
|
||||
"--enable-encoder=mjpeg_vaapi"
|
||||
"--enable-encoder=hevc_vaapi")
|
||||
'())))))
|
||||
(inputs (modify-inputs (package-inputs ffmpeg)
|
||||
(append pipewire))))))
|
||||
|
||||
(define-public ffmpegthumbnailer
|
||||
(package
|
||||
|
@ -2696,14 +2711,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
|
|||
(substitute* "player/lua/ytdl_hook.lua"
|
||||
(("\"yt-dlp\",")
|
||||
(string-append
|
||||
"\"" (search-input-file inputs "bin/yt-dlp") "\",")))))
|
||||
(add-before 'configure 'build-reproducibly
|
||||
(lambda _
|
||||
;; Somewhere in the build system library dependencies are enumerated
|
||||
;; and passed as linker flags, but the order in which they are added
|
||||
;; varies. See <https://github.com/mpv-player/mpv/issues/7855>.
|
||||
;; Set PYTHONHASHSEED as a workaround for deterministic results.
|
||||
(setenv "PYTHONHASHSEED" "1"))))
|
||||
"\"" (search-input-file inputs "bin/yt-dlp") "\","))))))
|
||||
#:configure-flags
|
||||
#~(list "-Dlibmpv=true"
|
||||
"-Dcdda=enabled"
|
||||
|
|
|
@ -1516,7 +1516,8 @@ using simplestreams index files as the publishing mechanism
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1dn6pzv0gzkxrjvi60cdzdmyxqlcsvinbrbds91xm4v7wbn5g1dd"))))
|
||||
"1dn6pzv0gzkxrjvi60cdzdmyxqlcsvinbrbds91xm4v7wbn5g1dd"))
|
||||
(patches (search-patches "libosinfo-libxml2-fix.patch"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -1775,7 +1776,7 @@ to integrate other virtualization mechanisms if needed.")
|
|||
`(,glib "bin") vala))
|
||||
(propagated-inputs
|
||||
;; ‘Required:’ by the installed .pc files.
|
||||
(list glib libvirt libxml2-next gobject-introspection))
|
||||
(list glib libvirt libxml2 gobject-introspection))
|
||||
(home-page "https://libvirt.org")
|
||||
(synopsis "GLib wrapper around libvirt")
|
||||
(description "libvirt-glib wraps the libvirt library to provide a
|
||||
|
@ -1901,8 +1902,8 @@ virtualization library.")
|
|||
libosinfo
|
||||
libvirt
|
||||
libvirt-glib
|
||||
libxml2
|
||||
python-minimal
|
||||
python-libxml2
|
||||
python-libvirt
|
||||
python-pycairo
|
||||
python-pygobject
|
||||
|
|
|
@ -771,7 +771,7 @@ the user specifically asks to proxy, so the @dfn{VPN} interface no longer
|
|||
"etc/vpnc/vpnc-script")))))
|
||||
(native-inputs (list gettext-minimal pkg-config))
|
||||
(inputs (list lz4 vpnc-scripts))
|
||||
(propagated-inputs (list libxml2-next gnutls zlib))
|
||||
(propagated-inputs (list libxml2 gnutls zlib))
|
||||
(synopsis "Client for Cisco VPN")
|
||||
(description
|
||||
"OpenConnect is a client for Cisco's AnyConnect SSL VPN, which is
|
||||
|
|
|
@ -9,6 +9,8 @@
|
|||
;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com>
|
||||
;;; Copyright © 2024 James Smith <jsubuntuxp@disroot.org>
|
||||
;;; Copyright © 2025 John Kehayias <john.kehayias@protonmail.com>
|
||||
;;; Copyright © 2025 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -44,6 +46,7 @@
|
|||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages libffi)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
|
@ -53,7 +56,7 @@
|
|||
(define-public spirv-headers
|
||||
(package
|
||||
(name "spirv-headers")
|
||||
(version "1.4.309.0")
|
||||
(version "1.4.321.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -62,7 +65,7 @@
|
|||
(commit (string-append "vulkan-sdk-" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"15l35w60sbw1i3a48057hvpvldf0lrlfmkz73bp456g2jn5vln23"))
|
||||
"11nsfr6z11dx6ccyi9anz2iycxr9i06zl8dk4pdllf3dvk5wq61d"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
|
@ -85,7 +88,7 @@ and for the GLSL.std.450 extended instruction set.
|
|||
(define-public spirv-tools
|
||||
(package
|
||||
(name "spirv-tools")
|
||||
(version "1.4.309.0")
|
||||
(version "1.4.321.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -93,19 +96,21 @@ and for the GLSL.std.450 extended instruction set.
|
|||
(url "https://github.com/KhronosGroup/SPIRV-Tools")
|
||||
(commit (string-append "vulkan-sdk-" version))))
|
||||
(sha256
|
||||
(base32 "1ykrsd3fl8sx9sq8pc551swacqnl0xwv3p0l1ppdpw2h2mvz8syr"))
|
||||
(base32 "015xymrzch87f3xkzx9rvlglqp39zx4vphjb2dkl5w6qcpz5s1y8"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON"
|
||||
;; Some packages like mpv fail to link
|
||||
;; when the static libraries are built.
|
||||
"-DSPIRV_TOOLS_BUILD_STATIC=OFF"
|
||||
(string-append
|
||||
"-DSPIRV-Headers_SOURCE_DIR="
|
||||
(assoc-ref %build-inputs "spirv-headers")))))
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list "-DBUILD_SHARED_LIBS=ON"
|
||||
;; Some packages like mpv fail to link
|
||||
;; when the static libraries are built.
|
||||
"-DSPIRV_TOOLS_BUILD_STATIC=OFF"
|
||||
(string-append
|
||||
"-DSPIRV-Headers_SOURCE_DIR="
|
||||
(assoc-ref %build-inputs "spirv-headers")))))
|
||||
(inputs (list spirv-headers))
|
||||
(native-inputs (list pkg-config python))
|
||||
(native-inputs (list pkg-config python-minimal))
|
||||
(home-page "https://github.com/KhronosGroup/SPIRV-Tools")
|
||||
(synopsis "API and commands for processing SPIR-V modules")
|
||||
(description
|
||||
|
@ -117,7 +122,7 @@ parser,disassembler, validator, and optimizer for SPIR-V.")
|
|||
(define-public spirv-cross
|
||||
(package
|
||||
(name "spirv-cross")
|
||||
(version "1.4.309.0")
|
||||
(version "1.4.321.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -125,34 +130,35 @@ parser,disassembler, validator, and optimizer for SPIR-V.")
|
|||
(url "https://github.com/KhronosGroup/SPIRV-Cross")
|
||||
(commit (string-append "vulkan-sdk-" version))))
|
||||
(sha256
|
||||
(base32 "1sckwqz67mh48zypgr1r9x101mcq1dlkh8sxi341ynrxzjk8rm3j"))
|
||||
(base32 "13fci6z74bxm8pbb3plchx31r04yzb4g11dbzcw3337dsgdllqma"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(;; Disable tests for now due to upstream issue hit when running
|
||||
;; update-reference-shaders phase:
|
||||
;; <https://github.com/KhronosGroup/SPIRV-Tools/issues/5980>.
|
||||
#:tests? #f
|
||||
#:configure-flags
|
||||
(list "-DSPIRV_CROSS_SHARED=YES")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-tests-to-find-deps
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("\\$\\{CMAKE_(.*)_DIR\\}/external/glslang(.*)/bin")
|
||||
(string-append (assoc-ref inputs "glslang") "/bin")))
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("\\$\\{CMAKE_(.*)_DIR\\}/external/spirv-tools(.*)/bin")
|
||||
(string-append (assoc-ref inputs "spirv-tools") "/bin")))))
|
||||
(add-before 'check 'update-reference-shaders
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(with-directory-excursion "../source"
|
||||
(invoke "./update_test_shaders.sh"))))))))
|
||||
(list
|
||||
;; Disable tests for now due to upstream issue hit when running
|
||||
;; update-reference-shaders phase:
|
||||
;; <https://github.com/KhronosGroup/SPIRV-Tools/issues/5980>.
|
||||
#:tests? #f
|
||||
#:configure-flags
|
||||
#~(list "-DSPIRV_CROSS_SHARED=YES")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-tests-to-find-deps
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("\\$\\{CMAKE_(.*)_DIR\\}/external/glslang(.*)/bin")
|
||||
(string-append (assoc-ref inputs "glslang") "/bin")))
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("\\$\\{CMAKE_(.*)_DIR\\}/external/spirv-tools(.*)/bin")
|
||||
(string-append (assoc-ref inputs "spirv-tools") "/bin")))))
|
||||
(add-before 'check 'update-reference-shaders
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(with-directory-excursion "../source"
|
||||
(invoke "./update_test_shaders.sh"))))))))
|
||||
(inputs
|
||||
(list glslang spirv-headers spirv-tools))
|
||||
(native-inputs (list python))
|
||||
(native-inputs (list python-minimal))
|
||||
(home-page "https://github.com/KhronosGroup/SPIRV-Cross")
|
||||
(synopsis "Parser for and converter of SPIR-V to other shader languages")
|
||||
(description
|
||||
|
@ -164,7 +170,7 @@ SPIR-V, aiming to emit GLSL or MSL that looks like human-written code.")
|
|||
(define-public spirv-llvm-translator
|
||||
(package
|
||||
(name "spirv-llvm-translator")
|
||||
(version "18.1.0")
|
||||
(version "18.1.10")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -173,7 +179,7 @@ SPIR-V, aiming to emit GLSL or MSL that looks like human-written code.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0yfz02mlnf4ffn67g2ms0w8f7jgdsn438w2dbxd5mvcf5dk2x27b"))))
|
||||
(base32 "11gmb1kw6j90hwcf6wxjz4pki653lyd8v8kphk7jq67gvw8dkiwy"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
;; The test suite is known to fail on several architectures:
|
||||
|
@ -201,7 +207,14 @@ SPIR-V, aiming to emit GLSL or MSL that looks like human-written code.")
|
|||
(apply (assoc-ref gnu:%standard-phases 'check)
|
||||
#:test-target "test" args))))))
|
||||
(inputs (list llvm-18))
|
||||
(native-inputs (list clang-18 llvm-18 python-lit spirv-headers))
|
||||
(native-inputs
|
||||
(list
|
||||
clang-18
|
||||
libffi
|
||||
llvm-18
|
||||
pkg-config
|
||||
python-lit
|
||||
spirv-headers))
|
||||
(home-page "https://github.com/KhronosGroup/SPIRV-LLVM-Translator")
|
||||
(synopsis "Bi-directional translation between SPIR-V and LLVM IR")
|
||||
(description
|
||||
|
@ -212,7 +225,7 @@ translation between LLVM IR and SPIR-V.")
|
|||
(define-public glslang
|
||||
(package
|
||||
(name "glslang")
|
||||
(version "1.4.309.0")
|
||||
(version "1.4.321.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -221,36 +234,39 @@ translation between LLVM IR and SPIR-V.")
|
|||
(commit (string-append "vulkan-sdk-" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"0kzzjh2dxzkznp75jk9sl4fjjgdy5s6xr8vha9av6cvi3jxm2i8y"))
|
||||
"1b0zsrv12b34q0wp9g85x11kpd5kjvx4lbn7xv8b4szfpwdkxxxh"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("-DBUILD_SHARED_LIBS=ON"
|
||||
"-DALLOW_EXTERNAL_SPIRV_TOOLS=ON"
|
||||
,@(if (target-riscv64?)
|
||||
`("-DCMAKE_EXE_LINKER_FLAGS=-latomic")
|
||||
'()))
|
||||
#:phases (modify-phases %standard-phases
|
||||
,@(if (target-ppc32?)
|
||||
`((add-after 'unpack 'skip-failing-test
|
||||
(lambda _
|
||||
;; TODO: Figure out why this test fails.
|
||||
(substitute* "Test/runtests"
|
||||
((".*remap\\.invalid" all)
|
||||
(string-append "# " all))))))
|
||||
'())
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? parallel-tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "ctest"
|
||||
"-j" (if parallel-tests?
|
||||
(number->string (parallel-job-count))
|
||||
"1")
|
||||
"--rerun-failed"
|
||||
"--output-on-failure")))))))
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list "-DBUILD_SHARED_LIBS=ON"
|
||||
"-DALLOW_EXTERNAL_SPIRV_TOOLS=ON"
|
||||
#$@(if (target-riscv64?)
|
||||
`("-DCMAKE_EXE_LINKER_FLAGS=-latomic")
|
||||
'()))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
#$@(if (target-ppc32?)
|
||||
`((add-after 'unpack 'skip-failing-test
|
||||
(lambda _
|
||||
;; TODO: Figure out why this test fails.
|
||||
(substitute* "Test/runtests"
|
||||
((".*remap\\.invalid" all)
|
||||
(string-append "# " all))))))
|
||||
'())
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? parallel-tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "ctest"
|
||||
"-j" (if parallel-tests?
|
||||
(number->string (parallel-job-count))
|
||||
"1")
|
||||
"--rerun-failed"
|
||||
"--output-on-failure")))))))
|
||||
(inputs (list spirv-tools))
|
||||
(native-inputs
|
||||
(list pkg-config python))
|
||||
(list pkg-config python-minimal))
|
||||
(home-page "https://github.com/KhronosGroup/glslang")
|
||||
(synopsis "OpenGL and OpenGL ES shader front end and validator")
|
||||
(description
|
||||
|
@ -317,7 +333,7 @@ Enhanced Subpixel Morphological Anti-Aliasing
|
|||
(define-public vulkan-headers/no-loader
|
||||
(package
|
||||
(name "vulkan-headers")
|
||||
(version "1.4.309.0")
|
||||
(version "1.4.321.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -327,7 +343,7 @@ Enhanced Subpixel Morphological Anti-Aliasing
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ncj4gqb5zmkgmd205frrq8rxxdqlissqpj2fq3wxkdbdyx7pwid"))))
|
||||
"1kamn5hw5lpw4yxyri4mlrryzhn33bnnrqby0yxla45z5f5f6fb3"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ; No tests.
|
||||
|
@ -361,7 +377,7 @@ Enhanced Subpixel Morphological Anti-Aliasing
|
|||
(define-public vulkan-loader
|
||||
(package
|
||||
(name "vulkan-loader")
|
||||
(version "1.4.309.0")
|
||||
(version "1.4.321.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -371,7 +387,7 @@ Enhanced Subpixel Morphological Anti-Aliasing
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1y6wqc8adzg7ndmbr95nzhcxf93qsfndfdnsym5pkbjfx454151d"))))
|
||||
"0fbpypznznvwkqgf2zw85xdpbiq92j95xyldhnjk94lia6bs4klb"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -387,31 +403,33 @@ Enhanced Subpixel Morphological Anti-Aliasing
|
|||
%build-inputs "include/vulkan"))))
|
||||
#$@(if (%current-target-system)
|
||||
#~("-DBUILD_TESTS=OFF" "-DUSE_GAS=OFF"
|
||||
(string-append "-DPKG_CONFIG_EXECUTABLE="
|
||||
(search-input-file
|
||||
%build-inputs
|
||||
(string-append "bin/" #$(pkg-config-for-target)))))
|
||||
(string-append
|
||||
"-DPKG_CONFIG_EXECUTABLE="
|
||||
(search-input-file
|
||||
%build-inputs
|
||||
(string-append "bin/" #$(pkg-config-for-target)))))
|
||||
#~("-DBUILD_TESTS=ON")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-pkg-config-file
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((vulkan-headers (dirname (search-input-directory
|
||||
inputs "include/vulkan"))))
|
||||
;; Ensure the pkg-config file refers to vulkan-headers.
|
||||
(substitute* "loader/vulkan.pc.in"
|
||||
(("^includedir=.*")
|
||||
(string-append "includedir=" vulkan-headers "\n"))))))
|
||||
(add-after 'unpack 'use-system-googletest
|
||||
(lambda _
|
||||
(substitute* "tests/CMakeLists.txt"
|
||||
(((string-append "message\\(FATAL_ERROR \"Could not "
|
||||
"find googletest directory. See BUILD.md\"\\)"))
|
||||
"find_package(GTest REQUIRED)"))
|
||||
;; Use the namespaced variable.
|
||||
(substitute* "tests/framework/CMakeLists.txt"
|
||||
(("PUBLIC gtest ")
|
||||
"PUBLIC GTest::gtest ")))))))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-pkg-config-file
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((vulkan-headers (dirname (search-input-directory
|
||||
inputs "include/vulkan"))))
|
||||
;; Ensure the pkg-config file refers to vulkan-headers.
|
||||
(substitute* "loader/vulkan.pc.in"
|
||||
(("^includedir=.*")
|
||||
(string-append "includedir=" vulkan-headers "\n"))))))
|
||||
(add-after 'unpack 'use-system-googletest
|
||||
(lambda _
|
||||
(substitute* "tests/CMakeLists.txt"
|
||||
(((string-append
|
||||
"message\\(FATAL_ERROR \"Could not "
|
||||
"find googletest directory. See BUILD.md\"\\)"))
|
||||
"find_package(GTest REQUIRED)"))
|
||||
;; Use the namespaced variable.
|
||||
(substitute* "tests/framework/CMakeLists.txt"
|
||||
(("PUBLIC gtest ")
|
||||
"PUBLIC GTest::gtest ")))))))
|
||||
(native-inputs
|
||||
(list googletest
|
||||
libxrandr
|
||||
|
@ -440,50 +458,56 @@ and the ICD.")
|
|||
license:bsd-3))))
|
||||
|
||||
(define-public vulkan-tools
|
||||
(package
|
||||
(name "vulkan-tools")
|
||||
(version "1.4.309.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/KhronosGroup/Vulkan-Tools")
|
||||
(commit (string-append "vulkan-sdk-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(modules '((guix build utils)))
|
||||
(snippet #~(substitute* "tests/icd/mock_icd_tests.cpp"
|
||||
;; Disable driver info test since it relies on git branch info
|
||||
(("ASSERT_EQ\\(std::string\\(driver_properties\\.driverInfo\\)")
|
||||
"// ASSERT_EQ(std::string(driver_properties.driverInfo)")))
|
||||
(sha256
|
||||
(base32
|
||||
"0ywvvkra29y2cvw8i9laf4skn6cl7phrwshcc7z9dljb3il87cym"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
(list glslang libxrandr vulkan-loader wayland wayland-protocols))
|
||||
(native-inputs
|
||||
(list googletest pkg-config python vulkan-volk vulkan-headers))
|
||||
(arguments
|
||||
`(#:configure-flags (list "-DBUILD_TESTS=ON")
|
||||
#:phases (modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "./tests/vulkan_tools_tests")))))))
|
||||
(home-page
|
||||
"https://github.com/KhronosGroup/Vulkan-Tools")
|
||||
(synopsis "Tools and utilities for Vulkan")
|
||||
(description
|
||||
"Vulkan-Tools provides tools and utilities that can assist development by
|
||||
;; Required to fix an issue. See:
|
||||
;; https://github.com/KhronosGroup/Vulkan-Tools/issues/1130
|
||||
(let ((commit "105d6c1fede00c3a9055e5a531ebf3d99bac406e")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "vulkan-tools")
|
||||
(version (git-version "1.4.321.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/KhronosGroup/Vulkan-Tools")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(substitute* "tests/icd/mock_icd_tests.cpp"
|
||||
;; Disable driver info test since it relies on git branch info
|
||||
(("ASSERT_EQ\\(std::string\\(driver_properties\\.driverInfo\\)")
|
||||
"// ASSERT_EQ(std::string(driver_properties.driverInfo)")))
|
||||
(sha256
|
||||
(base32
|
||||
"1dphpf4v0kip2b0vhhwb136gjjmgxc64gg26sg3wpg6nnwakpznc"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
(list glslang libxrandr vulkan-loader wayland wayland-protocols))
|
||||
(native-inputs
|
||||
(list googletest pkg-config python vulkan-volk vulkan-headers))
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags #~(list "-DBUILD_TESTS=ON")
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "./tests/vulkan_tools_tests")))))))
|
||||
(home-page
|
||||
"https://github.com/KhronosGroup/Vulkan-Tools")
|
||||
(synopsis "Tools and utilities for Vulkan")
|
||||
(description
|
||||
"Vulkan-Tools provides tools and utilities that can assist development by
|
||||
enabling developers to verify their applications correct use of the Vulkan
|
||||
API.")
|
||||
(license (list license:asl2.0)))) ;LICENSE.txt
|
||||
(license (list license:asl2.0))))) ;LICENSE.txt
|
||||
|
||||
(define-public shaderc
|
||||
(package
|
||||
(name "shaderc")
|
||||
;; shaderc doesn't follow the versioning scheme of vulkan sdk
|
||||
(version "2025.1")
|
||||
(version "2025.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -493,44 +517,44 @@ API.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0hbsvyyy5fzgal83z8kx4a3x9d2fnd2fcs53l3s9n0pyybip3i5j"))))
|
||||
"0w1mj5b3n6kp0brqindb7fppvllzlywkdk1zglkbj3bw8k0795mb"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(;; FIXME: Skip most of the tests, because enabling system gtest breaks
|
||||
;; the build: <https://github.com/google/shaderc/issues/470>.
|
||||
#:configure-flags
|
||||
(list "-DSHADERC_SKIP_TESTS=ON"
|
||||
;; The two flags are copied from:
|
||||
;; https://sdk.lunarg.com/sdk/download/1.3.280.0/linux/config.json
|
||||
"-DSHADERC_ENABLE_SHARED_CRT=ON"
|
||||
"-DSHADERC_SKIP_COPYRIGHT_CHECK=ON"
|
||||
"-DPYTHON_EXECUTABLE=python3"
|
||||
;; Note: despite the name, this just specifies the headers.
|
||||
(string-append "-Dglslang_SOURCE_DIR="
|
||||
(assoc-ref %build-inputs "glslang") "/include/glslang"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'do-not-look-for-bundled-sources
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("add_subdirectory\\(third_party\\)")
|
||||
""))
|
||||
|
||||
(substitute* "glslc/test/CMakeLists.txt"
|
||||
(("\\$<TARGET_FILE:spirv-dis>")
|
||||
(which "spirv-dis")))
|
||||
|
||||
;; Do not attempt to use git to encode version information.
|
||||
(substitute* "glslc/CMakeLists.txt"
|
||||
(("add_dependencies\\(glslc_exe build-version\\)")
|
||||
""))
|
||||
(call-with-output-file "glslc/src/build-version.inc"
|
||||
(lambda (port)
|
||||
(format port "\"~a\"\n\"~a\"\n\"~a\"~%"
|
||||
,version
|
||||
,(package-version spirv-tools)
|
||||
,(package-version glslang))))
|
||||
#t)))))
|
||||
(list
|
||||
#:tests? #f ; We don't build the tests, see below.
|
||||
;; FIXME: Skip most of the tests, because enabling system gtest breaks
|
||||
;; the build: <https://github.com/google/shaderc/issues/470>.
|
||||
#:configure-flags
|
||||
#~(list "-DSHADERC_SKIP_TESTS=ON"
|
||||
;; The two flags are copied from:
|
||||
;; https://sdk.lunarg.com/sdk/download/1.3.280.0/linux/config.json
|
||||
"-DSHADERC_ENABLE_SHARED_CRT=ON"
|
||||
"-DSHADERC_SKIP_COPYRIGHT_CHECK=ON"
|
||||
"-DPYTHON_EXECUTABLE=python3"
|
||||
;; Note: despite the name, this just specifies the headers.
|
||||
(string-append "-Dglslang_SOURCE_DIR="
|
||||
#$(this-package-input "glslang")
|
||||
"/include/glslang"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'do-not-look-for-bundled-sources
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("add_subdirectory\\(third_party\\)")
|
||||
""))
|
||||
(substitute* "glslc/test/CMakeLists.txt"
|
||||
(("\\$<TARGET_FILE:spirv-dis>")
|
||||
(which "spirv-dis")))
|
||||
;; Do not attempt to use git to encode version information.
|
||||
(substitute* "glslc/CMakeLists.txt"
|
||||
(("add_dependencies\\(glslc_exe build-version\\)")
|
||||
""))
|
||||
(call-with-output-file "glslc/src/build-version.inc"
|
||||
(lambda (port)
|
||||
(format port "\"~a\"\n\"~a\"\n\"~a\"~%"
|
||||
#$version
|
||||
#$(package-version spirv-tools)
|
||||
#$(package-version glslang)))))))))
|
||||
(inputs
|
||||
(list glslang spirv-headers spirv-tools))
|
||||
(native-inputs
|
||||
|
@ -544,56 +568,57 @@ shader compilation.")
|
|||
(define-public vkd3d
|
||||
(let ((commit "56cd4a94d541707959ce7677af6d1a34739e5579")) ; Release 1.2.
|
||||
(package
|
||||
(name "vkd3d")
|
||||
(version "1.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://source.winehq.org/git/vkd3d.git")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"1n4a622drgnprvz5hjxzyzcsg2lp5rlf1sajki2vzf5gsx6fdpk8"))
|
||||
(file-name (string-append name "-" version "-checkout"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("--with-spirv-tools")
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-for-new-vulkan
|
||||
(lambda _
|
||||
;; Mimic upstream commit 8e7bf8a5c3e0047 for
|
||||
;; compatibility with newer vulkan-headers.
|
||||
(substitute* "libs/vkd3d/vkd3d_private.h"
|
||||
(("VK_PIPELINE_BIND_POINT_RANGE_SIZE")
|
||||
"2u"))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("gettext" ,gettext-minimal)
|
||||
("libtool" ,libtool)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
(list libx11
|
||||
libxcb
|
||||
spirv-headers
|
||||
spirv-tools
|
||||
vulkan-headers
|
||||
vulkan-loader
|
||||
wine-minimal ; Needed for 'widl'.
|
||||
xcb-util
|
||||
xcb-util-keysyms
|
||||
xcb-util-wm))
|
||||
(home-page "https://source.winehq.org/git/vkd3d.git/")
|
||||
(synopsis "Direct3D 12 to Vulkan translation library")
|
||||
(description "vkd3d is a library for translating Direct3D 12 to Vulkan.")
|
||||
(license license:lgpl2.1))))
|
||||
(name "vkd3d")
|
||||
(version "1.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://source.winehq.org/git/vkd3d.git")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"1n4a622drgnprvz5hjxzyzcsg2lp5rlf1sajki2vzf5gsx6fdpk8"))
|
||||
(file-name (string-append name "-" version "-checkout"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags #~(list "--with-spirv-tools")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-for-new-vulkan
|
||||
(lambda _
|
||||
;; Mimic upstream commit 8e7bf8a5c3e0047 for
|
||||
;; compatibility with newer vulkan-headers.
|
||||
(substitute* "libs/vkd3d/vkd3d_private.h"
|
||||
(("VK_PIPELINE_BIND_POINT_RANGE_SIZE")
|
||||
"2u")))))))
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
automake
|
||||
gettext-minimal
|
||||
libtool
|
||||
pkg-config))
|
||||
(inputs
|
||||
(list libx11
|
||||
libxcb
|
||||
spirv-headers
|
||||
spirv-tools
|
||||
vulkan-headers
|
||||
vulkan-loader
|
||||
wine-minimal ; Needed for 'widl'.
|
||||
xcb-util
|
||||
xcb-util-keysyms
|
||||
xcb-util-wm))
|
||||
(home-page "https://source.winehq.org/git/vkd3d.git/")
|
||||
(synopsis "Direct3D 12 to Vulkan translation library")
|
||||
(description "vkd3d is a library for translating Direct3D 12 to Vulkan.")
|
||||
(license license:lgpl2.1))))
|
||||
|
||||
(define-public vulkan-validationlayers
|
||||
(package
|
||||
(name "vulkan-validationlayers")
|
||||
(version "1.4.309.0")
|
||||
(version "1.4.321.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -608,7 +633,7 @@ shader compilation.")
|
|||
"")))
|
||||
(sha256
|
||||
(base32
|
||||
"1dvgbgfxcp3ypy06j5m561j1gag0hk40zqd477cdv1kizv6i7nsk"))))
|
||||
"1lmkcgz80386304s6kr4fi825r5004305fhvfc7gmsqdih0bqcv9"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs (list glslang
|
||||
libxrandr
|
||||
|
@ -619,39 +644,43 @@ shader compilation.")
|
|||
vulkan-loader
|
||||
vulkan-utility-libraries
|
||||
wayland))
|
||||
(native-inputs (list googletest pkg-config python spirv-headers vulkan-headers))
|
||||
(native-inputs
|
||||
(list googletest pkg-config python spirv-headers vulkan-headers))
|
||||
(arguments
|
||||
(list #:tests? #f ; tests crash on some hardware (various upstream issues)
|
||||
#:configure-flags
|
||||
#~(list "-DBUILD_TESTS=ON")
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'install 'set-layer-path-in-manifest
|
||||
(lambda _
|
||||
(let ((manifest (string-append #$output
|
||||
"/share/vulkan/explicit_layer.d"
|
||||
"/VkLayer_khronos_validation.json")))
|
||||
(substitute* manifest
|
||||
(("\"libVkLayer_khronos_validation.so\"")
|
||||
(string-append "\"" #$output
|
||||
"/lib/libVkLayer_khronos_validation.so\""))))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(setenv "VK_LAYER_PATH"
|
||||
(string-append (getcwd) "/layers"))
|
||||
(setenv "LD_LIBRARY_PATH"
|
||||
(string-append #$(this-package-input
|
||||
"vulkan-loader") "/lib"))
|
||||
(setenv "MESA_SHADER_CACHE_DIR"
|
||||
(string-append (getcwd) "/shader-cache"))
|
||||
(setenv "XDG_RUNTIME_DIR" (getcwd))
|
||||
(invoke "./tests/vk_layer_validation_tests")))))))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'set-layer-path-in-manifest
|
||||
(lambda _
|
||||
(let ((manifest
|
||||
(string-append #$output
|
||||
"/share/vulkan/explicit_layer.d"
|
||||
"/VkLayer_khronos_validation.json")))
|
||||
(substitute* manifest
|
||||
(("\"libVkLayer_khronos_validation.so\"")
|
||||
(string-append
|
||||
"\"" #$output
|
||||
"/lib/libVkLayer_khronos_validation.so\""))))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(setenv "VK_LAYER_PATH"
|
||||
(string-append (getcwd) "/layers"))
|
||||
(setenv "LD_LIBRARY_PATH"
|
||||
(string-append #$(this-package-input
|
||||
"vulkan-loader") "/lib"))
|
||||
(setenv "MESA_SHADER_CACHE_DIR"
|
||||
(string-append (getcwd) "/shader-cache"))
|
||||
(setenv "XDG_RUNTIME_DIR" (getcwd))
|
||||
(invoke "./tests/vk_layer_validation_tests")))))))
|
||||
(home-page "https://github.com/KhronosGroup/Vulkan-ValidationLayers")
|
||||
(synopsis "Khronos official validation layers for Vulkan")
|
||||
(description
|
||||
"Vulkan-ValidationLayers provides the Khronos official validation layers that
|
||||
can assist development by enabling developers to verify their applications correctly
|
||||
use the Vulkan API.")
|
||||
"Vulkan-ValidationLayers provides the Khronos official validation layers
|
||||
that can assist development by enabling developers to verify their
|
||||
applications correctly use the Vulkan API.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public vulkan-volk
|
||||
|
@ -696,7 +725,7 @@ skipping loader dispatch overhead.")
|
|||
(define-public vulkan-memory-allocator
|
||||
(package
|
||||
(name "vulkan-memory-allocator")
|
||||
(version "3.2.1")
|
||||
(version "3.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -707,11 +736,9 @@ skipping loader dispatch overhead.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0y8ccx080bqrgv71ggixxpl57vc5znq55rnvl4v4srfkjxhz6yiy"))))
|
||||
"1qadyd9nir9ip176fsxvl91w60mnyvk07d5ihjlpqvl7rdbjmwac"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
;; no test
|
||||
`(#:tests? #f))
|
||||
(arguments (list #:tests? #f)) ;no tests
|
||||
(inputs (list vulkan-loader vulkan-headers))
|
||||
(synopsis "Vulkan memory allocation library")
|
||||
(description
|
||||
|
@ -725,7 +752,7 @@ storage.")
|
|||
(define-public vulkan-utility-libraries
|
||||
(package
|
||||
(name "vulkan-utility-libraries")
|
||||
(version "1.4.309.0")
|
||||
(version "1.4.321.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -733,7 +760,7 @@ storage.")
|
|||
(url "https://github.com/KhronosGroup/Vulkan-Utility-Libraries")
|
||||
(commit (string-append "vulkan-sdk-" version))))
|
||||
(sha256
|
||||
(base32 "1ihk95gjszk9yn3r6xvda83qp7f463m86srj6cq43z01sk2naxkr"))
|
||||
(base32 "1xj860z596p2wgdfc5yr15q0hasz8p4ci6x0j1wim7jklp92g89i"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
|
|
|
@ -77,6 +77,7 @@
|
|||
;;; Copyright © 2025 Josep Bigorra <jjbigorra@gmail.com>
|
||||
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
|
||||
;;; Copyright © 2025 Philippe Swartvagher <phil.swart@gmx.fr>
|
||||
;;; Copyright © 2025 pinoaffe <pinoaffe@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -138,6 +139,7 @@
|
|||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages cyrus-sasl)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages digest)
|
||||
#:use-module (gnu packages django)
|
||||
#:use-module (gnu packages docbook)
|
||||
#:use-module (gnu packages datastructures)
|
||||
|
@ -188,6 +190,7 @@
|
|||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages markup)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages nettle)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages node)
|
||||
#:use-module (gnu packages nss)
|
||||
|
@ -215,6 +218,8 @@
|
|||
#:use-module (gnu packages serialization)
|
||||
#:use-module (gnu packages skribilo)
|
||||
#:use-module (gnu packages sphinx)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages tcl)
|
||||
#:use-module (gnu packages telephony)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages textutils)
|
||||
|
@ -6742,6 +6747,66 @@ and similar services.")
|
|||
(home-page "http://surfraw.org/")
|
||||
(license license:public-domain))))
|
||||
|
||||
(define-public bookmarkfs
|
||||
(package
|
||||
(name "bookmarkfs")
|
||||
(version "0.1.4")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/cismonx/bookmarkfs")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ad7h3ffwj7dg7c788znc8b0wr6v5xx83sans8xa6f93x9c56frm"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments (list
|
||||
#:tests? #f ; tests seem to not work in sandbox
|
||||
#:configure-flags #~(list
|
||||
"--enable-bookmarkfs-util"
|
||||
"--enable-bookmarkfs-mount"
|
||||
"--enable-bookmarkfs-fsck"
|
||||
"--enable-bookmarkfs-mkfs"
|
||||
"--enable-bookmarkctl"
|
||||
"--enable-backend-firefox"
|
||||
"--enable-backend-chromium"
|
||||
"--enable-fsck-handler-tcl")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'patch-flush
|
||||
(lambda _
|
||||
(substitute* "src/fs_ops.c"
|
||||
(("fi->noflush = 1;") "fi->flush = 0;"))))
|
||||
(add-before 'configure 'patch-configure
|
||||
(lambda _
|
||||
(substitute* "configure"
|
||||
(("AX_PTHREAD") "")))))))
|
||||
(inputs (list fuse
|
||||
libseccomp
|
||||
nettle
|
||||
jansson
|
||||
readline
|
||||
tcl
|
||||
uriparser
|
||||
zlib
|
||||
xxhash
|
||||
sqlite))
|
||||
(native-inputs (list autoconf-2.72
|
||||
autoconf-archive
|
||||
automake
|
||||
libtool
|
||||
pkg-config))
|
||||
(home-page "https://www.nongnu.org/bookmarkfs/")
|
||||
(synopsis "FUSE filesystem based interface to the bookmark data of web browsers")
|
||||
(description "BookmarkFS is a FUSE-based pseudo-filesystem which provides an
|
||||
interface to the bookmark data of web browsers.
|
||||
|
||||
Currently, the following browsers (and their derivatives) are supported:
|
||||
- @code{firefox}
|
||||
- @code{chromium}.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public darkhttpd
|
||||
(package
|
||||
(name "darkhttpd")
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2021 Michael Rohleder <mike@rohleder.de>
|
||||
;;; Copyright © 2025 John Kehayias <john.kehayias@protonmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -46,17 +47,14 @@
|
|||
|
||||
(define-public wget
|
||||
(package
|
||||
(replacement wget/fixed)
|
||||
(name "wget")
|
||||
(version "1.21.4")
|
||||
(version "1.25.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/wget/wget-"
|
||||
version ".tar.lz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1nabhxx3rg28h2scba2mlawzjyx3dw07j2kjn76cpvahbyd630rn"))))
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/wget/wget-" version ".tar.lz"))
|
||||
(sha256
|
||||
(base32 "07waw3s51zmjqzqq717xyyd353qc1ajcd38lh7y8i85hav3mq8hr"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list gnutls libidn2 libpsl))
|
||||
|
@ -76,17 +74,6 @@ wild cards, supports proxies and cookies, and it can convert absolute links
|
|||
in downloaded documents to relative links.")
|
||||
(license license:gpl3+))) ; some files are under GPLv2+
|
||||
|
||||
(define-public wget/fixed
|
||||
(package
|
||||
(inherit wget)
|
||||
(version "1.25.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/wget/wget-" version ".tar.lz"))
|
||||
(sha256
|
||||
(base32 "07waw3s51zmjqzqq717xyyd353qc1ajcd38lh7y8i85hav3mq8hr"))))))
|
||||
|
||||
(define-public wgetpaste
|
||||
(package
|
||||
(name "wgetpaste")
|
||||
|
|
|
@ -185,7 +185,7 @@ integrate Windows applications into your desktop.")
|
|||
libgphoto2
|
||||
openldap
|
||||
samba
|
||||
sane-backends
|
||||
sane
|
||||
libpcap
|
||||
libusb
|
||||
libice
|
||||
|
|
|
@ -428,7 +428,7 @@ loginctl commands (lock/unlock/before-sleep) and inhibit.")
|
|||
hyprland-qtutils
|
||||
hyprlang
|
||||
hyprutils
|
||||
libinput-minimal-next
|
||||
libinput-minimal
|
||||
libxcursor
|
||||
libxkbcommon
|
||||
mesa
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
;;; Copyright © 2021 ikasero <ahmed@ikasero.com>
|
||||
;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
|
||||
;;; Copyright © 2021, 2025 jgart <jgart@dismail.de>
|
||||
;;; Copyright © 2022, 2024 John Kehayias <john.kehayias@protonmail.com>
|
||||
;;; Copyright © 2022, 2024, 2025 John Kehayias <john.kehayias@protonmail.com>
|
||||
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
|
||||
;;; Copyright © 2022 Derek Chuank <derekchuank@outlook.com>
|
||||
;;; Copyright © 2022, 2023 Wamm K. D. <jaft.r@outlook.com>
|
||||
|
@ -633,14 +633,16 @@ avoiding password prompts when X11 forwarding has already been setup.")
|
|||
(define-public libxkbcommon
|
||||
(package
|
||||
(name "libxkbcommon")
|
||||
(version "1.6.0")
|
||||
(version "1.11.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://xkbcommon.org/download/libxkbcommon-"
|
||||
version ".tar.xz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/xkbcommon/libxkbcommon")
|
||||
(commit (string-append "xkbcommon-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0awwz5pg9x5bj0d7dpg4a7bd4gl6k55mlpxwb12534fkrpn19p0f"))))
|
||||
"1swa6rf63c0wi0qq5r661g63yk2iwa9l66148078xkrwcf05sp91"))))
|
||||
(outputs '("out" "doc"))
|
||||
(build-system meson-build-system)
|
||||
(inputs
|
||||
|
@ -652,12 +654,19 @@ avoiding password prompts when X11 forwarding has already been setup.")
|
|||
xkeyboard-config))
|
||||
(native-inputs
|
||||
(append
|
||||
(list bison doxygen pkg-config python
|
||||
;; wayland-scanner is required at build time.
|
||||
wayland)
|
||||
(if (%current-target-system)
|
||||
(list pkg-config-for-build)
|
||||
'())))
|
||||
(list bison
|
||||
doxygen
|
||||
pkg-config
|
||||
python
|
||||
;; wayland-scanner is required at build time.
|
||||
wayland
|
||||
;; Xvfb for tests.
|
||||
xorg-server-for-tests
|
||||
;; xkbcomp for tests.
|
||||
xkbcomp)
|
||||
(if (%current-target-system)
|
||||
(list pkg-config-for-build)
|
||||
'())))
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
|
@ -666,7 +675,8 @@ avoiding password prompts when X11 forwarding has already been setup.")
|
|||
%build-inputs "share/X11/xkb"))
|
||||
(string-append "-Dx-locale-root="
|
||||
(search-input-directory
|
||||
%build-inputs "share/X11/locale")))
|
||||
%build-inputs "share/X11/locale"))
|
||||
"-Denable-docs=true")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'move-doc
|
||||
|
@ -695,41 +705,6 @@ X11 (yet).")
|
|||
"See 'COPYING' in the distribution."))
|
||||
(properties '((cpe-name . "xkbcommon")))))
|
||||
|
||||
(define-public libxkbcommon-1.5
|
||||
(package
|
||||
(inherit libxkbcommon)
|
||||
(version "1.5.0")
|
||||
(source (origin
|
||||
(inherit (package-source libxkbcommon))
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://xkbcommon.org/download/libxkbcommon-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"05z08rpa464x8myjxddhix7jp9jcmakd7xrybx4hz8dwpg2123sn"))))))
|
||||
|
||||
(define-public libxkbcommon-1.8
|
||||
(package
|
||||
(inherit libxkbcommon)
|
||||
(version "1.8.1")
|
||||
(source (origin
|
||||
(inherit (package-source libxkbcommon))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/xkbcommon/libxkbcommon")
|
||||
(commit (string-append "xkbcommon-" version))))
|
||||
(file-name (git-file-name (package-name libxkbcommon) version))
|
||||
(sha256
|
||||
(base32
|
||||
"0fz6mf99lyp7x6g6v33210hhpykbg32fjmckyvxfpd805cza0xrj"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments libxkbcommon)
|
||||
((#:configure-flags flags #~(list))
|
||||
#~(cons "-Denable-docs=true" #$flags))))
|
||||
(native-inputs (modify-inputs (package-native-inputs libxkbcommon)
|
||||
(append xorg-server ;; Xvfb for tests
|
||||
xkbcomp))))) ;; xkbcomp for tests
|
||||
|
||||
(define-public libfakekey
|
||||
(package
|
||||
(name "libfakekey")
|
||||
|
@ -902,31 +877,29 @@ typing tool (@code{wtype}, @code{xdotool}, etc.), or via standard output.")
|
|||
(define-public pixman
|
||||
(package
|
||||
(name "pixman")
|
||||
(version "0.42.2")
|
||||
(version "0.46.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.cairographics.org/releases/pixman-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0pk298iqxqr64vk3z6nhjwr6vjg1971zfrjkqy5r9zd2mppq057a"))
|
||||
(base32 "072rd8sd454rzybmxx90fdzvabzvx0pr57y745qfwnxxqgml976h"))
|
||||
(patches (search-patches "pixman-CVE-2016-5296.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list "--disable-static"
|
||||
"--enable-timers"
|
||||
"--enable-gnuplot"
|
||||
,@(if (target-arm32?)
|
||||
`("--disable-arm-simd")
|
||||
'()))))
|
||||
(native-inputs (list pkg-config))
|
||||
(inputs (list libpng zlib))
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list "-Dtimers=true"
|
||||
"-Dgnuplot=true"
|
||||
#$@(if (target-arm32?)
|
||||
'("-Darm-simd=false")
|
||||
'()))))
|
||||
(synopsis "Low-level pixel manipulation library")
|
||||
(description "Pixman is a low-level software library for pixel
|
||||
manipulation, providing features such as image compositing and trapezoid
|
||||
rasterisation.")
|
||||
(home-page "http://www.pixman.org/")
|
||||
(home-page "https://www.pixman.org/")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public libdrm
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;; Copyright © 2024 gemmaro <gemmaro.dev@gmail.com>
|
||||
;;; Copyright © 2025 Antoine Côté <antoine.cote@posteo.net>
|
||||
;;; Copyright © 2025 John Kehayias <john.kehayias@protonmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -188,19 +189,19 @@ binary extension of XML for the purpose of storing and manipulating data in a
|
|||
hierarchical form with variable field lengths.")
|
||||
(license license:lgpl2.1)))
|
||||
|
||||
;; Note: Remember to check python-libxml2 when updating this package.
|
||||
(define-public libxml2
|
||||
(package
|
||||
(name "libxml2")
|
||||
(version "2.9.14")
|
||||
(version "2.14.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/libxml2/"
|
||||
(version-major+minor version)"/libxml2-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1vnzk33wfms348lgz9pvkq9li7jm44pvm73lbr3w1khwgljlmmv0"))))
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/libxml2/"
|
||||
(version-major+minor version)"/libxml2-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0fi0jysncjpvhvp29qcx3bydndapwphgkx7ial5kzf7ymyh5ir3w"))
|
||||
(patches (search-patches "python-libxml2-utf8.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "static" "doc"))
|
||||
(arguments
|
||||
|
@ -218,6 +219,13 @@ hierarchical form with variable field lengths.")
|
|||
(string-append "/bin/" file)) "."))
|
||||
'("config.guess" "config.sub")))))
|
||||
#~())
|
||||
(add-before 'configure 'configure-python
|
||||
(lambda _
|
||||
(substitute* "python/setup.py.in"
|
||||
;; The build system ignores C_INCLUDE_PATH & co, so
|
||||
;; provide the absolute directory name.
|
||||
(("/opt/include")
|
||||
(string-append #$output "/include/libxml2")))))
|
||||
(add-after 'install 'use-other-outputs
|
||||
(lambda _
|
||||
(let ((doc (string-append #$output:doc "/share/"))
|
||||
|
@ -245,7 +253,7 @@ hierarchical form with variable field lengths.")
|
|||
(native-inputs (append (if (target-loongarch64?)
|
||||
(list config)
|
||||
'())
|
||||
(list perl)))
|
||||
(list perl pkg-config python-minimal)))
|
||||
(native-search-paths
|
||||
(list $SGML_CATALOG_FILES $XML_CATALOG_FILES))
|
||||
(search-paths native-search-paths)
|
||||
|
@ -254,57 +262,23 @@ hierarchical form with variable field lengths.")
|
|||
project (but it is usable outside of the Gnome platform).")
|
||||
(license license:x11)))
|
||||
|
||||
(define-public libxml2-next
|
||||
(package
|
||||
(inherit libxml2)
|
||||
(name "libxml2")
|
||||
(version "2.14.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/libxml2/"
|
||||
(version-major+minor version)"/libxml2-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0jylv2kkyzih710blg24al7b43iaqg6xsfn52qy865knagrhdl03"))))
|
||||
(native-inputs (modify-inputs (package-native-inputs libxml2)
|
||||
(append pkg-config
|
||||
python-minimal)))))
|
||||
|
||||
(define-public libxml2-next/fixed
|
||||
(package
|
||||
(inherit libxml2)
|
||||
(properties '((hidden? . #t)))
|
||||
(name "libxml2")
|
||||
(version "2.14.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/libxml2/"
|
||||
(version-major+minor version)"/libxml2-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0jylv2kkyzih710blg24al7b43iaqg6xsfn52qy865knagrhdl03"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments libxml2-next)
|
||||
((#:phases phases #~%standard-phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'install 'symlink-hardcoded-lib-for-grafts
|
||||
(lambda _
|
||||
(let ((lib (string-append #$output "/lib/libxml2.so")))
|
||||
;; XXX: When grafting, we need to reproduce the file paths to
|
||||
;; the libraries too.
|
||||
(symlink (string-append lib ".16")
|
||||
(string-append lib ".2")))))))))
|
||||
(native-inputs (modify-inputs (package-native-inputs libxml2)
|
||||
(append pkg-config
|
||||
python-minimal)))))
|
||||
|
||||
(define-public libxml2-next-for-grafting
|
||||
(package
|
||||
(inherit libxml2)
|
||||
(replacement libxml2-next/fixed)
|
||||
(properties '((hidden? . #t)))))
|
||||
;; This is an old version (the most recent that works) of libxml2 solely for
|
||||
;; building librsvg-2.40.
|
||||
;; XXX: Remove once Rust (and thus newer librsvg) is supported on all
|
||||
;; platforms.
|
||||
(define-public libxml2-2.11
|
||||
(hidden-package
|
||||
(package
|
||||
(inherit libxml2)
|
||||
(version "2.11.9")
|
||||
(source (origin
|
||||
(inherit (package-source libxml2))
|
||||
(uri (string-append "mirror://gnome/sources/libxml2/"
|
||||
(version-major+minor version)"/libxml2-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"17w0a622466k2hi5nln276la6rzfr9xaip3lqj71hmyvxyhmf0bq")))))))
|
||||
|
||||
(define-public libxml2-xpath0
|
||||
(package/inherit libxml2
|
||||
|
@ -320,34 +294,7 @@ provides an @code{--xpath0} option to @command{xmllint} that enables it
|
|||
to output XPath results with a null delimiter.")))
|
||||
|
||||
(define-public python-libxml2
|
||||
(package/inherit libxml2
|
||||
(name "python-libxml2")
|
||||
(source (origin
|
||||
(inherit (package-source libxml2))
|
||||
(patches
|
||||
(append (search-patches "python-libxml2-utf8.patch")
|
||||
(origin-patches (package-source libxml2))))))
|
||||
(build-system pyproject-build-system)
|
||||
(outputs '("out"))
|
||||
(arguments
|
||||
(list
|
||||
;; XXX: Tests are specified in 'Makefile.am', but not in 'setup.py'.
|
||||
#:tests? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'configure
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(chdir "python")
|
||||
(let ((libxml2-headers (search-input-directory
|
||||
inputs "include/libxml2")))
|
||||
(substitute* "setup.py"
|
||||
;; The build system ignores C_INCLUDE_PATH & co, so
|
||||
;; provide the absolute directory name.
|
||||
(("/opt/include")
|
||||
(dirname libxml2-headers)))))))))
|
||||
(native-inputs (list python-setuptools))
|
||||
(inputs (list libxml2))
|
||||
(synopsis "Python bindings for the libxml2 library")))
|
||||
(deprecated-package "python-libxml2" libxml2))
|
||||
|
||||
(define-public libxlsxwriter
|
||||
(package
|
||||
|
@ -394,7 +341,7 @@ formulas and hyperlinks to multiple worksheets in an Excel 2007+ XLSX file.")
|
|||
(define-public libxslt
|
||||
(package
|
||||
(name "libxslt")
|
||||
(version "1.1.37")
|
||||
(version "1.1.43")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources"
|
||||
|
@ -402,8 +349,7 @@ formulas and hyperlinks to multiple worksheets in an Excel 2007+ XLSX file.")
|
|||
"/libxslt-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1d1s2bk0m6d7bzml9w90ycl0jlpcy4v07595cwaddk17h3f2fjrs"))
|
||||
(patches (search-patches "libxslt-generated-ids.patch"))))
|
||||
"0fhqy01x99iia8306czakxza4spzyn88w4bin4sw5bx57hw6ngas"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
|
@ -1256,7 +1202,7 @@ XSL-T processor. It also performs any necessary post-processing.")
|
|||
"1shk40mpaqaf05skgyxa7qxgcarjd6i1fadn2sk0b8lakfv96bnq"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs ; according to xmlsec1.pc
|
||||
(list libxml2-next libxslt))
|
||||
(list libxml2 libxslt))
|
||||
(inputs
|
||||
(list gnutls libgcrypt libltdl))
|
||||
(native-inputs
|
||||
|
@ -1937,13 +1883,13 @@ because lxml.etree already has its own implementation of XPath 1.0.")
|
|||
(define-public python-lxml
|
||||
(package
|
||||
(name "python-lxml")
|
||||
(version "5.2.2")
|
||||
(version "6.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "lxml" version))
|
||||
(sha256
|
||||
(base32 "11yvrzlswlh81z6lpmds2is2jd3wkigpwj6mcfcaggl0h64w8bdv"))))
|
||||
(base32 "14064h0pxdsx36nhyjzrw0v16ygz977qf6l0ydnh5p97pwp8hfib"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
|
|
|
@ -5759,7 +5759,7 @@ Wayland.")
|
|||
(define-public libx11
|
||||
(package
|
||||
(name "libx11")
|
||||
(version "1.8.10")
|
||||
(version "1.8.12")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -5767,7 +5767,7 @@ Wayland.")
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0lywvwsz92j7isglvw2227g3na4ghyspvsvblpf43ns7jfnksfrb"))))
|
||||
"16lspc3bw2pg3jal7zyq6mxmxmmaax0fz6lgh1n4skqjn2dny0ps"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out"
|
||||
"doc")) ;8 MiB of man pages + XML
|
||||
|
|
|
@ -80,8 +80,10 @@
|
|||
#:use-module (gnu packages nfs)
|
||||
#:use-module (gnu packages enlightenment)
|
||||
#:use-module (guix deprecation)
|
||||
#:use-module (guix i18n)
|
||||
#:use-module (guix records)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix search-paths)
|
||||
#:use-module (guix store)
|
||||
#:use-module (guix ui)
|
||||
#:use-module (guix utils)
|
||||
|
@ -147,6 +149,11 @@
|
|||
accountsservice-service ; deprecated
|
||||
|
||||
cups-pk-helper-service-type
|
||||
|
||||
sane-configuration
|
||||
sane-configuration?
|
||||
sane-configuration-backends
|
||||
sane-configuration-sane
|
||||
sane-service-type
|
||||
|
||||
gnome-desktop-configuration
|
||||
|
@ -1681,6 +1688,38 @@ accountsservice web site} for more information."
|
|||
;; The '60-libsane.rules' udev rules refers to the "scanner" group.
|
||||
(list (user-group (name "scanner") (system? #t))))
|
||||
|
||||
(define (non-empty-list-of-packages? val)
|
||||
(and (not (null? val)) (list-of-packages? val)))
|
||||
|
||||
(define-configuration/no-serialization sane-configuration
|
||||
(sane
|
||||
(package sane)
|
||||
"The package that provides the SANE library.")
|
||||
(backends
|
||||
(non-empty-list-of-packages (list sane-backends))
|
||||
"A list of packages containing SANE backends."))
|
||||
|
||||
(define (sane-search-paths config)
|
||||
(match-record config <sane-configuration> (sane backends)
|
||||
(let ((backend-union (directory-union "sane-backends" backends)))
|
||||
(map (match-lambda
|
||||
(($ <search-path-specification> variable (files))
|
||||
(cons variable (file-append backend-union "/" files))))
|
||||
(package-native-search-paths sane)))))
|
||||
|
||||
(define* (lift-sane-configuration config #:key warn?)
|
||||
(if (sane-configuration? config)
|
||||
config
|
||||
(begin
|
||||
(when warn?
|
||||
(warning (G_ "'sane' service now expects a 'sane-configuration' record~%"))
|
||||
|
||||
(when (eq? config sane-backends)
|
||||
(warning (G_ "'sane-backends' does not include 'hplip' backend anymore. Add it
|
||||
explicitly when needed.~%"))))
|
||||
|
||||
(sane-configuration (backends (list config))))))
|
||||
|
||||
(define sane-service-type
|
||||
(service-type
|
||||
(name 'sane)
|
||||
|
@ -1688,9 +1727,15 @@ accountsservice web site} for more information."
|
|||
"This service provides access to scanners @i{via}
|
||||
@uref{http://www.sane-project.org, SANE} by installing the necessary udev
|
||||
rules.")
|
||||
(default-value sane-backends-minimal)
|
||||
(default-value (sane-configuration))
|
||||
(extensions
|
||||
(list (service-extension udev-service-type list)
|
||||
(list (service-extension udev-service-type
|
||||
(lambda (c)
|
||||
(sane-configuration-backends
|
||||
(lift-sane-configuration c #:warn? #t))))
|
||||
(service-extension session-environment-service-type
|
||||
(lambda (c)
|
||||
(sane-search-paths (lift-sane-configuration c))))
|
||||
(service-extension account-service-type
|
||||
(const %sane-accounts))))))
|
||||
|
||||
|
@ -2445,7 +2490,7 @@ applications needing access to be root.")
|
|||
;; Add udev rules for MTP devices so that non-root users can access
|
||||
;; them.
|
||||
(simple-service 'mtp udev-service-type (list libmtp))
|
||||
;; Add udev rules for scanners.
|
||||
;; Add udev rules and default backends for scanners.
|
||||
(service sane-service-type)
|
||||
;; Add polkit rules, so that non-root users in the wheel group can
|
||||
;; perform administrative tasks (similar to "sudo").
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2023 Pierre-Henry Fröhring <contact@phfrohring.com>
|
||||
;;; Copyright © 2025 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -73,6 +74,7 @@ See: https://github.com/hexpm/specifications/blob/main/endpoints.md"
|
|||
#:key
|
||||
source
|
||||
(tests? #t)
|
||||
(test-flags ''())
|
||||
(mix-path #f) ;See MIX_PATH.
|
||||
(mix-exs "mix.exs") ;See MIX_EXS.
|
||||
(build-per-environment #t) ;See :build_per_environment.
|
||||
|
@ -107,6 +109,7 @@ See: https://github.com/hexpm/specifications/blob/main/endpoints.md"
|
|||
#:source #+source
|
||||
#:system #$system
|
||||
#:tests? #$tests?
|
||||
#:test-flags #$test-flags
|
||||
#:mix-path #$mix-path
|
||||
#:mix-exs #$mix-exs
|
||||
#:mix-environments '#$mix-environments
|
||||
|
|
|
@ -64,6 +64,7 @@
|
|||
includedir "/include"))
|
||||
'())
|
||||
,(string-append "--buildtype=" build-type)
|
||||
"--wrap-mode=nofallback"
|
||||
,(string-append "-Dc_link_args=-Wl,-rpath="
|
||||
(assoc-ref outputs "out") "/lib")
|
||||
,(string-append "-Dcpp_link_args=-Wl,-rpath="
|
||||
|
@ -75,12 +76,12 @@
|
|||
(chdir build-dir)
|
||||
(apply invoke "meson" "setup" args)))
|
||||
|
||||
(define* (build #:key parallel-build?
|
||||
#:allow-other-keys)
|
||||
(define* (build #:key parallel-build? #:allow-other-keys)
|
||||
"Build a given meson package."
|
||||
(invoke "ninja" "-j" (if parallel-build?
|
||||
(number->string (parallel-job-count))
|
||||
"1")))
|
||||
(invoke "ninja" "--verbose"
|
||||
"-j" (if parallel-build?
|
||||
(number->string (parallel-job-count))
|
||||
"1")))
|
||||
|
||||
(define* (check #:key tests? test-options parallel-tests?
|
||||
#:allow-other-keys)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2023 Pierre-Henry Fröhring <contact@phfrohring.com>
|
||||
;;; Copyright © 2024 Igor Goryachev <igor@goryachev.org>
|
||||
;;; Copyright © 2024 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||
;;; Copyright © 2024, 2025 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -119,13 +119,14 @@ See: https://hexdocs.pm/mix/1.15.7/Mix.html#module-environment-variables"
|
|||
"--no-prune-code-paths"))
|
||||
mix-environments))
|
||||
|
||||
(define* (check #:key (tests? #t) #:allow-other-keys)
|
||||
(define* (check #:key (tests? #t) (test-flags '()) #:allow-other-keys)
|
||||
"Test the Mix project."
|
||||
(if tests?
|
||||
(begin
|
||||
(setenv "MIX_ENV" "test")
|
||||
(invoke "mix" "do" "compile" "--no-deps-check" "--no-prune-code-paths" "+"
|
||||
"test" "--no-deps-check"))
|
||||
(apply invoke "mix" "do" "compile" "--no-deps-check"
|
||||
"--no-prune-code-paths" "+" "test"
|
||||
"--no-deps-check" test-flags))
|
||||
(format #t "tests? = ~a~%" tests?)))
|
||||
|
||||
(define* (remove-mix-dirs . _)
|
||||
|
|
22
guix/git.scm
22
guix/git.scm
|
@ -5,7 +5,7 @@
|
|||
;;; Copyright © 2021 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
|
||||
;;; Copyright © 2023 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2023 Simon Tournier <zimon.toutoune@gmail.com>
|
||||
;;; Copyright © 2023, 2025 Simon Tournier <zimon.toutoune@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -575,10 +575,16 @@ current settings unchanged."
|
|||
(string-append "origin/" branch))))
|
||||
(_ ref)))
|
||||
|
||||
(define symref-list
|
||||
(match ref
|
||||
(('symref . symref) (list symref))
|
||||
(_ '())))
|
||||
(define symref?
|
||||
(match-lambda
|
||||
(('symref . _) #t)
|
||||
(_ #f)))
|
||||
|
||||
(define ref->refspecs
|
||||
(match-lambda
|
||||
(('symref . symref)
|
||||
(list (string-append "+" symref ":" symref)))
|
||||
(_ '())))
|
||||
|
||||
(with-libgit2
|
||||
(set-git-timeouts connection-timeout read-timeout)
|
||||
|
@ -595,7 +601,7 @@ current settings unchanged."
|
|||
|
||||
;; When using symrefs, fetch remote again even if it has been cloned just
|
||||
;; before as the requested reference are not fetched when cloning.
|
||||
(when (and cache-exists?
|
||||
(when (and (or cache-exists? (symref? ref))
|
||||
(not (reference-available? repository ref)))
|
||||
(remote-fetch (remote-lookup repository "origin")
|
||||
#:fetch-options (make-default-fetch-options
|
||||
|
@ -603,9 +609,7 @@ current settings unchanged."
|
|||
verify-certificate?)
|
||||
;; Build refspecs from symbolic references so they are
|
||||
;; created locally and updated if necessary.
|
||||
#:refspecs (map (lambda (ref)
|
||||
(string-append "+" ref ":" ref))
|
||||
symref-list)))
|
||||
#:refspecs (ref->refspecs ref)))
|
||||
(when recursive?
|
||||
(update-submodules repository #:log-port log-port
|
||||
#:fetch-options
|
||||
|
|
|
@ -146,7 +146,6 @@ gnu/packages/erlang-xyz.scm
|
|||
gnu/packages/erlang.scm
|
||||
gnu/packages/esolangs.scm
|
||||
gnu/packages/fabric-management.scm
|
||||
gnu/packages/fcitx.scm
|
||||
gnu/packages/fcitx5.scm
|
||||
gnu/packages/fediverse.scm
|
||||
gnu/packages/figlet.scm
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue