mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
Compare commits
159 commits
38a7482eb5
...
23aa0bedd5
Author | SHA1 | Date | |
---|---|---|---|
|
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 | ||
|
283f64c9bb | ||
|
ed91db8a8c | ||
|
6c859f10ef | ||
|
d505b6fae3 | ||
|
da04b3bb42 | ||
|
3b55a14377 | ||
|
f5d61ca686 | ||
|
bb2dacd811 | ||
|
3c422c6111 | ||
|
f2c9dabec8 | ||
|
abc35bae81 | ||
|
8a69897b7e | ||
|
8f7837e104 | ||
|
054aae7bb2 | ||
|
d411aff611 | ||
|
e1038aee6d | ||
|
55b39642e2 | ||
|
e10da6bff8 | ||
|
67f5f23c88 | ||
|
d4c1dc6df5 | ||
|
771659666d | ||
|
04f3f640a2 | ||
|
6851e548a3 | ||
|
cb2c75aa92 | ||
|
d59508b9b4 | ||
|
1c22d29388 | ||
|
56e892e100 | ||
|
593cd7f73f | ||
|
d2d02faf18 | ||
|
3c96d9fb1e | ||
|
9a59e74bee | ||
|
35892a7a59 | ||
|
c04c7442f6 |
91 changed files with 2484 additions and 1916 deletions
131
doc/guix.texi
131
doc/guix.texi
|
@ -144,6 +144,7 @@ Copyright @copyright{} 2024 Evgeny Pisemsky@*
|
|||
Copyright @copyright{} 2025 jgart@*
|
||||
Copyright @copyright{} 2025 Artur Wroblewski@*
|
||||
Copyright @copyright{} 2025 Edouard Klein@*
|
||||
Copyright @copyright{} 2025 Rodion Goritskov@*
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
|
@ -26956,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))
|
||||
|
@ -26986,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
|
||||
|
@ -35700,6 +35725,80 @@ The file which should store the logging output of Agate.
|
|||
@end table
|
||||
@end deftp
|
||||
|
||||
@subsubheading Miniflux
|
||||
|
||||
@cindex miniflux
|
||||
The @uref{https://miniflux.app/, Miniflux} is a minimalist RSS feed reader
|
||||
with a web interface.
|
||||
|
||||
Depending on the configuration, an initial administrator user can be pre-created
|
||||
on startup. To enable this, @code{create-admin?} should be set to @code{#t}, and
|
||||
both @code{admin-username-file} and @code{admin-password-file} should point to
|
||||
files containing the username and password, respectively. However, it is
|
||||
recommended to manually change the password to a secure one via the web
|
||||
UI after the initial service startup.
|
||||
|
||||
@defvar miniflux-service-type
|
||||
This is the type of the Miniflux service. Its value
|
||||
must be a @code{miniflux-configuration} record as in this example:
|
||||
|
||||
@lisp
|
||||
(service miniflux-service-type
|
||||
(miniflux-configuration
|
||||
(listen-address "0.0.0.0:8080")
|
||||
(base-url "http://my-news-source.test")
|
||||
(create-administrator-account? #t)
|
||||
(administrator-account-name "/var/miniflux/initial-admin-username")
|
||||
(administrator-account-password "/var/miniflux/initial-admin-password")))
|
||||
@end lisp
|
||||
|
||||
The details of the @code{miniflux-configuration} record type are given below.
|
||||
|
||||
@end defvar
|
||||
|
||||
@deftp {Data Type} miniflux-configuration
|
||||
Available @code{miniflux-configuration} fields are:
|
||||
|
||||
@table @asis
|
||||
@item @code{listen-address} (default: @code{"127.0.0.1:8080"}) (type: string)
|
||||
Address to listen on.
|
||||
Use absolute path like @code{"/var/run/miniflux/miniflux.sock"} for a Unix socket.
|
||||
|
||||
@item @code{base-url} (default: @code{"http://127.0.0.1/"}) (type: string)
|
||||
Base URL to generate HTML links and base path for cookies.
|
||||
|
||||
@item @code{create-administrator-account?} (default: @code{#f}) (type: boolean)
|
||||
Create an initial administrator account.
|
||||
|
||||
@item @code{administrator-account-name} (type: maybe-string-or-file-path)
|
||||
Initial administrator account name as a string or an absolute path
|
||||
to a file with an account name inside.
|
||||
|
||||
@item @code{administrator-account-password} (type: maybe-string-or-file-path)
|
||||
Initial administrator account password as a string or an absolute path
|
||||
to a file with a password inside.
|
||||
|
||||
@item @code{run-migrations?} (default: @code{#t}) (type: boolean)
|
||||
Run database migrations during application startup.
|
||||
|
||||
@item @code{database-url} (default: @code{"host=/var/run/postgresql"}) (type: string)
|
||||
PostgreSQL connection string.
|
||||
|
||||
@item @code{user} (default: @code{"miniflux"}) (type: string)
|
||||
User name for Postgresql and system account.
|
||||
|
||||
@item @code{group} (default: @code{"miniflux"}) (type: string)
|
||||
Group for the system account.
|
||||
|
||||
@item @code{log-file} (default: @code{"/var/log/miniflux.log"}) (type: string)
|
||||
Path to the log file.
|
||||
|
||||
@item @code{extra-settings} (type: maybe-list)
|
||||
Extra configuration parameters as a list of strings.
|
||||
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
@node High Availability Services
|
||||
@subsection High Availability Services
|
||||
|
||||
|
|
|
@ -1058,8 +1058,8 @@ the \"texlive\" importer."
|
|||
(define-member (person "Ludovic Courtès"
|
||||
"ludo@gnu.org"
|
||||
"civodul")
|
||||
core home bootstrap core-packages installer
|
||||
documentation mentors)
|
||||
core core-packages hpc installer
|
||||
mentors)
|
||||
|
||||
(define-member (person "Andreas Enge"
|
||||
"andreas@enge.fr"
|
||||
|
|
|
@ -168,7 +168,7 @@
|
|||
(lambda (e)
|
||||
(or (member e
|
||||
'("no-warn" "whole-window" "border" "exclude-titlebar"
|
||||
"release" "locked" "inhibited" "no-repeat"))
|
||||
"release" "locked" "to-code" "inhibited" "no-repeat"))
|
||||
(string-prefix? "input-device=" e)))
|
||||
lst))
|
||||
|
||||
|
@ -177,7 +177,7 @@
|
|||
(lambda (e)
|
||||
(or (member e
|
||||
'("no-warn" "whole-window" "border" "exclude-titlebar"
|
||||
"release" "locked" "to-code" "inhibited" "no-repeat"))
|
||||
"release" "locked" "inhibited" "no-repeat"))
|
||||
(string-prefix? "input-device=" e)))
|
||||
lst))
|
||||
|
||||
|
|
13
gnu/local.mk
13
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 \
|
||||
|
@ -2460,6 +2468,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/xfce4-settings-defaults.patch \
|
||||
%D%/packages/patches/xgboost-use-system-dmlc-core.patch \
|
||||
%D%/packages/patches/xinit-startx-mcookie-path.patch \
|
||||
%D%/packages/patches/xiphos-glib.patch \
|
||||
%D%/packages/patches/xmonad-dynamic-linking.patch \
|
||||
%D%/packages/patches/xplanet-1.3.1-cxx11-eof.patch \
|
||||
%D%/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch \
|
||||
|
|
|
@ -601,8 +601,13 @@ interface and is based on GNU Guile.")
|
|||
"/bin/gzip")
|
||||
(string-append "--with-zstd=" #$(this-package-input "zstd")
|
||||
"/bin/zstd")))))
|
||||
(inputs (modify-inputs (package-inputs shepherd-0.10)
|
||||
(append gzip zstd)))))
|
||||
(native-inputs
|
||||
(modify-inputs (package-native-inputs shepherd-0.10)
|
||||
(replace "guile-fibers" guile-fibers))) ;use latest guile-fibers available
|
||||
(inputs
|
||||
(modify-inputs (package-inputs shepherd-0.10)
|
||||
(replace "guile-fibers" guile-fibers) ;use latest guile-fibers available
|
||||
(append gzip zstd)))))
|
||||
|
||||
(define-public shepherd shepherd-0.10)
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -2204,26 +2204,38 @@ intended to behave exactly the same as the original BWK awk.")
|
|||
(define-public python-bcbio-gff
|
||||
(package
|
||||
(name "python-bcbio-gff")
|
||||
(version "0.6.9")
|
||||
;; python-bcbio-gff can only be refreshed manually, because guix refresh
|
||||
;; does not understand the tags on the github repository.
|
||||
(version "0.7.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "bcbio-gff" version))
|
||||
;; No tests in PyPI package.
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/chapmanb/bcbb")
|
||||
(commit (string-append "bcbio-gff-v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1pm1szyxabhn8jismrj9cjhf88ajgcmm39f0cgf36iagw5qakprl"))))
|
||||
"0144xxzibq4mrg8a1w2scs120rd9svq07hm5ccs91n3a4nvwjfsd"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'enter-directory
|
||||
(lambda _ (chdir "gff"))))))
|
||||
(native-inputs
|
||||
(list python-pytest))
|
||||
(list python-setuptools python-pytest))
|
||||
(propagated-inputs
|
||||
(list python-biopython
|
||||
python-setuptools
|
||||
python-six
|
||||
python-wheel))
|
||||
python-six))
|
||||
(home-page "https://github.com/chapmanb/bcbb/tree/master/gff")
|
||||
(synopsis "Read and write GFF files with Biopython integration")
|
||||
(description
|
||||
"This package lets you read and write files in Generic Feature
|
||||
Format (GFF) with Biopython integration.")
|
||||
(properties
|
||||
'((upstream-name . "bcbio-gff")))
|
||||
(license (license:non-copyleft "http://www.biopython.org/DIST/LICENSE"))))
|
||||
|
||||
(define-public python-bcbio-gff/biopython-1.73
|
||||
|
@ -8691,52 +8703,48 @@ comment or quality sections.")
|
|||
(define-public gemma
|
||||
(package
|
||||
(name "gemma")
|
||||
(version "v0.98.5")
|
||||
(version "0.98.5")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/genetics-statistics/GEMMA")
|
||||
(commit version)))
|
||||
(url "https://github.com/genetics-statistics/GEMMA")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1dm8pf1fbdmv2yiz5aybcvk3050m5350gq8xlr4j6swzm3wwhydn"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(delete-file-recursively "contrib")
|
||||
#t))))
|
||||
#~(begin
|
||||
(delete-file-recursively "contrib")))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list gsl openblas zlib))
|
||||
(native-inputs
|
||||
`(("catch" ,catch2-1)
|
||||
("perl" ,perl)
|
||||
("shunit2" ,shunit2)
|
||||
("which" ,which)))
|
||||
(list catch2-1
|
||||
perl
|
||||
shunit2
|
||||
which))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'unpack 'prepare-build
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(mkdir-p "bin")
|
||||
(substitute* "Makefile"
|
||||
(("/usr/local/opt/openblas")
|
||||
(assoc-ref inputs "openblas")))
|
||||
#t))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
;; 'make slow-check' expects shunit2-2.0.3.
|
||||
(with-directory-excursion "test"
|
||||
(invoke "./test_suite.sh"))
|
||||
#t)))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(install-file "bin/gemma"
|
||||
(string-append (assoc-ref outputs "out") "/bin"))
|
||||
#t)))))
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'unpack 'prepare-build
|
||||
(lambda _
|
||||
(mkdir-p "bin")
|
||||
(substitute* "Makefile"
|
||||
(("/usr/local/opt/openblas")
|
||||
#$(this-package-input "openblas")))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
;; 'make slow-check' expects shunit2-2.0.3.
|
||||
(with-directory-excursion "test"
|
||||
(invoke "./test_suite.sh")))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(install-file "bin/gemma" (string-append #$output "/bin")))))))
|
||||
(home-page "https://github.com/genetics-statistics/GEMMA")
|
||||
(synopsis "Tool for genome-wide efficient mixed model association")
|
||||
(description
|
||||
|
@ -23592,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")
|
||||
|
|
|
@ -31,18 +31,29 @@
|
|||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages cpp)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages fonts)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages inkscape)
|
||||
#:use-module (gnu packages icu4c)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages music)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages tex)
|
||||
#:use-module (gnu packages texlive)
|
||||
#:use-module (gnu packages version-control))
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages webkit)
|
||||
#:use-module (gnu packages xml))
|
||||
|
||||
(define-public book-sparc
|
||||
(package
|
||||
|
@ -170,3 +181,49 @@ is available in Russian and English.")
|
|||
"The SWORD Project is a free Bible software project used to create Bible
|
||||
software, with support for multiple texts and languages.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public xiphos
|
||||
(package
|
||||
(name "xiphos")
|
||||
(version "4.3.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/crosswire/xiphos")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "15p8ahbcd8vjm1ch0wahjfj20agd06va8rvgw1awnyzkcw2xsf8x"))
|
||||
(patches (search-patches "xiphos-glib.patch"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs (list appstream
|
||||
appstream-glib
|
||||
atk
|
||||
biblesync
|
||||
desktop-file-utils ;for 'desktop-file-validate'
|
||||
(list glib "bin")
|
||||
gettext-minimal
|
||||
gsettings-desktop-schemas
|
||||
gtk+
|
||||
libgsf
|
||||
minizip
|
||||
pkg-config
|
||||
sword
|
||||
util-linux ;for 'uuidgen'
|
||||
(list util-linux "lib") ;for 'libuuid'
|
||||
webkitgtk-with-libsoup2
|
||||
yelp-tools
|
||||
zip))
|
||||
(inputs (list dbus dbus-glib libxml2 python python-lxml))
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f)) ;No tests
|
||||
(home-page "https://xiphos.org/")
|
||||
(synopsis "Open Source Bible Study Software")
|
||||
(description
|
||||
"Xiphos is a Bible study tool using GTK. It uses Sword to
|
||||
display bibles, commentaries, dictionaries, and other texts and images.
|
||||
Xiphos includes features such as searching, biblesync, bookmarks,
|
||||
parallel study, and original language study.")
|
||||
(license license:gpl2+)))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -211,7 +211,7 @@ client.")
|
|||
python-docker-5
|
||||
python-dockerpty
|
||||
python-docopt
|
||||
python-dotenv
|
||||
python-dotenv-0.13.0
|
||||
python-jsonschema-3
|
||||
python-pyyaml
|
||||
python-requests
|
||||
|
|
|
@ -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")))
|
||||
|
|
|
@ -172,7 +172,7 @@ information.")
|
|||
(arguments
|
||||
`(#:tests? #f ; No tests exist.
|
||||
#:make-flags
|
||||
'("CC=gcc")
|
||||
'("CC=gcc -g -O2 -Wno-error=implicit-function-declaration")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -4555,11 +4555,11 @@ cache visualization. Developed at FEE CTU for computer architecture classes.")
|
|||
(license license:zlib)))
|
||||
|
||||
(define-public uxn
|
||||
(let ((commit "83237c9641490d303a42c81ca247314d11055dea")
|
||||
(let ((commit "f2e858273890abcffe7451b0566669e610036f49")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "uxn")
|
||||
(version (git-version "0.1.0" revision commit))
|
||||
(version (git-version "1.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -4568,7 +4568,7 @@ cache visualization. Developed at FEE CTU for computer architecture classes.")
|
|||
(file-name (string-append name "-" version))
|
||||
(sha256
|
||||
(base32
|
||||
"159qfz66k1jc43jhyl8by3yiphsr2dyiyclw1x7mkr3zciwc29z3"))))
|
||||
"1li0ly8di2vpzvi3wzlcm355dg38m6sfp0i6mryp9x4ibq7kqmy0"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f ;no tests
|
||||
|
@ -4584,12 +4584,10 @@ cache visualization. Developed at FEE CTU for computer architecture classes.")
|
|||
(share (string-append #$output
|
||||
"/share/uxn")))
|
||||
(with-directory-excursion "bin"
|
||||
(for-each (lambda (x)
|
||||
(install-file x bin))
|
||||
'("uxnasm" "uxncli" "uxnemu"))
|
||||
(for-each (lambda (x)
|
||||
(install-file x share))
|
||||
'("asma.rom" "launcher.rom")))))))))
|
||||
(for-each
|
||||
(lambda (x)
|
||||
(install-file x bin))
|
||||
'("uxnasm" "uxncli" "uxnemu")))))))))
|
||||
(inputs (list sdl2))
|
||||
(home-page "https://100r.co/site/uxn.html")
|
||||
(synopsis "Assembler and emulator for the Uxn stack-machine")
|
||||
|
|
|
@ -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/")
|
||||
|
|
|
@ -561,6 +561,7 @@ directories.
|
|||
@dfn{Enlightenment Foundation Libraries} (EFL).")
|
||||
(license license:bsd-2)))
|
||||
|
||||
;; XXX: See: <https://codeberg.org/guix/guix/issues/3014>.
|
||||
(define-public epour
|
||||
(package
|
||||
(name "epour")
|
||||
|
@ -583,8 +584,8 @@ directories.
|
|||
(substitute* "epour/gui/__init__.py"
|
||||
(("join\\(data_path")
|
||||
(string-append "join(\"" #$output "/share/epour\""))))))))
|
||||
(native-inputs (list intltool python-distutils-extra python-setuptools
|
||||
python-wheel))
|
||||
(native-inputs (list intltool python-distutils-extra python-setuptools-67
|
||||
python-wheel-0.40))
|
||||
(inputs (list libtorrent-rasterbar-1.2 python-dbus python-efl python-pyxdg))
|
||||
(home-page "https://www.enlightenment.org")
|
||||
(synopsis "EFL Bittorrent client")
|
||||
|
|
|
@ -799,6 +799,11 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.")
|
|||
(substitute* "electroncash/secp256k1.py"
|
||||
(("libsecp256k1.so.0")
|
||||
(search-input-file inputs "lib/libsecp256k1.so.0")))))
|
||||
(add-after 'unpack 'relax-requirements
|
||||
(lambda _
|
||||
(substitute* "contrib/requirements/requirements.txt"
|
||||
(("python-dateutil<2\\.9")
|
||||
"python-dateutil"))))
|
||||
(add-after 'install 'wrap-qt
|
||||
(lambda* (#:key outputs inputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
|
|
|
@ -176,6 +176,29 @@ source code legibility.")
|
|||
Mono, Iosevka customized to match Inter.")
|
||||
(license license:silofl1.1)))
|
||||
|
||||
(define-public font-alcarin-tengwar
|
||||
(let ((commit "a4530d430ea01871b0b0a54d1de218d2ffde0ea5")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "font-alcarin-tengwar")
|
||||
(version "0.83")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Tosche/Alcarin-Tengwar")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"190g43y7b8kiswnc3d1mdyw7p336p950b5wyb8hnbd3303ccjlsv"))))
|
||||
(build-system font-build-system)
|
||||
(home-page "https://tosche.net/fonts/alcarin-tengwar")
|
||||
(synopsis "Tengwar font")
|
||||
(description
|
||||
"Alcarin Tengwar is a Tengwar (script invented by J. R. R. Tolkien)
|
||||
typeface. It is designed with an academic context in mind.")
|
||||
(license license:silofl1.1))))
|
||||
|
||||
(define-public font-arapey
|
||||
(let ((commit "28fa45c7f31afe62f577b0b857570ab0326b9113")
|
||||
(revision "1"))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2025 Andy Tai <atai@atai.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -20,19 +21,22 @@
|
|||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix licenses))
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages pkg-config))
|
||||
|
||||
|
||||
(define-public gcal
|
||||
(package
|
||||
(name "gcal")
|
||||
(version "4.1")
|
||||
(version "4.2.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gcal/gcal-"
|
||||
(uri (string-append "https://www.alteholz.dev/gnu/gcal-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1av11zkfirbixn05hyq4xvilin0ncddfjqzc4zd9pviyp506rdci"))
|
||||
"1p3q6his31bxs24nsgpfavw3nlhalqf0zak4f3b530p725s2vgfq"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -50,6 +54,8 @@
|
|||
"/* BSD stdio derived implementations")))
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs (list check pkg-config))
|
||||
(arguments `(#:configure-flags '("LDFLAGS=-lm")))
|
||||
(home-page "https://www.gnu.org/software/gcal/")
|
||||
(synopsis "Calculating and printing a wide variety of calendars")
|
||||
(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
|
||||
|
|
|
@ -1189,7 +1189,20 @@ is not available for Guile 2.0.")
|
|||
(base32
|
||||
"15ynxr3pfjscd6mz641zagv6i84jh9y65i5dnbb3j3q72j6bbvnb"))
|
||||
(patches '())))
|
||||
(arguments '())))
|
||||
(arguments
|
||||
(if (target-aarch64?)
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'disable-jit
|
||||
(lambda _
|
||||
;; XXX: Due to a JIT bug in Guile 3.0.9 on AArch64,
|
||||
;; some tests would hang:
|
||||
;; <https://codeberg.org/fibers/fibers/issues/83>.
|
||||
;; Disable JIT for now; re-enable it when Guile 3.0.10+
|
||||
;; is used. (Note: The Shepherd disables JIT on
|
||||
;; AArch64 so it can safely use Fibers.)
|
||||
(setenv "GUILE_JIT_THRESHOLD" "-1")))))
|
||||
'()))))
|
||||
|
||||
(define-public guile-fibers guile-fibers-1.4)
|
||||
|
||||
|
|
|
@ -502,7 +502,7 @@ without requiring the source code to be rewritten.")
|
|||
;; The main goal here is to allow for '--with-branch'.
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.savannah.gnu.org/git/guile.git")
|
||||
(url "https://codeberg.org/guile/guile.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -6121,12 +6121,14 @@ simple speech recognition.")
|
|||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-backend #~'custom
|
||||
#:test-flags #~(list "../../tests/from_words_to_digits.py")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _
|
||||
(chdir "package/python"))))))
|
||||
(native-inputs (list python-setuptools python-wheel))
|
||||
(native-inputs (list python-setuptools))
|
||||
(propagated-inputs (list python-vosk))
|
||||
(home-page "https://github.com/ideasman42/nerd-dictation")
|
||||
(synopsis "Offline speech-to-text for desktop Linux")
|
||||
|
|
|
@ -4353,16 +4353,16 @@ It is a replacement for the @command{urlview} program.")
|
|||
(define-public mumi
|
||||
(package
|
||||
(name "mumi")
|
||||
(version "0.13.0")
|
||||
(version "0.14.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.savannah.gnu.org/git/guix/mumi.git/")
|
||||
(url "https://codeberg.org/guix/mumi.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"04mcd1xkdpvxlvpf4k4mvnwi06sdy8vy1di6gxxsr9msgdb366ir"))))
|
||||
"1v5gjzh8idz926518c0bv0qsmyggr6lvqn5vksf5j0qdh6r6dar7"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -8206,37 +8206,36 @@ instruction sets. Thus, an application written with Vc can be compiled for:
|
|||
(define-public reducelcs
|
||||
;; This is the last commit which is available upstream, no
|
||||
;; release happened since 2010.
|
||||
(let ((commit "474f88deb968061abe8cf11c959e02319b8ae5c0")
|
||||
(revision "1"))
|
||||
(let ((commit "963f74f7279ba6fc0ea7d8ddfd361ea190c80313")
|
||||
(revision "2"))
|
||||
(package
|
||||
(name "reducelcs")
|
||||
(version (string-append "1.0-" revision "." (string-take commit 7)))
|
||||
(version (git-version "1.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/gdv/Reduce-Expand-for-LCS")
|
||||
(commit commit)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1rllzcfwc042c336mhq262a8ha90x6afq30kvk60r7i4761j4yjm"))))
|
||||
"03chvd9wb2z08r7ka2npr49dbimjvzn2gfm7cnp5l079vbw1dfny"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list openlibm))
|
||||
(inputs (list openlibm))
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure) ; No configure script exists.
|
||||
(replace 'install ; No install phase exists.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin")))
|
||||
(install-file "Approximation" bin)
|
||||
(install-file "CollectResults" bin)
|
||||
(install-file "GenerateInstances" bin)
|
||||
#t))))))
|
||||
(list
|
||||
#:tests? #f ; no tests
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure) ; No configure script exists.
|
||||
(replace 'install ; No install phase exists.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin")))
|
||||
(install-file "Approximation" bin)
|
||||
(install-file "CollectResults" bin)
|
||||
(install-file "GenerateInstances" bin)))))))
|
||||
(synopsis "Approximate Longest Commons Subsequence computation tool")
|
||||
(description
|
||||
"@code{reduceLCS} is an implementation of the Reduce-Expand
|
||||
|
|
|
@ -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.")
|
||||
|
|
|
@ -4206,8 +4206,8 @@ websites such as Libre.fm.")
|
|||
(license license:asl2.0)))
|
||||
|
||||
(define-public instantmusic
|
||||
(let ((commit "300891d09c703525215fa5a116b9294af1c923c8")
|
||||
(revision "1"))
|
||||
(let ((commit "0477dd310e0aeb11d4d113bb96baa40d824cc330")
|
||||
(revision "2"))
|
||||
(package
|
||||
(name "instantmusic")
|
||||
(version (git-version "1.0" revision commit))
|
||||
|
@ -4219,10 +4219,11 @@ websites such as Libre.fm.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0j7qivaa04bpdz3anmgci5833dgiyfqqwq9fdrpl9m68b34gl773"))))
|
||||
"0pxp1h0q4j7bidgdh4wgrvnm4ckdr4bvgk1wccr02mynfsjq8x5c"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no tests
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'change-directory
|
||||
|
@ -4243,7 +4244,7 @@ websites such as Libre.fm.")
|
|||
(chmod file #o644))
|
||||
(find-files "instantmusic.egg-info"
|
||||
"PKG-INFO|.*\\.txt")))))))
|
||||
(native-inputs (list python-setuptools python-wheel))
|
||||
(native-inputs (list python-setuptools))
|
||||
(inputs (list yt-dlp))
|
||||
(propagated-inputs (list python-requests eyed3 python-beautifulsoup4))
|
||||
(home-page "https://github.com/yask123/Instant-Music-Downloader")
|
||||
|
@ -6089,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
|
||||
|
|
|
@ -1470,14 +1470,15 @@ Knuth’s LR(1) parser construction technique.")
|
|||
(wrap-program (string-append #$output "/bin/" "binsec")
|
||||
`("OCAMLPATH" ":" prefix ,ocamlpath))))))))
|
||||
(inputs (list bash-minimal))
|
||||
(native-inputs (list gmp ocaml-qcheck ocaml-ounit2))
|
||||
(native-inputs (list gmp ocaml-qcheck ocaml-ounit2 z3))
|
||||
(propagated-inputs (list dune-site
|
||||
ocaml-base
|
||||
ocaml-menhir
|
||||
ocaml-graph
|
||||
ocaml-zarith
|
||||
ocaml-grain-dypgen
|
||||
ocaml-toml))
|
||||
ocaml-toml
|
||||
ocaml-z3))
|
||||
(synopsis "Binary-level analysis platform")
|
||||
(description
|
||||
"BINSEC is a binary analysis platform which implements analysis
|
||||
|
|
|
@ -213,7 +213,7 @@ default. To add support for more languages, the
|
|||
leptonica
|
||||
podofo
|
||||
poppler-qt5
|
||||
sane-backends
|
||||
sane
|
||||
qtbase-5
|
||||
qtspell
|
||||
quazip-5
|
||||
|
|
|
@ -1931,7 +1931,7 @@ This package just includes the agent component.")))
|
|||
(define-public guix-jupyter
|
||||
(package
|
||||
(name "guix-jupyter")
|
||||
(version "0.3.0")
|
||||
(version "0.3.1")
|
||||
(home-page "https://codeberg.org/guix-science/guix-jupyter")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
|
@ -1939,7 +1939,7 @@ This package just includes the agent component.")))
|
|||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"0cvjxv60la2bqmwb7m2bfpvjy8hx1hmjk2qy9wfzaffcabgr0x44"))
|
||||
"1yvrmaj4qcb9vn2nfjz1q0cil830hvmxpp8cgi76aylbnv36aask"))
|
||||
(file-name (string-append "guix-jupyter-" version "-checkout"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
|
|
@ -1,529 +0,0 @@
|
|||
From 373924d728b61cf6dec9c8a1a1edeb4b9f342529 Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
Date: Fri, 27 Sep 2024 17:03:10 +0200
|
||||
Subject: [PATCH] gnu: cups-minimal: Address PPD injection issues.
|
||||
|
||||
This patch combines 5 upstream commits:
|
||||
9939a70b750edd9d05270060cc5cf62ca98cfbe5
|
||||
04bb2af4521b56c1699a2c2431c56c05a7102e69
|
||||
e0630cd18f76340d302000f2bf6516e99602b844
|
||||
1e6ca5913eceee906038bc04cc7ccfbe2923bdfd
|
||||
2abe1ba8a66864aa82cd9836b37e57103b8e1a3b
|
||||
---
|
||||
cups/ppd-cache.c | 235 +++++++++++++++++++++++++++++++++--------------
|
||||
scheduler/ipp.c | 9 +-
|
||||
2 files changed, 174 insertions(+), 70 deletions(-)
|
||||
|
||||
diff --git a/cups/ppd-cache.c b/cups/ppd-cache.c
|
||||
index e750fccd4..d2533b731 100644
|
||||
--- a/cups/ppd-cache.c
|
||||
+++ b/cups/ppd-cache.c
|
||||
@@ -32,6 +32,7 @@
|
||||
static int cups_connect(http_t **http, const char *url, char *resource, size_t ressize);
|
||||
static int cups_get_url(http_t **http, const char *url, char *name, size_t namesize);
|
||||
static const char *ppd_inputslot_for_keyword(_ppd_cache_t *pc, const char *keyword);
|
||||
+static void ppd_put_string(cups_file_t *fp, cups_lang_t *lang, cups_array_t *strings, const char *ppd_option, const char *ppd_choice, const char *pwg_msgid);
|
||||
static void pwg_add_finishing(cups_array_t *finishings, ipp_finishings_t template, const char *name, const char *value);
|
||||
static void pwg_add_message(cups_array_t *a, const char *msg, const char *str);
|
||||
static int pwg_compare_finishings(_pwg_finishings_t *a, _pwg_finishings_t *b);
|
||||
@@ -3197,9 +3198,10 @@ _ppdCreateFromIPP2(
|
||||
ipp_t *media_col, /* Media collection */
|
||||
*media_size; /* Media size collection */
|
||||
char make[256], /* Make and model */
|
||||
- *model, /* Model name */
|
||||
+ *mptr, /* Pointer into make and model */
|
||||
ppdname[PPD_MAX_NAME];
|
||||
/* PPD keyword */
|
||||
+ const char *model; /* Model name */
|
||||
int i, j, /* Looping vars */
|
||||
count, /* Number of values */
|
||||
bottom, /* Largest bottom margin */
|
||||
@@ -3221,8 +3223,7 @@ _ppdCreateFromIPP2(
|
||||
int have_qdraft = 0,/* Have draft quality? */
|
||||
have_qhigh = 0; /* Have high quality? */
|
||||
char msgid[256]; /* Message identifier (attr.value) */
|
||||
- const char *keyword, /* Keyword value */
|
||||
- *msgstr; /* Localized string */
|
||||
+ const char *keyword; /* Keyword value */
|
||||
cups_array_t *strings = NULL;/* Printer strings file */
|
||||
struct lconv *loc = localeconv();
|
||||
/* Locale data */
|
||||
@@ -3260,34 +3261,104 @@ _ppdCreateFromIPP2(
|
||||
}
|
||||
|
||||
/*
|
||||
- * Standard stuff for PPD file...
|
||||
+ * Get a sanitized make and model...
|
||||
*/
|
||||
|
||||
- cupsFilePuts(fp, "*PPD-Adobe: \"4.3\"\n");
|
||||
- cupsFilePuts(fp, "*FormatVersion: \"4.3\"\n");
|
||||
- cupsFilePrintf(fp, "*FileVersion: \"%d.%d\"\n", CUPS_VERSION_MAJOR, CUPS_VERSION_MINOR);
|
||||
- cupsFilePuts(fp, "*LanguageVersion: English\n");
|
||||
- cupsFilePuts(fp, "*LanguageEncoding: ISOLatin1\n");
|
||||
- cupsFilePuts(fp, "*PSVersion: \"(3010.000) 0\"\n");
|
||||
- cupsFilePuts(fp, "*LanguageLevel: \"3\"\n");
|
||||
- cupsFilePuts(fp, "*FileSystem: False\n");
|
||||
- cupsFilePuts(fp, "*PCFileName: \"ippeve.ppd\"\n");
|
||||
+ if ((attr = ippFindAttribute(supported, "printer-make-and-model", IPP_TAG_TEXT)) != NULL && ippValidateAttribute(attr))
|
||||
+ {
|
||||
+ /*
|
||||
+ * Sanitize the model name to only contain PPD-safe characters.
|
||||
+ */
|
||||
|
||||
- if ((attr = ippFindAttribute(supported, "printer-make-and-model", IPP_TAG_TEXT)) != NULL)
|
||||
strlcpy(make, ippGetString(attr, 0, NULL), sizeof(make));
|
||||
+
|
||||
+ for (mptr = make; *mptr; mptr ++)
|
||||
+ {
|
||||
+ if (*mptr < ' ' || *mptr >= 127 || *mptr == '\"')
|
||||
+ {
|
||||
+ /*
|
||||
+ * Truncate the make and model on the first bad character...
|
||||
+ */
|
||||
+
|
||||
+ *mptr = '\0';
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ while (mptr > make)
|
||||
+ {
|
||||
+ /*
|
||||
+ * Strip trailing whitespace...
|
||||
+ */
|
||||
+
|
||||
+ mptr --;
|
||||
+ if (*mptr == ' ')
|
||||
+ *mptr = '\0';
|
||||
+ }
|
||||
+
|
||||
+ if (!make[0])
|
||||
+ {
|
||||
+ /*
|
||||
+ * Use a default make and model if nothing remains...
|
||||
+ */
|
||||
+
|
||||
+ strlcpy(make, "Unknown", sizeof(make));
|
||||
+ }
|
||||
+ }
|
||||
else
|
||||
- strlcpy(make, "Unknown Printer", sizeof(make));
|
||||
+ {
|
||||
+ /*
|
||||
+ * Use a default make and model...
|
||||
+ */
|
||||
+
|
||||
+ strlcpy(make, "Unknown", sizeof(make));
|
||||
+ }
|
||||
|
||||
if (!_cups_strncasecmp(make, "Hewlett Packard ", 16) || !_cups_strncasecmp(make, "Hewlett-Packard ", 16))
|
||||
{
|
||||
+ /*
|
||||
+ * Normalize HP printer make and model...
|
||||
+ */
|
||||
+
|
||||
model = make + 16;
|
||||
strlcpy(make, "HP", sizeof(make));
|
||||
+
|
||||
+ if (!_cups_strncasecmp(model, "HP ", 3))
|
||||
+ model += 3;
|
||||
+ }
|
||||
+ else if ((mptr = strchr(make, ' ')) != NULL)
|
||||
+ {
|
||||
+ /*
|
||||
+ * Separate "MAKE MODEL"...
|
||||
+ */
|
||||
+
|
||||
+ while (*mptr && *mptr == ' ')
|
||||
+ *mptr++ = '\0';
|
||||
+
|
||||
+ model = mptr;
|
||||
}
|
||||
- else if ((model = strchr(make, ' ')) != NULL)
|
||||
- *model++ = '\0';
|
||||
else
|
||||
- model = make;
|
||||
+ {
|
||||
+ /*
|
||||
+ * No separate model name...
|
||||
+ */
|
||||
|
||||
+ model = "Printer";
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
+ * Standard stuff for PPD file...
|
||||
+ */
|
||||
+
|
||||
+ cupsFilePuts(fp, "*PPD-Adobe: \"4.3\"\n");
|
||||
+ cupsFilePuts(fp, "*FormatVersion: \"4.3\"\n");
|
||||
+ cupsFilePrintf(fp, "*FileVersion: \"%d.%d\"\n", CUPS_VERSION_MAJOR, CUPS_VERSION_MINOR);
|
||||
+ cupsFilePuts(fp, "*LanguageVersion: English\n");
|
||||
+ cupsFilePuts(fp, "*LanguageEncoding: ISOLatin1\n");
|
||||
+ cupsFilePuts(fp, "*PSVersion: \"(3010.000) 0\"\n");
|
||||
+ cupsFilePuts(fp, "*LanguageLevel: \"3\"\n");
|
||||
+ cupsFilePuts(fp, "*FileSystem: False\n");
|
||||
+ cupsFilePuts(fp, "*PCFileName: \"ippeve.ppd\"\n");
|
||||
cupsFilePrintf(fp, "*Manufacturer: \"%s\"\n", make);
|
||||
cupsFilePrintf(fp, "*ModelName: \"%s\"\n", model);
|
||||
cupsFilePrintf(fp, "*Product: \"(%s)\"\n", model);
|
||||
@@ -3317,13 +3388,13 @@ _ppdCreateFromIPP2(
|
||||
}
|
||||
cupsFilePuts(fp, "\"\n");
|
||||
|
||||
- if ((attr = ippFindAttribute(supported, "printer-more-info", IPP_TAG_URI)) != NULL)
|
||||
+ if ((attr = ippFindAttribute(supported, "printer-more-info", IPP_TAG_URI)) != NULL && ippValidateAttribute(attr))
|
||||
cupsFilePrintf(fp, "*APSupplies: \"%s\"\n", ippGetString(attr, 0, NULL));
|
||||
|
||||
- if ((attr = ippFindAttribute(supported, "printer-charge-info-uri", IPP_TAG_URI)) != NULL)
|
||||
+ if ((attr = ippFindAttribute(supported, "printer-charge-info-uri", IPP_TAG_URI)) != NULL && ippValidateAttribute(attr))
|
||||
cupsFilePrintf(fp, "*cupsChargeInfoURI: \"%s\"\n", ippGetString(attr, 0, NULL));
|
||||
|
||||
- if ((attr = ippFindAttribute(supported, "printer-strings-uri", IPP_TAG_URI)) != NULL)
|
||||
+ if ((attr = ippFindAttribute(supported, "printer-strings-uri", IPP_TAG_URI)) != NULL && ippValidateAttribute(attr))
|
||||
{
|
||||
http_t *http = NULL; /* Connection to printer */
|
||||
char stringsfile[1024]; /* Temporary strings file */
|
||||
@@ -3367,7 +3438,7 @@ _ppdCreateFromIPP2(
|
||||
|
||||
response = cupsDoRequest(http, request, resource);
|
||||
|
||||
- if ((attr = ippFindAttribute(response, "printer-strings-uri", IPP_TAG_URI)) != NULL)
|
||||
+ if ((attr = ippFindAttribute(response, "printer-strings-uri", IPP_TAG_URI)) != NULL && ippValidateAttribute(attr))
|
||||
cupsFilePrintf(fp, "*cupsStringsURI %s: \"%s\"\n", keyword, ippGetString(attr, 0, NULL));
|
||||
|
||||
ippDelete(response);
|
||||
@@ -3389,10 +3460,10 @@ _ppdCreateFromIPP2(
|
||||
if (ippGetBoolean(ippFindAttribute(supported, "job-accounting-user-id-supported", IPP_TAG_BOOLEAN), 0))
|
||||
cupsFilePuts(fp, "*cupsJobAccountingUserId: True\n");
|
||||
|
||||
- if ((attr = ippFindAttribute(supported, "printer-privacy-policy-uri", IPP_TAG_URI)) != NULL)
|
||||
+ if ((attr = ippFindAttribute(supported, "printer-privacy-policy-uri", IPP_TAG_URI)) != NULL && ippValidateAttribute(attr))
|
||||
cupsFilePrintf(fp, "*cupsPrivacyURI: \"%s\"\n", ippGetString(attr, 0, NULL));
|
||||
|
||||
- if ((attr = ippFindAttribute(supported, "printer-mandatory-job-attributes", IPP_TAG_KEYWORD)) != NULL)
|
||||
+ if ((attr = ippFindAttribute(supported, "printer-mandatory-job-attributes", IPP_TAG_KEYWORD)) != NULL && ippValidateAttribute(attr))
|
||||
{
|
||||
char prefix = '\"'; // Prefix for string
|
||||
|
||||
@@ -3410,7 +3481,7 @@ _ppdCreateFromIPP2(
|
||||
cupsFilePuts(fp, "\"\n");
|
||||
}
|
||||
|
||||
- if ((attr = ippFindAttribute(supported, "printer-requested-job-attributes", IPP_TAG_KEYWORD)) != NULL)
|
||||
+ if ((attr = ippFindAttribute(supported, "printer-requested-job-attributes", IPP_TAG_KEYWORD)) != NULL && ippValidateAttribute(attr))
|
||||
{
|
||||
char prefix = '\"'; // Prefix for string
|
||||
|
||||
@@ -3973,18 +4044,16 @@ _ppdCreateFromIPP2(
|
||||
cupsFilePrintf(fp, "*DefaultInputSlot: %s\n", ppdname);
|
||||
|
||||
for (j = 0; j < (int)(sizeof(sources) / sizeof(sources[0])); j ++)
|
||||
+ {
|
||||
if (!strcmp(sources[j], keyword))
|
||||
{
|
||||
snprintf(msgid, sizeof(msgid), "media-source.%s", keyword);
|
||||
|
||||
- if ((msgstr = _cupsLangString(lang, msgid)) == msgid || !strcmp(msgid, msgstr))
|
||||
- if ((msgstr = _cupsMessageLookup(strings, msgid)) == msgid)
|
||||
- msgstr = keyword;
|
||||
-
|
||||
cupsFilePrintf(fp, "*InputSlot %s: \"<</MediaPosition %d>>setpagedevice\"\n", ppdname, j);
|
||||
- cupsFilePrintf(fp, "*%s.InputSlot %s/%s: \"\"\n", lang->language, ppdname, msgstr);
|
||||
+ ppd_put_string(fp, lang, strings, "InputSlot", ppdname, msgid);
|
||||
break;
|
||||
}
|
||||
+ }
|
||||
}
|
||||
cupsFilePuts(fp, "*CloseUI: *InputSlot\n");
|
||||
}
|
||||
@@ -4010,12 +4079,9 @@ _ppdCreateFromIPP2(
|
||||
pwg_ppdize_name(keyword, ppdname, sizeof(ppdname));
|
||||
|
||||
snprintf(msgid, sizeof(msgid), "media-type.%s", keyword);
|
||||
- if ((msgstr = _cupsLangString(lang, msgid)) == msgid || !strcmp(msgid, msgstr))
|
||||
- if ((msgstr = _cupsMessageLookup(strings, msgid)) == msgid)
|
||||
- msgstr = keyword;
|
||||
|
||||
cupsFilePrintf(fp, "*MediaType %s: \"<</MediaType(%s)>>setpagedevice\"\n", ppdname, ppdname);
|
||||
- cupsFilePrintf(fp, "*%s.MediaType %s/%s: \"\"\n", lang->language, ppdname, msgstr);
|
||||
+ ppd_put_string(fp, lang, strings, "MediaType", ppdname, msgid);
|
||||
}
|
||||
cupsFilePuts(fp, "*CloseUI: *MediaType\n");
|
||||
}
|
||||
@@ -4476,12 +4542,9 @@ _ppdCreateFromIPP2(
|
||||
pwg_ppdize_name(keyword, ppdname, sizeof(ppdname));
|
||||
|
||||
snprintf(msgid, sizeof(msgid), "output-bin.%s", keyword);
|
||||
- if ((msgstr = _cupsLangString(lang, msgid)) == msgid || !strcmp(msgid, msgstr))
|
||||
- if ((msgstr = _cupsMessageLookup(strings, msgid)) == msgid)
|
||||
- msgstr = keyword;
|
||||
|
||||
cupsFilePrintf(fp, "*OutputBin %s: \"\"\n", ppdname);
|
||||
- cupsFilePrintf(fp, "*%s.OutputBin %s/%s: \"\"\n", lang->language, ppdname, msgstr);
|
||||
+ ppd_put_string(fp, lang, strings, "OutputBin", ppdname, msgid);
|
||||
|
||||
if ((tray_ptr = ippGetOctetString(trays, i, &tray_len)) != NULL)
|
||||
{
|
||||
@@ -4600,9 +4663,6 @@ _ppdCreateFromIPP2(
|
||||
cupsArrayAdd(names, (char *)keyword);
|
||||
|
||||
snprintf(msgid, sizeof(msgid), "finishings.%d", value);
|
||||
- if ((msgstr = _cupsLangString(lang, msgid)) == msgid || !strcmp(msgid, msgstr))
|
||||
- if ((msgstr = _cupsMessageLookup(strings, msgid)) == msgid)
|
||||
- msgstr = keyword;
|
||||
|
||||
if (value >= IPP_FINISHINGS_NONE && value <= IPP_FINISHINGS_LAMINATE)
|
||||
ppd_keyword = base_keywords[value - IPP_FINISHINGS_NONE];
|
||||
@@ -4617,7 +4677,7 @@ _ppdCreateFromIPP2(
|
||||
continue;
|
||||
|
||||
cupsFilePrintf(fp, "*StapleLocation %s: \"\"\n", ppd_keyword);
|
||||
- cupsFilePrintf(fp, "*%s.StapleLocation %s/%s: \"\"\n", lang->language, ppd_keyword, msgstr);
|
||||
+ ppd_put_string(fp, lang, strings, "StapleLocation", ppd_keyword, msgid);
|
||||
cupsFilePrintf(fp, "*cupsIPPFinishings %d/%s: \"*StapleLocation %s\"\n", value, keyword, ppd_keyword);
|
||||
}
|
||||
|
||||
@@ -4680,9 +4740,6 @@ _ppdCreateFromIPP2(
|
||||
cupsArrayAdd(names, (char *)keyword);
|
||||
|
||||
snprintf(msgid, sizeof(msgid), "finishings.%d", value);
|
||||
- if ((msgstr = _cupsLangString(lang, msgid)) == msgid || !strcmp(msgid, msgstr))
|
||||
- if ((msgstr = _cupsMessageLookup(strings, msgid)) == msgid)
|
||||
- msgstr = keyword;
|
||||
|
||||
if (value >= IPP_FINISHINGS_NONE && value <= IPP_FINISHINGS_LAMINATE)
|
||||
ppd_keyword = base_keywords[value - IPP_FINISHINGS_NONE];
|
||||
@@ -4697,7 +4754,7 @@ _ppdCreateFromIPP2(
|
||||
continue;
|
||||
|
||||
cupsFilePrintf(fp, "*FoldType %s: \"\"\n", ppd_keyword);
|
||||
- cupsFilePrintf(fp, "*%s.FoldType %s/%s: \"\"\n", lang->language, ppd_keyword, msgstr);
|
||||
+ ppd_put_string(fp, lang, strings, "FoldType", ppd_keyword, msgid);
|
||||
cupsFilePrintf(fp, "*cupsIPPFinishings %d/%s: \"*FoldType %s\"\n", value, keyword, ppd_keyword);
|
||||
}
|
||||
|
||||
@@ -4768,9 +4825,6 @@ _ppdCreateFromIPP2(
|
||||
cupsArrayAdd(names, (char *)keyword);
|
||||
|
||||
snprintf(msgid, sizeof(msgid), "finishings.%d", value);
|
||||
- if ((msgstr = _cupsLangString(lang, msgid)) == msgid || !strcmp(msgid, msgstr))
|
||||
- if ((msgstr = _cupsMessageLookup(strings, msgid)) == msgid)
|
||||
- msgstr = keyword;
|
||||
|
||||
if (value >= IPP_FINISHINGS_NONE && value <= IPP_FINISHINGS_LAMINATE)
|
||||
ppd_keyword = base_keywords[value - IPP_FINISHINGS_NONE];
|
||||
@@ -4785,7 +4839,7 @@ _ppdCreateFromIPP2(
|
||||
continue;
|
||||
|
||||
cupsFilePrintf(fp, "*PunchMedia %s: \"\"\n", ppd_keyword);
|
||||
- cupsFilePrintf(fp, "*%s.PunchMedia %s/%s: \"\"\n", lang->language, ppd_keyword, msgstr);
|
||||
+ ppd_put_string(fp, lang, strings, "PunchMedia", ppd_keyword, msgid);
|
||||
cupsFilePrintf(fp, "*cupsIPPFinishings %d/%s: \"*PunchMedia %s\"\n", value, keyword, ppd_keyword);
|
||||
}
|
||||
|
||||
@@ -4856,9 +4910,6 @@ _ppdCreateFromIPP2(
|
||||
cupsArrayAdd(names, (char *)keyword);
|
||||
|
||||
snprintf(msgid, sizeof(msgid), "finishings.%d", value);
|
||||
- if ((msgstr = _cupsLangString(lang, msgid)) == msgid || !strcmp(msgid, msgstr))
|
||||
- if ((msgstr = _cupsMessageLookup(strings, msgid)) == msgid)
|
||||
- msgstr = keyword;
|
||||
|
||||
if (value == IPP_FINISHINGS_TRIM)
|
||||
ppd_keyword = "Auto";
|
||||
@@ -4866,7 +4917,7 @@ _ppdCreateFromIPP2(
|
||||
ppd_keyword = trim_keywords[value - IPP_FINISHINGS_TRIM_AFTER_PAGES];
|
||||
|
||||
cupsFilePrintf(fp, "*CutMedia %s: \"\"\n", ppd_keyword);
|
||||
- cupsFilePrintf(fp, "*%s.CutMedia %s/%s: \"\"\n", lang->language, ppd_keyword, msgstr);
|
||||
+ ppd_put_string(fp, lang, strings, "CutMedia", ppd_keyword, msgid);
|
||||
cupsFilePrintf(fp, "*cupsIPPFinishings %d/%s: \"*CutMedia %s\"\n", value, keyword, ppd_keyword);
|
||||
}
|
||||
|
||||
@@ -4905,12 +4956,11 @@ _ppdCreateFromIPP2(
|
||||
|
||||
cupsArrayAdd(templates, (void *)keyword);
|
||||
|
||||
+ pwg_ppdize_name(keyword, ppdname, sizeof(ppdname));
|
||||
+
|
||||
snprintf(msgid, sizeof(msgid), "finishing-template.%s", keyword);
|
||||
- if ((msgstr = _cupsLangString(lang, msgid)) == msgid || !strcmp(msgid, msgstr))
|
||||
- if ((msgstr = _cupsMessageLookup(strings, msgid)) == msgid)
|
||||
- msgstr = keyword;
|
||||
|
||||
- cupsFilePrintf(fp, "*cupsFinishingTemplate %s: \"\n", keyword);
|
||||
+ cupsFilePrintf(fp, "*cupsFinishingTemplate %s: \"\n", ppdname);
|
||||
for (finishing_attr = ippFirstAttribute(finishing_col); finishing_attr; finishing_attr = ippNextAttribute(finishing_col))
|
||||
{
|
||||
if (ippGetValueTag(finishing_attr) == IPP_TAG_BEGIN_COLLECTION)
|
||||
@@ -4923,7 +4973,7 @@ _ppdCreateFromIPP2(
|
||||
}
|
||||
}
|
||||
cupsFilePuts(fp, "\"\n");
|
||||
- cupsFilePrintf(fp, "*%s.cupsFinishingTemplate %s/%s: \"\"\n", lang->language, keyword, msgstr);
|
||||
+ ppd_put_string(fp, lang, strings, "cupsFinishingTemplate", ppdname, msgid);
|
||||
cupsFilePuts(fp, "*End\n");
|
||||
}
|
||||
|
||||
@@ -4959,9 +5009,8 @@ _ppdCreateFromIPP2(
|
||||
{
|
||||
ipp_t *preset = ippGetCollection(attr, i);
|
||||
/* Preset collection */
|
||||
- const char *preset_name = ippGetString(ippFindAttribute(preset, "preset-name", IPP_TAG_ZERO), 0, NULL),
|
||||
+ const char *preset_name = ippGetString(ippFindAttribute(preset, "preset-name", IPP_TAG_ZERO), 0, NULL);
|
||||
/* Preset name */
|
||||
- *localized_name; /* Localized preset name */
|
||||
ipp_attribute_t *member; /* Member attribute in preset */
|
||||
const char *member_name; /* Member attribute name */
|
||||
char member_value[256]; /* Member attribute value */
|
||||
@@ -4969,7 +5018,8 @@ _ppdCreateFromIPP2(
|
||||
if (!preset || !preset_name)
|
||||
continue;
|
||||
|
||||
- cupsFilePrintf(fp, "*APPrinterPreset %s: \"\n", preset_name);
|
||||
+ pwg_ppdize_name(preset_name, ppdname, sizeof(ppdname));
|
||||
+ cupsFilePrintf(fp, "*APPrinterPreset %s: \"\n", ppdname);
|
||||
for (member = ippFirstAttribute(preset); member; member = ippNextAttribute(preset))
|
||||
{
|
||||
member_name = ippGetName(member);
|
||||
@@ -5010,7 +5060,10 @@ _ppdCreateFromIPP2(
|
||||
fin_col = ippGetCollection(member, i);
|
||||
|
||||
if ((keyword = ippGetString(ippFindAttribute(fin_col, "finishing-template", IPP_TAG_ZERO), 0, NULL)) != NULL)
|
||||
- cupsFilePrintf(fp, "*cupsFinishingTemplate %s\n", keyword);
|
||||
+ {
|
||||
+ pwg_ppdize_name(keyword, ppdname, sizeof(ppdname));
|
||||
+ cupsFilePrintf(fp, "*cupsFinishingTemplate %s\n", ppdname);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
else if (!strcmp(member_name, "media"))
|
||||
@@ -5037,13 +5090,13 @@ _ppdCreateFromIPP2(
|
||||
if ((keyword = ippGetString(ippFindAttribute(media_col, "media-source", IPP_TAG_ZERO), 0, NULL)) != NULL)
|
||||
{
|
||||
pwg_ppdize_name(keyword, ppdname, sizeof(ppdname));
|
||||
- cupsFilePrintf(fp, "*InputSlot %s\n", keyword);
|
||||
+ cupsFilePrintf(fp, "*InputSlot %s\n", ppdname);
|
||||
}
|
||||
|
||||
if ((keyword = ippGetString(ippFindAttribute(media_col, "media-type", IPP_TAG_ZERO), 0, NULL)) != NULL)
|
||||
{
|
||||
pwg_ppdize_name(keyword, ppdname, sizeof(ppdname));
|
||||
- cupsFilePrintf(fp, "*MediaType %s\n", keyword);
|
||||
+ cupsFilePrintf(fp, "*MediaType %s\n", ppdname);
|
||||
}
|
||||
}
|
||||
else if (!strcmp(member_name, "print-quality"))
|
||||
@@ -5088,8 +5141,9 @@ _ppdCreateFromIPP2(
|
||||
|
||||
cupsFilePuts(fp, "\"\n*End\n");
|
||||
|
||||
- if ((localized_name = _cupsMessageLookup(strings, preset_name)) != preset_name)
|
||||
- cupsFilePrintf(fp, "*%s.APPrinterPreset %s/%s: \"\"\n", lang->language, preset_name, localized_name);
|
||||
+ snprintf(msgid, sizeof(msgid), "preset-name.%s", preset_name);
|
||||
+ pwg_ppdize_name(preset_name, ppdname, sizeof(ppdname));
|
||||
+ ppd_put_string(fp, lang, strings, "APPrinterPreset", ppdname, msgid);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5360,6 +5414,43 @@ cups_get_url(http_t **http, /* IO - Current HTTP connection */
|
||||
}
|
||||
|
||||
|
||||
+/*
|
||||
+ * 'ppd_put_strings()' - Write localization attributes to a PPD file.
|
||||
+ */
|
||||
+
|
||||
+static void
|
||||
+ppd_put_string(cups_file_t *fp, /* I - PPD file */
|
||||
+ cups_lang_t *lang, /* I - Language */
|
||||
+ cups_array_t *strings, /* I - Strings */
|
||||
+ const char *ppd_option,/* I - PPD option */
|
||||
+ const char *ppd_choice,/* I - PPD choice */
|
||||
+ const char *pwg_msgid) /* I - PWG message ID */
|
||||
+{
|
||||
+ const char *text; /* Localized text */
|
||||
+
|
||||
+
|
||||
+ if ((text = _cupsLangString(lang, pwg_msgid)) == pwg_msgid || !strcmp(pwg_msgid, text))
|
||||
+ {
|
||||
+ if ((text = _cupsMessageLookup(strings, pwg_msgid)) == pwg_msgid)
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ // Add the first line of localized text...
|
||||
+ cupsFilePrintf(fp, "*%s.%s %s/", lang->language, ppd_option, ppd_choice);
|
||||
+ while (*text && *text != '\n')
|
||||
+ {
|
||||
+ // Escape ":" and "<"...
|
||||
+ if (*text == ':' || *text == '<')
|
||||
+ cupsFilePrintf(fp, "<%02X>", *text);
|
||||
+ else
|
||||
+ cupsFilePutChar(fp, *text);
|
||||
+
|
||||
+ text ++;
|
||||
+ }
|
||||
+ cupsFilePuts(fp, ": \"\"\n");
|
||||
+}
|
||||
+
|
||||
+
|
||||
/*
|
||||
* 'pwg_add_finishing()' - Add a finishings value.
|
||||
*/
|
||||
@@ -5473,7 +5564,7 @@ pwg_ppdize_name(const char *ipp, /* I - IPP keyword */
|
||||
*end; /* End of name buffer */
|
||||
|
||||
|
||||
- if (!ipp)
|
||||
+ if (!ipp || !_cups_isalnum(*ipp))
|
||||
{
|
||||
*name = '\0';
|
||||
return;
|
||||
@@ -5488,8 +5579,14 @@ pwg_ppdize_name(const char *ipp, /* I - IPP keyword */
|
||||
ipp ++;
|
||||
*ptr++ = (char)toupper(*ipp++ & 255);
|
||||
}
|
||||
- else
|
||||
+ else if (*ipp == '_' || *ipp == '.' || *ipp == '-' || _cups_isalnum(*ipp))
|
||||
+ {
|
||||
*ptr++ = *ipp++;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ ipp ++;
|
||||
+ }
|
||||
}
|
||||
|
||||
*ptr = '\0';
|
||||
diff --git a/scheduler/ipp.c b/scheduler/ipp.c
|
||||
index 37623c54e..14b1fe1e0 100644
|
||||
--- a/scheduler/ipp.c
|
||||
+++ b/scheduler/ipp.c
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* IPP routines for the CUPS scheduler.
|
||||
*
|
||||
- * Copyright © 2020-2023 by OpenPrinting
|
||||
+ * Copyright © 2020-2024 by OpenPrinting
|
||||
* Copyright © 2007-2021 by Apple Inc.
|
||||
* Copyright © 1997-2007 by Easy Software Products, all rights reserved.
|
||||
*
|
||||
@@ -5417,6 +5417,13 @@ create_local_bg_thread(
|
||||
}
|
||||
}
|
||||
|
||||
+ // Validate response from printer...
|
||||
+ if (!ippValidateAttributes(response))
|
||||
+ {
|
||||
+ send_ipp_status(con, IPP_STATUS_ERROR_DEVICE, _("Printer returned invalid data: %s"), cupsLastErrorString());
|
||||
+ goto finish_response;
|
||||
+ }
|
||||
+
|
||||
// TODO: Grab printer icon file...
|
||||
httpClose(http);
|
||||
|
||||
--
|
||||
2.46.0
|
||||
|
34
gnu/packages/patches/cups-relax-root-ownership-check.patch
Normal file
34
gnu/packages/patches/cups-relax-root-ownership-check.patch
Normal file
|
@ -0,0 +1,34 @@
|
|||
From 943e44dafa192b54fadcbb24f5f87d62a22c9f84 Mon Sep 17 00:00:00 2001
|
||||
From: Sergey Trofimov <sarg@sarg.org.ru>
|
||||
Date: Wed, 17 Sep 2025 12:09:34 +0200
|
||||
Subject: [PATCH] Exempt files in /gnu/store from root ownership check.
|
||||
|
||||
---
|
||||
cups/file.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/cups/file.c b/cups/file.c
|
||||
index 95054f3c8..9822619d4 100644
|
||||
--- a/cups/file.c
|
||||
+++ b/cups/file.c
|
||||
@@ -159,7 +159,8 @@ _cupsFileCheck(
|
||||
* 4. Must not be writable by others
|
||||
*/
|
||||
|
||||
- if (fileinfo.st_uid || /* 1. Must be owned by root */
|
||||
+ int in_gnu_store = !strncmp(filename, "/gnu/store/", 11);
|
||||
+ if ((fileinfo.st_uid && !in_gnu_store) || /* 1. Must be owned by root or be in /gnu/store */
|
||||
(fileinfo.st_mode & S_IWGRP) || /* 2. Must not be writable by group */
|
||||
(fileinfo.st_mode & S_ISUID) || /* 3. Must not be setuid */
|
||||
(fileinfo.st_mode & S_IWOTH)) /* 4. Must not be writable by others */
|
||||
@@ -198,7 +199,7 @@ _cupsFileCheck(
|
||||
goto finishup;
|
||||
}
|
||||
|
||||
- if (fileinfo.st_uid || /* 1. Must be owned by root */
|
||||
+ if ((fileinfo.st_uid && !in_gnu_store) || /* 1. Must be owned by root or be in /gnu/store */
|
||||
(fileinfo.st_mode & S_IWGRP) || /* 2. Must not be writable by group */
|
||||
(fileinfo.st_mode & S_ISUID) || /* 3. Must not be setuid */
|
||||
(fileinfo.st_mode & S_IWOTH)) /* 4. Must not be writable by others */
|
||||
--
|
||||
2.51.0
|
25
gnu/packages/patches/emacs-zoom-image-test-fix.patch
Normal file
25
gnu/packages/patches/emacs-zoom-image-test-fix.patch
Normal file
|
@ -0,0 +1,25 @@
|
|||
From 462a541db904405ede8446c48ba0c71ad41c544d Mon Sep 17 00:00:00 2001
|
||||
From: Eli Zaretskii <eliz@gnu.org>
|
||||
Date: Thu, 17 Jul 2025 19:34:50 +0300
|
||||
Subject: [PATCH] ; * test/lisp/net/shr-tests.el (shr-test/zoom-image): Fix
|
||||
<img> (bug#79041).
|
||||
|
||||
---
|
||||
test/lisp/net/shr-tests.el | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/test/lisp/net/shr-tests.el b/test/lisp/net/shr-tests.el
|
||||
index 363cd144e8f3..a931d07a1631 100644
|
||||
--- a/test/lisp/net/shr-tests.el
|
||||
+++ b/test/lisp/net/shr-tests.el
|
||||
@@ -145,8 +145,8 @@ settings, then once more for each (OPTION . VALUE) pair.")
|
||||
(dolist (alt '(nil "" "nothing to see here"))
|
||||
(with-temp-buffer
|
||||
(ert-info ((format "image with alt=%S" alt))
|
||||
- (let ((attrs (if alt (format " alt=\"%s\"" alt) "")))
|
||||
- (insert (format "<img src=\"%s\" %s" image-url attrs)))
|
||||
+ (let ((attrs (if alt (format " alt=\"%s\">" alt) ">")))
|
||||
+ (insert (format "<img src=\"%s\"%s" image-url attrs)))
|
||||
(cl-letf* (;; Pretend we're a graphical display.
|
||||
((symbol-function 'display-graphic-p) #'always)
|
||||
((symbol-function 'url-queue-retrieve)
|
33
gnu/packages/patches/gtk-doc-mkhtml-test-fix.patch
Normal file
33
gnu/packages/patches/gtk-doc-mkhtml-test-fix.patch
Normal file
|
@ -0,0 +1,33 @@
|
|||
From 951743698610eaaa0cc9030f7d7d02437419ac24 Mon Sep 17 00:00:00 2001
|
||||
From: Neil Hanlon <neil@shrug.pw>
|
||||
Date: Fri, 9 Feb 2024 15:32:38 -0500
|
||||
Subject: [PATCH] Add gobject example source code to path for mkhtml test
|
||||
|
||||
Fixes #150
|
||||
|
||||
I'm not really sure why this is required, but I suspect it has to do
|
||||
with changes in how GCC handles path traversal due to recent (ish)
|
||||
security issues, as the code here is evaluated to
|
||||
`../xml/../../examples/gobject.c` which probably looks unhealthy to
|
||||
automatically include.
|
||||
|
||||
Signed-off-by: Neil Hanlon <neil@shrug.pw>
|
||||
---
|
||||
tests/gobject/docs/meson.build | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/tests/gobject/docs/meson.build b/tests/gobject/docs/meson.build
|
||||
index a1dd66ca..236a1cc0 100644
|
||||
--- a/tests/gobject/docs/meson.build
|
||||
+++ b/tests/gobject/docs/meson.build
|
||||
@@ -119,6 +119,7 @@ test(
|
||||
'--path=@0@'.format(':'.join([
|
||||
gobject_test_docs_dir,
|
||||
srcdir,
|
||||
+ join_paths(srcdir, 'tests/gobject/examples'),
|
||||
])
|
||||
),
|
||||
],
|
||||
--
|
||||
GitLab
|
||||
|
33
gnu/packages/patches/inkscape-libxml2.patch
Normal file
33
gnu/packages/patches/inkscape-libxml2.patch
Normal file
|
@ -0,0 +1,33 @@
|
|||
From 694d8ae43d06efff21adebf377ce614d660b24cd Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hesse <mail@eworm.de>
|
||||
Date: Fri, 17 Nov 2023 22:30:42 +0100
|
||||
Subject: [PATCH] include missing header file
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This fixes build error:
|
||||
```
|
||||
/build/inkscape/src/inkscape/src/object/uri.cpp: In constructor ‘Inkscape::URI::URI(const gchar*, const char*)’:
|
||||
/build/inkscape/src/inkscape/src/object/uri.cpp:86:9: error: ‘xmlFree’ was not declared in this scope; did you mean ‘xmlFreeURI’?
|
||||
86 | xmlFree(full);
|
||||
```
|
||||
---
|
||||
src/object/uri.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/object/uri.h b/src/object/uri.h
|
||||
index 381adec58cf..d5b211fe2b2 100644
|
||||
--- a/src/object/uri.h
|
||||
+++ b/src/object/uri.h
|
||||
@@ -13,6 +13,7 @@
|
||||
#define INKSCAPE_URI_H
|
||||
|
||||
#include <libxml/uri.h>
|
||||
+#include <libxml/xmlmemory.h>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
|
||||
--
|
||||
GitLab
|
||||
|
83
gnu/packages/patches/libosinfo-libxml2-fix.patch
Normal file
83
gnu/packages/patches/libosinfo-libxml2-fix.patch
Normal file
|
@ -0,0 +1,83 @@
|
|||
From 0adf38535637ec668e658d43f04f60f11f51574f Mon Sep 17 00:00:00 2001
|
||||
From: Roman Bogorodskiy <bogorodskiy@gmail.com>
|
||||
Date: Thu, 10 Apr 2025 13:54:02 +0200
|
||||
Subject: [PATCH] loader: don't use libxml2 deprecated APIs
|
||||
|
||||
Address the following items:
|
||||
|
||||
- Deprecated direct access to buf's content
|
||||
- Mismatching error function signature
|
||||
- Deprecated direct access to ctxt's lastError
|
||||
|
||||
Signed-off-by: Roman Bogorodskiy <bogorodskiy@gmail.com>
|
||||
---
|
||||
osinfo/osinfo_loader.c | 42 +++++++++++++++++++++++-------------------
|
||||
1 file changed, 23 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/osinfo/osinfo_loader.c b/osinfo/osinfo_loader.c
|
||||
index 0a9004af..b3fd4535 100644
|
||||
--- a/osinfo/osinfo_loader.c
|
||||
+++ b/osinfo/osinfo_loader.c
|
||||
@@ -354,7 +354,7 @@ osinfo_loader_doc(const char *xpath,
|
||||
xmlXPathFreeObject(obj);
|
||||
OSINFO_LOADER_SET_ERROR(err, "Cannot format stylesheet");
|
||||
}
|
||||
- ret = g_strdup((char *)buf->content);
|
||||
+ ret = g_strdup((char *)xmlBufferContent(buf));
|
||||
|
||||
xmlBufferFree(buf);
|
||||
xmlXPathFreeObject(obj);
|
||||
@@ -1902,28 +1902,32 @@ static void osinfo_loader_root(OsinfoLoader *loader,
|
||||
}
|
||||
|
||||
static void
|
||||
-catchXMLError(void *ctx, const char *msg ATTRIBUTE_UNUSED, ...)
|
||||
+catchXMLError(void *ctx, const char *msg, ...)
|
||||
{
|
||||
xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
|
||||
+ const xmlError *xmlErr = NULL;
|
||||
+ g_autofree gchar *xmlmsg = NULL;
|
||||
|
||||
- if (ctxt && ctxt->_private) {
|
||||
- GError **err = ctxt->_private;
|
||||
- if (!error_is_set(err)) {
|
||||
- gchar *xmlmsg;
|
||||
- if (ctxt->lastError.file) {
|
||||
- xmlmsg = g_strdup_printf("%s:%d: %s",
|
||||
- ctxt->lastError.file,
|
||||
- ctxt->lastError.line,
|
||||
- ctxt->lastError.message);
|
||||
- } else {
|
||||
- xmlmsg = g_strdup_printf("at line %d: %s",
|
||||
- ctxt->lastError.line,
|
||||
- ctxt->lastError.message);
|
||||
- }
|
||||
- OSINFO_LOADER_SET_ERROR(ctxt->_private, xmlmsg);
|
||||
- g_free(xmlmsg);
|
||||
- }
|
||||
+ if (!ctxt || !ctxt->_private)
|
||||
+ return;
|
||||
+
|
||||
+ if (error_is_set(ctxt->_private))
|
||||
+ return;
|
||||
+
|
||||
+ if (!(xmlErr = xmlCtxtGetLastError(ctx)))
|
||||
+ return;
|
||||
+
|
||||
+ if (xmlErr->file) {
|
||||
+ xmlmsg = g_strdup_printf("%s:%d: %s",
|
||||
+ xmlErr->file,
|
||||
+ xmlErr->line,
|
||||
+ xmlErr->message);
|
||||
+ } else {
|
||||
+ xmlmsg = g_strdup_printf("at line %d: %s",
|
||||
+ xmlErr->line,
|
||||
+ xmlErr->message);
|
||||
}
|
||||
+ OSINFO_LOADER_SET_ERROR(ctxt->_private, xmlmsg);
|
||||
}
|
||||
|
||||
static void osinfo_loader_process_xml(OsinfoLoader *loader,
|
||||
--
|
||||
GitLab
|
||||
|
|
@ -1,173 +0,0 @@
|
|||
This makes generated IDs deterministic.
|
||||
|
||||
Written by Daniel Veillard.
|
||||
|
||||
This should be fixed in next release (2.29).
|
||||
See https://bugzilla.gnome.org/show_bug.cgi?id=751621.
|
||||
|
||||
diff --git a/libxslt/functions.c b/libxslt/functions.c
|
||||
index 6448bde..5b00a6d 100644
|
||||
--- a/libxslt/functions.c
|
||||
+++ b/libxslt/functions.c
|
||||
@@ -651,6 +651,63 @@ xsltFormatNumberFunction(xmlXPathParserContextPtr ctxt, int nargs)
|
||||
}
|
||||
|
||||
/**
|
||||
+ * xsltCleanupIds:
|
||||
+ * @ctxt: the transformation context
|
||||
+ * @root: the root of the resulting document
|
||||
+ *
|
||||
+ * This clean up ids which may have been saved in Element contents
|
||||
+ * by xsltGenerateIdFunction() to provide stable IDs on elements.
|
||||
+ *
|
||||
+ * Returns the number of items cleaned or -1 in case of error
|
||||
+ */
|
||||
+int
|
||||
+xsltCleanupIds(xsltTransformContextPtr ctxt, xmlNodePtr root) {
|
||||
+ xmlNodePtr cur;
|
||||
+ int count = 0;
|
||||
+
|
||||
+ if ((ctxt == NULL) || (root == NULL))
|
||||
+ return(-1);
|
||||
+ if (root->type != XML_ELEMENT_NODE)
|
||||
+ return(-1);
|
||||
+
|
||||
+ cur = root;
|
||||
+ while (cur != NULL) {
|
||||
+ if (cur->type == XML_ELEMENT_NODE) {
|
||||
+ if (cur->content != NULL) {
|
||||
+ cur->content = NULL;
|
||||
+ count++;
|
||||
+ }
|
||||
+ if (cur->children != NULL) {
|
||||
+ cur = cur->children;
|
||||
+ continue;
|
||||
+ }
|
||||
+ }
|
||||
+ if (cur->next != NULL) {
|
||||
+ cur = cur->next;
|
||||
+ continue;
|
||||
+ }
|
||||
+ do {
|
||||
+ cur = cur->parent;
|
||||
+ if (cur == NULL)
|
||||
+ break;
|
||||
+ if (cur == (xmlNodePtr) root) {
|
||||
+ cur = NULL;
|
||||
+ break;
|
||||
+ }
|
||||
+ if (cur->next != NULL) {
|
||||
+ cur = cur->next;
|
||||
+ break;
|
||||
+ }
|
||||
+ } while (cur != NULL);
|
||||
+ }
|
||||
+
|
||||
+fprintf(stderr, "Attributed %d IDs for element, cleaned up %d\n",
|
||||
+ ctxt->nextid, count);
|
||||
+
|
||||
+ return(count);
|
||||
+}
|
||||
+
|
||||
+/**
|
||||
* xsltGenerateIdFunction:
|
||||
* @ctxt: the XPath Parser context
|
||||
* @nargs: the number of arguments
|
||||
@@ -701,7 +758,39 @@ xsltGenerateIdFunction(xmlXPathParserContextPtr ctxt, int nargs){
|
||||
if (obj)
|
||||
xmlXPathFreeObject(obj);
|
||||
|
||||
- val = (long)((char *)cur - (char *)&base_address);
|
||||
+ /*
|
||||
+ * Try to provide stable ID for generated document:
|
||||
+ * - usually ID are computed to be placed on elements via attributes
|
||||
+ * so using the element as the node for the ID
|
||||
+ * - the cur->content should be a correct placeholder for this, we use
|
||||
+ * it to hold element node numbers in xmlXPathOrderDocElems to
|
||||
+ * speed up XPath too
|
||||
+ * - xsltCleanupIds() clean them up before handing the XSLT output
|
||||
+ * to the API client.
|
||||
+ * - other nodes types use the node address method but that should
|
||||
+ * not end up in resulting document ID
|
||||
+ * - we can enable this by default without risk of performance issues
|
||||
+ * only the one pass xsltCleanupIds() is added
|
||||
+ */
|
||||
+ if (cur->type == XML_ELEMENT_NODE) {
|
||||
+ if (cur->content == NULL) {
|
||||
+ xsltTransformContextPtr tctxt;
|
||||
+
|
||||
+ tctxt = xsltXPathGetTransformContext(ctxt);
|
||||
+ if (tctxt == NULL) {
|
||||
+ val = (long)((char *)cur - (char *)&base_address);
|
||||
+ } else {
|
||||
+ tctxt->nextid++;
|
||||
+ val = tctxt->nextid;
|
||||
+ cur->content = (void *) (val);
|
||||
+ }
|
||||
+ } else {
|
||||
+ val = (long) cur->content;
|
||||
+ }
|
||||
+ } else {
|
||||
+ val = (long)((char *)cur - (char *)&base_address);
|
||||
+ }
|
||||
+
|
||||
if (val >= 0) {
|
||||
sprintf((char *)str, "idp%ld", val);
|
||||
} else {
|
||||
diff --git a/libxslt/functions.h b/libxslt/functions.h
|
||||
index e0e0bf9..4a1e163 100644
|
||||
--- a/libxslt/functions.h
|
||||
+++ b/libxslt/functions.h
|
||||
@@ -64,6 +64,13 @@ XSLTPUBFUN void XSLTCALL
|
||||
int nargs);
|
||||
|
||||
/*
|
||||
+ * Cleanup for ID generation
|
||||
+ */
|
||||
+XSLTPUBFUN int XSLTCALL
|
||||
+ xsltCleanupIds (xsltTransformContextPtr ctxt,
|
||||
+ xmlNodePtr root);
|
||||
+
|
||||
+/*
|
||||
* And the registration
|
||||
*/
|
||||
|
||||
diff --git a/libxslt/transform.c b/libxslt/transform.c
|
||||
index 24f9eb2..2bdf6bf 100644
|
||||
--- a/libxslt/transform.c
|
||||
+++ b/libxslt/transform.c
|
||||
@@ -700,6 +700,7 @@ xsltNewTransformContext(xsltStylesheetPtr style, xmlDocPtr doc) {
|
||||
cur->traceCode = (unsigned long*) &xsltDefaultTrace;
|
||||
cur->xinclude = xsltGetXIncludeDefault();
|
||||
cur->keyInitLevel = 0;
|
||||
+ cur->nextid = 0;
|
||||
|
||||
return(cur);
|
||||
|
||||
@@ -6092,6 +6093,13 @@ xsltApplyStylesheetInternal(xsltStylesheetPtr style, xmlDocPtr doc,
|
||||
if (root != NULL) {
|
||||
const xmlChar *doctype = NULL;
|
||||
|
||||
+ /*
|
||||
+ * cleanup ids which may have been saved in Elements content ptrs
|
||||
+ */
|
||||
+ if (ctxt->nextid != 0) {
|
||||
+ xsltCleanupIds(ctxt, root);
|
||||
+ }
|
||||
+
|
||||
if ((root->ns != NULL) && (root->ns->prefix != NULL))
|
||||
doctype = xmlDictQLookup(ctxt->dict, root->ns->prefix, root->name);
|
||||
if (doctype == NULL)
|
||||
diff --git a/libxslt/xsltInternals.h b/libxslt/xsltInternals.h
|
||||
index 95e8fe6..8eedae4 100644
|
||||
--- a/libxslt/xsltInternals.h
|
||||
+++ b/libxslt/xsltInternals.h
|
||||
@@ -1782,6 +1782,8 @@ struct _xsltTransformContext {
|
||||
int maxTemplateVars;
|
||||
unsigned long opLimit;
|
||||
unsigned long opCount;
|
||||
+
|
||||
+ unsigned long nextid;/* for generating stable ids */
|
||||
};
|
||||
|
||||
/**
|
30
gnu/packages/patches/libzmf-doxygen-1.14.patch
Normal file
30
gnu/packages/patches/libzmf-doxygen-1.14.patch
Normal file
|
@ -0,0 +1,30 @@
|
|||
From 48f94abff2fcc4943626a62c6180c60862288b08 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Fridrich=20=C5=A0trba?= <fridrich.strba@bluewin.ch>
|
||||
Date: Tue, 3 Jun 2025 11:57:29 +0200
|
||||
Subject: [PATCH 245/248] Install all files generated by doxygen
|
||||
|
||||
Install the whole directory and do not pick only some file-types
|
||||
|
||||
Change-Id: I743253696f3e57dfe70c6509b7d620dc2bf39e76
|
||||
---
|
||||
docs/doxygen/Makefile.am | 4 +---
|
||||
1 file changed, 1 insertion(+), 3 deletions(-)
|
||||
|
||||
diff --git a/docs/doxygen/Makefile.am b/docs/doxygen/Makefile.am
|
||||
index 4351042..40a02e8 100644
|
||||
--- a/docs/doxygen/Makefile.am
|
||||
+++ b/docs/doxygen/Makefile.am
|
||||
@@ -6,9 +6,7 @@ if WITH_LIBZMF_DOCS
|
||||
|
||||
install-data-am:
|
||||
mkdir -p $(DESTDIR)$(docdir)/html
|
||||
- $(INSTALL_DATA) html/*.html $(DESTDIR)$(docdir)/html/
|
||||
- $(INSTALL_DATA) html/*.png $(DESTDIR)$(docdir)/html/
|
||||
- $(INSTALL_DATA) html/*.css $(DESTDIR)$(docdir)/html/
|
||||
+ $(INSTALL_DATA) html/* $(DESTDIR)$(docdir)/html/
|
||||
|
||||
uninstall-am:
|
||||
-rm -rf $(DESTDIR)$(docdir)/html
|
||||
--
|
||||
2.51.0
|
||||
|
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);
|
||||
}
|
43
gnu/packages/patches/xiphos-glib.patch
Normal file
43
gnu/packages/patches/xiphos-glib.patch
Normal file
|
@ -0,0 +1,43 @@
|
|||
This patch has already been upstreamed, see: <https://github.com/crosswire/xiphos/pull/1103>.
|
||||
It should be removed once Xiphos updates.
|
||||
|
||||
From 0e9e686c902935c0f00afdf9d0d45f9635995988 Mon Sep 17 00:00:00 2001
|
||||
From: Jan Tojnar <jtojnar@gmail.com>
|
||||
Date: Sat, 15 Jan 2022 05:00:37 +0100
|
||||
Subject: [PATCH] Add dbus-glib dependency to main
|
||||
|
||||
It is required through the ipc header and the build will fail without it on Nix:
|
||||
|
||||
In file included from /build/source/src/main/search_sidebar.cc:48:
|
||||
/build/source/src/gui/ipc.h:26:10: fatal error: dbus/dbus-glib.h: No such file or directory
|
||||
26 | #include <dbus/dbus-glib.h>
|
||||
| ^~~~~~~~~~~~~~~~~~
|
||||
compilation terminated.
|
||||
---
|
||||
src/main/CMakeLists.txt | 11 +++++++++++
|
||||
1 file changed, 11 insertions(+)
|
||||
|
||||
diff --git a/src/main/CMakeLists.txt b/src/main/CMakeLists.txt
|
||||
index 49b86371..bb8e4bb6 100644
|
||||
--- a/src/main/CMakeLists.txt
|
||||
+++ b/src/main/CMakeLists.txt
|
||||
@@ -75,7 +75,18 @@ target_link_libraries(main
|
||||
PkgConfig::Soup
|
||||
PkgConfig::Sword
|
||||
PkgConfig::Biblesync
|
||||
- )
|
||||
+)
|
||||
+
|
||||
+IF (DBUS)
|
||||
+ target_include_directories (main
|
||||
+ PRIVATE ${CMAKE_CURRENT_BINARY_DIR}
|
||||
+ PkgConfig::DBus
|
||||
+ )
|
||||
+ target_link_libraries(main
|
||||
+ PRIVATE
|
||||
+ PkgConfig::DBus
|
||||
+ )
|
||||
+ENDIF (DBUS)
|
||||
|
||||
if(WK_FOUND)
|
||||
target_compile_definitions(main
|
|
@ -185,7 +185,7 @@ it.")
|
|||
(define-public trealla
|
||||
(package
|
||||
(name "trealla")
|
||||
(version "2.83.8")
|
||||
(version "2.83.9")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -194,7 +194,7 @@ it.")
|
|||
(url "https://github.com/trealla-prolog/trealla")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "1bpfzrwsgbmjl1maiaw5b8ixkgh548gw1lkiznsjgkjm7dxr4ns4"))
|
||||
(base32 "01gxml7g6qf185pa51v8vrsv1m42b3dz5rcnyqf7ic041s6p9bwl"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
|
|
|
@ -1699,9 +1699,8 @@ It features a minimal TLS 1.3 implementation, a QUIC stack and an HTTP/3 stack."
|
|||
;; This test opens a remote connection.
|
||||
#~(list "-k" "not test_create_connection_resolve_good")))
|
||||
(native-inputs (list python-pytest
|
||||
python-pytest-asyncio
|
||||
python-setuptools
|
||||
python-wheel))
|
||||
python-pytest-asyncio-0.26
|
||||
python-setuptools))
|
||||
(propagated-inputs
|
||||
(list python-attrs python-websockets))
|
||||
(home-page "https://github.com/kyuupichan/aiorpcX")
|
||||
|
@ -5295,7 +5294,10 @@ WebSocket usage in Python programs.")
|
|||
(method url-fetch)
|
||||
(uri (pypi-uri "websocket-client" version))
|
||||
(sha256
|
||||
(base32 "0p0cz2mdissq7iw1n7jrmsfir0jfmgs1dvnpnrx477ffx9hbsxnk"))))))
|
||||
(base32 "0p0cz2mdissq7iw1n7jrmsfir0jfmgs1dvnpnrx477ffx9hbsxnk"))))
|
||||
(native-inputs
|
||||
(modify-inputs (package-native-inputs python-websocket-client)
|
||||
(append python-six)))))
|
||||
|
||||
(define-public python-purl
|
||||
(package
|
||||
|
|
|
@ -4809,6 +4809,31 @@ Unicode-to-LaTeX conversion.")
|
|||
@code{subprocess} feature.")
|
||||
(license license:expat)))
|
||||
|
||||
;; Old version just for python-dotenv-0.13.0 for docker-compose; remove once
|
||||
;; that is updated.
|
||||
(define-public python-sh-1
|
||||
(package
|
||||
(inherit python-sh)
|
||||
(version "1.14.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "sh" version))
|
||||
(sha256
|
||||
(base32
|
||||
"03gyss1rhj4in7pgysg4q0hxp3230whinlpy1532ljs99lrx0ywx"))))
|
||||
;(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
;; XXX: A Python 2 test fails when HOME=/homeless-shelter.
|
||||
(setenv "HOME" "/tmp")
|
||||
(invoke "python" "sh.py" "test"))))))
|
||||
(native-inputs
|
||||
(list python-setuptools))))
|
||||
|
||||
(define-public python-cftime
|
||||
(package
|
||||
(name "python-cftime")
|
||||
|
@ -13131,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
|
||||
|
@ -15629,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
|
||||
|
@ -17586,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")
|
||||
|
@ -17622,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:
|
||||
|
@ -17643,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
|
||||
|
@ -20156,18 +20181,22 @@ and dataclasses.")
|
|||
(define-public python-argparse-manpage
|
||||
(package
|
||||
(name "python-argparse-manpage")
|
||||
(version "4.5")
|
||||
(version "4.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "argparse-manpage" version))
|
||||
(uri (pypi-uri "argparse_manpage" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1nq4sq1zk1xzdsqq61hd27jhj978ys136aba1zjg02x1g0c0cg11"))))
|
||||
(base32 "0clb20scp408gxac675v731vnj89pk9d5fb7pcy7bj1a45mvgshx"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
;; Tests require PIP.
|
||||
#~(list "--ignore=tests/test_examples.py")))
|
||||
(native-inputs
|
||||
(list python-pip python-pytest python-setuptools python-tomli
|
||||
python-wheel))
|
||||
(list python-pytest
|
||||
python-setuptools))
|
||||
(home-page "https://github.com/praiskup/argparse-manpage")
|
||||
(synopsis "Build manual page from Python's ArgumentParser object")
|
||||
(description
|
||||
|
@ -21024,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")
|
||||
|
@ -35527,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
|
||||
|
@ -36879,6 +36908,35 @@ systems in Python.")
|
|||
key-value pairs from a @code{.env} file and set them as environment variables.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
;; Old version just for docker-compose; remove once that is updated.
|
||||
(define-public python-dotenv-0.13.0
|
||||
(package (inherit python-dotenv)
|
||||
(name "python-dotenv")
|
||||
(version "0.13.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "python-dotenv" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0x5dagmfn31phrbxlwacw3s4w5vibv8fxqc62nqcdvdhjsy0k69v"))))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? inputs outputs #:allow-other-keys)
|
||||
(when tests?
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(setenv "PATH" (string-append (getenv "PATH") ":"
|
||||
(assoc-ref outputs "out") "/bin"))
|
||||
;; Skip the ipython tests.
|
||||
(delete-file "tests/test_ipython.py")
|
||||
(invoke "python" "-m" "pytest")))))))
|
||||
(native-inputs
|
||||
(modify-inputs (package-native-inputs python-dotenv)
|
||||
(append python-mock)
|
||||
(replace "python-sh" python-sh-1)))))
|
||||
|
||||
(define-public date2name
|
||||
(let ((commit "6c8f37277e8ec82aa50f90b8921422be30c4e798")
|
||||
(revision "1"))
|
||||
|
|
|
@ -2117,7 +2117,7 @@ Vulkan, OpenGL and other main graphic APIs.")
|
|||
vulkan-headers))
|
||||
(inputs
|
||||
(list alsa-lib
|
||||
ffmpeg
|
||||
ffmpeg-6
|
||||
glib
|
||||
libxkbcommon
|
||||
libxrandr
|
||||
|
@ -4793,6 +4793,8 @@ PySide2, PyQt6, PySide6) and additional custom QWidgets.")
|
|||
(base32 "07rvfwzjl378j75j2va0c6xylwx16icxa6dycsjgjc329pgpng40"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs (list python-pyqt))
|
||||
(arguments
|
||||
(list #:tests? #f)) ; No tests
|
||||
(home-page "https://github.com/mottosso/Qt.py")
|
||||
(synopsis "Abstraction layer for Python Qt bindings")
|
||||
(description
|
||||
|
|
|
@ -766,6 +766,8 @@ a local network link.")
|
|||
python-wheel))
|
||||
(propagated-inputs
|
||||
(list python-numpy soapysdr))
|
||||
(arguments
|
||||
(list #:tests? #f)) ; No tests
|
||||
(home-page "https://github.com/xmikos/simplesoapy")
|
||||
(synopsis "Python wrapper for SoapySDR")
|
||||
(description
|
||||
|
@ -820,7 +822,8 @@ devices that are supported by the SoapySDR library.")
|
|||
python-simplesoapy
|
||||
soapy-power))
|
||||
(arguments
|
||||
(list #:phases
|
||||
(list #:tests? #f ; No tests
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'wrap-path
|
||||
;; Add the location of the default backend to PATH.
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -18,12 +18,15 @@
|
|||
|
||||
(define-module (gnu packages sycl)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages libffi)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages rocm)
|
||||
|
@ -37,7 +40,7 @@
|
|||
(define-public adaptivecpp
|
||||
(package
|
||||
(name "adaptivecpp")
|
||||
(version "24.10.0")
|
||||
(version "25.02.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -46,13 +49,50 @@
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1gha90zkvg6nabyj1y55rflxzygdkznkjqj8v6zb1jgm1f5w60b7"))))
|
||||
"01wajw1vvbic1hiyz4rj7in09js3kl0xvaa2qpcg1pv7xkrz0xxx"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs (list clang-15 llvm-15 python spirv-tools))
|
||||
(inputs (list boost rocm-opencl-runtime spirv-headers))
|
||||
(arguments `(#:tests? #f)) ; no tests
|
||||
;; Sync with llvm-for-rocm llvm release.
|
||||
(native-inputs (list clang-19 llvm-19 python-minimal))
|
||||
(inputs
|
||||
(list boost
|
||||
libffi
|
||||
numactl
|
||||
rocm-opencl-runtime
|
||||
spirv-headers
|
||||
spirv-tools))
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; FIXME: There is probably a much better way.
|
||||
;; This file: bin/hipSYCL/llvm-to-backend/llvm-to-host-tool
|
||||
;; requires libacpp-common.so and libllvm-to-{backend,host}.so
|
||||
;; in RUNPATH
|
||||
(add-before 'validate-runpath 'create-symlinks
|
||||
(lambda _
|
||||
(symlink
|
||||
(string-append #$output "/lib/libacpp-common.so")
|
||||
(string-append
|
||||
#$output
|
||||
"/bin/hipSYCL/llvm-to-backend/libacpp-common.so"))
|
||||
(symlink
|
||||
(string-append
|
||||
#$output
|
||||
"/lib/hipSYCL/llvm-to-backend/libllvm-to-backend.so")
|
||||
(string-append
|
||||
#$output
|
||||
"/bin/hipSYCL/llvm-to-backend/libllvm-to-backend.so"))
|
||||
(symlink
|
||||
(string-append
|
||||
#$output
|
||||
"/lib/hipSYCL/llvm-to-backend/libllvm-to-host.so")
|
||||
(string-append
|
||||
#$output
|
||||
"/bin/hipSYCL/llvm-to-backend/libllvm-to-host.so")))))
|
||||
#:tests? #f)) ; no tests
|
||||
(home-page "https://adaptivecpp.github.io/")
|
||||
(synopsis "Implementation of the SYCL programming language for accelerators")
|
||||
(synopsis
|
||||
"Implementation of the SYCL programming language for accelerators")
|
||||
(description
|
||||
"AdaptiveCpp is aImplementation of SYCL and C++ standard parallelism
|
||||
for CPUs and GPUs from all vendors, with independent, community-driven
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1527,7 +1527,7 @@ libebml is a C++ library to read and write EBML files.")
|
|||
(define-public libplacebo
|
||||
(package
|
||||
(name "libplacebo")
|
||||
(version "7.349.0")
|
||||
(version "7.351.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1536,7 +1536,7 @@ libebml is a C++ library to read and write EBML files.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1q12yf04z570a2l3vkig2iqm7bgqr90hdxmn78sk2injrsyx124q"))))
|
||||
(base32 "094mzr4cvvryxr7rpxqhvrs018r89m116cpkmmfy3d3sk8b09jki"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
|
@ -1644,17 +1644,17 @@ These tools require a supported graphics chip, driver, and VA-API back end to
|
|||
operate properly.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ffmpeg-7
|
||||
(define-public ffmpeg
|
||||
(package
|
||||
(name "ffmpeg")
|
||||
(version "7.0.2")
|
||||
(version "8.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"12dkv17mrsdqrm70c30azjw7qi1lfxca7xisw81x6flacddm2il6"))))
|
||||
"13kvs9rh5mp21gx64hdj0jlnz6q5c6spik8kh5q7fk6cnv61yxdj"))))
|
||||
(outputs '("out" "debug"))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
|
@ -1674,6 +1674,8 @@ operate properly.")
|
|||
libcaca
|
||||
libcdio-paranoia
|
||||
libdrm
|
||||
libgme
|
||||
libplacebo
|
||||
libtheora
|
||||
libva
|
||||
libvdpau
|
||||
|
@ -1685,13 +1687,16 @@ operate properly.")
|
|||
mesa
|
||||
openal
|
||||
pulseaudio
|
||||
shaderc
|
||||
sdl2
|
||||
soxr
|
||||
speex
|
||||
spirv-tools
|
||||
srt
|
||||
svt-av1
|
||||
twolame
|
||||
vidstab
|
||||
vulkan-loader
|
||||
x265
|
||||
xvid
|
||||
zlib)))
|
||||
|
@ -1701,7 +1706,8 @@ operate properly.")
|
|||
pkg-config
|
||||
texinfo
|
||||
speex
|
||||
yasm))
|
||||
vulkan-headers
|
||||
nasm))
|
||||
(arguments
|
||||
(list
|
||||
#:test-target "fate"
|
||||
|
@ -1716,7 +1722,6 @@ operate properly.")
|
|||
;; --enable-libfdk-aac enable AAC de/encoding via libfdk-aac [no]
|
||||
;; --enable-libflite enable flite (voice synthesis) support via
|
||||
;; libflite [no]
|
||||
;; --enable-libgme enable Game Music Emu via libgme [no]
|
||||
;; --enable-libgsm enable GSM de/encoding via libgsm [no]
|
||||
;; --enable-libiec61883 enable iec61883 via libiec61883 [no]
|
||||
;; --enable-libilbc enable iLBC de/encoding via libilbc [no]
|
||||
|
@ -1769,12 +1774,15 @@ operate properly.")
|
|||
"--enable-libcdio"
|
||||
"--enable-libdav1d"
|
||||
"--enable-libfreetype"
|
||||
"--enable-libgme"
|
||||
"--enable-libmp3lame"
|
||||
"--enable-libopus"
|
||||
"--enable-libplacebo"
|
||||
"--enable-libpulse"
|
||||
#$@(if (this-package-input "rav1e")
|
||||
'("--enable-librav1e")
|
||||
'())
|
||||
"--enable-libshaderc"
|
||||
"--enable-libsoxr"
|
||||
"--enable-libspeex"
|
||||
"--enable-libsrt"
|
||||
|
@ -1792,6 +1800,7 @@ operate properly.")
|
|||
"--enable-opengl"
|
||||
"--enable-libdrm"
|
||||
"--enable-vaapi"
|
||||
"--enable-vulkan"
|
||||
|
||||
"--enable-runtime-cpudetect"
|
||||
|
||||
|
@ -1836,7 +1845,7 @@ operate properly.")
|
|||
(lambda* (#:key outputs configure-flags #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(substitute* "configure"
|
||||
(("#! /bin/sh") (string-append "#!" (which "sh"))))
|
||||
(("#! */bin/sh") (string-append "#!" (which "sh"))))
|
||||
(setenv "SHELL" (which "bash"))
|
||||
(setenv "CONFIG_SHELL" (which "bash"))
|
||||
(apply invoke
|
||||
|
@ -1861,23 +1870,23 @@ convert and stream audio and video. It includes the libavcodec
|
|||
audio/video codec library.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public ffmpeg
|
||||
(define-public ffmpeg-6
|
||||
(package
|
||||
(inherit ffmpeg-7)
|
||||
(version "6.1.1")
|
||||
(inherit ffmpeg)
|
||||
(version "6.1.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0s7r2qv8gh2a3w568n9xxgcz0q8j5ww1jdsci1hm9f4l1yqg9146"))
|
||||
"0f2fr8ywchhlkdff88lr4d4vscqzsi1ndjh3r5jwbkayf94lcqiv"))
|
||||
(patches
|
||||
(search-patches
|
||||
"ffmpeg-add-av_stream_get_first_dts-for-chromium.patch"))))
|
||||
(arguments
|
||||
(if (target-x86-32?)
|
||||
(substitute-keyword-arguments (package-arguments ffmpeg-7)
|
||||
(substitute-keyword-arguments (package-arguments ffmpeg)
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-before 'configure 'relax-gcc-14-strictness
|
||||
|
@ -1885,8 +1894,9 @@ audio/video codec library.")
|
|||
(setenv
|
||||
"CFLAGS"
|
||||
(string-append "-g -O2"
|
||||
" -Wno-error=incompatible-pointer-types")))))))
|
||||
(package-arguments ffmpeg-7)))))
|
||||
" -Wno-error=incompatible-pointer-types"
|
||||
" -Wno-error=int-conversion")))))))
|
||||
(package-arguments ffmpeg)))))
|
||||
|
||||
(define-public ffmpeg-5
|
||||
(package
|
||||
|
@ -1926,8 +1936,12 @@ audio/video codec library.")
|
|||
(replace "sdl2" sdl2-2.0)))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments ffmpeg-5)
|
||||
((#:modules modules %default-gnu-modules)
|
||||
`((srfi srfi-1) ,@modules))
|
||||
((#:configure-flags flags ''())
|
||||
#~(cons "--enable-avresample" #$flags))))))
|
||||
#~(cons "--enable-avresample"
|
||||
(fold delete #$flags '("--enable-libplacebo"
|
||||
"--enable-libshaderc"))))))))
|
||||
|
||||
(define-public ffmpeg-for-stepmania
|
||||
(hidden-package
|
||||
|
@ -1995,270 +2009,271 @@ audio/video codec library.")
|
|||
|
||||
;;; Custom ffmpeg package used by Jami, which incorporates custom patches.
|
||||
(define-public ffmpeg-jami
|
||||
(package
|
||||
(inherit ffmpeg)
|
||||
(name "ffmpeg-jami")
|
||||
(source (let ((ffmpeg-origin (package-source ffmpeg)))
|
||||
(origin
|
||||
(inherit ffmpeg-origin)
|
||||
;; These patches originate come from
|
||||
;; <https://review.jami.net/plugins/gitiles/jami-daemon/+/refs/heads/master/contrib/src/ffmpeg/>.
|
||||
;; Make sure to keep them update and/or register any new ones
|
||||
;; here.
|
||||
(patches
|
||||
(append
|
||||
(origin-patches ffmpeg-origin)
|
||||
(search-patches
|
||||
"ffmpeg-jami-remove-mjpeg-log.patch"
|
||||
"ffmpeg-jami-change-RTCP-ratio.patch"
|
||||
"ffmpeg-jami-rtp_ext_abs_send_time.patch"
|
||||
"ffmpeg-jami-libopusdec-enable-FEC.patch"
|
||||
"ffmpeg-jami-libopusenc-reload-packet-loss-at-encode.patch"
|
||||
"ffmpeg-jami-screen-sharing-x11-fix.patch"
|
||||
"ffmpeg-jami-pipewiregrab-source-filter.patch"))))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments ffmpeg)
|
||||
((#:configure-flags _ '())
|
||||
;; The base configure flags preserved from ffmpeg appear first.
|
||||
#~(list "--disable-static"
|
||||
"--enable-shared"
|
||||
"--disable-stripping"
|
||||
(let ((ffmpeg ffmpeg-6))
|
||||
(package
|
||||
(inherit ffmpeg)
|
||||
(name "ffmpeg-jami")
|
||||
(source (let ((ffmpeg-origin (package-source ffmpeg)))
|
||||
(origin
|
||||
(inherit ffmpeg-origin)
|
||||
;; These patches originate come from
|
||||
;; <https://review.jami.net/plugins/gitiles/jami-daemon/+/refs/heads/master/contrib/src/ffmpeg/>.
|
||||
;; Make sure to keep them update and/or register any new ones
|
||||
;; here.
|
||||
(patches
|
||||
(append
|
||||
(origin-patches ffmpeg-origin)
|
||||
(search-patches
|
||||
"ffmpeg-jami-remove-mjpeg-log.patch"
|
||||
"ffmpeg-jami-change-RTCP-ratio.patch"
|
||||
"ffmpeg-jami-rtp_ext_abs_send_time.patch"
|
||||
"ffmpeg-jami-libopusdec-enable-FEC.patch"
|
||||
"ffmpeg-jami-libopusenc-reload-packet-loss-at-encode.patch"
|
||||
"ffmpeg-jami-screen-sharing-x11-fix.patch"
|
||||
"ffmpeg-jami-pipewiregrab-source-filter.patch"))))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments ffmpeg)
|
||||
((#:configure-flags _ '())
|
||||
;; The base configure flags preserved from ffmpeg appear first.
|
||||
#~(list "--disable-static"
|
||||
"--enable-shared"
|
||||
"--disable-stripping"
|
||||
|
||||
;; Extra Guix-added flags that make sense for this custom
|
||||
;; package; these could be contributed upstream.
|
||||
"--disable-doc"
|
||||
;; Extra Guix-added flags that make sense for this custom
|
||||
;; package; these could be contributed upstream.
|
||||
"--disable-doc"
|
||||
|
||||
;; The following flags are those specified by Jami.
|
||||
;; They're from the jami/daemon/contrib/src/ffmpeg/rules.mak
|
||||
;; file. We try to keep it as close to the official Jami
|
||||
;; package as possible, to provide all the codecs and extra
|
||||
;; features that are expected (see:
|
||||
;; https://review.jami.net/plugins/gitiles/jami-daemon/+/
|
||||
;; refs/heads/master/contrib/src/ffmpeg/rules.mak).
|
||||
"--disable-everything"
|
||||
"--enable-zlib"
|
||||
"--enable-gpl"
|
||||
"--enable-swscale"
|
||||
"--enable-bsfs"
|
||||
"--disable-filters"
|
||||
"--disable-programs"
|
||||
"--disable-postproc"
|
||||
;; The following flags are those specified by Jami.
|
||||
;; They're from the jami/daemon/contrib/src/ffmpeg/rules.mak
|
||||
;; file. We try to keep it as close to the official Jami
|
||||
;; package as possible, to provide all the codecs and extra
|
||||
;; features that are expected (see:
|
||||
;; https://review.jami.net/plugins/gitiles/jami-daemon/+/
|
||||
;; refs/heads/master/contrib/src/ffmpeg/rules.mak).
|
||||
"--disable-everything"
|
||||
"--enable-zlib"
|
||||
"--enable-gpl"
|
||||
"--enable-swscale"
|
||||
"--enable-bsfs"
|
||||
"--disable-filters"
|
||||
"--disable-programs"
|
||||
"--disable-postproc"
|
||||
|
||||
"--enable-libpipewire"
|
||||
"--enable-filter=pipewiregrab"
|
||||
"--enable-indev=lavfi"
|
||||
"--enable-decoder=wrapped_avframe"
|
||||
"--enable-libpipewire"
|
||||
"--enable-filter=pipewiregrab"
|
||||
"--enable-indev=lavfi"
|
||||
"--enable-decoder=wrapped_avframe"
|
||||
|
||||
"--disable-protocols"
|
||||
"--enable-protocol=crypto"
|
||||
"--enable-protocol=file"
|
||||
"--enable-protocol=rtp"
|
||||
"--enable-protocol=srtp"
|
||||
"--enable-protocol=tcp"
|
||||
"--enable-protocol=udp"
|
||||
"--enable-protocol=unix"
|
||||
"--enable-protocol=pipe"
|
||||
"--disable-protocols"
|
||||
"--enable-protocol=crypto"
|
||||
"--enable-protocol=file"
|
||||
"--enable-protocol=rtp"
|
||||
"--enable-protocol=srtp"
|
||||
"--enable-protocol=tcp"
|
||||
"--enable-protocol=udp"
|
||||
"--enable-protocol=unix"
|
||||
"--enable-protocol=pipe"
|
||||
|
||||
;; Enable muxers/demuxers.
|
||||
"--disable-demuxers"
|
||||
"--disable-muxers"
|
||||
"--enable-muxer=rtp"
|
||||
"--enable-muxer=g722"
|
||||
"--enable-muxer=g723_1"
|
||||
"--enable-muxer=g726"
|
||||
"--enable-muxer=g726le"
|
||||
"--enable-muxer=h263"
|
||||
"--enable-muxer=h264"
|
||||
"--enable-muxer=hevc"
|
||||
"--enable-muxer=matroska"
|
||||
"--enable-muxer=webm"
|
||||
"--enable-muxer=ogg"
|
||||
"--enable-muxer=pcm_s16be"
|
||||
"--enable-muxer=pcm_s16le"
|
||||
"--enable-muxer=wav"
|
||||
"--enable-demuxer=rtp"
|
||||
"--enable-demuxer=mjpeg"
|
||||
"--enable-demuxer=mjpeg_2000"
|
||||
"--enable-demuxer=mpegvideo"
|
||||
"--enable-demuxer=gif"
|
||||
"--enable-demuxer=image_jpeg_pipe"
|
||||
"--enable-demuxer=image_png_pipe"
|
||||
"--enable-demuxer=image_webp_pipe"
|
||||
"--enable-demuxer=matroska"
|
||||
"--enable-demuxer=m4v"
|
||||
"--enable-demuxer=mp3"
|
||||
"--enable-demuxer=ogg"
|
||||
"--enable-demuxer=flac"
|
||||
"--enable-demuxer=wav"
|
||||
"--enable-demuxer=ac3"
|
||||
"--enable-demuxer=g722"
|
||||
"--enable-demuxer=g723_1"
|
||||
"--enable-demuxer=g726"
|
||||
"--enable-demuxer=g726le"
|
||||
"--enable-demuxer=pcm_mulaw"
|
||||
"--enable-demuxer=pcm_alaw"
|
||||
"--enable-demuxer=pcm_s16be"
|
||||
"--enable-demuxer=pcm_s16le"
|
||||
"--enable-demuxer=h263"
|
||||
"--enable-demuxer=h264"
|
||||
"--enable-demuxer=hevc"
|
||||
;; Enable muxers/demuxers.
|
||||
"--disable-demuxers"
|
||||
"--disable-muxers"
|
||||
"--enable-muxer=rtp"
|
||||
"--enable-muxer=g722"
|
||||
"--enable-muxer=g723_1"
|
||||
"--enable-muxer=g726"
|
||||
"--enable-muxer=g726le"
|
||||
"--enable-muxer=h263"
|
||||
"--enable-muxer=h264"
|
||||
"--enable-muxer=hevc"
|
||||
"--enable-muxer=matroska"
|
||||
"--enable-muxer=webm"
|
||||
"--enable-muxer=ogg"
|
||||
"--enable-muxer=pcm_s16be"
|
||||
"--enable-muxer=pcm_s16le"
|
||||
"--enable-muxer=wav"
|
||||
"--enable-demuxer=rtp"
|
||||
"--enable-demuxer=mjpeg"
|
||||
"--enable-demuxer=mjpeg_2000"
|
||||
"--enable-demuxer=mpegvideo"
|
||||
"--enable-demuxer=gif"
|
||||
"--enable-demuxer=image_jpeg_pipe"
|
||||
"--enable-demuxer=image_png_pipe"
|
||||
"--enable-demuxer=image_webp_pipe"
|
||||
"--enable-demuxer=matroska"
|
||||
"--enable-demuxer=m4v"
|
||||
"--enable-demuxer=mp3"
|
||||
"--enable-demuxer=ogg"
|
||||
"--enable-demuxer=flac"
|
||||
"--enable-demuxer=wav"
|
||||
"--enable-demuxer=ac3"
|
||||
"--enable-demuxer=g722"
|
||||
"--enable-demuxer=g723_1"
|
||||
"--enable-demuxer=g726"
|
||||
"--enable-demuxer=g726le"
|
||||
"--enable-demuxer=pcm_mulaw"
|
||||
"--enable-demuxer=pcm_alaw"
|
||||
"--enable-demuxer=pcm_s16be"
|
||||
"--enable-demuxer=pcm_s16le"
|
||||
"--enable-demuxer=h263"
|
||||
"--enable-demuxer=h264"
|
||||
"--enable-demuxer=hevc"
|
||||
|
||||
;; Enable parsers.
|
||||
"--enable-parser=h263"
|
||||
"--enable-parser=h264"
|
||||
"--enable-parser=hevc"
|
||||
"--enable-parser=mpeg4video"
|
||||
"--enable-parser=vp8"
|
||||
"--enable-parser=vp9"
|
||||
"--enable-parser=opus"
|
||||
;; Enable parsers.
|
||||
"--enable-parser=h263"
|
||||
"--enable-parser=h264"
|
||||
"--enable-parser=hevc"
|
||||
"--enable-parser=mpeg4video"
|
||||
"--enable-parser=vp8"
|
||||
"--enable-parser=vp9"
|
||||
"--enable-parser=opus"
|
||||
|
||||
;; Encoders/decoders.
|
||||
"--enable-encoder=adpcm_g722"
|
||||
"--enable-decoder=adpcm_g722"
|
||||
"--enable-encoder=adpcm_g726"
|
||||
"--enable-decoder=adpcm_g726"
|
||||
"--enable-encoder=adpcm_g726le"
|
||||
"--enable-decoder=adpcm_g726le"
|
||||
"--enable-decoder=g729"
|
||||
"--enable-encoder=g723_1"
|
||||
"--enable-decoder=g723_1"
|
||||
"--enable-encoder=rawvideo"
|
||||
"--enable-decoder=rawvideo"
|
||||
"--enable-encoder=libx264"
|
||||
"--enable-decoder=h264"
|
||||
"--enable-encoder=pcm_alaw"
|
||||
"--enable-decoder=pcm_alaw"
|
||||
"--enable-encoder=pcm_mulaw"
|
||||
"--enable-decoder=pcm_mulaw"
|
||||
"--enable-encoder=mpeg4"
|
||||
"--enable-decoder=mpeg4"
|
||||
"--enable-encoder=libvpx_vp8"
|
||||
"--enable-decoder=vp8"
|
||||
"--enable-decoder=vp9"
|
||||
"--enable-encoder=h263"
|
||||
"--enable-encoder=h263p"
|
||||
"--enable-decoder=h263"
|
||||
"--enable-encoder=mjpeg"
|
||||
"--enable-decoder=mjpeg"
|
||||
"--enable-decoder=mjpegb"
|
||||
"--enable-libspeex"
|
||||
"--enable-libopus"
|
||||
"--enable-libvpx"
|
||||
"--enable-libx264"
|
||||
"--enable-encoder=libspeex"
|
||||
"--enable-decoder=libspeex"
|
||||
"--enable-encoder=libopus"
|
||||
"--enable-decoder=libopus"
|
||||
;; Encoders/decoders.
|
||||
"--enable-encoder=adpcm_g722"
|
||||
"--enable-decoder=adpcm_g722"
|
||||
"--enable-encoder=adpcm_g726"
|
||||
"--enable-decoder=adpcm_g726"
|
||||
"--enable-encoder=adpcm_g726le"
|
||||
"--enable-decoder=adpcm_g726le"
|
||||
"--enable-decoder=g729"
|
||||
"--enable-encoder=g723_1"
|
||||
"--enable-decoder=g723_1"
|
||||
"--enable-encoder=rawvideo"
|
||||
"--enable-decoder=rawvideo"
|
||||
"--enable-encoder=libx264"
|
||||
"--enable-decoder=h264"
|
||||
"--enable-encoder=pcm_alaw"
|
||||
"--enable-decoder=pcm_alaw"
|
||||
"--enable-encoder=pcm_mulaw"
|
||||
"--enable-decoder=pcm_mulaw"
|
||||
"--enable-encoder=mpeg4"
|
||||
"--enable-decoder=mpeg4"
|
||||
"--enable-encoder=libvpx_vp8"
|
||||
"--enable-decoder=vp8"
|
||||
"--enable-decoder=vp9"
|
||||
"--enable-encoder=h263"
|
||||
"--enable-encoder=h263p"
|
||||
"--enable-decoder=h263"
|
||||
"--enable-encoder=mjpeg"
|
||||
"--enable-decoder=mjpeg"
|
||||
"--enable-decoder=mjpegb"
|
||||
"--enable-libspeex"
|
||||
"--enable-libopus"
|
||||
"--enable-libvpx"
|
||||
"--enable-libx264"
|
||||
"--enable-encoder=libspeex"
|
||||
"--enable-decoder=libspeex"
|
||||
"--enable-encoder=libopus"
|
||||
"--enable-decoder=libopus"
|
||||
|
||||
;; Encoders/decoders for ringtones and audio streaming.
|
||||
"--enable-decoder=flac"
|
||||
"--enable-decoder=vorbis"
|
||||
"--enable-decoder=aac"
|
||||
"--enable-decoder=ac3"
|
||||
"--enable-decoder=eac3"
|
||||
"--enable-decoder=mp3"
|
||||
"--enable-decoder=pcm_u24le"
|
||||
"--enable-decoder=pcm_u32le"
|
||||
"--enable-decoder=pcm_u8"
|
||||
"--enable-decoder=pcm_f16le"
|
||||
"--enable-decoder=pcm_f32le"
|
||||
"--enable-decoder=pcm_f64le"
|
||||
"--enable-decoder=pcm_s16le"
|
||||
"--enable-decoder=pcm_s24le"
|
||||
"--enable-decoder=pcm_s32le"
|
||||
"--enable-decoder=pcm_s64le"
|
||||
"--enable-decoder=pcm_u16le"
|
||||
"--enable-encoder=pcm_u8"
|
||||
"--enable-encoder=pcm_f32le"
|
||||
"--enable-encoder=pcm_f64le"
|
||||
"--enable-encoder=pcm_s16le"
|
||||
"--enable-encoder=pcm_s32le"
|
||||
"--enable-encoder=pcm_s64le"
|
||||
;; Encoders/decoders for ringtones and audio streaming.
|
||||
"--enable-decoder=flac"
|
||||
"--enable-decoder=vorbis"
|
||||
"--enable-decoder=aac"
|
||||
"--enable-decoder=ac3"
|
||||
"--enable-decoder=eac3"
|
||||
"--enable-decoder=mp3"
|
||||
"--enable-decoder=pcm_u24le"
|
||||
"--enable-decoder=pcm_u32le"
|
||||
"--enable-decoder=pcm_u8"
|
||||
"--enable-decoder=pcm_f16le"
|
||||
"--enable-decoder=pcm_f32le"
|
||||
"--enable-decoder=pcm_f64le"
|
||||
"--enable-decoder=pcm_s16le"
|
||||
"--enable-decoder=pcm_s24le"
|
||||
"--enable-decoder=pcm_s32le"
|
||||
"--enable-decoder=pcm_s64le"
|
||||
"--enable-decoder=pcm_u16le"
|
||||
"--enable-encoder=pcm_u8"
|
||||
"--enable-encoder=pcm_f32le"
|
||||
"--enable-encoder=pcm_f64le"
|
||||
"--enable-encoder=pcm_s16le"
|
||||
"--enable-encoder=pcm_s32le"
|
||||
"--enable-encoder=pcm_s64le"
|
||||
|
||||
;; Encoders/decoders for images.
|
||||
"--enable-encoder=gif"
|
||||
"--enable-decoder=gif"
|
||||
"--enable-encoder=jpegls"
|
||||
"--enable-decoder=jpegls"
|
||||
"--enable-encoder=ljpeg"
|
||||
"--enable-decoder=jpeg2000"
|
||||
"--enable-encoder=png"
|
||||
"--enable-decoder=png"
|
||||
"--enable-encoder=bmp"
|
||||
"--enable-decoder=bmp"
|
||||
"--enable-encoder=tiff"
|
||||
"--enable-decoder=tiff"
|
||||
;; Encoders/decoders for images.
|
||||
"--enable-encoder=gif"
|
||||
"--enable-decoder=gif"
|
||||
"--enable-encoder=jpegls"
|
||||
"--enable-decoder=jpegls"
|
||||
"--enable-encoder=ljpeg"
|
||||
"--enable-decoder=jpeg2000"
|
||||
"--enable-encoder=png"
|
||||
"--enable-decoder=png"
|
||||
"--enable-encoder=bmp"
|
||||
"--enable-decoder=bmp"
|
||||
"--enable-encoder=tiff"
|
||||
"--enable-decoder=tiff"
|
||||
|
||||
;; Filters.
|
||||
"--enable-filter=scale"
|
||||
"--enable-filter=overlay"
|
||||
"--enable-filter=amix"
|
||||
"--enable-filter=amerge"
|
||||
"--enable-filter=aresample"
|
||||
"--enable-filter=format"
|
||||
"--enable-filter=aformat"
|
||||
"--enable-filter=fps"
|
||||
"--enable-filter=transpose"
|
||||
"--enable-filter=pad"
|
||||
;; Filters.
|
||||
"--enable-filter=scale"
|
||||
"--enable-filter=overlay"
|
||||
"--enable-filter=amix"
|
||||
"--enable-filter=amerge"
|
||||
"--enable-filter=aresample"
|
||||
"--enable-filter=format"
|
||||
"--enable-filter=aformat"
|
||||
"--enable-filter=fps"
|
||||
"--enable-filter=transpose"
|
||||
"--enable-filter=pad"
|
||||
|
||||
;; Decoders for ringtones and audio streaming.
|
||||
"--enable-decoder=pcm_s16be"
|
||||
"--enable-decoder=pcm_s16be_planar"
|
||||
"--enable-decoder=pcm_s16le_planar"
|
||||
"--enable-decoder=pcm_s24be"
|
||||
"--enable-decoder=pcm_s24le_planar"
|
||||
"--enable-decoder=pcm_s32be"
|
||||
"--enable-decoder=pcm_s32le_planar"
|
||||
"--enable-decoder=pcm_s64be"
|
||||
"--enable-decoder=pcm_s8"
|
||||
"--enable-decoder=pcm_s8_planar"
|
||||
"--enable-decoder=pcm_u16be"
|
||||
;; Decoders for ringtones and audio streaming.
|
||||
"--enable-decoder=pcm_s16be"
|
||||
"--enable-decoder=pcm_s16be_planar"
|
||||
"--enable-decoder=pcm_s16le_planar"
|
||||
"--enable-decoder=pcm_s24be"
|
||||
"--enable-decoder=pcm_s24le_planar"
|
||||
"--enable-decoder=pcm_s32be"
|
||||
"--enable-decoder=pcm_s32le_planar"
|
||||
"--enable-decoder=pcm_s64be"
|
||||
"--enable-decoder=pcm_s8"
|
||||
"--enable-decoder=pcm_s8_planar"
|
||||
"--enable-decoder=pcm_u16be"
|
||||
|
||||
;; More filters.
|
||||
"--enable-filter=afir"
|
||||
"--enable-filter=split"
|
||||
"--enable-filter=drawbox"
|
||||
"--enable-filter=drawtext"
|
||||
"--enable-filter=rotate"
|
||||
"--enable-filter=loop"
|
||||
"--enable-filter=setpts"
|
||||
"--enable-filter=movie"
|
||||
"--enable-filter=alphamerge"
|
||||
"--enable-filter=boxblur"
|
||||
"--enable-filter=lut"
|
||||
"--enable-filter=negate"
|
||||
"--enable-filter=colorkey"
|
||||
"--enable-filter=transpose"
|
||||
;; More filters.
|
||||
"--enable-filter=afir"
|
||||
"--enable-filter=split"
|
||||
"--enable-filter=drawbox"
|
||||
"--enable-filter=drawtext"
|
||||
"--enable-filter=rotate"
|
||||
"--enable-filter=loop"
|
||||
"--enable-filter=setpts"
|
||||
"--enable-filter=movie"
|
||||
"--enable-filter=alphamerge"
|
||||
"--enable-filter=boxblur"
|
||||
"--enable-filter=lut"
|
||||
"--enable-filter=negate"
|
||||
"--enable-filter=colorkey"
|
||||
"--enable-filter=transpose"
|
||||
|
||||
"--enable-libfreetype"
|
||||
"--enable-libfreetype"
|
||||
|
||||
#$@(if (string-contains (%current-system) "linux")
|
||||
;; Leave out the '--enable-cuvid' ... '--enable-encoder=hevc_nvenc'
|
||||
;; flags, as there's no support for ffnvcodec in Guix;
|
||||
;; it would not work with Mesa anyway.
|
||||
'("--enable-pic"
|
||||
"--extra-cxxflags=-fPIC"
|
||||
"--extra-cflags=-fPIC"
|
||||
"--target-os=linux"
|
||||
"--enable-indev=v4l2"
|
||||
"--enable-indev=xcbgrab"
|
||||
"--enable-vdpau"
|
||||
"--enable-hwaccel=h264_vdpau"
|
||||
"--enable-hwaccel=mpeg4_vdpau"
|
||||
"--enable-vaapi"
|
||||
"--enable-hwaccel=h264_vaapi"
|
||||
"--enable-hwaccel=mpeg4_vaapi"
|
||||
"--enable-hwaccel=h263_vaapi"
|
||||
"--enable-hwaccel=vp8_vaapi"
|
||||
"--enable-hwaccel=mjpeg_vaapi"
|
||||
"--enable-hwaccel=hevc_vaapi"
|
||||
"--enable-encoder=h264_vaapi"
|
||||
"--enable-encoder=vp8_vaapi"
|
||||
"--enable-encoder=mjpeg_vaapi"
|
||||
"--enable-encoder=hevc_vaapi")
|
||||
'())))))
|
||||
(inputs (modify-inputs (package-inputs ffmpeg)
|
||||
(append pipewire)))))
|
||||
#$@(if (string-contains (%current-system) "linux")
|
||||
;; Leave out the '--enable-cuvid' ... '--enable-encoder=hevc_nvenc'
|
||||
;; flags, as there's no support for ffnvcodec in Guix;
|
||||
;; it would not work with Mesa anyway.
|
||||
'("--enable-pic"
|
||||
"--extra-cxxflags=-fPIC"
|
||||
"--extra-cflags=-fPIC"
|
||||
"--target-os=linux"
|
||||
"--enable-indev=v4l2"
|
||||
"--enable-indev=xcbgrab"
|
||||
"--enable-vdpau"
|
||||
"--enable-hwaccel=h264_vdpau"
|
||||
"--enable-hwaccel=mpeg4_vdpau"
|
||||
"--enable-vaapi"
|
||||
"--enable-hwaccel=h264_vaapi"
|
||||
"--enable-hwaccel=mpeg4_vaapi"
|
||||
"--enable-hwaccel=h263_vaapi"
|
||||
"--enable-hwaccel=vp8_vaapi"
|
||||
"--enable-hwaccel=mjpeg_vaapi"
|
||||
"--enable-hwaccel=hevc_vaapi"
|
||||
"--enable-encoder=h264_vaapi"
|
||||
"--enable-encoder=vp8_vaapi"
|
||||
"--enable-encoder=mjpeg_vaapi"
|
||||
"--enable-encoder=hevc_vaapi")
|
||||
'())))))
|
||||
(inputs (modify-inputs (package-inputs ffmpeg)
|
||||
(append pipewire))))))
|
||||
|
||||
(define-public ffmpegthumbnailer
|
||||
(package
|
||||
|
@ -2685,7 +2700,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 +3012,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").
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
;;; Copyright © 2023 Miguel Ángel Moreno <mail@migalmoreno.com>
|
||||
;;; Copyright © 2024 Leo Nikkilä <hello@lnikki.la>
|
||||
;;; Copyright © 2025 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2025 Rodion Goritskov <rodion@goritskov.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -40,8 +41,10 @@
|
|||
#:use-module (gnu services shepherd)
|
||||
#:use-module (gnu services admin)
|
||||
#:use-module (gnu services configuration)
|
||||
#:use-module (gnu services databases)
|
||||
#:use-module (gnu services getmail)
|
||||
#:use-module (gnu services mail)
|
||||
#:use-module (gnu system file-systems)
|
||||
#:use-module (gnu system pam)
|
||||
#:use-module (gnu system shadow)
|
||||
#:use-module (gnu packages admin)
|
||||
|
@ -59,7 +62,9 @@
|
|||
#:use-module (gnu packages mail)
|
||||
#:use-module (gnu packages rust-apps)
|
||||
#:autoload (guix i18n) (G_)
|
||||
#:autoload (gnu build linux-container) (%namespaces)
|
||||
#:use-module (guix diagnostics)
|
||||
#:use-module (guix least-authority)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix records)
|
||||
#:use-module (guix modules)
|
||||
|
@ -74,6 +79,7 @@
|
|||
#:use-module (srfi srfi-34)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (ice-9 format)
|
||||
#:use-module (ice-9 regex)
|
||||
#:export (httpd-configuration
|
||||
httpd-configuration?
|
||||
httpd-configuration-package
|
||||
|
@ -328,7 +334,23 @@
|
|||
agate-configuration-group
|
||||
agate-configuration-log-file
|
||||
|
||||
agate-service-type))
|
||||
agate-service-type
|
||||
|
||||
miniflux-configuration
|
||||
miniflux-configuration?
|
||||
miniflux-configuration-listen-address
|
||||
miniflux-configuration-base-url
|
||||
miniflux-configuration-create-administrator-account?
|
||||
miniflux-configuration-administrator-account-name
|
||||
miniflux-configuration-administrator-account-password
|
||||
miniflux-configuration-run-migrations?
|
||||
miniflux-configuration-database-url
|
||||
miniflux-configuration-user
|
||||
miniflux-configuration-group
|
||||
miniflux-configuration-log-file
|
||||
miniflux-configuration-extra-settings
|
||||
|
||||
miniflux-service-type))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
|
@ -2279,3 +2301,173 @@ root=/srv/gemini
|
|||
(default-value (agate-configuration))
|
||||
(description "Run Agate, a simple Gemini protocol server written in
|
||||
Rust.")))
|
||||
|
||||
(define (serialize-string field-name val)
|
||||
(format #f "~a=~a\n" field-name val))
|
||||
|
||||
(define (string-or-file-path? val)
|
||||
(string? val))
|
||||
(define (serialize-string-or-file-path field-name val)
|
||||
(serialize-string (if (absolute-file-name? val)
|
||||
(format #f "~a_FILE" field-name) field-name) val))
|
||||
(define-maybe string-or-file-path)
|
||||
|
||||
(define (serialize-list field-name val)
|
||||
(string-append (string-join val "\n") "\n"))
|
||||
(define-maybe list)
|
||||
|
||||
(define (serialize-boolean field-name val)
|
||||
(if val (serialize-string field-name "1") (serialize-string field-name "0")))
|
||||
|
||||
(define-configuration/no-serialization miniflux-configuration
|
||||
(listen-address
|
||||
(string "127.0.0.1:8080")
|
||||
"Address to listen on.
|
||||
Use absolute path like @code{\"/var/run/miniflux/miniflux.sock\"} for a Unix socket.")
|
||||
(base-url
|
||||
(string "http://127.0.0.1/")
|
||||
"Base URL to generate HTML links and base path for cookies.")
|
||||
(create-administrator-account?
|
||||
(boolean #f)
|
||||
"Create an initial administrator account.")
|
||||
(administrator-account-name
|
||||
maybe-string-or-file-path
|
||||
"Initial administrator account name as a string or an absolute path to a file with a account name inside.")
|
||||
(administrator-account-password
|
||||
maybe-string-or-file-path
|
||||
"Initial administrator account password as a string or an absolute path to a file with a password inside.")
|
||||
(run-migrations?
|
||||
(boolean #t)
|
||||
"Run database migrations during application startup.")
|
||||
(database-url
|
||||
(string "host=/var/run/postgresql")
|
||||
"PostgreSQL connection string.")
|
||||
(user
|
||||
(string "miniflux")
|
||||
"User name for Postgresql and system account.")
|
||||
(group
|
||||
(string "miniflux")
|
||||
"Group for the system account.")
|
||||
(log-file
|
||||
(string "/var/log/miniflux.log")
|
||||
"Path to the log file.")
|
||||
(extra-settings
|
||||
maybe-list
|
||||
"Extra configuration parameters as a list of strings."))
|
||||
|
||||
(define (miniflux-serialize-configuration config)
|
||||
(match-record config <miniflux-configuration>
|
||||
(listen-address base-url create-administrator-account?
|
||||
administrator-account-name administrator-account-password
|
||||
run-migrations? database-url extra-settings)
|
||||
(string-append (serialize-string "LISTEN_ADDR" listen-address)
|
||||
(serialize-string "BASE_URL" base-url)
|
||||
(serialize-boolean "CREATE_ADMIN" create-administrator-account?)
|
||||
(serialize-maybe-string-or-file-path "ADMIN_USERNAME" administrator-account-name)
|
||||
(serialize-maybe-string-or-file-path "ADMIN_PASSWORD" administrator-account-password)
|
||||
(serialize-boolean "RUN_MIGRATIONS" run-migrations?)
|
||||
(serialize-string "DATABASE_URL" database-url)
|
||||
(serialize-maybe-list #f extra-settings))))
|
||||
|
||||
(define (miniflux-configuration-file config)
|
||||
(mixed-text-file "miniflux.conf" (miniflux-serialize-configuration config)))
|
||||
|
||||
(define (pair->file-system-mapping pair previous)
|
||||
(if (pair? pair)
|
||||
(let ((path (car pair))
|
||||
(writable (cdr pair)))
|
||||
(if (or (and (string? path)
|
||||
(absolute-file-name? path))
|
||||
(computed-file? path))
|
||||
(append previous (list (file-system-mapping
|
||||
(source path)
|
||||
(target source)
|
||||
(writable? writable))))
|
||||
previous))
|
||||
previous))
|
||||
|
||||
(define (miniflux-shepherd-service config)
|
||||
(match-record config <miniflux-configuration>
|
||||
(user group log-file database-url listen-address
|
||||
administrator-account-name administrator-account-password)
|
||||
(let ((config-file (miniflux-configuration-file config)))
|
||||
(list (shepherd-service
|
||||
(documentation "Run Miniflux server")
|
||||
(provision '(miniflux))
|
||||
(requirement '(postgres networking))
|
||||
(start #~(make-forkexec-constructor
|
||||
(list #$(least-authority-wrapper
|
||||
(file-append miniflux "/bin/miniflux")
|
||||
#:name "miniflux"
|
||||
#:user user
|
||||
#:group group
|
||||
#:preserved-environment-variables
|
||||
(append %default-preserved-environment-variables
|
||||
'("SSL_CERT_FILE"))
|
||||
#:mappings
|
||||
(fold pair->file-system-mapping
|
||||
'()
|
||||
`((,log-file . #t)
|
||||
(,config-file . #f)
|
||||
("/etc/ssl/certs/ca-certificates.crt" . #f)
|
||||
(,administrator-account-name . #f)
|
||||
(,administrator-account-password . #f)
|
||||
(,(dirname listen-address) . #t)
|
||||
,(let* ((db-socket-match (string-match ".*host=(/[^ ]*).*" database-url))
|
||||
(db-socket (if db-socket-match (match:substring db-socket-match 1) #f)))
|
||||
(if db-socket
|
||||
`(,db-socket . #t)))))
|
||||
#:namespaces
|
||||
(fold delq %namespaces '(net user)))
|
||||
"-config-file"
|
||||
#$config-file)
|
||||
#:log-file #$log-file))
|
||||
(stop #~(make-kill-destructor)))))))
|
||||
|
||||
(define (miniflux-accounts config)
|
||||
(match-record config <miniflux-configuration>
|
||||
(user group)
|
||||
`(,(user-group
|
||||
(name group)
|
||||
(system? #t))
|
||||
,(user-account
|
||||
(name user)
|
||||
(group group)
|
||||
(system? #t)
|
||||
(comment "miniflux server user")
|
||||
(home-directory "/var/empty")
|
||||
(shell (file-append shadow "/sbin/nologin"))))))
|
||||
|
||||
(define (miniflux-postgresql-role config)
|
||||
(list (postgresql-role
|
||||
(name (miniflux-configuration-user config))
|
||||
(create-database? #t))))
|
||||
|
||||
(define (miniflux-log-files config)
|
||||
(list (miniflux-configuration-log-file config)))
|
||||
|
||||
(define (miniflux-activation-service-type config)
|
||||
(match-record config <miniflux-configuration>
|
||||
(user listen-address)
|
||||
#~(begin
|
||||
(use-modules (gnu build activation))
|
||||
(let ((user (getpwnam #$user)))
|
||||
(if (absolute-file-name? #$listen-address)
|
||||
(mkdir-p/perms (dirname #$listen-address) user #o755))))))
|
||||
|
||||
(define miniflux-service-type
|
||||
(service-type
|
||||
(name 'miniflux)
|
||||
(default-value (miniflux-configuration))
|
||||
(extensions
|
||||
(list (service-extension account-service-type
|
||||
miniflux-accounts)
|
||||
(service-extension postgresql-role-service-type
|
||||
miniflux-postgresql-role)
|
||||
(service-extension shepherd-root-service-type
|
||||
miniflux-shepherd-service)
|
||||
(service-extension log-rotation-service-type
|
||||
miniflux-log-files)
|
||||
(service-extension activation-service-type
|
||||
miniflux-activation-service-type)))
|
||||
(description "Run Miniflux, minimalist feed reader")))
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
|
||||
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2024 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2025 Rodion Goritskov <rodion@goritskov.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -37,6 +38,7 @@
|
|||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages guile-xyz)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages patchutils)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages tls)
|
||||
|
@ -56,7 +58,10 @@
|
|||
%test-hpcguix-web
|
||||
%test-anonip
|
||||
%test-patchwork
|
||||
%test-agate))
|
||||
%test-agate
|
||||
%test-miniflux-admin-string
|
||||
%test-miniflux-admin-file
|
||||
%test-miniflux-socket))
|
||||
|
||||
(define %index.html-contents
|
||||
;; Contents of the /index.html file.
|
||||
|
@ -848,3 +853,190 @@ HTTP-PORT."
|
|||
(name "agate")
|
||||
(description "Connect to a running Agate service.")
|
||||
(value (run-agate-test name %agate-os %index.gmi-contents))))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Miniflux
|
||||
;;;
|
||||
|
||||
(define %miniflux-create-admin-credentials
|
||||
#~(begin
|
||||
(mkdir "/var/miniflux")
|
||||
(call-with-output-file "/var/miniflux/admin-username"
|
||||
(lambda (port)
|
||||
(display "test" port)))
|
||||
(call-with-output-file "/var/miniflux/admin-password"
|
||||
(lambda (port)
|
||||
(display "testpassword" port)))))
|
||||
|
||||
(define miniflux-base-system
|
||||
(lambda (miniflux-config)
|
||||
(simple-operating-system
|
||||
(simple-service 'create-admin-credentials
|
||||
activation-service-type
|
||||
%miniflux-create-admin-credentials)
|
||||
(service dhcpcd-service-type)
|
||||
(service postgresql-service-type
|
||||
(postgresql-configuration
|
||||
(postgresql postgresql-13)))
|
||||
(service miniflux-service-type
|
||||
miniflux-config))))
|
||||
|
||||
(define %miniflux-with-admin-as-string
|
||||
(miniflux-base-system
|
||||
(miniflux-configuration
|
||||
(listen-address "0.0.0.0:8080")
|
||||
(create-administrator-account? #t)
|
||||
(administrator-account-name "test")
|
||||
(administrator-account-password "testpassword"))))
|
||||
|
||||
(define %miniflux-with-admin-as-file
|
||||
(miniflux-base-system
|
||||
(miniflux-configuration
|
||||
(listen-address "0.0.0.0:8080")
|
||||
(create-administrator-account? #t)
|
||||
(administrator-account-name "/var/miniflux/admin-username")
|
||||
(administrator-account-password "/var/miniflux/admin-password"))))
|
||||
|
||||
(define %miniflux-with-socket
|
||||
(miniflux-base-system
|
||||
(miniflux-configuration
|
||||
(listen-address "/var/run/miniflux/miniflux.sock"))))
|
||||
|
||||
(define* (run-miniflux-test name test-os)
|
||||
(define os
|
||||
(marionette-operating-system
|
||||
test-os
|
||||
#:imported-modules '((gnu services herd)
|
||||
(guix combinators))))
|
||||
|
||||
(define forwarded-port 8080)
|
||||
|
||||
(define vm
|
||||
(virtual-machine
|
||||
(operating-system os)
|
||||
(memory-size 512)
|
||||
(port-forwardings `((8080 . ,forwarded-port)))))
|
||||
|
||||
(define test
|
||||
(with-extensions (list guile-gcrypt)
|
||||
(with-imported-modules '((gnu build marionette))
|
||||
#~(begin
|
||||
(use-modules (srfi srfi-64)
|
||||
(srfi srfi-11)
|
||||
(gnu build marionette)
|
||||
(web client)
|
||||
(web uri)
|
||||
(web response)
|
||||
(ice-9 match)
|
||||
(ice-9 iconv)
|
||||
(gcrypt base64))
|
||||
|
||||
(define marionette
|
||||
(make-marionette (list #$vm)))
|
||||
|
||||
(test-runner-current (system-test-runner #$output))
|
||||
(test-begin #$name)
|
||||
|
||||
(test-assert "Check Miniflux service is running"
|
||||
(begin
|
||||
(#$retry-on-error
|
||||
(lambda ()
|
||||
(marionette-eval
|
||||
'(begin
|
||||
(use-modules (gnu services herd))
|
||||
(match (start-service '#$(string->symbol "miniflux"))
|
||||
(#f #f)
|
||||
(('service response-parts ...)
|
||||
(match (assq-ref response-parts 'running)
|
||||
(#f #f)
|
||||
((running) #t)))))
|
||||
marionette))
|
||||
#:delay 1
|
||||
#:times 10)))
|
||||
|
||||
(test-assert "Miniflux TCP port ready, IPv4"
|
||||
(wait-for-tcp-port #$forwarded-port marionette))
|
||||
|
||||
(test-assert "Miniflux login page is opened"
|
||||
(begin
|
||||
(wait-for-tcp-port #$forwarded-port marionette)
|
||||
(#$retry-on-error
|
||||
(lambda ()
|
||||
(let-values (((_ text)
|
||||
(http-get
|
||||
#$(format #f "http://localhost:~A/" forwarded-port)
|
||||
#:decode-body? #t)))
|
||||
(string-contains text "<title>Sign In - Miniflux</title>")))
|
||||
#:times 10
|
||||
#:delay 2)))
|
||||
|
||||
(define authorization-header
|
||||
(let ((encoded (base64-encode (string->bytevector "test:testpassword" "utf-8"))))
|
||||
`(authorization . (basic . ,encoded))))
|
||||
|
||||
(test-equal "Miniflux initial admin API call is successful"
|
||||
200
|
||||
(begin
|
||||
(wait-for-tcp-port #$forwarded-port marionette)
|
||||
(#$retry-on-error
|
||||
(lambda ()
|
||||
(let-values (((response _)
|
||||
(http-get #$(format #f "http://localhost:~A/v1/me" forwarded-port)
|
||||
#:headers (list authorization-header)
|
||||
#:decode-body? #t)))
|
||||
|
||||
(response-code response)))
|
||||
#:times 10
|
||||
#:delay 2)))
|
||||
|
||||
(test-end)))))
|
||||
(gexp->derivation (string-append name "-test") test))
|
||||
|
||||
(define* (run-miniflux-socket-test name test-os)
|
||||
(define os
|
||||
(marionette-operating-system
|
||||
test-os
|
||||
#:imported-modules '((gnu services herd)
|
||||
(guix combinators))))
|
||||
|
||||
(define vm
|
||||
(virtual-machine
|
||||
(operating-system os)
|
||||
(memory-size 512)))
|
||||
|
||||
(define test
|
||||
(with-imported-modules '((gnu build marionette))
|
||||
#~(begin
|
||||
(use-modules (srfi srfi-64)
|
||||
(gnu build marionette))
|
||||
|
||||
(define marionette
|
||||
(make-marionette (list #$vm)))
|
||||
|
||||
(test-runner-current (system-test-runner #$output))
|
||||
(test-begin #$name)
|
||||
|
||||
(test-assert "Check socket file is created"
|
||||
(wait-for-unix-socket "/var/run/miniflux/miniflux.sock" marionette))
|
||||
|
||||
(test-end))))
|
||||
(gexp->derivation (string-append name "-test") test))
|
||||
|
||||
(define %test-miniflux-admin-string
|
||||
(system-test
|
||||
(name "miniflux-admin-string")
|
||||
(description "Run Miniflux with initial admin credentials as string.")
|
||||
(value (run-miniflux-test name %miniflux-with-admin-as-string))))
|
||||
|
||||
(define %test-miniflux-admin-file
|
||||
(system-test
|
||||
(name "miniflux-admin-file")
|
||||
(description "Run Miniflux with initial admin credentials as file.")
|
||||
(value (run-miniflux-test name %miniflux-with-admin-as-file))))
|
||||
|
||||
(define %test-miniflux-socket
|
||||
(system-test
|
||||
(name "miniflux-socket")
|
||||
(description "Run Miniflux on unix socket.")
|
||||
(value (run-miniflux-socket-test name %miniflux-with-socket))))
|
||||
|
|
|
@ -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