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