mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
Compare commits
129 commits
d7be27e7c0
...
b17e20f60b
Author | SHA1 | Date | |
---|---|---|---|
|
b17e20f60b | ||
|
06c9fd8cf6 | ||
|
d6d05a68b8 | ||
|
23aa0bedd5 | ||
|
d74bfe66c1 | ||
|
b7b468ee31 | ||
|
952ba045cc | ||
|
944e93a90c | ||
|
226ff9fca7 | ||
|
f0b92a3ce9 | ||
|
373d2f76b7 | ||
|
5302779055 | ||
|
3f1b4b63a4 | ||
|
299d8b2866 | ||
|
5da6508f7e | ||
|
314cb4319e | ||
|
610bbfb4db | ||
|
09d546dc55 | ||
|
9bf3b6e335 | ||
|
282c1098d1 | ||
|
5eccc6e725 | ||
|
1ed0252645 | ||
|
fdaea945c9 | ||
|
c254d4a5e1 | ||
|
75b2594014 | ||
|
fe875d5317 | ||
|
615efa47f2 | ||
|
df5e971801 | ||
|
947eda0aba | ||
|
728a0a1e6c | ||
|
cb29f53da4 | ||
|
733584d44f | ||
|
babd4f920a | ||
|
3eb7f36f4d | ||
|
afcc9734d4 | ||
|
0df6bbf58c | ||
|
db64e4e073 | ||
|
d087319ece | ||
|
6ff6fc52c9 | ||
|
2c48201171 | ||
|
ff1b1387dd | ||
|
9f1105ec50 | ||
|
d186087f96 | ||
|
d89c360134 | ||
|
ac669a791e | ||
|
2c439691a6 | ||
|
63e393e4ac | ||
|
610ba732cd | ||
|
878bdee0fd | ||
|
7d7c26f565 | ||
|
f727493e7e | ||
|
00372cebce | ||
|
e404ef8a54 | ||
|
6603397aa3 | ||
|
9a6c7d33cd | ||
|
e641e26162 | ||
|
43ab261e30 | ||
|
ad562b78c3 | ||
|
049e2bb30f | ||
|
f79cc8d62b | ||
|
dcc14005b3 | ||
|
33a360ddae | ||
|
958b9db1cc | ||
|
a9ad24eb9a | ||
|
f5ac2ac784 | ||
|
a9abdb81ee | ||
|
6dffabe40f | ||
|
6a5eb13d31 | ||
|
6d68d18446 | ||
|
2a973bb9d6 | ||
|
d69a4706aa | ||
|
1a4baddc0b | ||
|
4fb51864d8 | ||
|
730f73121d | ||
|
f24bad2890 | ||
|
6b77af7b9b | ||
|
cff4b49212 | ||
|
12d1567fcb | ||
|
b28307bdf9 | ||
|
b0b8ecbfff | ||
|
5e34f2ce35 | ||
|
1eb1277f56 | ||
|
875e19dda2 | ||
|
e991da5eaf | ||
|
3cb17be21d | ||
|
6f138f0f16 | ||
|
e166ffb8ad | ||
|
94d14652d0 | ||
|
bfbed144f8 | ||
|
bd419c25d0 | ||
|
76e384e3c1 | ||
|
fd815c6c41 | ||
|
201518da72 | ||
|
ebc431bb21 | ||
|
b7f51e60ba | ||
|
baf0c69497 | ||
|
f1b290743e | ||
|
9e44a9d7ff | ||
|
7e30d4db88 | ||
|
e0c207194e | ||
|
51f36c41b9 | ||
|
074fa4b920 | ||
|
34bdb9849e | ||
|
ec937a9401 | ||
|
c6bf6665a4 | ||
|
f550644d69 | ||
|
4d6e9b625b | ||
|
ac3464fbdd | ||
|
a060347a46 | ||
|
f09ae65276 | ||
|
f5486310de | ||
|
fbfc2e91d8 | ||
|
fe24dc4fb4 | ||
|
eb9c92ca2f | ||
|
45c2fca5f9 | ||
|
a149f11202 | ||
|
29fdc9225f | ||
|
186c29328a | ||
|
f7a9a6a0fb | ||
|
fab53dafcc | ||
|
447139611a | ||
|
eba72f670f | ||
|
1a2e3d9230 | ||
|
ca535d56a9 | ||
|
7664921cb8 | ||
|
28903a9081 | ||
|
57060a54ae | ||
|
ae15c39f03 | ||
|
bf209751b3 |
67 changed files with 1651 additions and 1806 deletions
|
@ -26957,23 +26957,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))
|
||||
|
@ -26987,13 +27010,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
|
||||
|
|
12
gnu/local.mk
12
gnu/local.mk
|
@ -1136,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 \
|
||||
|
@ -1228,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 \
|
||||
|
@ -1553,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 \
|
||||
|
@ -1603,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 \
|
||||
|
@ -1674,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 \
|
||||
|
@ -1746,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 \
|
||||
|
@ -1786,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 \
|
||||
|
@ -1867,6 +1871,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/mpc123-initialize-ao.patch \
|
||||
%D%/packages/patches/mpg321-CVE-2019-14247.patch \
|
||||
%D%/packages/patches/mpg321-gcc-10.patch \
|
||||
%D%/packages/patches/mpv-0.40.0-fix-ffmpeg-8.0.patch \
|
||||
%D%/packages/patches/modglue-fix-build.patch \
|
||||
%D%/packages/patches/modem-manager-fix-test-wrapper.patch \
|
||||
%D%/packages/patches/module-init-tools-moduledir.patch \
|
||||
|
@ -2226,6 +2231,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 +2267,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 +2440,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
|
||||
|
|
|
@ -23600,7 +23600,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
|
||||
|
|
|
@ -38082,14 +38082,14 @@ offers access to an XPath \"interpreter\".")
|
|||
(define-public r-xml2
|
||||
(package
|
||||
(name "r-xml2")
|
||||
(version "1.3.8")
|
||||
(version "1.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "xml2" version))
|
||||
(sha256
|
||||
(base32
|
||||
"01qhmlr5rhsn25ddb8cm3vl9vyqk5c5cgpc6c0krs9wccd1j4pbj"))))
|
||||
"0qnw4id8bknm3anvd9dlpg344s18dnxzm8lhbyqkcpgqfya84bhc"))))
|
||||
(properties
|
||||
;; Avoid dependency cycle.
|
||||
'((updater-ignored-native-inputs . ("r-httr"))))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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/")
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
;;; Copyright © 2019, 2020, 2022 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
|
||||
;;; Copyright © 2020, 2021, 2024 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2021-2024 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2021-2025 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
|
||||
;;; Copyright © 2022 Eric Bavier <bavier@posteo.net>
|
||||
;;; Copyright © 2022 Felipe Balbi <balbi@kernel.org>
|
||||
|
@ -181,13 +181,13 @@ them as it goes.")
|
|||
(define-public python-afdko
|
||||
(package
|
||||
(name "python-afdko")
|
||||
(version "3.9.5")
|
||||
(version "4.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "afdko" version))
|
||||
(sha256
|
||||
(base32 "02c1rjx7ggbd1m9vqgsc2r28yiw66cjgvs5cq1a2fz0lkadbvrnb"))
|
||||
(base32 "0c6ribidsmcd9rihy32gknfrr3iw8dy2jlmq6lk05pc33s3ix8z1"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
|
@ -415,6 +415,7 @@ but also provides many useful font conversion and analysis facilities.
|
|||
"--ignore=tests/makeotfexe_test.py"
|
||||
"--ignore=tests/otc2otf_test.py"
|
||||
"--ignore=tests/otf2ttf_test.py"
|
||||
"--ignore=tests/proofpdf_test.py"
|
||||
"--ignore=tests/ttxn_test.py")))))))
|
||||
(native-inputs
|
||||
(list pkg-config
|
||||
|
@ -470,7 +471,7 @@ other operations on paths.")
|
|||
(define-public python-cffsubr
|
||||
(package
|
||||
(name "python-cffsubr")
|
||||
(version "0.2.9.post1")
|
||||
(version "0.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -478,7 +479,7 @@ other operations on paths.")
|
|||
(modules '((guix build utils)))
|
||||
(snippet '(delete-file-recursively "external")) ;unbundle ADFKO
|
||||
(sha256
|
||||
(base32 "0p7wyagkmwf4agr6ysgswrpmpifx5rz8dnjbcs2gmj29rwnl2cbb"))))
|
||||
(base32 "1yrfjn3mdi48pg78yzlmskdz9i4nf2wg7h8ivnn9yrw1vc5iaibp"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -560,13 +561,13 @@ for fontTools.")
|
|||
(define-public python-cu2qu
|
||||
(package
|
||||
(name "python-cu2qu")
|
||||
(version "1.6.7.post1")
|
||||
(version "1.6.7.post2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "cu2qu" version ".zip"))
|
||||
(sha256
|
||||
(base32 "1x762r7bf39g6aivfvrmq00h6f07abvs9x1xm0fz8l81vq8jz64c"))))
|
||||
(base32 "022qpzbpi6j56wqz48rnqs6dvksipw13fi4g10k941fnkgcn5x8x"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
;; XXX: Try to remove it when updating python-fonttools.
|
||||
|
@ -592,14 +593,24 @@ converts any cubic curves to quadratic. The most useful function is probably
|
|||
(define-public python-ufo2ft
|
||||
(package
|
||||
(name "python-ufo2ft")
|
||||
(version "2.31.0")
|
||||
(version "2.33.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "ufo2ft" version))
|
||||
(sha256
|
||||
(base32 "1rg2997af8blvswlwif0kpz2vxrlh555gzqslz6yv9y7i7v8lphl"))))
|
||||
(base32 "0xnnwlj3rl0p7q19l6wdrfkzzq1f2l5vyl2qs7kl4vvfalgpzakv"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:test-flags
|
||||
#~(list "-k"
|
||||
;; XXX: These tests all fail with "TTX output is different
|
||||
;; from expected". Potentially fixed in 3.x release.
|
||||
(string-append "not test_compileVariableTTF "
|
||||
"and not test_compileVariableCFF2 "
|
||||
"and not test_drop_glyph_names_variable "
|
||||
"and not test_buildTables_FeatureLibError "
|
||||
"and not test_kern_zyyy_zinh"))))
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-setuptools-scm
|
||||
|
@ -708,13 +719,13 @@ implementing the pen protocol for manipulating glyphs.")
|
|||
(hidden-package
|
||||
(package
|
||||
(name "python-fontparts-bootstrap")
|
||||
(version "0.11.0")
|
||||
(version "0.13.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "fontParts" version ".zip"))
|
||||
(uri (pypi-uri "fontparts" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0j4h8hszky639gmfy1avmw670y80ya49kca8yc635h5ihl0c3v8x"))))
|
||||
(base32 "0ddyfa975hskaip6l4hn7n2jh50y5s0pw911phyx2fsws54pw5s7"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:test-backend #~'custom
|
||||
|
@ -726,8 +737,7 @@ implementing the pen protocol for manipulating glyphs.")
|
|||
python-fonttools-minimal))
|
||||
(native-inputs
|
||||
(list python-setuptools
|
||||
python-setuptools-scm
|
||||
unzip))
|
||||
python-setuptools-scm))
|
||||
(home-page "https://github.com/robotools/fontParts")
|
||||
(synopsis "Library for interacting with font parts")
|
||||
(description "FontParts is an @acronym{API, Application Programming
|
||||
|
@ -1925,13 +1935,13 @@ with @samp{nameIDs}.")
|
|||
(define-public python-ufolib2
|
||||
(package
|
||||
(name "python-ufolib2")
|
||||
(version "0.13.1")
|
||||
(version "0.18.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "ufoLib2" version))
|
||||
(uri (pypi-uri "ufolib2" version))
|
||||
(sha256
|
||||
(base32 "0yx4i8q5rfyqhr2fj70a7z1bp1jv7bdlr64ww9z4nv9ycbda4x9j"))))
|
||||
(base32 "1971ibdsgji8x0jzlk1hc6dv2r5wnfyylz7f6wjkymqw6v6fzq3x"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
|
@ -1954,51 +1964,53 @@ API-compatible with defcon.")
|
|||
;;; A variant used to break a cycle between python-fontpens and
|
||||
;;; python-fontparts.
|
||||
(define-public python-defcon-bootstrap
|
||||
(package
|
||||
(name "python-defcon-bootstrap")
|
||||
(version "0.11.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/robotools/defcon")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "06w5kd5ac63m6m8x8j4xwdl7ncbpjl7pdpfpy9i6c8nhbd8sbjfm"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'set-version
|
||||
(lambda _
|
||||
(setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))))))
|
||||
(propagated-inputs (list python-fontpens-bootstrap python-fonttools))
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-setuptools
|
||||
python-setuptools-scm
|
||||
unzip))
|
||||
(home-page "https://github.com/robotools/defcon")
|
||||
(synopsis "Flexible objects for representing UFO data")
|
||||
(description
|
||||
"Defcon is a set of @acronym{UFO, unified font object} based
|
||||
(hidden-package
|
||||
(package
|
||||
(name "python-defcon-bootstrap")
|
||||
(version "0.12.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/robotools/defcon")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1zx4xas6qcpp54d1vcfy5wjv17aazkpfmb7hkjy99g47xsi6crrh"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'set-version
|
||||
(lambda _
|
||||
(setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))))))
|
||||
(propagated-inputs (list python-fontpens-bootstrap python-fonttools))
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-setuptools
|
||||
python-setuptools-scm))
|
||||
(home-page "https://github.com/robotools/defcon")
|
||||
(synopsis "Flexible objects for representing UFO data")
|
||||
(description
|
||||
"Defcon is a set of @acronym{UFO, unified font object} based
|
||||
objects optimized for use in font editing applications. The objects are built
|
||||
to be lightweight, fast and flexible. The objects are very bare-bones and
|
||||
they are not meant to be end-all, be-all objects. Rather, they are meant to
|
||||
provide base functionality so that you can focus on your application’s
|
||||
behavior, not object observing or maintaining cached data. Defcon implements
|
||||
UFO3 as described by the UFO font format.")
|
||||
(license license:expat)))
|
||||
(license license:expat))))
|
||||
|
||||
(define-public python-defcon
|
||||
(hidden-package
|
||||
(package/inherit python-defcon-bootstrap
|
||||
(name "python-defcon")
|
||||
(propagated-inputs
|
||||
(modify-inputs (package-propagated-inputs python-defcon-bootstrap)
|
||||
(replace "python-fontpens-bootstrap" python-fontpens))))))
|
||||
(package/inherit python-defcon-bootstrap
|
||||
(name "python-defcon")
|
||||
(propagated-inputs
|
||||
(modify-inputs (package-propagated-inputs python-defcon-bootstrap)
|
||||
(replace "python-fontpens-bootstrap" python-fontpens)))
|
||||
(properties
|
||||
(alist-delete 'hidden?
|
||||
(package-properties python-fontparts-bootstrap)))))
|
||||
|
||||
(define-public nototools
|
||||
(package
|
||||
|
|
|
@ -586,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
|
||||
|
@ -595,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")
|
||||
|
@ -642,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")
|
||||
|
@ -1363,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
|
||||
|
@ -1371,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 _
|
||||
|
@ -1414,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
|
||||
|
@ -1423,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))
|
||||
|
@ -2250,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
|
||||
|
@ -1476,7 +1476,7 @@ given profile, etc. DLNA is a subset of UPnP A/V.")
|
|||
(define-public gupnp-av
|
||||
(package
|
||||
(name "gupnp-av")
|
||||
(version "0.14.1")
|
||||
(version "0.14.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
|
@ -1484,7 +1484,7 @@ given profile, etc. DLNA is a subset of UPnP A/V.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0kry7arwmvs8b4175wia3l0s02ap1shq68f29g2xjrhc9g6f175p"))))
|
||||
"1izq71qphyac02ynypwk0skxqzhfr0zrl7dap3sxrdaw4yrp9n91"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs
|
||||
(list gettext-minimal
|
||||
|
@ -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")
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
|
||||
;;; Copyright © 2020, 2021, 2025 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
|
||||
;;; Copyright © 2020-2024 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2020-2025 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com>
|
||||
;;; Copyright © 2021 Antoine Côté <antoine.cote@posteo.net>
|
||||
;;; Copyright © 2021 Andy Tai <atai@atai.org>
|
||||
|
@ -1224,14 +1224,30 @@ basic geometries.")
|
|||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/typemytype/booleanOperations")
|
||||
(commit version)))
|
||||
(url "https://github.com/typemytype/booleanOperations")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0ahfgamyq1ndwbr9n8sdx8qhqc2195xnbahylgjpk877hbr2gxav"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; There are
|
||||
#:modules '((guix build pyproject-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 format))
|
||||
;; Some tests fail due to small differences in the expected result (see:
|
||||
;; <https://github.com/typemytype/booleanOperations/issues/69>).
|
||||
#:test-flags #~(list "-k"
|
||||
(format #f "not ~{~a~^ and not ~}"
|
||||
'("test_QTail_reversed_difference"
|
||||
"test_QTail_reversed_intersection"
|
||||
"test_QTail_reversed_union"
|
||||
"test_QTail_reversed_xor"
|
||||
"test_Q_difference"
|
||||
"test_Q_intersection"
|
||||
"test_Q_union"
|
||||
"test_Q_xor")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'set-version
|
||||
|
@ -1243,8 +1259,7 @@ basic geometries.")
|
|||
python-fontpens-bootstrap
|
||||
python-pytest
|
||||
python-setuptools
|
||||
python-setuptools-scm
|
||||
unzip))
|
||||
python-setuptools-scm))
|
||||
(home-page "https://github.com/typemytype/booleanOperations")
|
||||
(synopsis "Boolean operations on paths")
|
||||
(description
|
||||
|
|
|
@ -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>
|
||||
;;;
|
||||
|
@ -285,7 +285,7 @@ output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.")
|
|||
(define-public harfbuzz
|
||||
(package
|
||||
(name "harfbuzz")
|
||||
(version "8.3.0")
|
||||
(version "11.4.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/harfbuzz/harfbuzz"
|
||||
|
@ -293,7 +293,7 @@ output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.")
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0izq2lpqxrf1l755nxrxkkiarywkx5j43asznankxplbxgm0358h"))))
|
||||
"1iaqiwh3b6mwv1ar2mm29fpfygsb1x79wv7mm6ppyn7a8rqz2lqh"))))
|
||||
(build-system meson-build-system)
|
||||
(outputs '("out"
|
||||
"bin")) ;160K, only hb-view depend on cairo
|
||||
|
@ -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
|
||||
|
|
|
@ -626,7 +626,7 @@
|
|||
cups
|
||||
dbus-glib
|
||||
freetype
|
||||
ffmpeg
|
||||
ffmpeg-6
|
||||
gdk-pixbuf
|
||||
glib
|
||||
gtk+
|
||||
|
|
|
@ -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.")
|
||||
|
|
|
@ -6090,40 +6090,44 @@ Recording Code} (ISRC) can be extracted.}")
|
|||
(license license:lgpl3+)))
|
||||
|
||||
(define-public libmusicbrainz
|
||||
(package
|
||||
(name "libmusicbrainz")
|
||||
(version "5.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/metabrainz/libmusicbrainz/releases/download/release-"
|
||||
version "/libmusicbrainz-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ikb9igyyk28jm34raxfzkw2qyn4nzzwsymdyprp7cmvi6g2ajb7"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-build
|
||||
(lambda _
|
||||
(substitute* "src/CMakeLists.txt"
|
||||
(("\\*.inc") ""))))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
;; requires network connections
|
||||
;; (invoke "tests/mbtest")
|
||||
(invoke "tests/ctest")
|
||||
#t)))))
|
||||
(inputs (list neon libxml2))
|
||||
(native-inputs (list pkg-config))
|
||||
(home-page "https://musicbrainz.org/doc/libmusicbrainz")
|
||||
(synopsis "MusicBrainz client library")
|
||||
(description "The MusicBrainz Client Library (libmusicbrainz), also known as
|
||||
;; The latest release is more than a decade old, doesn't build with the
|
||||
;; latest libxml2 release.
|
||||
(let ((commit "4efbed3afae11ef68281816088d7cf3d0f704dfe")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "libmusicbrainz")
|
||||
(version (git-version "5.1.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/metabrainz/libmusicbrainz")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1h1q0gg3xzhw115ifr5ja9gbd2k6ggkpm2f4sdqp313wp3lj86g9"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-build
|
||||
(lambda _
|
||||
(substitute* "src/CMakeLists.txt"
|
||||
(("\\*.inc") ""))))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
;; requires network connections
|
||||
;; (invoke "tests/mbtest")
|
||||
(invoke "tests/ctest"))))))
|
||||
(inputs (list neon libxml2))
|
||||
(native-inputs (list pkg-config))
|
||||
(home-page "https://musicbrainz.org/doc/libmusicbrainz")
|
||||
(synopsis "MusicBrainz client library")
|
||||
(description "The MusicBrainz Client Library (libmusicbrainz), also known as
|
||||
mb_client, is a development library geared towards developers who wish to add
|
||||
MusicBrainz lookup capabilities to their applications.")
|
||||
(license license:lgpl2.1+)))
|
||||
(license license:lgpl2.1+))))
|
||||
|
||||
(define-public perl-musicbrainz-discid
|
||||
(package
|
||||
|
|
|
@ -213,7 +213,7 @@ default. To add support for more languages, the
|
|||
leptonica
|
||||
podofo
|
||||
poppler-qt5
|
||||
sane-backends
|
||||
sane
|
||||
qtbase-5
|
||||
qtspell
|
||||
quazip-5
|
||||
|
|
|
@ -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
|
||||
|
40
gnu/packages/patches/mpv-0.40.0-fix-ffmpeg-8.0.patch
Normal file
40
gnu/packages/patches/mpv-0.40.0-fix-ffmpeg-8.0.patch
Normal file
|
@ -0,0 +1,40 @@
|
|||
Patch obtained from https://github.com/mpv-player/mpv/commit/26b29fba02a2782f68e2906f837d21201fc6f1b9
|
||||
See https://github.com/mpv-player/mpv/issues/16176 for discussion. Next version
|
||||
of mpv will have this fixed, but upstream is not planning to release a patch
|
||||
release.
|
||||
|
||||
From 26b29fba02a2782f68e2906f837d21201fc6f1b9 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Kacper=20Michaj=C5=82ow?= <kasper93@gmail.com>
|
||||
Date: Fri, 28 Mar 2025 19:12:01 +0100
|
||||
Subject: [PATCH] demux_mkv: fix compilation after deprecated definitions
|
||||
removal
|
||||
|
||||
See: https://github.com/FFmpeg/FFmpeg/commit/822432769868da325ba03774df1084aa78b9a5a0
|
||||
---
|
||||
demux/demux_mkv.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/demux/demux_mkv.c b/demux/demux_mkv.c
|
||||
index 135edcc23d82b..cc7ce3e98f4f6 100644
|
||||
--- a/demux/demux_mkv.c
|
||||
+++ b/demux/demux_mkv.c
|
||||
@@ -2200,16 +2200,16 @@ static int demux_mkv_open_sub(demuxer_t *demuxer, mkv_track_t *track)
|
||||
// [0x30..0x37] are component tags utilized for
|
||||
// non-mobile captioning service ("profile A").
|
||||
if (component_tag >= 0x30 && component_tag <= 0x37)
|
||||
- lav->profile = FF_PROFILE_ARIB_PROFILE_A;
|
||||
+ lav->profile = AV_PROFILE_ARIB_PROFILE_A;
|
||||
break;
|
||||
case 0x0012:
|
||||
// component tag 0x87 signifies a mobile/partial reception
|
||||
// (1seg) captioning service ("profile C").
|
||||
if (component_tag == 0x87)
|
||||
- lav->profile = FF_PROFILE_ARIB_PROFILE_C;
|
||||
+ lav->profile = AV_PROFILE_ARIB_PROFILE_C;
|
||||
break;
|
||||
}
|
||||
- if (lav->profile == FF_PROFILE_UNKNOWN)
|
||||
+ if (lav->profile == AV_PROFILE_UNKNOWN)
|
||||
MP_WARN(demuxer, "ARIB caption profile %02x / %04x not supported.\n",
|
||||
component_tag, data_component_id);
|
||||
}
|
|
@ -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);
|
||||
}
|
|
@ -6088,7 +6088,7 @@ server.")
|
|||
(base32 "17z6rrvv3q1axy9r13c2hln2pazfn9n5bhkzrbjcjakgbfjl6mss"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-lxml
|
||||
(list python-lxml-4.9
|
||||
python-pillow
|
||||
python-pytest
|
||||
python-setuptools))
|
||||
|
@ -13156,8 +13156,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
|
||||
|
@ -15654,14 +15653,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
|
||||
|
@ -17611,16 +17610,14 @@ number of lines in the contained files easily.")
|
|||
(hidden-package
|
||||
(package
|
||||
(name "python-fonttools-minimal")
|
||||
(version "4.39.3")
|
||||
(version "4.59.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "fonttools" version ".zip"))
|
||||
(uri (pypi-uri "fonttools" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1msibi5cmi5znykkg66dq7xshl07lkqjxhrz5hcipqvlggsvjd4j"))))
|
||||
"08pgq9nrj3r81gzb6gbf5mcak0xyqrj26cw0rc5za4v1n14hfb77"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
(list unzip))
|
||||
(arguments '(#:tests? #f))
|
||||
(home-page "https://github.com/fonttools/fonttools")
|
||||
(synopsis "Tools to manipulate font files")
|
||||
|
@ -17647,14 +17644,17 @@ from an XML-based format.")
|
|||
(when tests?
|
||||
(invoke "pytest" "-vv"
|
||||
"-k"
|
||||
;; XXX: These tests need .trm files that are
|
||||
;; not shipped with the PyPI release.
|
||||
;; XXX: These tests need data files that are not
|
||||
;; shipped with the PyPI release.
|
||||
(format #f "not ~a"
|
||||
(string-join
|
||||
'("test_read_fontdimens_mathsy"
|
||||
'("test_cli_vtp"
|
||||
"test_group_order"
|
||||
"test_read_fontdimens_mathsy"
|
||||
"test_read_fontdimens_mathex"
|
||||
"test_read_fontdimens_vanilla"
|
||||
"test_read_boundary_char"
|
||||
"test_reading_supplement_encoding"
|
||||
"fontTools.tfmLib"
|
||||
;; The MtiTest tests fail for unknown
|
||||
;; reasons (see:
|
||||
|
@ -17668,7 +17668,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
|
||||
|
@ -21053,13 +21053,13 @@ expression.")
|
|||
(define-public python-unicodedata2
|
||||
(package
|
||||
(name "python-unicodedata2")
|
||||
(version "15.0.0")
|
||||
(version "16.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "unicodedata2" version))
|
||||
(sha256
|
||||
(base32 "0bcgls7m2zndpd8whgznnd5908jbsa50si2bh88wsn0agcznhv7d"))))
|
||||
(base32 "1z3llixb4cd6cc6nmyps5vv2sss14n3x6dzcc65xg75mj9jqsj05"))))
|
||||
(build-system python-build-system)
|
||||
(home-page "https://github.com/fonttools/unicodedata2")
|
||||
(synopsis "Python unicodedata backport")
|
||||
|
@ -35556,7 +35556,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
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -74,6 +74,7 @@
|
|||
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.ccom>
|
||||
;;; Copyright © 2025 VnPower <vnpower@loang.net>
|
||||
;;; Copyright © 2025 Zhu Zihao <all_but_last@163.com>
|
||||
;;; Copyright © 2025 John Kehayias <john@guixotic.coop>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -1527,7 +1528,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 +1537,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 +1645,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 +1675,8 @@ operate properly.")
|
|||
libcaca
|
||||
libcdio-paranoia
|
||||
libdrm
|
||||
libgme
|
||||
libplacebo
|
||||
libtheora
|
||||
libva
|
||||
libvdpau
|
||||
|
@ -1685,13 +1688,16 @@ operate properly.")
|
|||
mesa
|
||||
openal
|
||||
pulseaudio
|
||||
shaderc
|
||||
sdl2
|
||||
soxr
|
||||
speex
|
||||
spirv-tools
|
||||
srt
|
||||
svt-av1
|
||||
twolame
|
||||
vidstab
|
||||
vulkan-loader
|
||||
x265
|
||||
xvid
|
||||
zlib)))
|
||||
|
@ -1701,7 +1707,8 @@ operate properly.")
|
|||
pkg-config
|
||||
texinfo
|
||||
speex
|
||||
yasm))
|
||||
vulkan-headers
|
||||
nasm))
|
||||
(arguments
|
||||
(list
|
||||
#:test-target "fate"
|
||||
|
@ -1716,7 +1723,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 +1775,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 +1801,7 @@ operate properly.")
|
|||
"--enable-opengl"
|
||||
"--enable-libdrm"
|
||||
"--enable-vaapi"
|
||||
"--enable-vulkan"
|
||||
|
||||
"--enable-runtime-cpudetect"
|
||||
|
||||
|
@ -1836,7 +1846,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 +1871,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 +1895,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
|
||||
|
@ -1900,16 +1911,22 @@ audio/video codec library.")
|
|||
(base32
|
||||
"1g8116rp4fgq82br8lclb2dmw3fvyh2zkzhnngm7z97pg1i0dypl"))))
|
||||
(arguments
|
||||
(if (target-x86-32?)
|
||||
(substitute-keyword-arguments (package-arguments ffmpeg)
|
||||
((#:phases phases)
|
||||
(substitute-keyword-arguments (package-arguments ffmpeg)
|
||||
((#:modules modules %default-gnu-modules)
|
||||
`((srfi srfi-1) ,@modules))
|
||||
((#:phases phases)
|
||||
(if (target-x86-32?)
|
||||
#~(modify-phases #$phases
|
||||
(replace 'bypass-openal-check
|
||||
(lambda _
|
||||
(substitute* "configure"
|
||||
(("die \"ERROR: openal not found\"")
|
||||
"true")))))))
|
||||
(package-arguments ffmpeg)))))
|
||||
"true")))))
|
||||
phases))
|
||||
((#:configure-flags flags ''())
|
||||
#~(fold delete #$flags '("--enable-libplacebo")))))
|
||||
(inputs (modify-inputs (package-inputs ffmpeg)
|
||||
(delete "libplacebo")))))
|
||||
|
||||
(define-public ffmpeg-4
|
||||
(package
|
||||
|
@ -1922,12 +1939,13 @@ audio/video codec library.")
|
|||
(sha256
|
||||
(base32
|
||||
"01xb2vj4n52fv2y56n5ifirgzlg16qbgfg98f6ifbbhm6l6lwlgr"))))
|
||||
(inputs (modify-inputs (package-inputs ffmpeg)
|
||||
(inputs (modify-inputs (package-inputs ffmpeg-5)
|
||||
(replace "sdl2" sdl2-2.0)))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments ffmpeg-5)
|
||||
((#:configure-flags flags ''())
|
||||
#~(cons "--enable-avresample" #$flags))))))
|
||||
#~(cons "--enable-avresample"
|
||||
(fold delete #$flags '("--enable-libshaderc"))))))))
|
||||
|
||||
(define-public ffmpeg-for-stepmania
|
||||
(hidden-package
|
||||
|
@ -1995,270 +2013,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
|
||||
|
@ -2685,7 +2704,10 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0w0qk61ll0mddbkiwavqfx048sacyvp6fwglms58ypw869rh7iy7"))))
|
||||
(base32 "0w0qk61ll0mddbkiwavqfx048sacyvp6fwglms58ypw869rh7iy7"))
|
||||
(patches
|
||||
(search-patches
|
||||
"mpv-0.40.0-fix-ffmpeg-8.0.patch"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -2994,7 +3016,7 @@ To load this plugin, specify the following option when starting mpv:
|
|||
(file-name (git-file-name name version))))
|
||||
(build-system meson-build-system)
|
||||
(inputs
|
||||
(list mpv libdisplay-info wlroots))
|
||||
(list mpv libdisplay-info))
|
||||
(native-inputs
|
||||
(list pkg-config cmake-minimal))
|
||||
(home-page "https://github.com/GhostNaN/mpvpaper")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -243,7 +243,7 @@ the leaves of a full binary tree.")
|
|||
(native-inputs (list pkg-config scdoc
|
||||
;; for wayland-scanner
|
||||
wayland))
|
||||
(inputs (list wayland wlroots libxkbcommon))
|
||||
(inputs (list wayland wlroots-0.18 libxkbcommon))
|
||||
(home-page "https://github.com/cage-kiosk/cage")
|
||||
(synopsis "Wayland kiosk")
|
||||
(description "This package provides a Wayland @dfn{kiosk}, which runs a
|
||||
|
@ -428,7 +428,7 @@ loginctl commands (lock/unlock/before-sleep) and inhibit.")
|
|||
hyprland-qtutils
|
||||
hyprlang
|
||||
hyprutils
|
||||
libinput-minimal-next
|
||||
libinput-minimal
|
||||
libxcursor
|
||||
libxkbcommon
|
||||
mesa
|
||||
|
@ -1472,7 +1472,7 @@ the XDG Autostart specification.")
|
|||
tllist
|
||||
scdoc))
|
||||
(inputs
|
||||
(list wlroots wayland fcft dbus libpng))
|
||||
(list wayland fcft dbus libpng))
|
||||
(home-page "https://codeberg.org/dnkl/fnott")
|
||||
(synopsis "Keyboard driven and lightweight Wayland notification daemon")
|
||||
(description "Fnott is a keyboard driven and lightweight notification daemon
|
||||
|
@ -1909,7 +1909,7 @@ started automatically on the first call via D-Bus.")
|
|||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list wlroots))
|
||||
(list wlroots-0.18))
|
||||
(home-page "https://codeberg.org/dwl/dwl")
|
||||
(synopsis "Dynamic window manager for Wayland")
|
||||
(description
|
||||
|
@ -2104,7 +2104,7 @@ XDG-Output for wlclock to work.")
|
|||
(define-public wlroots
|
||||
(package
|
||||
(name "wlroots")
|
||||
(version "0.18.2")
|
||||
(version "0.19.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -2113,7 +2113,7 @@ XDG-Output for wlclock to work.")
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1l1c4m8m1h8rl00y9yi6qjma5m3lhai9hqv5578q69yg2dcwraxw"))))
|
||||
(base32 "1w3nlrvy7625jh4f0l923f7irywzfdashcw5hbf8jq9kpjhpm323"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
|
@ -2162,6 +2162,24 @@ Wayland compositor")
|
|||
modules for building a Wayland compositor.")
|
||||
(license license:expat))) ; MIT license
|
||||
|
||||
;; Allow packages refering to stable wlroots version, because
|
||||
;; wlroots updates are backward incompatible.
|
||||
(define-public wlroots-0.19 wlroots)
|
||||
|
||||
(define-public wlroots-0.18
|
||||
(package
|
||||
(inherit wlroots)
|
||||
(version "0.18.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.freedesktop.org/wlroots/wlroots")
|
||||
(commit version)))
|
||||
(file-name (git-file-name "wlroots" version))
|
||||
(sha256
|
||||
(base32 "1l1c4m8m1h8rl00y9yi6qjma5m3lhai9hqv5578q69yg2dcwraxw"))))))
|
||||
|
||||
(define-public wlroots-0.17
|
||||
(package
|
||||
(inherit wlroots)
|
||||
|
@ -2310,7 +2328,7 @@ narrow the items to those matching the tokens in the input.")
|
|||
pcre2
|
||||
swaybg
|
||||
wayland
|
||||
wlroots))
|
||||
wlroots-0.18))
|
||||
(native-inputs
|
||||
(cons* linux-pam mesa pkg-config scdoc wayland-protocols
|
||||
(if (%current-target-system)
|
||||
|
@ -2349,7 +2367,7 @@ narrow the items to those matching the tokens in the input.")
|
|||
scenefx
|
||||
swaybg
|
||||
wayland
|
||||
wlroots))
|
||||
wlroots-0.18))
|
||||
(home-page "https://github.com/WillPower3309/swayfx")
|
||||
(synopsis "Sway Fork with extra options and effects")
|
||||
(description
|
||||
|
@ -3796,7 +3814,7 @@ read and write, and compatible with JSON.")
|
|||
(define-public labwc
|
||||
(package
|
||||
(name "labwc")
|
||||
(version "0.8.4")
|
||||
(version "0.9.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -3805,7 +3823,7 @@ read and write, and compatible with JSON.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1wbza00y2xf2zn34q5c8g5k2dn2xjzbbqmsnjv6c90mh2bbk1q95"))))
|
||||
"0p475vjn9gg314spf89di6i1l2lr9xx59mz4hq4shvbh64hr48pi"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config gettext-minimal scdoc))
|
||||
|
@ -3818,7 +3836,7 @@ read and write, and compatible with JSON.")
|
|||
libxcb
|
||||
libxml2
|
||||
pango
|
||||
wlroots))
|
||||
wlroots-0.19))
|
||||
(home-page "https://labwc.github.io")
|
||||
(synopsis "Window-stacking compositor for Wayland")
|
||||
(description
|
||||
|
@ -4484,7 +4502,7 @@ battery efficient---polling is only done when absolutely necessary.")
|
|||
(define-public wideriver
|
||||
(package
|
||||
(name "wideriver")
|
||||
(version "1.2.0")
|
||||
(version "1.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -4493,7 +4511,7 @@ battery efficient---polling is only done when absolutely necessary.")
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "16i0mzgxn32nrh5ajn0kb4xdwmsjg03amhasxhwyvspar5y4flhg"))))
|
||||
(base32 "1ljl1finfajinvrj073dbwk9vm352jwr6rm9vn5fkrqi296s1n8x"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -4504,7 +4522,7 @@ battery efficient---polling is only done when absolutely necessary.")
|
|||
#:phases #~(modify-phases %standard-phases
|
||||
(delete 'configure)))) ; no configure script
|
||||
(native-inputs (list pkg-config cmocka))
|
||||
(inputs (list wayland wayland-protocols wlroots))
|
||||
(inputs (list wayland wayland-protocols))
|
||||
(home-page "https://github.com/alex-courtis/wideriver")
|
||||
(synopsis "A set of riverWM layouts")
|
||||
(description
|
||||
|
@ -4555,7 +4573,7 @@ configure input, and customize Wayfire plugins.")
|
|||
mesa
|
||||
libxkbcommon
|
||||
libdrm
|
||||
wlroots))
|
||||
wlroots-0.18))
|
||||
(home-page "https://github.com/wlrfx/scenefx")
|
||||
(synopsis "Drop-in replacement for the wlroots scene API")
|
||||
(description
|
||||
|
|
|
@ -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
|
||||
|
@ -1975,19 +1921,13 @@ libxml2 and libxslt.")
|
|||
(sha256
|
||||
(base32 "03l86qr5xzvz0jcbk669sj8nbw1fjshmf0b7l83gl5cfnx81wm5i"))))
|
||||
(arguments
|
||||
(list #:phases
|
||||
(list #:tests? #f ;some tests fail with newer libxml2
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'relax-gcc-14-strictness
|
||||
(lambda _
|
||||
(setenv "CFLAGS"
|
||||
"-Wno-error=incompatible-pointer-types")))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(substitute* "src/lxml/tests/test_elementtree.py"
|
||||
;; AssertionError: Lists differ: [] != [('end', 'element')]
|
||||
(("def test_simple_xml") "def _do_not_test_simple_xml"))
|
||||
(invoke "make" "test"))))))))))
|
||||
"-Wno-error=incompatible-pointer-types")))))))))
|
||||
|
||||
(define-deprecated python-lxml-4.7 python-lxml)
|
||||
(export python-lxml-4.7)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -445,7 +445,7 @@ interface.")
|
|||
`(,@args #:install-source? #f))
|
||||
(chdir ".."))))))
|
||||
(propagated-inputs
|
||||
(list wlroots
|
||||
(list wlroots-0.18
|
||||
zig-pixman
|
||||
zig-wayland
|
||||
zig-xkbcommon))
|
||||
|
|
|
@ -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").
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue