mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-07-09 14:34:06 +02:00
Compare commits
53 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8ce414a206 | |||
| 5c41a431df | |||
| 5863808183 | |||
| 0b083f0dc9 | |||
| 32328a29ce | |||
| 5a889494d5 | |||
| 31cbb38266 | |||
| ac7d094687 | |||
| 4093bf9e95 | |||
| 66a8184c46 | |||
| 26368214a6 | |||
| f032a41f41 | |||
| a13589b2b9 | |||
| 1f146dc38f | |||
| 89d9027f18 | |||
| c32a2a2e5d | |||
| e02071dae1 | |||
| 255921621b | |||
| 0853a1671f | |||
| 54d29defe0 | |||
| 42ab6a3899 | |||
| 2c279760e4 | |||
| fa5a46958f | |||
| e87c221cd2 | |||
| a2b4e406b9 | |||
| 347d83f6b4 | |||
| 50fde0c4f1 | |||
| 153c2aa234 | |||
| dd96fdd983 | |||
| c1ad3df229 | |||
| 1099daf023 | |||
| c82ff29e50 | |||
| 9b26838b93 | |||
| 7f676b2756 | |||
| a011ccb66a | |||
| beee9fb721 | |||
| 7bb3f86293 | |||
| d668bc43ee | |||
| a500ce3177 | |||
| 77eb5a4a3c | |||
| a7d4c7fe4b | |||
| 7134d139d4 | |||
| 9591ab8c99 | |||
| 4514f4cf19 | |||
| 1d3d136bb0 | |||
| b7a618f9f2 | |||
| 33acdbdfb1 | |||
| ce49115168 | |||
| 8be76ae944 | |||
| 72d813155f | |||
| decfac5d56 | |||
| 7519fe23c0 | |||
| 01d66eb90b |
+29
-69
@@ -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, 2025 Brice Waegeneire@*
|
||||
Copyright @copyright{} 2020, 2021 Brice Waegeneire@*
|
||||
Copyright @copyright{} 2020 R Veera Kumar@*
|
||||
Copyright @copyright{} 2020, 2021, 2022 Pierre Langlois@*
|
||||
Copyright @copyright{} 2020 pinoaffe@*
|
||||
@@ -124,7 +124,7 @@ Copyright @copyright{} 2023 Thomas Ieong@*
|
||||
Copyright @copyright{} 2023 Saku Laesvuori@*
|
||||
Copyright @copyright{} 2023 Graham James Addis@*
|
||||
Copyright @copyright{} 2023-2025 Tomas Volf@*
|
||||
Copyright @copyright{} 2024, 2025 Herman Rimm@*
|
||||
Copyright @copyright{} 2024-2026 Herman Rimm@*
|
||||
Copyright @copyright{} 2024 Matthew Trzcinski@*
|
||||
Copyright @copyright{} 2024 Richard Sent@*
|
||||
Copyright @copyright{} 2024 Dariqq@*
|
||||
@@ -16124,6 +16124,10 @@ the tag name for separating the numbers of the version.
|
||||
pre-releases; to make it also look for pre-releases, set the this
|
||||
property to @code{#t}.
|
||||
|
||||
@item @code{stable-version-regexp}: a regular expression for matching the
|
||||
version string, if specified the updater will pick the latest version from
|
||||
matching ones when the @option{--target-version} option is omitted.
|
||||
|
||||
@end itemize
|
||||
|
||||
@lisp
|
||||
@@ -16710,6 +16714,12 @@ guix lint @var{options} @var{package}@dots{}
|
||||
@end example
|
||||
|
||||
If no package is given on the command line, then all packages are checked.
|
||||
To check packages in particular source files, the syntax is:
|
||||
|
||||
@example
|
||||
guix lint @var{options} --whole-file @var{file}@dots{}
|
||||
@end example
|
||||
|
||||
The @var{options} may be zero or more of the following:
|
||||
|
||||
@table @code
|
||||
@@ -16747,9 +16757,23 @@ Only enable the checkers that do not depend on Internet access.
|
||||
Add @var{directory} to the front of the package module search path
|
||||
(@pxref{Package Modules}).
|
||||
|
||||
This allows users to define their own packages and make them visible to
|
||||
the command-line tools.
|
||||
@item --whole-file
|
||||
@itemx -f
|
||||
Check the top-level package definitions in the given files; subsequent
|
||||
arguments are treated as file names rather than package names. This
|
||||
option also enables a special checker which checks if a package
|
||||
alphabetically succeeds the one above it.
|
||||
|
||||
For example, to check if the packages in @file{gnu/packages/matrix.scm}
|
||||
are sorted alphabetically, and if the package names therein follow
|
||||
established conventions, run:
|
||||
|
||||
@example
|
||||
guix lint -c name -f gnu/packages/matrix.scm
|
||||
@end example
|
||||
|
||||
The previous two options allow users to define their own packages and
|
||||
make them visible to the command-line tools.
|
||||
@end table
|
||||
|
||||
@node Invoking guix size
|
||||
@@ -52979,8 +53003,7 @@ 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 (including directories)
|
||||
@code{home-dotfiles-service-type} will exclude
|
||||
The list of file patterns @code{home-dotfiles-service-type} will exclude
|
||||
while visiting each one of the @code{directories}.
|
||||
|
||||
@end table
|
||||
@@ -54396,69 +54419,6 @@ 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,7 +1,6 @@
|
||||
;;; 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.
|
||||
;;;
|
||||
@@ -127,21 +126,18 @@ 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 and directories that match any of the patterns configured."
|
||||
value, excluding files 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
|
||||
excluded-file?
|
||||
#:enter?
|
||||
excluded-file?))
|
||||
(lambda (file stat)
|
||||
(not (regexp-exec exclusion-rx file)))))
|
||||
(if (and stow? packages (maybe-value-set? packages))
|
||||
(append-map filter-files
|
||||
(map (lambda (pkg)
|
||||
|
||||
@@ -204,8 +204,9 @@ for example).")))
|
||||
(define-configuration home-xdg-user-directories-configuration
|
||||
(desktop
|
||||
(string "$HOME/Desktop")
|
||||
"Default @samp{Desktop} directory, this is what you see on your background
|
||||
when using a desktop environment, e.g. KDE.")
|
||||
"Default ``desktop'' directory, this is what you see on your
|
||||
desktop when using a desktop environment,
|
||||
e.g. GNOME (@pxref{XWindow,,,guix.info}).")
|
||||
(documents
|
||||
(string "$HOME/Documents")
|
||||
"Default directory to put documents like PDFs.")
|
||||
@@ -219,9 +220,6 @@ 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
|
||||
|
||||
+5
-1
@@ -1174,6 +1174,7 @@ 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 \
|
||||
@@ -1831,6 +1832,7 @@ 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 \
|
||||
@@ -1991,6 +1993,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/nhc98-c-update.patch \
|
||||
%D%/packages/patches/nheko-0-12-1-fix-rendering-replies.patch \
|
||||
%D%/packages/patches/nix-dont-build-html-doc.diff \
|
||||
%D%/packages/patches/nlohmann_json_fix_char8_t.patch \
|
||||
%D%/packages/patches/nfs4-acl-tools-0.3.7-fixpaths.patch \
|
||||
%D%/packages/patches/neovim-tree-sitter-grammar-path.patch \
|
||||
%D%/packages/patches/network-manager-plugin-ownership.patch \
|
||||
@@ -2003,6 +2006,7 @@ 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 \
|
||||
@@ -2020,7 +2024,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/ocaml-4.07-dynamically-allocate-signal-stack.patch \
|
||||
%D%/packages/patches/ocaml-4.09-dynamically-allocate-signal-stack.patch \
|
||||
%D%/packages/patches/ocaml-4.09-multiple-definitions.patch \
|
||||
%D%/packages/patches/ogs-6.5.7-netcdfconverter.patch \
|
||||
%D%/packages/patches/omake-fix-non-determinism.patch \
|
||||
%D%/packages/patches/oneko-remove-nonfree-characters.patch \
|
||||
%D%/packages/patches/onetbb-other-arches.patch \
|
||||
@@ -2625,6 +2628,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/x265-arm-flags.patch \
|
||||
%D%/packages/patches/x265-4-arm-flags.patch \
|
||||
%D%/packages/patches/xdg-desktop-portal-wlr-harcoded-length.patch\
|
||||
%D%/packages/patches/xdmf-3.0.0-hdf5.patch \
|
||||
%D%/packages/patches/xf86-video-siliconmotion-fix-ftbfs.patch \
|
||||
%D%/packages/patches/xfig-Enable-error-message-for-missing-libraries.patch \
|
||||
%D%/packages/patches/xfig-Fix-double-free-when-requesting-MediaBox.patch \
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
(define-public aspell
|
||||
(package
|
||||
(name "aspell")
|
||||
(version "0.60.8.2")
|
||||
(version "0.60.8.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -60,7 +60,7 @@
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"06b9szgm9cj1zh58r7sbl5fbi3vi9fs7b1as4ir8y176x9ilizjp"))
|
||||
"06yjhwlgpcvbrl5g83qjrpzjwjx7hka5lhsfc3x5gm229nri5nnn"))
|
||||
(patches (search-patches "aspell-default-dict-dir.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
||||
@@ -276,7 +276,9 @@ has strong support for macros.")
|
||||
'(#:parallel-tests? #f)) ; Some tests fail
|
||||
; non-deterministically when run in
|
||||
; parallel
|
||||
(inputs (list python-wrapper xmlto))
|
||||
(inputs
|
||||
`(("python" ,python-wrapper)
|
||||
("xmlto" ,xmlto)))
|
||||
(home-page "https://yasm.tortall.net/")
|
||||
(synopsis "Rewrite of the NASM assembler")
|
||||
(description
|
||||
|
||||
@@ -1858,9 +1858,18 @@ R. Seaman's protocol}
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0n2jzlpwvjgj8ydg7hsqxnvy8s9pdi5z96id0231kgi87pyfkh7s"))
|
||||
(modules '((guix build utils)))
|
||||
(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)
|
||||
(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
|
||||
(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))))
|
||||
`(("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)))
|
||||
(native-inputs
|
||||
(list gettext-minimal
|
||||
(list glib "bin")
|
||||
pkg-config))
|
||||
`(("gettext" ,gettext-minimal)
|
||||
("glib" ,glib "bin")
|
||||
("pkg-config" ,pkg-config)))
|
||||
(synopsis "Implementation of mDNS/DNS-SD protocols")
|
||||
(description
|
||||
"Avahi is a system which facilitates service discovery on a local
|
||||
|
||||
@@ -3864,13 +3864,20 @@ familiar to anyone with experience of scikit-learn or scipy.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0hznpj15kx2sla16wlmcqz21n2vi2qb1493v30vz75hnm1m4iwm1"))
|
||||
(modules '((guix build utils)))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)))
|
||||
(snippet
|
||||
#~(begin
|
||||
;; Delete everything except for examples directory:
|
||||
(delete-all-but ".""pysnptools" "tests")
|
||||
(delete-all-but "pysnptools" "examples")
|
||||
(delete-all-but "tests" "datasets"))))))
|
||||
(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 "."))))))))
|
||||
|
||||
(define-public python-pysnptools
|
||||
(package
|
||||
@@ -17995,7 +18002,7 @@ expression report comparing samples in an easily configurable manner.")
|
||||
fastqc
|
||||
bowtie
|
||||
idr
|
||||
snakemake-7
|
||||
snakemake
|
||||
samtools
|
||||
bedtools
|
||||
kentutils))
|
||||
@@ -18013,80 +18020,87 @@ in an easily configurable manner.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public pigx-bsseq
|
||||
(package
|
||||
(name "pigx-bsseq")
|
||||
(version "0.1.10")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/BIMSBbioinfo/pigx_bsseq/"
|
||||
"releases/download/v" version
|
||||
"/pigx_bsseq-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1vy3mhbrfdnjbhikwg3mgkfnwnzk96a1n27cxrr7gsffpmz9q6wa"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; TODO: tests currently require 12+GB of RAM. See
|
||||
;; https://github.com/BIMSBbioinfo/pigx_bsseq/issues/164
|
||||
#:tests? #f
|
||||
#:phases
|
||||
'(modify-phases %standard-phases
|
||||
(add-before 'configure 'set-PYTHONPATH
|
||||
(lambda _
|
||||
(setenv "PYTHONPATH" (getenv "GUIX_PYTHONPATH"))))
|
||||
(add-before 'check 'set-timezone
|
||||
;; The readr package is picky about timezones.
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(setenv "TZ" "UTC+1")
|
||||
(setenv "TZDIR"
|
||||
(search-input-directory inputs
|
||||
"share/zoneinfo"))))
|
||||
(add-before 'check 'pre-check
|
||||
(lambda _
|
||||
;; Needed for tests
|
||||
(setenv "HOME" "/tmp"))))))
|
||||
(native-inputs
|
||||
(list tzdata-for-tests))
|
||||
(inputs
|
||||
(list coreutils
|
||||
sed
|
||||
grep
|
||||
r-minimal
|
||||
r-annotationhub
|
||||
r-dt
|
||||
r-genomation
|
||||
r-ggbio
|
||||
r-ggrepel
|
||||
r-matrixstats
|
||||
r-methylkit
|
||||
r-reshape2
|
||||
r-rtracklayer
|
||||
r-rmarkdown
|
||||
r-bookdown
|
||||
r-ggplot2
|
||||
r-ggbio
|
||||
pandoc
|
||||
python-wrapper
|
||||
python-pyyaml
|
||||
snakemake-7
|
||||
bismark
|
||||
bowtie
|
||||
bwa-meth
|
||||
fastqc
|
||||
methyldackel
|
||||
multiqc
|
||||
trim-galore
|
||||
cutadapt
|
||||
samblaster
|
||||
samtools))
|
||||
(home-page "https://bioinformatics.mdc-berlin.de/pigx/")
|
||||
(synopsis "Bisulfite sequencing pipeline from fastq to methylation reports")
|
||||
(description "PiGx BSseq is a data processing pipeline for raw fastq read
|
||||
(let ((commit "1b3a69bd5363fa882af4193215de7fb475bae066"))
|
||||
(package
|
||||
(name "pigx-bsseq")
|
||||
(version (git-version "0.1.10" "0" commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/BIMSBbioinfo/pigx_bsseq/")
|
||||
(commit commit)
|
||||
(recursive? #true)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0r0gjfycgh1hqba7ma03bwxlvr2kz68yzclx5iba3wrxxqmivil6"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; TODO: tests currently require 12+GB of RAM. See
|
||||
;; https://github.com/BIMSBbioinfo/pigx_bsseq/issues/164
|
||||
#:tests? #f
|
||||
#:phases
|
||||
'(modify-phases %standard-phases
|
||||
;; This file is meant for development, but it interferes with
|
||||
;; Makefile.
|
||||
(add-after 'unpack 'delete-GNUmakefile
|
||||
(lambda _ (delete-file "GNUmakefile")))
|
||||
(add-before 'configure 'set-PYTHONPATH
|
||||
(lambda _
|
||||
(setenv "PYTHONPATH" (getenv "GUIX_PYTHONPATH"))))
|
||||
(add-before 'check 'set-timezone
|
||||
;; The readr package is picky about timezones.
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(setenv "TZ" "UTC+1")
|
||||
(setenv "TZDIR"
|
||||
(search-input-directory inputs
|
||||
"share/zoneinfo"))))
|
||||
(add-before 'check 'pre-check
|
||||
(lambda _
|
||||
;; Needed for tests
|
||||
(setenv "HOME" "/tmp"))))))
|
||||
(native-inputs
|
||||
(list tzdata-for-tests autoconf automake))
|
||||
(inputs
|
||||
(list coreutils
|
||||
sed
|
||||
grep
|
||||
r-minimal
|
||||
r-annotationhub
|
||||
r-dt
|
||||
r-genomation
|
||||
r-ggbio
|
||||
r-ggrepel
|
||||
r-matrixstats
|
||||
r-methylkit
|
||||
r-reshape2
|
||||
r-rtracklayer
|
||||
r-rmarkdown
|
||||
r-bookdown
|
||||
r-ggplot2
|
||||
r-ggbio
|
||||
pandoc
|
||||
python-wrapper
|
||||
python-pyyaml
|
||||
snakemake
|
||||
bismark
|
||||
bowtie
|
||||
bwa-meth
|
||||
fastqc
|
||||
methyldackel
|
||||
multiqc
|
||||
trim-galore
|
||||
cutadapt
|
||||
samblaster
|
||||
samtools))
|
||||
(home-page "https://bioinformatics.mdc-berlin.de/pigx/")
|
||||
(synopsis "Bisulfite sequencing pipeline from fastq to methylation reports")
|
||||
(description "PiGx BSseq is a data processing pipeline for raw fastq read
|
||||
data of bisulfite experiments; it produces reports on aggregate methylation
|
||||
and coverage and can be used to produce information on differential
|
||||
methylation and segmentation.")
|
||||
(license license:gpl3+)))
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public pigx-scrnaseq
|
||||
(package
|
||||
@@ -18259,7 +18273,7 @@ based methods.")
|
||||
r-tidyr
|
||||
r-viridis
|
||||
samtools
|
||||
snakemake-7
|
||||
snakemake
|
||||
wget))
|
||||
(home-page "https://bioinformatics.mdc-berlin.de/pigx/")
|
||||
(synopsis "Analysis pipeline for wastewater sequencing")
|
||||
|
||||
@@ -271,8 +271,7 @@ across a broad spectrum of applications.")
|
||||
"0yrgn6syk260ckq9ld44vjv1bl6bamhy3jbp10kikcipcv0d5na6"))))))
|
||||
|
||||
(define-public boost-1.83
|
||||
(package
|
||||
(inherit boost)
|
||||
(hidden-package (package (inherit boost)
|
||||
(name "boost")
|
||||
(version "1.83.0")
|
||||
(source (origin
|
||||
@@ -283,7 +282,7 @@ across a broad spectrum of applications.")
|
||||
(patches
|
||||
(list (boost-patch
|
||||
"0001-unordered-fix-copy-assign.patch" version
|
||||
"0l520lqh2vxdlyzvpki6hy2ylqimag8v18n2sdbmliifxiiha4gl")))
|
||||
"09j61m5xh7099k5na9i43x5rra51znf7vm2nyh89yqpizcll9q66")))
|
||||
(patch-flags '("-p2"))
|
||||
(sha256
|
||||
(base32
|
||||
@@ -313,7 +312,7 @@ across a broad spectrum of applications.")
|
||||
(else
|
||||
#~())))
|
||||
;; Not cross-compiling.
|
||||
#~())))))))
|
||||
#~()))))))))
|
||||
|
||||
(define-deprecated-package boost-with-python3
|
||||
boost)
|
||||
|
||||
@@ -1139,7 +1139,8 @@ Anything Protocol} compliant programs can also be executed through Kyua.")
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
|
||||
(native-inputs (list python-wrapper))
|
||||
(native-inputs
|
||||
`(("python" ,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
|
||||
|
||||
+95
-47
@@ -20,65 +20,113 @@
|
||||
|
||||
(define-module (gnu packages chicken)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system chicken)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix svn-download)
|
||||
#:use-module ((guix licenses)
|
||||
#:prefix license:))
|
||||
#:prefix license:)
|
||||
#:use-module (srfi srfi-1))
|
||||
|
||||
;; This package is build from pre-built C source code, provided in the CHICKEN
|
||||
;; release tarball. Based on this bootstrap compiler, we build CHICKEN from
|
||||
;; the Scheme source, thus enabling us to (at least) patch it.
|
||||
;;
|
||||
;; See <https://issues.guix.gnu.org/22366>.
|
||||
(define-public chicken-bootstrap
|
||||
(hidden-package
|
||||
(package
|
||||
(name "chicken-bootstrap")
|
||||
(version "5.4.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://code.call-cc.org/releases/"
|
||||
version "/chicken-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0pzcrnzkjw2sa44vy59wbygvlc3nva8zisprkdnvyrqi3jk4lp9w"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(srfi srfi-1))
|
||||
|
||||
;; No `configure' script; run "make check" after "make install" as
|
||||
;; prescribed by README.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(delete 'check)
|
||||
(add-after 'install 'check
|
||||
(assoc-ref %standard-phases 'check)))
|
||||
|
||||
#:make-flags (let ((out (assoc-ref %outputs "out")))
|
||||
(list "PLATFORM=linux"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "VARDIR=" out "/var/lib")))
|
||||
|
||||
;; Parallel builds are not supported, as noted in README.
|
||||
#:parallel-build? #f))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "CHICKEN_REPOSITORY_PATH")
|
||||
;; TODO extract binary version into a module level definition.
|
||||
(files (list "var/lib/chicken/11")))))
|
||||
;; Reference gcc-toolchain lazily to avoid circular module dependency
|
||||
;; problems.
|
||||
(propagated-inputs (list (module-ref (resolve-interface
|
||||
'(gnu packages commencement))
|
||||
'gcc-toolchain)))
|
||||
(home-page "https://www.call-cc.org/")
|
||||
(synopsis "R5RS Scheme implementation that compiles native code via C")
|
||||
(description
|
||||
"CHICKEN is a compiler for the Scheme programming language. CHICKEN
|
||||
pr oduces portable and efficient C, supports almost all of the R5RS Scheme
|
||||
la nguage standard, and includes many enhancements and extensions.")
|
||||
(license license:bsd-3))))
|
||||
|
||||
;; The CHICKEN compiler is itself written in CHICKEN, the CHICKEN release
|
||||
;; tarballs includes auto-generated C code to mitigate the compiler
|
||||
;; bootstrapping problem. To be able to patch the original Scheme source,
|
||||
;; we compile from this Scheme source here using the chicken-bootstrap
|
||||
;; compiler obtained from the autogenerated C code.
|
||||
;;
|
||||
;; See <https://issues.guix.gnu.org/22366>.
|
||||
(define-public chicken
|
||||
(package
|
||||
(inherit chicken-bootstrap)
|
||||
(name "chicken")
|
||||
(version "5.4.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://code.call-cc.org/releases/"
|
||||
version "/chicken-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0pzcrnzkjw2sa44vy59wbygvlc3nva8zisprkdnvyrqi3jk4lp9w"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(srfi srfi-1))
|
||||
|
||||
;; No `configure' script; run "make check" after "make install" as
|
||||
;; prescribed by README.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(delete 'check)
|
||||
(add-after 'install 'check
|
||||
(assoc-ref %standard-phases 'check)))
|
||||
|
||||
#:make-flags (let ((out (assoc-ref %outputs "out")))
|
||||
(list "PLATFORM=linux"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "VARDIR=" out "/var/lib")))
|
||||
|
||||
;; Parallel builds are not supported, as noted in README.
|
||||
#:parallel-build? #f))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "CHICKEN_REPOSITORY_PATH")
|
||||
;; TODO extract binary version into a module level definition.
|
||||
(files (list "var/lib/chicken/11")))))
|
||||
;; Reference gcc-toolchain lazily to avoid circular module dependency
|
||||
;; problems.
|
||||
(propagated-inputs (list (module-ref (resolve-interface
|
||||
'(gnu packages commencement))
|
||||
'gcc-toolchain)))
|
||||
(home-page "https://www.call-cc.org/")
|
||||
(synopsis "R5RS Scheme implementation that compiles native code via C")
|
||||
(description
|
||||
"CHICKEN is a compiler for the Scheme programming language. CHICKEN
|
||||
produces portable and efficient C, supports almost all of the R5RS Scheme
|
||||
language standard, and includes many enhancements and extensions.")
|
||||
(license license:bsd-3)))
|
||||
(substitute-keyword-arguments (package-arguments chicken-bootstrap)
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
;; CHICKEN contains auto-generated C code, remove it and
|
||||
;; compile from the Scheme source using chicken-bootstrap.
|
||||
(add-after 'unpack 'remove-auto-generated-code
|
||||
(lambda _
|
||||
(invoke "make" "spotless")))
|
||||
;; Invoke commands by name, not by path.
|
||||
;;
|
||||
;; See <https://codeberg.org/guix/guix/issues/8471>.
|
||||
(add-after 'unpack 'fix-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((sh (search-input-file inputs "/bin/sh"))
|
||||
(cp (search-input-file inputs "/bin/cp")))
|
||||
(substitute* "egg-compile.scm"
|
||||
(("/bin/sh") sh)
|
||||
(("\"cp\"") (string-append "\"" cp "\"")))
|
||||
(substitute* "posixunix.scm"
|
||||
(("/bin/sh") sh))
|
||||
(substitute* "chicken-install.scm"
|
||||
(("\"sh \"") (string-append "\"" sh " \""))))))))))
|
||||
(inputs (list chicken-bootstrap))
|
||||
(properties
|
||||
(alist-delete 'hidden? (package-properties chicken-bootstrap)))))
|
||||
|
||||
(define-public chicken-compile-file
|
||||
(package
|
||||
|
||||
@@ -23,19 +23,24 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages clojure)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages golang-build)
|
||||
#:use-module (gnu packages golang-check)
|
||||
#:use-module (gnu packages golang-xyz)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages java)
|
||||
#:use-module (gnu packages maven)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system ant)
|
||||
#:use-module (guix build-system clojure)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system clojure))
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages))
|
||||
|
||||
(define-public clojure-spec-alpha
|
||||
(package
|
||||
@@ -1253,3 +1258,44 @@ an operation on the service. invoke takes a map and returns a map, and works
|
||||
the same way for every operation on every service.")
|
||||
(home-page "https://github.com/cognitect-labs/aws-api")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public let-go
|
||||
(package
|
||||
(name "let-go")
|
||||
(version "1.7.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/nooga/let-go")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "139a129fw3w9a4bcfgms60ll90vy2vmqinbmjn44zmgx4fr2adif"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:go go-1.26
|
||||
#:install-source? #f
|
||||
#:import-path "github.com/nooga/let-go"))
|
||||
(native-inputs
|
||||
(list go-github-com-davecgh-go-spew
|
||||
go-github-com-alimpfard-line
|
||||
go-github-com-hashicorp-go-uuid
|
||||
go-github-com-kr-pretty
|
||||
go-github-com-pmezard-go-difflib
|
||||
go-github-com-stretchr-testify
|
||||
go-github-com-zeebo-bencode
|
||||
go-golang-org-x-sys
|
||||
go-gopkg-in-check-v1
|
||||
go-gopkg-in-yaml-v3))
|
||||
(home-page "https://nooga.github.io/let-go")
|
||||
(synopsis "Clojure dialect written in Go")
|
||||
(description
|
||||
"let-go is a Clojure dialect with a bytecode compiler and a stack virtual
|
||||
machine, written in the Go programming language.
|
||||
|
||||
It is not a drop-in replacement for Clojure JVM. It does not load JARs and
|
||||
does not aim to. Most idiomatic Clojure code runs unmodified, but a real
|
||||
project with library dependencies will need adjustments.")
|
||||
(license license:expat)))
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
;;; Copyright © 2024 David Elsing <david.elsing@posteo.net>
|
||||
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;; Copyright © 2024, 2025 Zheng Junjie <873216071@qq.com>
|
||||
;;; Copyright © 2026 Jake Forster <jakecameron.forster@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -3191,3 +3192,33 @@ exported by the zlib library.")
|
||||
ratio at the cost of high CPU/memory usage.")
|
||||
(home-page "https://github.com/byronknoll/cmix")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public zlib-ng
|
||||
(package
|
||||
(name "zlib-ng")
|
||||
(version "2.3.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/zlib-ng/zlib-ng")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0g4pxy7gc1slw9n6j583hzps32mml30f08gmmg1adsq4y3dl2cny"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs (list googletest))
|
||||
(home-page "https://github.com/zlib-ng/zlib-ng")
|
||||
(synopsis "Fork of the zlib data compression library")
|
||||
(description
|
||||
"zlib-ng is a @code{zlib} replacement with optimizations for next
|
||||
generation systems.")
|
||||
(license license:zlib)))
|
||||
|
||||
(define-public zlib-ng-compat
|
||||
(package/inherit zlib-ng
|
||||
(name "zlib-ng-compat")
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:configure-flags flags #~(list))
|
||||
#~(cons "-DZLIB_COMPAT=ON" #$flags))))))
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
;;; Copyright © 2025 Murilo <murilo@disroot.org>
|
||||
;;; Copyright © 2026 Justin Veilleux <terramorpha@cock.li>
|
||||
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
|
||||
;;; Copyright © 2026 bdunahu <bdunahu@operationnull.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -1433,6 +1434,9 @@ data transfer object.")
|
||||
(define-public nlohmann-json
|
||||
(package
|
||||
(name "nlohmann-json")
|
||||
;; XXX: Merge related package `nlohmann-json-no-char8-t' back into here when
|
||||
;; updating from 3.12.0, as the unique patch it applies will already be
|
||||
;; incorporated in.
|
||||
(version "3.12.0")
|
||||
(home-page "https://github.com/nlohmann/json")
|
||||
(source
|
||||
@@ -1506,6 +1510,46 @@ intuitive syntax and trivial integration.")
|
||||
(define-deprecated-package json-modern-cxx
|
||||
nlohmann-json)
|
||||
|
||||
(define-public nlohmann-json-no-char8-t
|
||||
(package
|
||||
;; XXX: Version 3.12.0 does not work without char8_t support.
|
||||
;; OpenRCT2 compiles with -fno-char8_t, and thus requires this patch.
|
||||
;; See https://github.com/nlohmann/json/pull/4736
|
||||
(inherit nlohmann-json)
|
||||
(name "nlohmann-json-no-char8-t")
|
||||
(version "3.12.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference (url "https://github.com/nlohmann/json")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "09nqq56ighr3lghhn3fs399lkllghz717j0xyp87x0giw86ayh3h"))
|
||||
(file-name (git-file-name name version))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
;; Delete bundled software. Preserve doctest_compatibility.h, which
|
||||
;; is a wrapper library added by this package.
|
||||
(install-file "./tests/thirdparty/doctest/doctest_compatibility.h"
|
||||
"/tmp")
|
||||
(delete-file-recursively "./tests/thirdparty")
|
||||
(install-file "/tmp/doctest_compatibility.h"
|
||||
"./tests/thirdparty/doctest")
|
||||
|
||||
;; Adjust for the unbundled fifo_map and doctest.
|
||||
(substitute* (find-files "./tests/" "\\.h(pp)?")
|
||||
(("#include \"doctest\\.h\"") "#include <doctest/doctest.h>")
|
||||
(("#include <doctest\\.h>") "#include <doctest/doctest.h>"))
|
||||
(with-directory-excursion "tests/src"
|
||||
(let ((files (find-files "." "\\.cpp$")))
|
||||
(substitute* files
|
||||
(("#include ?\"(fifo_map.hpp)\"" all fifo-map-hpp)
|
||||
(string-append
|
||||
"#include <fifo_map/" fifo-map-hpp ">")))))))
|
||||
(patches
|
||||
(search-patches "nlohmann_json_fix_char8_t.patch"))))))
|
||||
|
||||
(define-public jthread
|
||||
(let ((commit "0fa8d394254886c555d6faccd0a3de819b7d47f8")
|
||||
(revision "0"))
|
||||
@@ -4480,6 +4524,29 @@ file name and location, as well as filters with friendly names (such as
|
||||
"This package provides a simple S-Expression parser for C++.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public sfl-library
|
||||
(package
|
||||
(name "sfl-library")
|
||||
(version "2.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/slavenf/sfl-library")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1ngy86b9y1b8a4j37c14m1jrg0q5b12jj8b0gdnpl5sjb1r2fljk"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments (list #:tests? #f)) ;no tests
|
||||
(home-page "https://github.com/slavenf/sfl-library")
|
||||
(synopsis "Header-only C++11/20 container library")
|
||||
(description "sfl-library provides many STL-like (Standard Template Library)
|
||||
containers including vectors, associative containers, and unordered containers
|
||||
based on hash tables. These containers are designed for C++11 and C++20
|
||||
constant expression usage.")
|
||||
(license license:zlib)))
|
||||
|
||||
(define-public string-view-lite
|
||||
(package
|
||||
(name "string-view-lite")
|
||||
|
||||
+34
-26
@@ -68,15 +68,16 @@
|
||||
(define-public curl
|
||||
(package
|
||||
(name "curl")
|
||||
(version "8.20.0")
|
||||
(version "8.6.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://curl.se/download/curl-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"15mqw8y9vdxlz9cpr2z7q9r6552wgs7q7vr2k7lfl35s930jvzk3"))
|
||||
(patches (search-patches "curl-use-ssl-cert-env.patch"))))
|
||||
"05fv468yjrb7qwrxmfprxkrcckbkij0myql0vwwnalgr3bcmbk9w"))
|
||||
(patches (search-patches "curl-use-ssl-cert-env.patch"
|
||||
"curl-CVE-2024-8096.patch"))))
|
||||
(outputs '("out"
|
||||
"doc")) ;1.2 MiB of man3 pages
|
||||
(build-system gnu-build-system)
|
||||
@@ -105,20 +106,36 @@
|
||||
(mkdir-p (string-append #$output:doc "/share/man"))
|
||||
(rename-file (string-append #$output "/share/man/man3")
|
||||
(string-append #$output:doc "/share/man/man3"))))
|
||||
(add-after 'unpack 'patch-runtests
|
||||
(lambda _
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? parallel-tests? make-flags #:allow-other-keys)
|
||||
(substitute* "tests/runtests.pl"
|
||||
(("/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)))))
|
||||
#~())
|
||||
(("/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?)
|
||||
#~((add-after 'unpack 'skip-tests/hurd
|
||||
#~((add-after 'unpack 'skip-tests
|
||||
(lambda _
|
||||
(let ((port (open-file "tests/data/DISABLED" "a")))
|
||||
(display "526\n" port)
|
||||
@@ -130,20 +147,11 @@
|
||||
(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
|
||||
openssl)) ;for tests
|
||||
(list nghttp2 perl pkg-config python-minimal-wrapper))
|
||||
(inputs
|
||||
(list gnutls libidn libpsl mit-krb5 `(,nghttp2 "lib") zlib))
|
||||
(native-search-paths
|
||||
|
||||
@@ -1112,9 +1112,17 @@ to aid in debugging.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32 "0ppx8r9isc772y0ahpgl8g5b3yxka7ffqzlcsa920aib5nj39lrg"))
|
||||
(modules '((guix build utils)))
|
||||
(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))))
|
||||
(substitute* "pyproject.toml"
|
||||
;; Python is linked with GNU readline on all Guix targets.
|
||||
((".*gnureadline.*") "")
|
||||
|
||||
@@ -1021,7 +1021,7 @@ files.")
|
||||
(define-public klayout
|
||||
(package
|
||||
(name "klayout")
|
||||
(version "0.30.8")
|
||||
(version "0.30.9")
|
||||
(source
|
||||
(origin (method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1030,7 +1030,7 @@ files.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0aw0y5k27pslql9pir6nplapj6ml6fkhzd815s13rlnw3bm0fcs6"))))
|
||||
"1v5ddw7xixvdc3qshd0lkrc3ayk2q5wkk1zbhvsidq0kzlqbr2z5"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -1750,21 +1750,31 @@ exploration and optimization.")
|
||||
(commit version)
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(modules '((guix build utils)))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26)))
|
||||
(snippet
|
||||
#~(delete-all-but "libs"
|
||||
"delaunay-triangulation"
|
||||
"dxflib"
|
||||
;; "fontobene-qt"
|
||||
;; "googletest"
|
||||
;; "hoedown"
|
||||
"librepcb"
|
||||
;; "muparser"
|
||||
"optional"
|
||||
"parseagle"
|
||||
;; "polyclipping"
|
||||
;; "quazip"
|
||||
"type_safe"))
|
||||
#~(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")))
|
||||
(sha256
|
||||
(base32 "1g3k2g2p5yy7zk971bg7qh4k38p30aydp27c5bfb02gn7djknz7w"))))
|
||||
(build-system cmake-build-system)
|
||||
@@ -2197,7 +2207,7 @@ which allows one to install the M8 firmware on any Teensy.")
|
||||
(define-public magic
|
||||
(package
|
||||
(name "magic")
|
||||
(version "8.3.644")
|
||||
(version "8.3.652")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2206,7 +2216,7 @@ which allows one to install the M8 firmware on any Teensy.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0qp1alm4pczfm77r8lxwgzrwh02ihvfmk9sbwjlfbrixg1dn85xb"))))
|
||||
(base32 "07q2lldcq6zb1apa5d3paciha92r6jlp7xny8pc31f56k5s9jnmz"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -2302,7 +2312,7 @@ coverage.")
|
||||
(define-public netgen
|
||||
(package
|
||||
(name "netgen")
|
||||
(version "1.5.319")
|
||||
(version "1.5.320")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2311,7 +2321,7 @@ coverage.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "16xd2xcsny1bb6yk4lz34jfpwfb5xi2i9izxjymmalnzhg32i9cz"))))
|
||||
(base32 "11mvf0nrsfc1lxbgqhmczi0maw4n10lib2xqnhpkyy73ci489147"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -2348,9 +2358,18 @@ 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.
|
||||
@@ -4357,7 +4376,7 @@ input and outputs an XML dataset.")
|
||||
(define-public qucs-s
|
||||
(package
|
||||
(name "qucs-s")
|
||||
(version "26.1.0") ;update qucsator-rf accordingly
|
||||
(version "26.1.1") ;update qucsator-rf accordingly
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -4367,7 +4386,7 @@ input and outputs an XML dataset.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0aiyrcrxln4v6qm2dmigb54wl0mj499q3g18pz87m1s2lfgicpb1"))))
|
||||
"009siqmn76r2l17hnjqmr6ap8nw969hd5fyqigb4p3i8cvjq7gmx"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -16148,9 +16148,18 @@ 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)))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26)))
|
||||
(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,6 +464,13 @@ 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
|
||||
@@ -653,6 +660,14 @@ 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
|
||||
@@ -1068,9 +1083,17 @@ The following systems are supported:
|
||||
(sha256
|
||||
(base32
|
||||
"0dfsz4dsh49dc9xx9rjhfzfkg4h91i2ksgp2inlr9yhgldw9q8h3"))
|
||||
(modules '((guix build utils)))
|
||||
(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 "src/third-party"
|
||||
"blip_buf"
|
||||
"inih")))))
|
||||
@@ -2301,9 +2324,42 @@ 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
|
||||
@@ -2960,7 +3016,16 @@ GLSL (@file{.slang}) shaders for use with RetroArch.")
|
||||
(commit (string-append "v" version))))
|
||||
(snippet
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
(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))))
|
||||
;; Remove as much bundled sources as possible, shaving off about
|
||||
;; 65 MiB.
|
||||
(delete-all-but "deps"
|
||||
@@ -3769,14 +3834,24 @@ de-interlacing patches for use with PCSX2.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0nr53cjifqwnz3icxsj01yd3aw1vfsfxga4zz5zi8aqr175mvq27"))
|
||||
(modules '((guix build utils)))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26)))
|
||||
(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"
|
||||
(delete-all-but "3rdparty"
|
||||
;; 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"
|
||||
;; asl2.0 and cc0
|
||||
"glad" ;Is tailored.
|
||||
;; bsd-3
|
||||
|
||||
+47
-48
@@ -23,6 +23,7 @@
|
||||
;;; 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)
|
||||
@@ -34,10 +35,8 @@
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system waf)
|
||||
@@ -57,63 +56,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
|
||||
(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))
|
||||
`(#: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)))))
|
||||
(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 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 lgpl2.0))) ; plus certain additional permissions
|
||||
|
||||
(define-public fltk
|
||||
(package
|
||||
(inherit fltk-1.3)
|
||||
(version "1.4.5")
|
||||
(version "1.4.4")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/fltk/fltk")
|
||||
(commit (string-append "release-" version))))
|
||||
(sha256
|
||||
(base32 "19bl0ryarg31wkhw01ryilp9iwwh6vwnsq9mnzmarzm0dkwhjc7c"))))))
|
||||
(base32 "1nfl37c9yplp4gxjjlajysfj2vsr47xjlcq78ambd7im4wbjgj76"))))))
|
||||
|
||||
|
||||
(define-public ntk
|
||||
@@ -163,4 +162,4 @@ 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 license:lgpl2.0+))) ; plus certain additional permissions
|
||||
(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.22")
|
||||
(version "255.17")
|
||||
(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
|
||||
"0hnzks8f0jl2hkf954pqky5490zacqaipz20k38qvzl5g8i1if5l"))))
|
||||
"0cb6p559281dzh24is91v6d4v4kz45yhyizibi4sfql9nign865h"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
@@ -2733,20 +2733,18 @@ Rendering Manager devices.")
|
||||
(define-public xdg-user-dirs
|
||||
(package
|
||||
(name "xdg-user-dirs")
|
||||
(version "0.20")
|
||||
(version "0.17")
|
||||
(source (origin
|
||||
(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))
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://user-dirs.freedesktop.org/releases/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1s235wp6z0d94z5qhwf408ppli1p3s3zah8rynm9ljh3hmmv0p2g"))))
|
||||
(build-system meson-build-system)
|
||||
(base32 "13216b8rfkzak5k6bvpx6jvqv3cnbgpijnjwj8a8d3kq4cl0a1ra"))))
|
||||
(build-system gnu-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,9 +1181,17 @@ It is capable of creating games for SCUMM version 6 and partially version 7.")
|
||||
(sha256
|
||||
(base32
|
||||
"12f1d45995qf5sazjmmfdydllcd6alhqs1s4xwv3jiq1fw66hcy9"))
|
||||
(modules '((guix build utils)))
|
||||
(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)
|
||||
(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)
|
||||
|
||||
+102
-100
@@ -6148,39 +6148,22 @@ have a steep learning curve.")))
|
||||
(define-public openrct2-title-sequences
|
||||
(package
|
||||
(name "openrct2-title-sequences")
|
||||
(version "0.1.2")
|
||||
(version "0.4.26")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/OpenRCT2/title-sequences/releases/download/v"
|
||||
version "/title-sequence-v" version ".zip"))
|
||||
(uri (string-append "https://github.com/OpenRCT2/title-sequences"
|
||||
"/releases/download/v" version
|
||||
"/title-sequences.zip"))
|
||||
(file-name (string-append name "-" version ".zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"0qbyxrsw8hlgaq0r5d7lx7an3idy4qbfv7yiw9byhldk763n9cfw"))))
|
||||
(build-system trivial-build-system)
|
||||
(native-inputs
|
||||
`(("bash" ,bash)
|
||||
("coreutils" ,coreutils)
|
||||
("unzip" ,unzip)))
|
||||
"0n680llpcyzl22bbphp9diz4m86gz2rn97yxlky44qspn63rgfys"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
#:builder
|
||||
(begin
|
||||
(use-modules (guix build utils))
|
||||
(let* ((out (assoc-ref %outputs "out"))
|
||||
(openrct2-title-sequences (string-append out
|
||||
"/share/openrct2/title-sequences"))
|
||||
(source (assoc-ref %build-inputs "source"))
|
||||
(unzip (search-input-file %build-inputs "/bin/unzip")))
|
||||
(copy-file source (string-append ,name "-" ,version ".zip"))
|
||||
(invoke unzip (string-append ,name "-" ,version ".zip"))
|
||||
(delete-file (string-append ,name "-" ,version ".zip"))
|
||||
(mkdir-p openrct2-title-sequences)
|
||||
(copy-recursively "."
|
||||
openrct2-title-sequences)
|
||||
#t))))
|
||||
(home-page "https://github.com/OpenRCT2/OpenRCT2")
|
||||
(list #:install-plan #~'(("." "/share/openrct2/title-sequences"))))
|
||||
(native-inputs (list unzip))
|
||||
(home-page "https://openrct2.io")
|
||||
(synopsis "Title sequences for OpenRCT2")
|
||||
(description
|
||||
"openrct2-title-sequences is a set of title sequences for OpenRCT2.")
|
||||
@@ -6190,38 +6173,22 @@ have a steep learning curve.")))
|
||||
(define-public openrct2-objects
|
||||
(package
|
||||
(name "openrct2-objects")
|
||||
(version "1.0.20")
|
||||
(version "1.7.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/OpenRCT2/objects/releases/download/v"
|
||||
version "/objects.zip"))
|
||||
(uri (string-append "https://github.com/OpenRCT2/objects"
|
||||
"/releases/download/v" version "/objects.zip"))
|
||||
(file-name (string-append name "-" version ".zip"))
|
||||
(sha256
|
||||
(base32 "1q7a38kcwrfijav6app1gf253yfv8b0rljbkah8040y6i7snw9mw"))))
|
||||
(build-system trivial-build-system)
|
||||
(native-inputs
|
||||
`(("bash" ,bash)
|
||||
("coreutils" ,coreutils)
|
||||
("unzip" ,unzip)))
|
||||
(base32 "1mpa4vpgs4m9izak8h5rkfcn80jbcm2di717k97g30kf1k91wijm"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
#:builder
|
||||
(begin
|
||||
(use-modules (guix build utils))
|
||||
(let* ((out (assoc-ref %outputs "out"))
|
||||
(openrct2-objects (string-append out
|
||||
"/share/openrct2/objects"))
|
||||
(source (assoc-ref %build-inputs "source"))
|
||||
(unzip (search-input-file %build-inputs "/bin/unzip")))
|
||||
(copy-file source (string-append ,name "-" ,version ".zip"))
|
||||
(invoke unzip (string-append ,name "-" ,version ".zip"))
|
||||
(delete-file (string-append ,name "-" ,version ".zip"))
|
||||
(mkdir-p openrct2-objects)
|
||||
(copy-recursively "."
|
||||
openrct2-objects)
|
||||
#t))))
|
||||
(home-page "https://github.com/OpenRCT2/OpenRCT2")
|
||||
;; zip has multiple top-level directories to install.
|
||||
(list #:install-plan #~'((".." "/share/openrct2/objects"
|
||||
#:exclude ("environment-variables")))))
|
||||
(native-inputs (list unzip))
|
||||
(home-page "https://openrct2.io")
|
||||
(synopsis "Objects for OpenRCT2")
|
||||
(description
|
||||
"openrct2-objects is a set of objects for OpenRCT2.")
|
||||
@@ -6317,7 +6284,7 @@ that follows two aliens who come to Earth in search of a stolen artifact.")
|
||||
(define-public openrct2
|
||||
(package
|
||||
(name "openrct2")
|
||||
(version "0.3.3")
|
||||
(version "0.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -6326,53 +6293,88 @@ that follows two aliens who come to Earth in search of a stolen artifact.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "01nanpbz5ycdhkyd46fjfvj18sw729l4vk7xg12600f9rjngjk76"))))
|
||||
(base32 "0pxlk3a8akl0ghcbqqq5xw8chmxss7kwbvi52ixfqri68n46srxh"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
(with-directory-excursion "src/thirdparty"
|
||||
(for-each delete-file-recursively
|
||||
'("quickjs-ng" "sfl")))
|
||||
(substitute* "src/openrct2/CMakeLists.txt"
|
||||
;; use sys quickjs for scripting features
|
||||
(("if \\(ENABLE_SCRIPTING\\)") "if (false)")
|
||||
(("add_library\\(OpenRCT2[^\n]+" all)
|
||||
(string-join
|
||||
`(,all
|
||||
"find_library(QJS_L NAMES qjs REQUIRED)"
|
||||
"find_path(QJS_I NAMES quickjs.h REQUIRED)"
|
||||
"target_link_libraries(libopenrct2 ${QJS_L})"
|
||||
"target_include_directories(libopenrct2 SYSTEM PRIVATE ${QJS_I})")
|
||||
"\n")))))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags (list "-DDOWNLOAD_OBJECTS=OFF"
|
||||
"-DDOWNLOAD_TITLE_SEQUENCES=OFF")
|
||||
#:tests? #f ; tests require network access
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-usr-share-paths&add-data
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((titles (assoc-ref inputs "openrct2-title-sequences"))
|
||||
(objects (assoc-ref inputs "openrct2-objects")))
|
||||
;; Fix some references to /usr/share.
|
||||
(substitute* "src/openrct2/platform/Platform.Linux.cpp"
|
||||
(("/usr/share")
|
||||
(string-append (assoc-ref %outputs "out") "/share")))
|
||||
(copy-recursively
|
||||
(string-append titles "/share/openrct2/title-sequences")
|
||||
"data/title")
|
||||
(copy-recursively
|
||||
(string-append objects "/share/openrct2/objects")
|
||||
"data/object"))))
|
||||
(add-before 'configure 'get-rid-of-errors
|
||||
(lambda _
|
||||
;; Don't treat warnings as errors.
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("-Werror") ""))
|
||||
#t)))))
|
||||
(inputs `(("curl" ,curl)
|
||||
("duktape" ,duktape)
|
||||
("fontconfig" ,fontconfig)
|
||||
("freetype" ,freetype)
|
||||
("icu4c" ,icu4c)
|
||||
("jansson" ,jansson)
|
||||
("nlohmann-json" ,nlohmann-json)
|
||||
("libpng" ,libpng)
|
||||
("libzip" ,libzip)
|
||||
("mesa" ,mesa)
|
||||
("openrct2-objects" ,openrct2-objects)
|
||||
("openrct2-title-sequences" ,openrct2-title-sequences)
|
||||
("openssl" ,openssl)
|
||||
("sdl2" ,sdl2)
|
||||
("speexdsp" ,speexdsp)
|
||||
("zlib" ,zlib)))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(home-page "https://github.com/OpenRCT2/OpenRCT2")
|
||||
(list
|
||||
#:configure-flags #~(list "-DDOWNLOAD_OBJECTS=OFF"
|
||||
"-DDOWNLOAD_TITLE_SEQUENCES=OFF"
|
||||
"-DDOWNLOAD_OPENSFX=OFF"
|
||||
"-DDOWNLOAD_OPENMUSIC=OFF"
|
||||
"-DDISABLE_DISCORD_RPC=ON"
|
||||
"-DDISABLE_VERSION_CHECKER=ON")
|
||||
;; many issues such as https://github.com/OpenRCT2/OpenRCT2/issues/12719
|
||||
#:tests? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-usr-share-paths&add-data
|
||||
;; TODO: OpenRCT2 can optionally use free music and sounds!
|
||||
;; https://github.com/OpenRCT2/OpenMusic
|
||||
;; https://github.com/OpenRCT2/OpenSoundEffects
|
||||
;; ideally we package these instead of the ones the user is supposed
|
||||
;; to supply.
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((titles (assoc-ref inputs "openrct2-title-sequences"))
|
||||
(objects (assoc-ref inputs "openrct2-objects"))
|
||||
(sfl (assoc-ref inputs "sfl-library")))
|
||||
;; Fix some references to /usr/share.
|
||||
(substitute* "src/openrct2/platform/Platform.Linux.cpp"
|
||||
(("/usr/share")
|
||||
(string-append #$output "/share")))
|
||||
(copy-recursively
|
||||
(string-append titles "/share/openrct2/title-sequences")
|
||||
"data/title")
|
||||
(copy-recursively
|
||||
(string-append objects "/share/openrct2/objects")
|
||||
"data/object")
|
||||
(copy-recursively
|
||||
(string-append sfl "/include")
|
||||
"src/thirdparty"))))
|
||||
(add-before 'configure 'get-rid-of-errors
|
||||
(lambda _
|
||||
;; Don't treat warnings as errors.
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("-Werror") "")))))))
|
||||
(inputs
|
||||
(list curl
|
||||
flac
|
||||
fontconfig
|
||||
freetype
|
||||
icu4c
|
||||
jansson
|
||||
libpng
|
||||
libvorbis
|
||||
libzip
|
||||
mesa
|
||||
nlohmann-json-no-char8-t
|
||||
openrct2-objects
|
||||
openrct2-title-sequences
|
||||
openssl
|
||||
quickjs-ng
|
||||
sdl2
|
||||
sfl-library
|
||||
speexdsp
|
||||
zlib
|
||||
(list zstd "lib")))
|
||||
(native-inputs (list pkg-config))
|
||||
(home-page "https://openrct2.io")
|
||||
(synopsis "Free software re-implementation of RollerCoaster Tycoon 2")
|
||||
(description "OpenRCT2 is a free software re-implementation of
|
||||
RollerCoaster Tycoon 2 (RCT2). The gameplay revolves around building and
|
||||
@@ -6380,8 +6382,8 @@ maintaining an amusement park containing attractions, shops and facilities.
|
||||
|
||||
Note that this package does @emph{not} provide the game assets (sounds,
|
||||
images, etc.)")
|
||||
;; See <https://github.com/OpenRCT2/OpenRCT2/wiki/Required-RCT2-files>
|
||||
;; regarding assets.
|
||||
;; See bottom of:
|
||||
;; https://github.com/OpenRCT2/OpenRCT2/blob/develop/distribution/readme.txt
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public openriichi
|
||||
|
||||
@@ -807,7 +807,7 @@ OpenGeoSys")
|
||||
(define-public ogs-serial
|
||||
(package
|
||||
(name "ogs-serial")
|
||||
(version "6.5.7")
|
||||
(version "6.5.8")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -816,9 +816,7 @@ OpenGeoSys")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1wflgkbcsa4sr8g63img0ld6h4jm1b7hjzsa2m4gsbzc6j7kd41w"))
|
||||
;; Remove patch on next release, likely 6.5.8
|
||||
(patches (search-patches "ogs-6.5.7-netcdfconverter.patch"))))
|
||||
(base32 "037il6jw2j1g7bvrwvbp20yf0cnz7c7f3wmszxfv5ay7l54sffqg"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -873,6 +871,7 @@ OpenGeoSys")
|
||||
tclap
|
||||
tfel
|
||||
vtk
|
||||
xdmf
|
||||
xmlpatch
|
||||
zlib))
|
||||
(propagated-inputs
|
||||
|
||||
@@ -192,9 +192,17 @@ definitions in Go programs.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0c1rxbj3v3m0fqb8q96xlbawxm9scyx6vvr8pddkiwp7zkx4ajym"))
|
||||
(modules '((guix build utils)))
|
||||
(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 "cmd" "godoc")
|
||||
(delete-all-but "." "cmd")))))
|
||||
(build-system go-build-system)
|
||||
|
||||
@@ -1535,9 +1535,17 @@ Go programming language.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0sjvngpahkb5x573i855fjlb1fdmr6n269nmb5xxnbabjb27mnvg"))
|
||||
(modules '((guix build utils)))
|
||||
(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 "go" "expect")
|
||||
(delete-all-but "." "go")))))
|
||||
(build-system go-build-system)
|
||||
@@ -1567,9 +1575,17 @@ 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)))
|
||||
(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 "go" "packages")
|
||||
(delete-all-but "go/packages" "packagestest")
|
||||
(delete-all-but "." "go")))))
|
||||
@@ -1602,9 +1618,18 @@ tools on.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1blk22apy424j9v58lfy4pxnrgh93yqchqhxsnf78dmx4vx5yi9r"))
|
||||
(modules '((guix build utils)))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26)))
|
||||
(snippet
|
||||
#~(begin (delete-all-but "." "godoc")))))
|
||||
#~(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")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -4293,7 +4293,7 @@ purpose of improving obfs4proxy's meek_lite transport.")
|
||||
(define-public go-go-mau-fi-libsignal
|
||||
(package
|
||||
(name "go-go-mau-fi-libsignal")
|
||||
(version "0.1.2")
|
||||
(version "0.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -4309,7 +4309,7 @@ purpose of improving obfs4proxy's meek_lite transport.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1pd2kijza7dr5nbgfw176ca1r3rmgpx8h22gqjp557awxqhw9lzr"))))
|
||||
(base32 "0jwqhaaqjf5fb322karppisbg5s1la459a0cwvhbii899nzyd59k"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2026 Sughosha <sughosha@disroot.org>
|
||||
;;; Copyright © 2026 orahcio <orahcio@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -249,3 +250,88 @@ multiple return values, Go's native multiple return values are used instead.
|
||||
Whenever a native GTK call could return an unexpected NULL pointer, an
|
||||
additional error is returned in the Go binding.")
|
||||
(license license:isc)))
|
||||
|
||||
(define-public go-github-com-jackmordaunt-icns-v3
|
||||
(package
|
||||
(name "go-github-com-jackmordaunt-icns-v3")
|
||||
(version "3.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/JackMordaunt/icns")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "04wnxv79b1xbca16kgz98zc929q60lwcgcc6q784lkz2a1clh2z2"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
;; Submodules with their own go.mod files and packaged separately:
|
||||
(delete-file-recursively "cmd")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/jackmordaunt/icns/v3"
|
||||
#:test-flags #~(list "-vet=off")))
|
||||
(propagated-inputs
|
||||
(list go-github-com-nfnt-resize))
|
||||
(home-page "https://github.com/jackmordaunt/icns")
|
||||
(synopsis "Easily create .icns files")
|
||||
(description
|
||||
"This package provides Go library to easily convert @code{.jpg} and
|
||||
@code{.png} to @code{.icns}, or to convert from any @code{image.Image} to
|
||||
@code{.icns}.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-sergeymakinen-go-bmp
|
||||
(package
|
||||
(name "go-github-com-sergeymakinen-go-bmp")
|
||||
(version "1.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/sergeymakinen/go-bmp")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0bglvxqmjvgclcfjpkznxyifj5r0bh837c2iw6x1vylc7lqcq07h"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/sergeymakinen/go-bmp"))
|
||||
(home-page "https://github.com/sergeymakinen/go-bmp")
|
||||
(synopsis "BMP image decoder and encoder")
|
||||
(description "Package bmp implements a BMP image decoder and encoder.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-sergeymakinen-go-ico
|
||||
(package
|
||||
(name "go-github-com-sergeymakinen-go-ico")
|
||||
(version "1.0.0-beta.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/sergeymakinen/go-ico")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "115fgnhn1j91zvkigl1x03jkc2dn6vx7qvfmm6l59d24qkfv6cwn"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/sergeymakinen/go-ico"))
|
||||
(propagated-inputs
|
||||
(list go-github-com-sergeymakinen-go-bmp))
|
||||
(home-page "https://github.com/sergeymakinen/go-ico")
|
||||
(synopsis "ICO and CUR file decoders and encoders")
|
||||
(description "Package ico implements an ICO file decoder and encoder.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
;;;
|
||||
;;; Avoid adding new packages to the end of this file. To reduce the chances
|
||||
;;; of a merge conflict, place them above in alphabetic order:
|
||||
;;; guix import --insert=gnu/packages/golang-graphics.scm pypi <package-name>.
|
||||
;;;
|
||||
|
||||
+783
-118
File diff suppressed because it is too large
Load Diff
+364
-26
@@ -78,6 +78,7 @@
|
||||
;;; Copyright © 2026 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
|
||||
;;; Copyright © 2026 Sughosha <sughosha@disroot.org>
|
||||
;;; Copyright © 2026 orahcio <orahcio@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -113,6 +114,7 @@
|
||||
#:use-module (gnu packages golang-check)
|
||||
#:use-module (gnu packages golang-compression)
|
||||
#:use-module (gnu packages golang-crypto)
|
||||
#:use-module (gnu packages golang-graphics)
|
||||
#:use-module (gnu packages golang-maths)
|
||||
#:use-module (gnu packages golang-vcs)
|
||||
#:use-module (gnu packages golang-web)
|
||||
@@ -443,6 +445,33 @@ a human-readable byte format.")
|
||||
time dependencies in tests.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-code-rocketnine-space-tslocum-cbind
|
||||
(package
|
||||
(name "go-code-rocketnine-space-tslocum-cbind")
|
||||
(version "0.1.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/tslocum/cbind.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0a0gpzapm3jsivdf5h6lvlxhzngrmyj7xp5fdk20l8r4yba7yqsy"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "code.rocketnine.space/tslocum/cbind"
|
||||
#:test-flags #~(list "--skip" "TestConfiguration")))
|
||||
(propagated-inputs
|
||||
(list go-github-com-gdamore-tcell-v2))
|
||||
(home-page "https://codeberg.org/tslocum/cbind")
|
||||
(synopsis "Key event handling library for tcell")
|
||||
(description
|
||||
"Package cbind provides a tcell key event encoding, decoding and handling
|
||||
as human-readable strings.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-codeberg-org-anaseto-gruid
|
||||
(package
|
||||
(name "go-codeberg-org-anaseto-gruid")
|
||||
@@ -1304,8 +1333,26 @@ 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)))
|
||||
(snippet #~(delete-all-but "." "generate"))))
|
||||
(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")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -1822,6 +1869,33 @@ software (based on Python's
|
||||
@uref{https://github.com/pycontribs/tendo, tendo}).")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-alimpfard-line
|
||||
(package
|
||||
(name "go-github-com-alimpfard-line")
|
||||
(version "0.0.0-20230131232016-03b4e7dee324")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/alimpfard/line")
|
||||
(commit (go-version->git-ref version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0swjy1z7hqy4xgq2hfa457rs7p9d7fw5lmdh0zaf3n25rqv10ds1"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/alimpfard/line"))
|
||||
(propagated-inputs
|
||||
(list go-golang-org-x-sys))
|
||||
(home-page "https://github.com/alimpfard/line")
|
||||
(synopsis "Terminal line editor")
|
||||
(description
|
||||
"This package provides a full reimplementation of SerenityOS's LibLine in
|
||||
Go language. It supports flexible autocompletion, live prompt, buffer update
|
||||
and stylisation, multiline editing and more.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public go-github-com-alsm-ioprogress
|
||||
(package
|
||||
(name "go-github-com-alsm-ioprogress")
|
||||
@@ -5047,8 +5121,18 @@ 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)))
|
||||
(snippet #~(delete-all-but "." "ansi"))))
|
||||
(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")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -5085,7 +5169,14 @@ ECMA-48} specs.")
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26)))
|
||||
(snippet
|
||||
#~(begin (delete-all-but "." "cellbuf")))))
|
||||
#~(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")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -5143,8 +5234,18 @@ ECMA-48} specs.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "088786ak8jsgvssbb5y16z066vfq9f6078sjc7iv766knfr2i0x2"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet #~(delete-all-but "." "errors"))))
|
||||
(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")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -5296,9 +5397,18 @@ package provides an API for comparing Golden files.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1shw55110fnn4xz80wmgr18czmiil6z1j064m90iw8c7j9llfzn5"))
|
||||
(modules '((guix build utils)))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26)))
|
||||
(snippet
|
||||
#~(begin (delete-all-but "." "term")))))
|
||||
#~(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")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -5386,8 +5496,21 @@ package provides an API for comparing Golden files.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0blpb8vpl7sc6pb43h0730wdcwrkvnhly6qhik6wljrzn2nqz5g2"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet #~(delete-all-but "." "xpty"))))
|
||||
(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")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -6470,8 +6593,21 @@ packages.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0afaljkkd388f6igr3f2vjnd14yr8h20fcfzglw8j5q1q7a1cvik"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet #~(delete-all-but "." "pkg"))))
|
||||
(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")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -9690,6 +9826,37 @@ O(1) for @code{Set}, @code{Get}, @code{Delete} and @code{Len}.")
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'remove-submodule)))))))
|
||||
|
||||
(define-public go-github-com-elliotchance-orderedmap-v3
|
||||
(package
|
||||
(name "go-github-com-elliotchance-orderedmap-v3")
|
||||
(version "3.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/elliotchance/orderedmap")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1w681qsybcf34g0wn9hm6nnzc9jcdv59ahjiqdq9hs22xq0qgnjj"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; Projects includes v1, v2 and v3 in the same source tree.
|
||||
#:import-path "github.com/elliotchance/orderedmap/v3"
|
||||
#:unpack-path "github.com/elliotchance/orderedmap"))
|
||||
(native-inputs
|
||||
(list go-github-com-stretchr-testify))
|
||||
(home-page "https://github.com/elliotchance/orderedmap")
|
||||
(synopsis "Ordered map in with amortized O(1) for Set, Get, Delete and Len")
|
||||
(description
|
||||
"An @code{*OrderedMap} is a high performance ordered map that maintains
|
||||
amortized O(1) for @code{Set}, @code{Get}, @code{Delete} and @code{Len}.
|
||||
Internally an @code{*OrderedMap} uses the composite type
|
||||
@url{https://go.dev/blog/maps, map} combined with a trimmed down linked list
|
||||
to maintain the order.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-elliotwutingfeng-asciiset
|
||||
(package
|
||||
(name "go-github-com-elliotwutingfeng-asciiset")
|
||||
@@ -10022,6 +10189,36 @@ and @code{io.ReadCloser}) with overwrites
|
||||
" This package is a fork of dlclark/regexp2 providing a
|
||||
more similar API to regexp."))))
|
||||
|
||||
(define-public go-github-com-esiqveland-notify
|
||||
(package
|
||||
(name "go-github-com-esiqveland-notify")
|
||||
(version "0.13.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/esiqveland/notify")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "03d27a8rl55j6dqclg3233dj3j7v0i0p9cda06f9c4a21djamrfb"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/esiqveland/notify"))
|
||||
(native-inputs
|
||||
(list go-github-com-stretchr-testify))
|
||||
(propagated-inputs
|
||||
(list go-github-com-godbus-dbus-v5))
|
||||
(home-page "https://github.com/esiqveland/notify")
|
||||
(synopsis "Delivering desktop notifications over DBus")
|
||||
(description
|
||||
"Notify is a Go library for interacting with the DBus notification
|
||||
service defined by freedesktop.org at
|
||||
@url{https://developer.gnome.org/notification-spec/}. Notify can deliver
|
||||
desktop notifications over DBus, ala how @code{libnotify} does it.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-ettle-strcase
|
||||
(package
|
||||
(name "go-github-com-ettle-strcase")
|
||||
@@ -10813,6 +11010,37 @@ library in go standard library.")
|
||||
"Go library that pluralizes and singularizes English nouns.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public go-github-com-gen2brain-beeep
|
||||
(package
|
||||
(name "go-github-com-gen2brain-beeep")
|
||||
(version "0.11.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/gen2brain/beeep")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0jvfspz941r93djf83gsjqw8w9v34fa9dys1465iwbq769ayizmw"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/gen2brain/beeep"
|
||||
#:test-flags #~(list "--skip" "TestAlert|TestNotify")))
|
||||
(propagated-inputs
|
||||
(list go-github-com-esiqveland-notify
|
||||
go-github-com-godbus-dbus-v5
|
||||
go-github-com-jackmordaunt-icns-v3
|
||||
go-github-com-sergeymakinen-go-ico
|
||||
go-golang-org-x-sys))
|
||||
(home-page "https://github.com/gen2brain/beeep")
|
||||
(synopsis "Sending desktop notifications, alerts and beeps")
|
||||
(description
|
||||
"Package beeep provides a cross-platform library for sending desktop
|
||||
notifications and beeps.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public go-github-com-ghemawat-stream
|
||||
(package
|
||||
(name "go-github-com-ghemawat-stream")
|
||||
@@ -16056,9 +16284,18 @@ Twisted's manhole library} .")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0xj782ghf0iv8r2xxmg2vrh72b02h216y4yfyi60y9z0691lrsip"))
|
||||
(modules '((guix build utils)))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26)))
|
||||
(snippet
|
||||
#~(begin (delete-all-but "." "tools")))))
|
||||
#~(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")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -19843,9 +20080,18 @@ publish–subscribe pattern}.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0an8ypp8v9gfxbbb71mpimb1g9labl4v7lgazcphysn6c5smgmiw"))
|
||||
(modules '((guix build utils)))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26)))
|
||||
(snippet
|
||||
#~(begin (delete-all-but "." "atomicwriter")))))
|
||||
#~(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")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -19900,9 +20146,18 @@ https://github.com/syndtr/gocapability.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1nh1disclgydvq7k10awzks6k8kw9cjj3q19f83ksi4b76p5l475"))
|
||||
(modules '((guix build utils)))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26)))
|
||||
(snippet
|
||||
#~(begin (delete-all-but "." "mount")))))
|
||||
#~(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")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -29658,6 +29913,31 @@ utilities for cty Golang module.")
|
||||
"Package yaml can marshal and unmarshal cty values in YAML format.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-zeebo-bencode
|
||||
(package
|
||||
(name "go-github-com-zeebo-bencode")
|
||||
(version "1.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/zeebo/bencode")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0c6bw1if1vbcr9l4684a4jdri8z31m8msjpp7z6y2p9s1jqjhkrp"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/zeebo/bencode"))
|
||||
(home-page "https://github.com/zeebo/bencode")
|
||||
(synopsis "Bencode marshal and unmarshal library")
|
||||
(description
|
||||
"This library implements encoding and decoding of
|
||||
@url{https://wiki.theory.org/BitTorrentSpecification#Bencoding, bencoded}
|
||||
objects.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-zeebo-errs
|
||||
(package
|
||||
(name "go-github-com-zeebo-errs")
|
||||
@@ -29971,6 +30251,31 @@ connections.")
|
||||
"This package provides a pretty printing library for Golang values.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-zyedidia-clipboard
|
||||
(package
|
||||
(name "go-github-com-zyedidia-clipboard")
|
||||
(version "1.0.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/zyedidia/clipboard")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1nrs2ll6dh31wyzxh2zbykwvpavhlpzysfk6qgfj5s4rz6ck8glz"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;requires clipboard (xclip or xsel)
|
||||
#:import-path "github.com/zyedidia/clipboard"))
|
||||
(home-page "https://github.com/zyedidia/clipboard")
|
||||
(synopsis "Clipboard for Golang")
|
||||
(description
|
||||
"Package clipboard read/write on clipboard. It's an alternative fork of
|
||||
@url{https://github.com/atotto/clipboard}.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-zyedidia-clipper
|
||||
(package
|
||||
(name "go-github-com-zyedidia-clipper")
|
||||
@@ -30479,7 +30784,7 @@ Identifier (RFC3986) specification in Go.")
|
||||
(define-public go-go-mau-fi-util
|
||||
(package
|
||||
(name "go-go-mau-fi-util")
|
||||
(version "0.8.4")
|
||||
(version "0.9.9")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -30488,7 +30793,7 @@ Identifier (RFC3986) specification in Go.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0zzkrbwgbxfppsxjck8qgj4xxzpiq25sx4p3zwjh6s1yz3kfb97p"))))
|
||||
(base32 "1d6365n4j5hx172mi5f9rk49l7cgcbf8qvi721b0l34j2m036rsy"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -30960,8 +31265,21 @@ when they'd prefer a more familiar, loosely typed API.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "05i15278swdmpif3p6g18sy0sn7rnfdl3m2rj5p30cnyb0j29vig"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet #~(delete-all-but "." "exp"))))
|
||||
(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")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -32442,9 +32760,18 @@ code.")
|
||||
(name "go-modernc-org-ccgo-v4")
|
||||
(source (origin
|
||||
(inherit (package-source go-modernc-org-ccgo-v3))
|
||||
(modules '((guix build utils)))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26)))
|
||||
(snippet
|
||||
#~(begin (delete-all-but "." "v4")))))
|
||||
#~(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")))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments
|
||||
(package-arguments go-modernc-org-ccgo-v3)
|
||||
@@ -33400,9 +33727,20 @@ unmarshaling functions based on @code{encoding/json} @code{Unmarshal()}.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "12n8ij4gisah5mvxcgq263iic61gjpxdj3ml03826zckzn7wlv46"))
|
||||
(modules '((guix build utils)))
|
||||
(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 "." "cmd")
|
||||
(delete-all-but "cmd" "config")))))
|
||||
(build-system go-build-system)
|
||||
|
||||
+68
-63
@@ -44,7 +44,6 @@
|
||||
;;; 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.
|
||||
;;;
|
||||
@@ -1533,71 +1532,77 @@ frames per second (FPS), temperatures, CPU/GPU load and more.")
|
||||
(define-public openexr
|
||||
(package
|
||||
(name "openexr")
|
||||
(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"))))))
|
||||
(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"))))
|
||||
(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* '("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\"\\);")
|
||||
"")))))
|
||||
#~()))))
|
||||
(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))
|
||||
(propagated-inputs
|
||||
(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")
|
||||
(list libdeflate ; Marked as Requires.private in OpenEXR.pc.
|
||||
imath)) ; Marked as Requires in OpenEXR.pc.
|
||||
(home-page "https://www.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.24.0")
|
||||
(version "1.22.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/groff/groff-" version
|
||||
".tar.gz"))
|
||||
(sha256 (base32
|
||||
"0w3mf9jb5j1gbw1160lr5498q4ayl5i3jpf5g8721l1yzzcbr6z7"))))
|
||||
"14q2mldnr1vx0l9lqp9v2f6iww24gj28iyh4j2211hyynx67p3p7"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out"
|
||||
"doc")) ;12MiB of PS, PDF, HTML, and examples
|
||||
|
||||
@@ -4019,6 +4019,38 @@ with documentation.
|
||||
;; details.
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public guile-scriba
|
||||
(package
|
||||
(name "guile-scriba")
|
||||
(version "0.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/jjba23/scriba.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1chhbhy21g6zghc3alpqhvb6nizylmzzapjariykv41f47ynhljs"))))
|
||||
(build-system guile-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:source-directory "src"))
|
||||
(propagated-inputs (list guile-json-4))
|
||||
(inputs (list guile-3.0))
|
||||
(synopsis "Structured logging framework for Guile Scheme")
|
||||
(description
|
||||
"Scriba is a structured logging library for GNU Guile that prioritizes
|
||||
flexibility and observability. It provides modular log routing, formatting,
|
||||
and filtering, allowing developers to generate human-readable console logs
|
||||
during development and machine-readable JSON logs for production environments.
|
||||
Key features include an auto-logger configured via environment variables,
|
||||
dynamically scoped log contexts using Scheme parameters, ahead-of-time log
|
||||
level filtering, and minimal runtime overhead achieved through memoization
|
||||
and compile-time macros.")
|
||||
(home-page "https://codeberg.org/jjba23/scriba")
|
||||
(license license:lgpl3+)))
|
||||
|
||||
(define-public guile-simple-iterators
|
||||
(let ((commit "50f16a2b2aa57e657e52e19fb3c35bdc182cfa36")
|
||||
(revision "0"))
|
||||
@@ -7526,7 +7558,7 @@ in a large number of randomly generated test cases.")
|
||||
(define-public guile-veritas
|
||||
(package
|
||||
(name "guile-veritas")
|
||||
(version "0.1.6")
|
||||
(version "0.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -7535,13 +7567,13 @@ in a large number of randomly generated test cases.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1h4si2p8gj4wfhvn4cshga2kjxf59vd4nwvxkc2i3g5gv3kxhm3k"))))
|
||||
(base32 "1i64pd5pcx37i25hnks7zj8pbwf1fdy0s5y9ic2sgn800zqq1dxy"))))
|
||||
(build-system guile-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:source-directory "src"))
|
||||
(native-inputs (list guile-3.0))
|
||||
(propagated-inputs (list guile-fibers))
|
||||
(propagated-inputs (list guile-fibers guile-json-4))
|
||||
(home-page "https://codeberg.org/jjba23/veritas")
|
||||
(synopsis "Testing framework for Guile")
|
||||
(description
|
||||
|
||||
@@ -713,7 +713,7 @@ exec ${system}/rc \"$@\"
|
||||
("libpciaccess" ,libpciaccess-static)
|
||||
|
||||
;; For NFS support
|
||||
("libtirpc" ,libtirpc)
|
||||
("libtirpc" ,libtirpc/hurd)
|
||||
|
||||
;; Tools for the /libexec/* scripts.
|
||||
("bash-minimal" ,bash-minimal)
|
||||
|
||||
@@ -600,16 +600,24 @@ 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))
|
||||
(use-modules (guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26))
|
||||
;; 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"))))
|
||||
@@ -1513,7 +1521,7 @@ libraries designed for computer vision research and implementation.")
|
||||
python
|
||||
onetbb
|
||||
vxl-1
|
||||
zlib))
|
||||
zlib-ng-compat))
|
||||
(native-inputs
|
||||
(list castxml
|
||||
git-minimal
|
||||
|
||||
+65
-82
@@ -2987,101 +2987,86 @@ 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.2")
|
||||
(version "0.11.1")
|
||||
(outputs (list "out" "pixbuf-loader"))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/libjxl/libjxl")
|
||||
(commit (string-append "v" version))))
|
||||
(commit (string-append "v" version))
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0a6fg2v81rqsbrzi97x1d7wadcikh2fizr64rsza668cwvsk631q"))))
|
||||
(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"))))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(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")))
|
||||
`(#: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 '()))
|
||||
(add-after 'install 'split
|
||||
(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")))))))
|
||||
(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*))))))))
|
||||
(native-inputs
|
||||
(list asciidoc
|
||||
doxygen
|
||||
googletest
|
||||
pkg-config
|
||||
python
|
||||
(package-source sjpeg))) ;for sjpegi.h
|
||||
(list asciidoc doxygen googletest pkg-config python))
|
||||
(inputs
|
||||
(list freeglut
|
||||
gdk-pixbuf
|
||||
@@ -3094,8 +3079,6 @@ Format) file format decoder and encoder.")
|
||||
libpng
|
||||
libwebp
|
||||
openexr
|
||||
sjpeg
|
||||
skcms
|
||||
zlib))
|
||||
;; These are in Requires.private of libjxl.pc.
|
||||
(propagated-inputs
|
||||
|
||||
+14
-2
@@ -1362,9 +1362,21 @@ code prior to it getting merged into @code{go-cid}.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "00lwizzdfdx6kynxddal3all6q9dhwqanpkw0d0vxlwik4nkvxa5"))
|
||||
(modules '((guix build utils)))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26)))
|
||||
(snippet
|
||||
#~(begin (delete-all-but "." "ipfs")))))
|
||||
#~(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")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
(define-public jemalloc
|
||||
(package
|
||||
(name "jemalloc")
|
||||
(version "5.3.1")
|
||||
(version "5.3.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -44,7 +44,7 @@
|
||||
version "/jemalloc-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"14kgf0hs864hp5xxqfqh37l1d8wwg57h7wv28rffs8ig4f0bq9iq"))))
|
||||
"1apyxjd1ixy4g8xkr61p0ny8jiz8vyv1j0k4nxqkxpqrf4g2vf1d"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -588,11 +588,14 @@ 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" ":" =
|
||||
@@ -600,12 +603,13 @@ This package is part of the KDE multimedia module.")
|
||||
`("MLT_PREFIX" ":" =
|
||||
(,#$(this-package-input "mlt"))))))))))
|
||||
(native-inputs
|
||||
(list extra-cmake-modules frei0r-api kdoctools pkg-config qttools))
|
||||
(list extra-cmake-modules 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
|
||||
@@ -634,10 +638,6 @@ 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,8 +92,16 @@ tree for exported @acronym{CustomResourceDefinition, CRD} types.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0d9rjyl5h0xm9isgr8b2fz8528wk3pds71rjl8g08fgsmsa5kicb"))
|
||||
(modules '((guix build utils)))
|
||||
(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))))
|
||||
;; Replace symlinks to tests with file contents
|
||||
(for-each
|
||||
(lambda (f)
|
||||
@@ -174,8 +182,16 @@ tree for exported @acronym{CustomResourceDefinition, CRD} types.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0d9rjyl5h0xm9isgr8b2fz8528wk3pds71rjl8g08fgsmsa5kicb"))
|
||||
(modules '((guix build utils)))
|
||||
(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 "." "server")
|
||||
(rename-file "server" "server.tmp")
|
||||
(mkdir-p "server/v3")
|
||||
@@ -249,8 +265,16 @@ system.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0d9rjyl5h0xm9isgr8b2fz8528wk3pds71rjl8g08fgsmsa5kicb"))
|
||||
(modules '((guix build utils)))
|
||||
(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 "." "pkg")
|
||||
(rename-file "pkg" "pkg.tmp")
|
||||
(mkdir-p "pkg/v3")
|
||||
|
||||
@@ -69,6 +69,17 @@
|
||||
(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
|
||||
@@ -76,21 +87,10 @@
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "src/sound-theme-spec.c"
|
||||
(("@SOUND_THEME_DIRECTORY@")
|
||||
(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))
|
||||
(string-append
|
||||
(assoc-ref inputs "sound-theme-freedesktop")
|
||||
"/share")))
|
||||
#t)))))
|
||||
(home-page "https://0pointer.de/lennart/projects/libcanberra/")
|
||||
(synopsis
|
||||
"Implementation of the XDG Sound Theme and Name Specifications")
|
||||
|
||||
+103
-90
@@ -86,7 +86,6 @@
|
||||
;;; 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>
|
||||
;;;
|
||||
@@ -1219,6 +1218,12 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
|
||||
"aarch64-linux" "powerpc64le-linux" "riscv64-linux")
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
(define-public linux-libre-version linux-libre-7.0-version)
|
||||
(define-public linux-libre-gnu-revision linux-libre-7.0-gnu-revision)
|
||||
(define-public linux-libre-pristine-source linux-libre-7.0-pristine-source)
|
||||
(define-public linux-libre-source linux-libre-7.0-source)
|
||||
(define-public linux-libre linux-libre-7.0)
|
||||
|
||||
(define-public linux-libre-6.19
|
||||
(make-linux-libre* linux-libre-6.19-version
|
||||
linux-libre-6.19-gnu-revision
|
||||
@@ -1235,12 +1240,6 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
|
||||
"aarch64-linux" "powerpc64le-linux" "riscv64-linux")
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
(define-public linux-libre-version linux-libre-6.18-version)
|
||||
(define-public linux-libre-gnu-revision linux-libre-6.18-gnu-revision)
|
||||
(define-public linux-libre-pristine-source linux-libre-6.18-pristine-source)
|
||||
(define-public linux-libre-source linux-libre-6.18-source)
|
||||
(define-public linux-libre linux-libre-6.18)
|
||||
|
||||
(define-public linux-libre-6.12
|
||||
(make-linux-libre* linux-libre-6.12-version
|
||||
linux-libre-6.12-gnu-revision
|
||||
@@ -1980,6 +1979,8 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform2-dsi.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform-next.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-pocket-reform.dtb")))))))))))
|
||||
|
||||
(define-public linux-libre-arm64-mnt-reform linux-libre-arm64-mnt-reform-7.0)
|
||||
|
||||
(define-public linux-libre-arm64-mnt-reform-6.19
|
||||
;; Kernel for use on the MNT/Reform systems
|
||||
;; https://mntre.com/reform.html
|
||||
@@ -2316,8 +2317,6 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform2-dsi.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform-next.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-pocket-reform.dtb")))))))))))
|
||||
|
||||
(define-public linux-libre-arm64-mnt-reform linux-libre-arm64-mnt-reform-6.18)
|
||||
|
||||
(define-public linux-libre-arm64-mnt-reform-6.12
|
||||
;; Kernel for use on the MNT/Reform systems
|
||||
;; https://mntre.com/reform.html
|
||||
@@ -3037,45 +3036,57 @@ which need to be installed separately.")
|
||||
(define-public linux-pam
|
||||
(package
|
||||
(name "linux-pam")
|
||||
(version "1.7.2")
|
||||
(version "1.5.2")
|
||||
(source
|
||||
(origin
|
||||
(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))
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/linux-pam/linux-pam/releases/download/v"
|
||||
version "/Linux-PAM-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1z5apric696zsci28c7651spvdll0zrpfm9z574gcjf45mp22gmi"))
|
||||
"0kgrsj2scv5mx6w925h9hxf11jnqqs9z8s22aw94b90xm4qp3v74"))
|
||||
(patches (search-patches "linux-pam-unix_chkpwd.patch"
|
||||
"linux-pam-no-setfsuid.patch"))))
|
||||
(build-system meson-build-system)
|
||||
(outputs '("out" "doc")) ;; 0.8 MiB of html
|
||||
|
||||
(build-system gnu-build-system)
|
||||
(inputs (list libxcrypt))
|
||||
(native-inputs
|
||||
(list gettext-minimal
|
||||
flex bison
|
||||
;; manpages
|
||||
libxslt
|
||||
libxml2
|
||||
docbook-xml
|
||||
docbook-xsl))
|
||||
(list flex
|
||||
;; TODO: optional dependencies
|
||||
;; ("cracklib" ,cracklib)
|
||||
))
|
||||
(arguments
|
||||
(list
|
||||
#: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"))
|
||||
;; 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)
|
||||
|
||||
;; XXX: Tests won't run in chroot, presumably because /etc/pam.d
|
||||
;; isn't available.
|
||||
#:tests? #f))
|
||||
@@ -4550,7 +4561,7 @@ that the Ethernet protocol is much simpler than the IP protocol.")
|
||||
(define-public iproute
|
||||
(package
|
||||
(name "iproute2")
|
||||
(version "7.0.0")
|
||||
(version "6.4.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -4558,7 +4569,7 @@ that the Ethernet protocol is much simpler than the IP protocol.")
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0kiggxwnjsglxnj43wqkc0rmq0acxf6xqcgk7ddc0qyynpvr0a76"))))
|
||||
"0wm2g70vfhnf8wb6py3zmzwxp4zv1icny1pvkwaxmr67rggbhlac"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -4570,7 +4581,6 @@ 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")
|
||||
@@ -4595,7 +4605,7 @@ that the Ethernet protocol is much simpler than the IP protocol.")
|
||||
(substitute* "Makefile"
|
||||
(("^.*ARPDDIR.*$") "")))))))
|
||||
(inputs
|
||||
(list bdb iptables libbpf libcap libelf libmnl libselinux libtirpc))
|
||||
(list bdb iptables libmnl))
|
||||
(native-inputs
|
||||
(list bison flex pkg-config))
|
||||
;; For tests.
|
||||
@@ -4624,62 +4634,65 @@ 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
|
||||
(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)
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-26))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda _
|
||||
(mkdir-p (string-append #$output "/bin"))
|
||||
(mkdir-p (string-append #$output "/sbin"))
|
||||
#: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"))
|
||||
|
||||
;; 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.*$")
|
||||
""))))
|
||||
(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))
|
||||
;; ... 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)))
|
||||
(supported-systems (remove target-hurd? %supported-systems))
|
||||
(synopsis "Tools for controlling the network subsystem in Linux")
|
||||
(description
|
||||
|
||||
+14
-4
@@ -785,10 +785,20 @@ operating systems.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1sg6ifabci7xyp3zds1w906vx6jsmyjlfr6bqld7m7hj07by9ndd"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet #~(delete-all-but "autosetup"
|
||||
"mutt-gettext.tcl"
|
||||
"mutt-iconv.tcl"))))
|
||||
(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")))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list cyrus-sasl
|
||||
|
||||
+90
-60
@@ -3592,24 +3592,23 @@ can solve two kinds of problems:
|
||||
(variable "CURLOPT_CAPATH")
|
||||
(files '("etc/ssl/certs")))))
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list (string-append "--with-shell="
|
||||
(assoc-ref %build-inputs "bash")
|
||||
"/bin/sh")
|
||||
`(#: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\"")
|
||||
(format #f "~s"
|
||||
(search-input-file inputs "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\"")
|
||||
(string-append
|
||||
"\"" (assoc-ref inputs "texinfo") "/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
|
||||
@@ -5822,14 +5821,13 @@ 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
|
||||
(list
|
||||
#:tests? #f ;no tests
|
||||
#:configure-flags
|
||||
#~(list "-DSHARED=ON"
|
||||
(string-append "-DGKLIB_PATH="
|
||||
(getcwd) "/metis-" #$version "/GKlib"))))
|
||||
(inputs (list openblas))
|
||||
`(#:tests? #f ;no tests
|
||||
#:configure-flags `("-DSHARED=ON"
|
||||
,(string-append "-DGKLIB_PATH=" (getcwd)
|
||||
"/metis-" ,version "/GKlib"))))
|
||||
(home-page "http://glaros.dtc.umn.edu/gkhome/metis/metis/overview")
|
||||
(synopsis "Graph partitioning and fill-reducing matrix ordering library")
|
||||
(description
|
||||
@@ -7531,47 +7529,47 @@ factorization.")
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no "check" target
|
||||
#:make-flags
|
||||
#~(list (string-append "CC=" #$(cc-for-target))
|
||||
"TBB=-ltbb"
|
||||
"MY_METIS_LIB=-lmetis"
|
||||
`(#: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=" #$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
|
||||
;; 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
|
||||
(inputs
|
||||
(list tbb openblas gmp mpfr metis))
|
||||
(native-inputs
|
||||
(list cmake-minimal m4))
|
||||
`(("cmake" ,cmake-minimal)
|
||||
("m4" ,m4)))
|
||||
(home-page "https://faculty.cse.tamu.edu/davis/suitesparse.html")
|
||||
(synopsis "Suite of sparse matrix software")
|
||||
(description
|
||||
@@ -11734,3 +11732,35 @@ use the library and researchers to make new capabilities available under a
|
||||
common interface.
|
||||
")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public xdmf
|
||||
(package
|
||||
(name "xdmf")
|
||||
;; Project does not publish releases / tags
|
||||
(properties '((commit . "04a84bab0eb1568e0f1a27c8fb60c6931efda003")
|
||||
(revision . "0")))
|
||||
(version (git-version "3.0.0"
|
||||
(assoc-ref properties 'revision)
|
||||
(assoc-ref properties 'commit)))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.kitware.com/xdmf/xdmf")
|
||||
(commit (assoc-ref properties 'commit))))
|
||||
(file-name (git-file-name name version))
|
||||
(patches
|
||||
(search-patches "xdmf-3.0.0-hdf5.patch"))
|
||||
(sha256
|
||||
(base32 "06k4vibkvgxlzkn06x470aq5q18p7yhql8awrpdz3czys3z8i288"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f)) ;has no tests
|
||||
(inputs
|
||||
(list boost hdf5 libxml2))
|
||||
(home-page "https://www.xdmf.org/index.html")
|
||||
(synopsis "XDMF library")
|
||||
(description
|
||||
"This package provides the eXtensible Data Model and Format (XDMF) C++
|
||||
library.")
|
||||
(license license:bsd-4)))
|
||||
|
||||
+10
-3
@@ -11,6 +11,7 @@
|
||||
;;; Copyright © 2025 Arjan Adriaanse <arjan@adriaan.se>
|
||||
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||||
;;; Copyright © 2026 Zheng Junjie <z572@z572.online>
|
||||
;;; Copyright © 2026 orahcio <orahcio@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -59,7 +60,7 @@
|
||||
(define-public mautrix-whatsapp
|
||||
(package
|
||||
(name "mautrix-whatsapp")
|
||||
(version "0.11.2")
|
||||
(version "0.2605.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -68,7 +69,7 @@
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0wn9kldhh865w5mbg3cl61m0db9nr7zl1j8lqs2dixsaihv1lbnx"))))
|
||||
(base32 "02gmzby57vn5cc23m2laqcqqkvghlabm08fzjzqfzx8g18cmymas"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -105,7 +106,13 @@
|
||||
;; go.mau.fi/webp/webp.go:14:12: pattern internal: cannot embed
|
||||
;; directory internal: contains no embeddable files
|
||||
".*\\.c"
|
||||
".*\\.h")))
|
||||
".*\\.h"
|
||||
;; go.mau.fi/whatsmeow/argo/argo.go:16:13:
|
||||
;; pattern argo-wire-type-store.argo: cannot embed
|
||||
".*\\.argo"
|
||||
;; go.mau.fi/whatsmeow/argo/argo.go:19:13:
|
||||
;; pattern name-to-queryids.json: cannot embed
|
||||
".*\\.json")))
|
||||
(native-inputs
|
||||
(list olm
|
||||
go-github-com-gorilla-mux
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
;;; Copyright © 2025 Evgeny Pisemsky <mail@pisemsky.site>
|
||||
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2025 Adrien 'neox' Bourmault <neox@gnu.org>
|
||||
;;; Copyright © 2026 orahcio <orahcio@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -3459,6 +3460,56 @@ a persistent connection to an IRC server, acting as a proxy and buffer for
|
||||
a number of clients.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public whatscli
|
||||
(package
|
||||
(name "whatscli")
|
||||
(version "1.1.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/normen/whatscli")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0ijp0783h4hivj33qi10azhq1bl512jq1wrva2alpkv7wp4qhnw6"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-source? #f
|
||||
#:import-path "github.com/normen/whatscli"
|
||||
#:embed-files #~(list ".*\\.argo" ".*\\.json" ".*\\.sql")))
|
||||
(native-inputs
|
||||
(list go-code-rocketnine-space-tslocum-cbind
|
||||
go-github-com-adrg-xdg
|
||||
go-github-com-gdamore-tcell-v2
|
||||
go-github-com-gen2brain-beeep
|
||||
go-github-com-mattn-go-colorable
|
||||
go-github-com-mattn-go-sqlite3
|
||||
go-github-com-rivo-tview
|
||||
go-github-com-skip2-go-qrcode
|
||||
go-github-com-skratchdot-open-golang
|
||||
go-github-com-zyedidia-clipboard
|
||||
go-go-mau-fi-whatsmeow
|
||||
go-google-golang-org-protobuf
|
||||
go-gopkg-in-ini-v1))
|
||||
(home-page "https://github.com/normen/whatscli")
|
||||
(synopsis "Command line interface for WhatsApp")
|
||||
(description
|
||||
"WhatsCLI is a command-line interface for WhatsApp that connects
|
||||
through the Web App API without requiring a browser. It provides a
|
||||
terminal-based user interface built with tview, featuring:
|
||||
@itemize
|
||||
@item Sending and receiving WhatsApp messages in a terminal
|
||||
@item QR code setup for simple authentication
|
||||
@item Downloading and opening image, video, audio, and document attachments
|
||||
@item Sending images, video, audio, and document attachments
|
||||
@item Basic group management capabilities
|
||||
@item Desktop notifications support
|
||||
@item Color customization options
|
||||
@end itemize")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public weechat-wee-slack
|
||||
(package
|
||||
(name "weechat-wee-slack")
|
||||
|
||||
+10
-1
@@ -336,9 +336,18 @@ 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)))
|
||||
(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)
|
||||
(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")
|
||||
|
||||
+16
-12
@@ -103,6 +103,18 @@
|
||||
#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)
|
||||
@@ -160,7 +172,8 @@
|
||||
|
||||
;; Skip tests that use nonfree programs that we don't build.
|
||||
(("ps-alt-roundtrip.test") "" )
|
||||
(("pbm-misc-converters.test") ""))))
|
||||
(("pbm-misc-converters.test") ""))
|
||||
#t))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs make-flags #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
@@ -177,17 +190,8 @@
|
||||
(symlink
|
||||
(match (find-files "." "^libnetpbm\\.so\\.[^.]*\\.[^.]*$")
|
||||
((head _ ...) head))
|
||||
"libnetpbm.so")))))))))
|
||||
(inputs
|
||||
(list ghostscript
|
||||
libjpeg-turbo
|
||||
libpng
|
||||
libtiff
|
||||
libxml2
|
||||
xorg-rgb
|
||||
zlib))
|
||||
(native-inputs
|
||||
(list flex perl pkg-config python-wrapper))
|
||||
"libnetpbm.so"))
|
||||
#t)))))))
|
||||
(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.112.5") ;update to latest ESR release
|
||||
(version "3.101.4") ;update to latest ESR release
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (let ((version-with-underscores
|
||||
@@ -114,13 +114,12 @@ in the Mozilla clients.")
|
||||
"nss-" version ".tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"03chsv0bjd2fi8lab241grbyqd4blapll5lbrpraddpd5mc8rjx4"))
|
||||
"1sqvh49qi9vq55sbg42c5n0kz6w6ni383hgiyhaym6drsmbzb86a"))
|
||||
;; Create nss.pc and nss-config.
|
||||
(patches (search-patches "nss-3.56-pkgconfig.patch"
|
||||
"nss-getcwd-nonnull.patch"
|
||||
"nss-increase-test-timeout.patch"
|
||||
"nss-3.115-disable-broken-tests.patch"
|
||||
"nss-3.115-disable-pkix-ocsp-tests.patch"))
|
||||
"nss-disable-broken-tests.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
||||
+44
-26
@@ -40,39 +40,42 @@
|
||||
(define-public libtirpc
|
||||
(package
|
||||
(name "libtirpc")
|
||||
(version "1.3.7")
|
||||
(version "1.3.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/libtirpc/libtirpc/"
|
||||
version "/libtirpc-"
|
||||
version ".tar.bz2"))
|
||||
(patches (search-patches "libtirpc-hurd.patch"))
|
||||
(patches (search-patches "libtirpc-CVE-2021-46828.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"00n7cq5dggfknvyqr193c5qxlx0681n9l0fh0m5faj9mkp0klzdl"))))
|
||||
"05zf16ilwwkzv4cccaac32nssrj3rg444n9pskiwbgk6y359an14"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(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"))
|
||||
'()))
|
||||
`(#:configure-flags '("--disable-static")
|
||||
#: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"))))))))
|
||||
(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
|
||||
(inputs (list mit-krb5))
|
||||
(home-page "https://sourceforge.net/projects/libtirpc/")
|
||||
(synopsis "Transport-independent Sun/ONC RPC implementation")
|
||||
@@ -82,8 +85,19 @@ 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)))
|
||||
|
||||
;; XXX: Deprecated on 2026-05-26.
|
||||
(define-deprecated-package libtirpc/hurd libtirpc)
|
||||
(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")))))))
|
||||
|
||||
(define-public rpcbind
|
||||
(package
|
||||
@@ -151,7 +165,11 @@ from the protocol files.")
|
||||
(arguments
|
||||
`(#:configure-flags '("--disable-static")))
|
||||
(native-inputs
|
||||
(list autoconf automake gettext-minimal libtool pkg-config))
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("gettext" ,gettext-minimal)
|
||||
("libtool" ,libtool)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
(list libtirpc))
|
||||
(synopsis "Public client interface for NIS(YP) and NIS+")
|
||||
|
||||
@@ -5,74 +5,60 @@ must be called when no other threads exist).
|
||||
This fixes network functionality in rust:cargo, and probably removes the need
|
||||
for other future workarounds.
|
||||
===================================================================
|
||||
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
|
||||
--- 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 @@
|
||||
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.
|
||||
@@ -140,6 +143,9 @@ static CURLcode global_init(long flags,
|
||||
@@ -163,6 +166,9 @@
|
||||
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(curl_mfprintf(stderr, "Error: Curl_ssl_init failed\n"));
|
||||
DEBUGF(fprintf(stderr, "Error: Curl_ssl_init failed\n"));
|
||||
goto fail;
|
||||
@@ -269,6 +275,9 @@ void curl_global_cleanup(void)
|
||||
@@ -287,6 +293,9 @@
|
||||
Curl_ssl_cleanup();
|
||||
Curl_async_global_cleanup();
|
||||
|
||||
Curl_resolver_global_cleanup();
|
||||
|
||||
+ free(Curl_ssl_cert_dir);
|
||||
+ free(Curl_ssl_cert_file);
|
||||
+
|
||||
#ifdef _WIN32
|
||||
Curl_win32_cleanup(easy_init_flags);
|
||||
#endif
|
||||
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;
|
||||
}
|
||||
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;
|
||||
#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;
|
||||
+ }
|
||||
}
|
||||
sslc->primary.CAfile = data->set.str[STRING_SSL_CAFILE];
|
||||
sslc->primary.CRLfile = data->set.str[STRING_SSL_CRLFILE];
|
||||
|
||||
set->wildcard_enabled = FALSE;
|
||||
|
||||
@@ -0,0 +1,567 @@
|
||||
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 three patches:
|
||||
This is a combination of two 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: 2025-03-17
|
||||
Last-Update: 2019-09-01
|
||||
|
||||
2) Taken from https://salsa.debian.org/debian/libtirpc/-/raw/master/debian/patches/05-hurd-port.diff
|
||||
|
||||
@@ -13,39 +13,10 @@ 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
|
||||
@@ -650,6 +650,7 @@
|
||||
@@ -648,6 +648,7 @@
|
||||
void
|
||||
svc_dg_enable_pktinfo(int fd, const struct __rpc_sockinfo *si)
|
||||
{
|
||||
@@ -53,7 +24,7 @@ Last-Update: 2020-03-03
|
||||
int val = 1;
|
||||
|
||||
switch (si->si_af) {
|
||||
@@ -662,6 +663,7 @@
|
||||
@@ -660,6 +661,7 @@
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
@@ -61,7 +32,7 @@ Last-Update: 2020-03-03
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -672,6 +674,7 @@
|
||||
@@ -670,6 +672,7 @@
|
||||
int
|
||||
svc_dg_valid_pktinfo(struct msghdr *msg)
|
||||
{
|
||||
@@ -69,7 +40,7 @@ Last-Update: 2020-03-03
|
||||
struct cmsghdr *cmsg;
|
||||
|
||||
if (!msg->msg_name)
|
||||
@@ -718,4 +721,7 @@
|
||||
@@ -716,4 +719,7 @@
|
||||
}
|
||||
|
||||
return 1;
|
||||
@@ -79,7 +50,7 @@ Last-Update: 2020-03-03
|
||||
}
|
||||
--- a/src/clnt_vc.c
|
||||
+++ b/src/clnt_vc.c
|
||||
@@ -76,10 +76,12 @@
|
||||
@@ -71,10 +71,12 @@
|
||||
#define MCALL_MSG_SIZE 24
|
||||
|
||||
#define CMGROUP_MAX 16
|
||||
@@ -93,7 +64,7 @@ Last-Update: 2020-03-03
|
||||
/*
|
||||
* Credentials structure, used to verify the identity of a peer
|
||||
* process that has sent us a message. This is allocated by the
|
||||
@@ -95,6 +97,7 @@
|
||||
@@ -90,6 +92,7 @@
|
||||
short cmcred_ngroups; /* number or groups */
|
||||
gid_t cmcred_groups[CMGROUP_MAX]; /* groups */
|
||||
};
|
||||
@@ -103,18 +74,30 @@ Last-Update: 2020-03-03
|
||||
struct cmsghdr cmsg;
|
||||
--- a/src/getpeereid.c
|
||||
+++ b/src/getpeereid.c
|
||||
@@ -31,6 +31,7 @@
|
||||
@@ -25,9 +25,14 @@
|
||||
*/
|
||||
|
||||
|
||||
+#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>
|
||||
@@ -40,12 +41,22 @@
|
||||
--- a/src/getpeereid.c
|
||||
+++ b/src/getpeereid.c
|
||||
@@ -35,12 +36,25 @@
|
||||
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
|
||||
@@ -134,17 +117,34 @@ Last-Update: 2020-03-03
|
||||
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,6 +36,6 @@
|
||||
@@ -36,7 +36,7 @@
|
||||
* These definitions are only guaranteed to be valid on Linux.
|
||||
*/
|
||||
|
||||
-#if defined(__linux__) || defined(__APPLE__)
|
||||
-#if defined(__linux__)
|
||||
+#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,71 +170,3 @@ Last-Update: 2020-03-03
|
||||
|
||||
#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,14 +2,8 @@ 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/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
|
||||
--- 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\" \
|
||||
|
||||
@@ -0,0 +1,141 @@
|
||||
From 756ca22ec5b0d89b5d107b4c30891d1293650c87 Mon Sep 17 00:00:00 2001
|
||||
From: Sergiu Deitsch <sergiud@users.noreply.github.com>
|
||||
Date: Wed, 23 Apr 2025 18:36:41 +0200
|
||||
Subject: [PATCH] Provide fallback for missing `char8_t` support (#4736)
|
||||
|
||||
---
|
||||
.../nlohmann/detail/conversions/from_json.hpp | 5 +++-
|
||||
.../nlohmann/detail/conversions/to_json.hpp | 21 ++++++++++-----
|
||||
single_include/nlohmann/json.hpp | 26 +++++++++++++------
|
||||
tests/src/unit-deserialization.cpp | 5 ++--
|
||||
4 files changed, 39 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/include/nlohmann/detail/conversions/from_json.hpp b/include/nlohmann/detail/conversions/from_json.hpp
|
||||
index 797f714dfae1dcc7fd8d2435ae7015023da76b97..3a24a6f4d26c0162531d8100a99a05291d8a2090 100644
|
||||
--- a/include/nlohmann/detail/conversions/from_json.hpp
|
||||
+++ b/include/nlohmann/detail/conversions/from_json.hpp
|
||||
@@ -539,7 +539,10 @@ inline void from_json(const BasicJsonType& j, std_fs::path& p)
|
||||
JSON_THROW(type_error::create(302, concat("type must be string, but is ", j.type_name()), &j));
|
||||
}
|
||||
const auto& s = *j.template get_ptr<const typename BasicJsonType::string_t*>();
|
||||
-#ifdef JSON_HAS_CPP_20
|
||||
+ // Checking for C++20 standard or later can be insufficient in case the
|
||||
+ // library support for char8_t is either incomplete or was disabled
|
||||
+ // altogether. Use the __cpp_lib_char8_t feature test instead.
|
||||
+#if defined(__cpp_lib_char8_t) && (__cpp_lib_char8_t >= 201907L)
|
||||
p = std_fs::path(std::u8string_view(reinterpret_cast<const char8_t*>(s.data()), s.size()));
|
||||
#else
|
||||
p = std_fs::u8path(s); // accepts UTF-8 encoded std::string in C++17, deprecated in C++20
|
||||
diff --git a/include/nlohmann/detail/conversions/to_json.hpp b/include/nlohmann/detail/conversions/to_json.hpp
|
||||
index f8413850d5d7f8dd4bd6d2f174959a8ddd5c233a..8b910dd1615b710308392eed4999d3b7533a26e7 100644
|
||||
--- a/include/nlohmann/detail/conversions/to_json.hpp
|
||||
+++ b/include/nlohmann/detail/conversions/to_json.hpp
|
||||
@@ -15,7 +15,8 @@
|
||||
|
||||
#include <algorithm> // copy
|
||||
#include <iterator> // begin, end
|
||||
-#include <string> // string
|
||||
+#include <memory> // allocator_traits
|
||||
+#include <string> // basic_string, char_traits
|
||||
#include <tuple> // tuple, get
|
||||
#include <type_traits> // is_same, is_constructible, is_floating_point, is_enum, underlying_type
|
||||
#include <utility> // move, forward, declval, pair
|
||||
@@ -440,15 +441,21 @@ inline void to_json(BasicJsonType& j, const T& t)
|
||||
}
|
||||
|
||||
#if JSON_HAS_FILESYSTEM || JSON_HAS_EXPERIMENTAL_FILESYSTEM
|
||||
+#if defined(__cpp_lib_char8_t)
|
||||
+template<typename BasicJsonType, typename Tr, typename Allocator>
|
||||
+inline void to_json(BasicJsonType& j, const std::basic_string<char8_t, Tr, Allocator>& s)
|
||||
+{
|
||||
+ using OtherAllocator = typename std::allocator_traits<Allocator>::template rebind_alloc<char>;
|
||||
+ j = std::basic_string<char, std::char_traits<char>, OtherAllocator>(s.begin(), s.end(), s.get_allocator());
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
template<typename BasicJsonType>
|
||||
inline void to_json(BasicJsonType& j, const std_fs::path& p)
|
||||
{
|
||||
-#ifdef JSON_HAS_CPP_20
|
||||
- const std::u8string s = p.u8string();
|
||||
- j = std::string(s.begin(), s.end());
|
||||
-#else
|
||||
- j = p.u8string(); // returns std::string in C++17
|
||||
-#endif
|
||||
+ // Returns either a std::string or a std::u8string depending whether library
|
||||
+ // support for char8_t is enabled.
|
||||
+ j = p.u8string();
|
||||
}
|
||||
#endif
|
||||
|
||||
diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp
|
||||
index 13b07c0fbc87e5c24127922fb2ef45fc3ea2bff5..93e5983cf1b1cdbe0452d89dcfa487c7b18dd4df 100644
|
||||
--- a/single_include/nlohmann/json.hpp
|
||||
+++ b/single_include/nlohmann/json.hpp
|
||||
@@ -5324,7 +5324,10 @@ inline void from_json(const BasicJsonType& j, std_fs::path& p)
|
||||
JSON_THROW(type_error::create(302, concat("type must be string, but is ", j.type_name()), &j));
|
||||
}
|
||||
const auto& s = *j.template get_ptr<const typename BasicJsonType::string_t*>();
|
||||
-#ifdef JSON_HAS_CPP_20
|
||||
+ // Checking for C++20 standard or later can be insufficient in case the
|
||||
+ // library support for char8_t is either incomplete or was disabled
|
||||
+ // altogether. Use the __cpp_lib_char8_t feature test instead.
|
||||
+#if defined(__cpp_lib_char8_t) && (__cpp_lib_char8_t >= 201907L)
|
||||
p = std_fs::path(std::u8string_view(reinterpret_cast<const char8_t*>(s.data()), s.size()));
|
||||
#else
|
||||
p = std_fs::u8path(s); // accepts UTF-8 encoded std::string in C++17, deprecated in C++20
|
||||
@@ -5379,7 +5382,8 @@ NLOHMANN_JSON_NAMESPACE_END
|
||||
|
||||
#include <algorithm> // copy
|
||||
#include <iterator> // begin, end
|
||||
-#include <string> // string
|
||||
+#include <memory> // allocator_traits
|
||||
+#include <string> // basic_string, char_traits
|
||||
#include <tuple> // tuple, get
|
||||
#include <type_traits> // is_same, is_constructible, is_floating_point, is_enum, underlying_type
|
||||
#include <utility> // move, forward, declval, pair
|
||||
@@ -6086,15 +6090,21 @@ inline void to_json(BasicJsonType& j, const T& t)
|
||||
}
|
||||
|
||||
#if JSON_HAS_FILESYSTEM || JSON_HAS_EXPERIMENTAL_FILESYSTEM
|
||||
+#if defined(__cpp_lib_char8_t)
|
||||
+template<typename BasicJsonType, typename Tr, typename Allocator>
|
||||
+inline void to_json(BasicJsonType& j, const std::basic_string<char8_t, Tr, Allocator>& s)
|
||||
+{
|
||||
+ using OtherAllocator = typename std::allocator_traits<Allocator>::template rebind_alloc<char>;
|
||||
+ j = std::basic_string<char, std::char_traits<char>, OtherAllocator>(s.begin(), s.end(), s.get_allocator());
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
template<typename BasicJsonType>
|
||||
inline void to_json(BasicJsonType& j, const std_fs::path& p)
|
||||
{
|
||||
-#ifdef JSON_HAS_CPP_20
|
||||
- const std::u8string s = p.u8string();
|
||||
- j = std::string(s.begin(), s.end());
|
||||
-#else
|
||||
- j = p.u8string(); // returns std::string in C++17
|
||||
-#endif
|
||||
+ // Returns either a std::string or a std::u8string depending whether library
|
||||
+ // support for char8_t is enabled.
|
||||
+ j = p.u8string();
|
||||
}
|
||||
#endif
|
||||
|
||||
diff --git a/tests/src/unit-deserialization.cpp b/tests/src/unit-deserialization.cpp
|
||||
index 84a970a183e4392166a8fe9bf76b582a53b76dd5..5c450c23d3042991cfc8959d4632208cfb21f400 100644
|
||||
--- a/tests/src/unit-deserialization.cpp
|
||||
+++ b/tests/src/unit-deserialization.cpp
|
||||
@@ -1134,9 +1134,10 @@ TEST_CASE("deserialization")
|
||||
}
|
||||
}
|
||||
|
||||
-// select the types to test - char8_t is only available in C++20
|
||||
+// select the types to test - char8_t is only available since C++20 if and only
|
||||
+// if __cpp_char8_t is defined.
|
||||
#define TYPE_LIST(...) __VA_ARGS__
|
||||
-#ifdef JSON_HAS_CPP_20
|
||||
+#if defined(__cpp_char8_t) && (__cpp_char8_t >= 201811L)
|
||||
#define ASCII_TYPES TYPE_LIST(char, wchar_t, char16_t, char32_t, char8_t)
|
||||
#else
|
||||
#define ASCII_TYPES TYPE_LIST(char, wchar_t, char16_t, char32_t)
|
||||
@@ -0,0 +1,33 @@
|
||||
These tests are broken in 3.101.3.
|
||||
|
||||
See https://bugzilla.mozilla.org/show_bug.cgi?id=1964304
|
||||
|
||||
--- nss-3.101.3/nss/tests/tools/tools.sh 1969-12-31 16:00:01.000000000 -0800
|
||||
+++ nss-3.101.3/nss/tests/tools/tools.sh 2025-05-05 16:36:47.835447542 -0700
|
||||
@@ -540,26 +540,6 @@
|
||||
ret=$?
|
||||
html_msg $ret 0 "Importing private key pbmac1 hmac-sha-512 from PKCS#12 file"
|
||||
check_tmpfile
|
||||
-
|
||||
- echo "${BINDIR}/pk12util -l ${TOOLSDIR}/data/pbmac1-invalid-bad-iter.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -W '1234'"
|
||||
- ${BINDIR}/pk12util -l ${TOOLSDIR}/data/pbmac1-invalid-bad-iter.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -W '1234' 2>&1
|
||||
- ret=$?
|
||||
- html_msg $ret 19 "Fail to list private key with bad iterator"
|
||||
- check_tmpfile
|
||||
-
|
||||
- echo "${BINDIR}/pk12util -l ${TOOLSDIR}/data/pbmac1-invalid-bad-salt.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -W '1234'"
|
||||
- ${BINDIR}/pk12util -l ${TOOLSDIR}/data/pbmac1-invalid-bad-salt.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -W '1234' 2>&1
|
||||
- ret=$?
|
||||
- echo "Fail to list private key with bad salt val=$ret"
|
||||
- html_msg $ret 19 "Fail to import private key with bad salt"
|
||||
- check_tmpfile
|
||||
-
|
||||
- echo "${BINDIR}/pk12util -l ${TOOLSDIR}/data/pbmac1-invalid-no-length.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -W '1234'"
|
||||
- ${BINDIR}/pk12util -l ${TOOLSDIR}/data/pbmac1-invalid-no-length.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -W '1234' 2>&1
|
||||
- ret=$?
|
||||
- echo "Fail to import private key with no length val=$ret"
|
||||
- html_msg $ret 19 "Fail to import private key with no length"
|
||||
- check_tmpfile
|
||||
}
|
||||
|
||||
############################## tools_p12 ###############################
|
||||
@@ -1,23 +0,0 @@
|
||||
Upstream fix
|
||||
|
||||
https://gitlab.opengeosys.org/ogs/ogs/-/commit/9a8399b0d3cff032e70fe79a85dc35c4e7c662f2
|
||||
|
||||
diff --git a/Applications/Utils/FileConverter/NetCdfConverter.cpp b/Applications/Utils/FileConverter/NetCdfConverter.cpp
|
||||
index c6fb9f151d..622bd2cd54 100644
|
||||
--- a/Applications/Utils/FileConverter/NetCdfConverter.cpp
|
||||
+++ b/Applications/Utils/FileConverter/NetCdfConverter.cpp
|
||||
@@ -232,11 +232,12 @@ static bool dimensionSelectionLoop(NcVar const& var,
|
||||
if (n_dims > 1)
|
||||
{
|
||||
std::string temp_str("");
|
||||
- cout << "Is the parameter time-dependent?\n";
|
||||
+ std::cout << "Is the parameter time-dependent?\n";
|
||||
while (dim_idx_map[0] == std::numeric_limits<std::size_t>::max() &&
|
||||
is_time_dep == true)
|
||||
{
|
||||
- cout << "Enter ID for temporal dimension or \"c\" to continue: ";
|
||||
+ std::cout
|
||||
+ << "Enter ID for temporal dimension or \"c\" to continue: ";
|
||||
std::getline(std::cin, temp_str);
|
||||
std::stringstream str_stream(temp_str);
|
||||
if (str_stream.str() == "c" || str_stream.str() == "continue")
|
||||
@@ -0,0 +1,45 @@
|
||||
From 92a851f1acb87ad5367eb62f9b97785bedb700bb Mon Sep 17 00:00:00 2001
|
||||
From: Dmitri Naumov <github@naumov.de>
|
||||
Date: Thu, 28 Oct 2021 22:34:00 +0200
|
||||
Subject: [PATCH] Detect if hid_t is defined in new versions of HDF5
|
||||
|
||||
In HDF5 development the header file guards were changed,
|
||||
namely the leading underscore was removed. This lead to
|
||||
a redefinition of the hid_t type, which is int64_t.
|
||||
|
||||
The change happened in commit
|
||||
https://github.com/HDFGroup/hdf5/commit/c17b4b93d680340af2b3f2c026f2c03c3baeb33ahttps://github.com/HDFGroup/hdf5/commit/c17b4b93d680340af2b3f2c026f2c03c3baeb33a
|
||||
and is published in HDF5 version hdf5-1_13_0-rc6.
|
||||
---
|
||||
core/XdmfHDF5Controller.hpp | 2 +-
|
||||
core/XdmfHDF5Writer.hpp | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/core/XdmfHDF5Controller.hpp b/core/XdmfHDF5Controller.hpp
|
||||
index c5c15d0a..b52bab3f 100644
|
||||
--- a/core/XdmfHDF5Controller.hpp
|
||||
+++ b/core/XdmfHDF5Controller.hpp
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
// So that hdf5 does not need to be included in the header files
|
||||
// It would add a dependancy to programs that use Xdmf
|
||||
-#ifndef _H5Ipublic_H
|
||||
+#if !defined(_H5Ipublic_H) && !defined(H5Ipublic_H)
|
||||
#ifndef XDMF_HID_T
|
||||
#define XDMF_HID_T
|
||||
typedef int hid_t;
|
||||
diff --git a/core/XdmfHDF5Writer.hpp b/core/XdmfHDF5Writer.hpp
|
||||
index cfbec6f4..6f8cfd4f 100644
|
||||
--- a/core/XdmfHDF5Writer.hpp
|
||||
+++ b/core/XdmfHDF5Writer.hpp
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
// So that hdf5 does not need to be included in the header files
|
||||
// It would add a dependancy to programs that use Xdmf
|
||||
-#ifndef _H5Ipublic_H
|
||||
+#if !defined(_H5Ipublic_H) && !defined(H5Ipublic_H)
|
||||
#ifndef XDMF_HID_T
|
||||
#define XDMF_HID_T
|
||||
typedef int hid_t;
|
||||
--
|
||||
GitLab
|
||||
@@ -6658,7 +6658,7 @@ a safe way.")
|
||||
(base32
|
||||
"0y70qh5kn2hyrrvbsfhg0iws2qggk5vkpz37f7rbd5rd9cjc57dp"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs (list perl-test-script))
|
||||
(native-inputs `(("test-script" ,perl-test-script)))
|
||||
(synopsis "Portable implementation of the `which' utility")
|
||||
(description
|
||||
"File::Which was created to be able to get the paths to executable
|
||||
|
||||
@@ -237,7 +237,7 @@ it.")
|
||||
(define-public trealla
|
||||
(package
|
||||
(name "trealla")
|
||||
(version "2.100.24")
|
||||
(version "2.100.25")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -246,7 +246,7 @@ it.")
|
||||
(url "https://github.com/trealla-prolog/trealla")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "09jm5hs2lv481yzf76p646jx6467zx98bbbsg24xh3glk1f9gaaq"))
|
||||
(base32 "1si84zaihsi2zwr0qdfr6kjcrly6ih1br0r6v58xm9v9db5zpx6x"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
|
||||
@@ -107,9 +107,24 @@ 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)))
|
||||
;; "utf8_range" development now takes place in main protobuf repository.
|
||||
(snippet #~(delete-all-but "third_party" "utf8_range"))
|
||||
(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")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1rdxm75bqwjj4qd3hz4vlydra6bw5dq391kwln2q0pjfx9gbrjhk"))))
|
||||
|
||||
@@ -5005,11 +5005,26 @@ readable.")
|
||||
(base32 "1m6h6m0vm8vdx2nk26nvlbyfvlj0g9ph8cdh38258gn18fd2db0l"))
|
||||
(patches
|
||||
(search-patches "python-vaex-core-fix-tsl-use.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet #~(begin
|
||||
(delete-all-but "." "packages")
|
||||
(delete-all-but "packages" "vaex-core")
|
||||
(delete-file-recursively "packages/vaex-core/vendor")))))
|
||||
(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")))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -5018,10 +5033,7 @@ readable.")
|
||||
#:tests? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _
|
||||
(chdir "packages/vaex-core")))
|
||||
(add-after 'chdir 'relax-requirements
|
||||
(add-after 'unpack 'relax-requirements
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
;; "dask!=2022.4.0,<2024.9"; there is a note "fingerprinting
|
||||
|
||||
@@ -297,7 +297,17 @@ configurations deterministically based on compute and memory latencies.")
|
||||
"availableArchs = ['"
|
||||
(string-join (current-amd-gpu-targets) "', '") "']")))
|
||||
(setenv "TENSILE_ROCM_ASSEMBLER_PATH"
|
||||
(string-append (which "clang"))))))))
|
||||
(string-append (which "clang")))))
|
||||
;; Packages, such as rocblas, expect to be able to run those scripts
|
||||
;; in their CMake builds.
|
||||
(add-after 'install 'adjust-tensile-binaries-permissions
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((site-packages (site-packages inputs outputs)))
|
||||
(with-directory-excursion (string-append site-packages
|
||||
"/Tensile/bin")
|
||||
;; Use `make-file-executable' once #7224 is merged.
|
||||
(chmod "Tensile" #o555)
|
||||
(chmod "TensileCreateLibrary" #o555))))))))
|
||||
(native-inputs
|
||||
(list python-filelock
|
||||
python-pandas
|
||||
|
||||
+88
-93
@@ -132,104 +132,99 @@ both WSD and eSCL.")
|
||||
(("asctime \\(localtime \\(¤t_time\\)\\)")
|
||||
"\"1970-01-01\""))))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#: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))
|
||||
`(("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")))))
|
||||
(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.8")
|
||||
(version "7.5")
|
||||
(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
|
||||
"0l59x9mm6nbixcpz3zf3iplqili2gyw8l382rj89b0iv32hxac1v"))))
|
||||
"0pgdxvy8jgydsyzk7vcc93pm09bihqvrn3i35gz1ncg9z31rbf20"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; there are no tests available
|
||||
|
||||
@@ -46,11 +46,19 @@
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "17iqvqs7w3z5c4acnjc6mixqkqz4rff2c7flfpnlwgfjgqy1a2zw"))
|
||||
(modules '((guix build utils)))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26)))
|
||||
(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"
|
||||
|
||||
+40
-34
@@ -89,43 +89,49 @@
|
||||
;; XXX:
|
||||
;; There numerous issues with the testsuite.
|
||||
;; Enable all of them once they are fixed in upstream.
|
||||
(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$")))))))
|
||||
`(#: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))))))
|
||||
(native-inputs
|
||||
(list perl))
|
||||
(inputs
|
||||
(list alsa-lib))
|
||||
`(("alsa" ,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
|
||||
|
||||
+38
-33
@@ -216,40 +216,45 @@ X11 GUIs.")
|
||||
(patches (search-patches "tk-find-library.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(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")))))))))
|
||||
`(#: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))
|
||||
(native-inputs (list pkg-config))
|
||||
(inputs (list libxft fontconfig tcl))
|
||||
(inputs `(("libxft" ,libxft)
|
||||
("fontconfig" ,fontconfig)
|
||||
("tcl" ,tcl)))
|
||||
;; tk.h refers to X11 headers, hence the propagation.
|
||||
(propagated-inputs (list libx11 libxext))
|
||||
|
||||
|
||||
+63
-61
@@ -182,68 +182,70 @@ 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
|
||||
(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$")))))))))
|
||||
`(#: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))))))
|
||||
(native-inputs
|
||||
(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))
|
||||
`(("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)))
|
||||
(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.11.3")
|
||||
(version "2.10.0")
|
||||
(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 "1ssix4zf3lac1afzlw2gbfg3n52gmggip8lv224gywqf3zyvyp8c"))))
|
||||
(base32 "1n1k67x39sk8xnza4w1xkbgbvgb1g7w2a7j2qrqzqaw1lyilqsy2"))))
|
||||
(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 "17.0.0")) ; defined in data/Makefile
|
||||
(let ((UNICODE_VERSION "16.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
|
||||
"1nw7i89q42r0plwlc8qj6qm18brk23hc0jf800cp86km63azy6ah")))
|
||||
"1cffwlxgn6sawxb627xqaw3shnnfxq0v7cbgsld5w1z7aca9f4fq")))
|
||||
(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
|
||||
"1v4k2x52bzwgqxw89hdf3wdgwm8q3ianmfrya37bl699qp939lg2")))
|
||||
"1d9w6vdfxakjpp38qjvhgvbl2qx0zv5655ph54dhdb3hs9a96azf")))
|
||||
(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
|
||||
"021clafsjmjblsxcszp0dpxy2phwhbmyghfmxym2yj2w378zxir4")))
|
||||
"1gfsq4vdmzi803i2s8ih7mm4fgs907kvkg88kvv9fi4my9hm3lrr")))
|
||||
;; 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/pinned
|
||||
(define-public git-minimal
|
||||
(package
|
||||
(name "git-minimal")
|
||||
(version "2.54.0")
|
||||
@@ -529,8 +529,6 @@ 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"
|
||||
@@ -604,18 +602,11 @@ 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 '((hidden? . #t) ;pinned variant for Graphene/GTK+
|
||||
(lint-hidden-cpe-vendors . ("jenkins"))
|
||||
(properties '((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")
|
||||
@@ -830,6 +821,23 @@ 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")
|
||||
@@ -3527,9 +3535,17 @@ modification time.")
|
||||
(check-in version)))
|
||||
(sha256
|
||||
(base32 "0haaczpjnjpkiikf0q70nfabm2csdk6dl9rh80j0sh90wfvkyqwm"))
|
||||
(modules '((guix build utils)))
|
||||
(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" "proj.tcl" "wh-common.tcl")
|
||||
(delete-file-recursively "extsrc")
|
||||
;; Re-create Fossil check-out manifests,
|
||||
|
||||
+108
-150
@@ -520,19 +520,22 @@ video decode, encode and filtering on Intel's Gen graphics hardware platforms.")
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
(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"))))))))
|
||||
`(#: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))))))
|
||||
(native-inputs
|
||||
(list dash gtk-doc/stable pkg-config))
|
||||
(inputs
|
||||
(list glew mesa))
|
||||
`(("glew" ,glew)
|
||||
("opengl" ,mesa)))
|
||||
(propagated-inputs
|
||||
(list orc))
|
||||
(synopsis "Dirac video codec")
|
||||
@@ -936,8 +939,9 @@ television and DVD. It is also known as AC-3.")
|
||||
|
||||
(define-public libaom
|
||||
(package
|
||||
(replacement libaom/fixed)
|
||||
(name "libaom")
|
||||
(version "3.13.3")
|
||||
(version "3.8.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -946,7 +950,7 @@ television and DVD. It is also known as AC-3.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1i5sd7zbjz5jy1w8cdrrm09cqi4ai8vdf08nvjf75dlszmmvl9j5"))))
|
||||
"04zfgvzi4h4ybvjc4zfpfsmldz8w6vasjlrry7j4p6g3g7wk64r7"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
(list perl pkg-config python)) ; to detect the version
|
||||
@@ -971,6 +975,21 @@ 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")
|
||||
@@ -1463,10 +1482,10 @@ designed to encode video or images into an H.265 / HEVC encoded bitstream.")
|
||||
(native-inputs
|
||||
(list pkg-config nasm))
|
||||
(propagated-inputs
|
||||
(list freetype
|
||||
fribidi
|
||||
fontconfig
|
||||
harfbuzz))
|
||||
`(("freetype" ,freetype)
|
||||
("fribidi" ,fribidi)
|
||||
("fontconfig" ,fontconfig)
|
||||
("harfbuzz" ,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
|
||||
@@ -1764,6 +1783,7 @@ operate properly.")
|
||||
(list dav1d
|
||||
fontconfig
|
||||
freetype
|
||||
frei0r-plugins
|
||||
gnutls
|
||||
opus
|
||||
ladspa
|
||||
@@ -1802,7 +1822,6 @@ operate properly.")
|
||||
zlib)))
|
||||
(native-inputs
|
||||
(list bc
|
||||
frei0r-api
|
||||
perl
|
||||
pkg-config
|
||||
texinfo
|
||||
@@ -1965,10 +1984,6 @@ 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,
|
||||
@@ -4100,7 +4115,8 @@ 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* ((ladspa #$(this-package-input "ladspa"))
|
||||
(let* ((frei0r #$(this-package-input "frei0r-plugins"))
|
||||
(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))
|
||||
@@ -4109,6 +4125,8 @@ 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
|
||||
@@ -4118,6 +4136,7 @@ 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
|
||||
@@ -4140,11 +4159,7 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
|
||||
sox
|
||||
vidstab))
|
||||
(native-inputs
|
||||
(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")))))
|
||||
(list pkg-config python-minimal swig-4.0))
|
||||
(home-page "https://www.mltframework.org/")
|
||||
(synopsis "Author, manage, and run multitrack audio/video compositions")
|
||||
(description
|
||||
@@ -5196,14 +5211,14 @@ specifications.")
|
||||
(define-public libaacs
|
||||
(package
|
||||
(name "libaacs")
|
||||
(version "0.11.1")
|
||||
(version "0.11.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://ftp.videolan.org/pub/videolan/libaacs/"
|
||||
version "/libaacs-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "0f8ax9dp49mrm1484bl2df659b34xyrjmngzmvvpg2n9wkms12m8"))))
|
||||
(base32 "11skjqjlldmbjkyxdcz4fmcn6y4p95r1xagbcnjy4ndnzf0l723d"))))
|
||||
(inputs
|
||||
(list libgcrypt))
|
||||
(native-inputs
|
||||
@@ -6057,117 +6072,58 @@ these formats and provides some elementary operations (copying, scaling,
|
||||
alpha blending etc).")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public frei0r
|
||||
(define-public frei0r-plugins
|
||||
(package
|
||||
(name "frei0r")
|
||||
(version "3.1.3")
|
||||
(name "frei0r-plugins")
|
||||
(version "1.7.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dyne/frei0r")
|
||||
(commit (string-append "v" version))))
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://files.dyne.org/frei0r"
|
||||
"/old-releases/frei0r-plugins-"
|
||||
version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(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)
|
||||
(base32
|
||||
"0fjji3060r4fwr7vn91lwfzl80lg3my9lkp94kbyw8xwz7qgh7qv"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(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")
|
||||
`(#: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")
|
||||
(description
|
||||
"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.")
|
||||
"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.")
|
||||
(license (list license:gpl2+
|
||||
;; The following files are licensed as LGPL2.1+:
|
||||
;; 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/ising0r/ising0r.c
|
||||
;; src/generator/onecol0r/onecol0r.cpp
|
||||
;; src/generator/nois0r/nois0r.cpp
|
||||
;; src/generator/lissajous0r/lissajous0r.cpp
|
||||
;; src/generator/ising0r/ising0r.c
|
||||
;; src/filter/ndvi/ndvi.cpp
|
||||
;; src/filter/ndvi/gradientlut.hpp
|
||||
;; src/filter/ndvi/ndvi.cpp
|
||||
;; 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")
|
||||
@@ -6311,30 +6267,32 @@ spec for MP4), which can be obtained from the ISO or found online.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public vidstab
|
||||
(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
|
||||
(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
|
||||
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
|
||||
@@ -6499,11 +6457,14 @@ 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 ((jack #$(this-package-input "jack"))
|
||||
(let ((frei0r #$(this-package-input "frei0r-plugins"))
|
||||
(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
|
||||
@@ -6511,11 +6472,12 @@ transitions, and effects and then export your film to many common formats.")
|
||||
`("PATH" ":" prefix
|
||||
,(list (string-append mlt "/bin"))))))))))
|
||||
(native-inputs
|
||||
(list frei0r-api pkg-config python-wrapper qttools vulkan-headers))
|
||||
(list pkg-config python-wrapper qttools vulkan-headers))
|
||||
(inputs
|
||||
(list bash-minimal
|
||||
ffmpeg
|
||||
fftw
|
||||
frei0r-plugins
|
||||
jack-1
|
||||
ladspa
|
||||
libxkbcommon
|
||||
@@ -6528,10 +6490,6 @@ 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,7 +183,9 @@ 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)))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26)))
|
||||
(snippet
|
||||
#~(begin
|
||||
;; There are a few bundled Java libraries, such as jsch and jzlib,
|
||||
@@ -191,6 +193,12 @@ 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, 2026 Ashish SHUKLA <ashish.is@lostca.se>
|
||||
;;; Copyright © 2025 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.15.0")
|
||||
(version "2.14")
|
||||
(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
|
||||
"0m49glsr5v376jpyj2y0xyr11703pr4bfgipz5jk2dq0a1vcgsm7"))))
|
||||
"1fdgji964mrrz19glx0zh91asji542fvybymvzk6rrbagkr5dagv"))))
|
||||
(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.68.1")
|
||||
(version "1.58.0")
|
||||
(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
|
||||
"1cph2j688zxxxl3944g5grjma15qbv4b6z252ichsn7ilyq7mgba"))))
|
||||
"1q4ps8acr7nyia7mf2z11m0yh3fn1imhyv855j3xjbx91l2a6s2a"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs (list "out"
|
||||
"lib")) ; only libnghttp2
|
||||
|
||||
+49
-25
@@ -1,7 +1,7 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2015, 2024 宋文武 <iyzsong@envs.net>
|
||||
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2016, 2026 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2016 Florian Paul Schmidt <mista.tapas@gmx.net>
|
||||
;;; Copyright © 2016, 2020 Kei Kebreau <kkebreau@posteo.net>
|
||||
;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
@@ -68,6 +68,7 @@
|
||||
#:use-module (gnu packages polkit)
|
||||
#:use-module (gnu packages popt)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages search)
|
||||
@@ -93,6 +94,8 @@
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils))
|
||||
|
||||
(define %xfce-stable-version "^4[.][0-9]*[02468][.]")
|
||||
|
||||
(define-public libxfce4util
|
||||
(package
|
||||
(name "libxfce4util")
|
||||
@@ -122,7 +125,8 @@
|
||||
"A general-purpose utility library with core application support for the
|
||||
Xfce Desktop Environment.")
|
||||
(license lgpl2.0+)
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))))))
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))
|
||||
(stable-version-regexp . ,%xfce-stable-version)))))
|
||||
|
||||
(define-public xfconf
|
||||
(package
|
||||
@@ -165,7 +169,8 @@ Xfce Desktop Environment.")
|
||||
"Settings daemon for Xfce, implemented as a D-Bus-based configuration
|
||||
storage system.")
|
||||
(license lgpl2.0+)
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))))))
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))
|
||||
(stable-version-regexp . ,%xfce-stable-version)))))
|
||||
|
||||
(define-public libxfce4ui
|
||||
(package
|
||||
@@ -199,7 +204,8 @@ storage system.")
|
||||
"Libxfce4ui is the replacement of the old libxfcegui4 library. It is used
|
||||
to share commonly used Xfce widgets among the Xfce applications.")
|
||||
(license lgpl2.0+)
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))))))
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))
|
||||
(stable-version-regexp . ,%xfce-stable-version)))))
|
||||
|
||||
(define-public catfish
|
||||
(package
|
||||
@@ -253,7 +259,8 @@ to share commonly used Xfce widgets among the Xfce applications.")
|
||||
intentionally lightweight and simple, using only GTK+ 3. You can configure
|
||||
it to your needs by using several command line options.")
|
||||
(license gpl2+)
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))))))
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))
|
||||
(stable-version-regexp . ,%xfce-stable-version)))))
|
||||
|
||||
(define-public elementary-xfce-icon-theme
|
||||
(package
|
||||
@@ -321,7 +328,8 @@ that are targeted at desktop development, libexo is targeted at application
|
||||
development.")
|
||||
;; Libraries are under LGPLv2+, and programs under GPLv2+.
|
||||
(license (list gpl2+ lgpl2.1+))
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))))))
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))
|
||||
(stable-version-regexp . ,%xfce-stable-version)))))
|
||||
|
||||
(define-public garcon
|
||||
(package
|
||||
@@ -354,7 +362,8 @@ GLib and GIO. It was started as a complete rewrite of the former Xfce menu
|
||||
library called libxfce4menu, which, in contrast to garcon, was lacking menu
|
||||
merging features essential for loading menus modified with menu editors.")
|
||||
(license lgpl2.0+)
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))))))
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))
|
||||
(stable-version-regexp . ,%xfce-stable-version)))))
|
||||
|
||||
(define-public tumbler
|
||||
(package
|
||||
@@ -390,7 +399,8 @@ merging features essential for loading menus modified with menu editors.")
|
||||
various URI schemes and MIME types. It is an implementation of the thumbnail
|
||||
management D-Bus specification.")
|
||||
(license gpl2+)
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))))))
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))
|
||||
(stable-version-regexp . ,%xfce-stable-version)))))
|
||||
|
||||
(define-public libxfce4windowing
|
||||
(package
|
||||
@@ -424,7 +434,8 @@ management D-Bus specification.")
|
||||
windowing concepts (screens, toplevel windows, workspaces, etc.) in a
|
||||
windowing-system-independent manner.")
|
||||
(license lgpl2.1+)
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))))))
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))
|
||||
(stable-version-regexp . ,%xfce-stable-version)))))
|
||||
|
||||
(define-public xfce4-panel
|
||||
(package
|
||||
@@ -473,7 +484,8 @@ windowing-system-independent manner.")
|
||||
applications menu, workspace switcher and more.")
|
||||
;; Libraries are under LGPLv2.1+, and programs under GPLv2+.
|
||||
(license (list gpl2+ lgpl2.1+))
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))))))
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))
|
||||
(stable-version-regexp . ,%xfce-stable-version)))))
|
||||
|
||||
(define-public xfce4-battery-plugin
|
||||
(package
|
||||
@@ -698,7 +710,8 @@ per window.")
|
||||
"Application finder for Xfce, it will show the applications installed on
|
||||
your system in categories, so you can quickly find and launch them.")
|
||||
(license gpl2+)
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))))))
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))
|
||||
(stable-version-regexp . ,%xfce-stable-version)))))
|
||||
|
||||
(define-public xfce4-session
|
||||
(package
|
||||
@@ -769,7 +782,8 @@ your system in categories, so you can quickly find and launch them.")
|
||||
"Session manager for Xfce, it will restore your session on startup and
|
||||
allows you to shut down the computer from Xfce.")
|
||||
(license gpl2+)
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))))))
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))
|
||||
(stable-version-regexp . ,%xfce-stable-version)))))
|
||||
|
||||
(define-public xfce4-settings
|
||||
(package
|
||||
@@ -820,12 +834,13 @@ allows you to shut down the computer from Xfce.")
|
||||
"Settings manager for Xfce, it can control various aspects of the desktop
|
||||
like appearance, display, keyboard and mouse settings.")
|
||||
(license gpl2+)
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))))))
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))
|
||||
(stable-version-regexp . ,%xfce-stable-version)))))
|
||||
|
||||
(define-public thunar
|
||||
(package
|
||||
(name "thunar")
|
||||
(version "4.20.6") ;stable version = even minor
|
||||
(version "4.20.8") ;stable version = even minor
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -834,7 +849,7 @@ like appearance, display, keyboard and mouse settings.")
|
||||
(commit (string-append name "-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1ayjnnpl15v4h3rpay1a127cvrlaj6qwydk496083i9494j6cp9f"))))
|
||||
(base32 "0605a9vxva3bplnv4pj0qf1gk1jxacqg03czhi396qs1fgs6ihw1"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--enable-maintainer-mode" ;for thunar-marshal.c
|
||||
@@ -866,7 +881,8 @@ like appearance, display, keyboard and mouse settings.")
|
||||
"A modern file manager for graphical desktop, aiming to be easy-to-use and
|
||||
fast.")
|
||||
(license gpl2+)
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))))))
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))
|
||||
(stable-version-regexp . ,%xfce-stable-version)))))
|
||||
|
||||
(define-public thunar-volman
|
||||
(package
|
||||
@@ -895,7 +911,8 @@ thunar-volman is installed and configured properly, and you plug in your
|
||||
digital camera, it will automatically spawn your preferred photo application
|
||||
and import the new pictures from your camera.")
|
||||
(license gpl2+)
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))))))
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))
|
||||
(stable-version-regexp . ,%xfce-stable-version)))))
|
||||
|
||||
(define-public thunar-archive-plugin
|
||||
(package
|
||||
@@ -1027,7 +1044,7 @@ menu.")
|
||||
(base32 "1x39pbdx4186f7bkrc9ab5q7qs783mivm2j1msyf9m1nh09y617f"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list xfce4-dev-tools))
|
||||
(list python-setuptools xfce4-dev-tools))
|
||||
(inputs
|
||||
(list exo
|
||||
thunar
|
||||
@@ -1075,7 +1092,8 @@ menu.")
|
||||
"Window manager for Xfce, it handles the placement of windows
|
||||
on the screen.")
|
||||
(license gpl2+)
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))))))
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))
|
||||
(stable-version-regexp . ,%xfce-stable-version)))))
|
||||
|
||||
(define-public xfwm4-themes
|
||||
(package
|
||||
@@ -1162,7 +1180,8 @@ window manager.")
|
||||
optional application menu or icons for minimized applications or launchers,
|
||||
devices and folders.")
|
||||
(license gpl2+)
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))))))
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))
|
||||
(stable-version-regexp . ,%xfce-stable-version)))))
|
||||
|
||||
(define-public gigolo
|
||||
(package
|
||||
@@ -1240,7 +1259,8 @@ local and remote file systems and manage bookmarks of such.")
|
||||
GStreamer framework and written to fit well in the Xfce desktop. Parole
|
||||
features playback of local media files, DVD/CD and live streams.")
|
||||
(license gpl2) ;version 2 only
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))))))
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))
|
||||
(stable-version-regexp . ,%xfce-stable-version)))))
|
||||
|
||||
(define-public xfce4-terminal
|
||||
(package
|
||||
@@ -1435,7 +1455,8 @@ freedesktop-compliant DBus interfaces to inform other applications about current
|
||||
power level so that they can adjust their power consumption, and it provides the
|
||||
inhibit interface which allows applications to prevent automatic sleep.")
|
||||
(license gpl2+)
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))))))
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))
|
||||
(stable-version-regexp . ,%xfce-stable-version)))))
|
||||
|
||||
(define-public ristretto
|
||||
(package
|
||||
@@ -1530,7 +1551,8 @@ calendar applications. It also includes a panel clock plugin and an
|
||||
international clock application capable of simultaneously showing clocks from
|
||||
several different time zones.")
|
||||
(license gpl2+)
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))))))
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))
|
||||
(stable-version-regexp . ,%xfce-stable-version)))))
|
||||
|
||||
(define-public xfce4-notifyd
|
||||
(package
|
||||
@@ -1703,7 +1725,8 @@ A plugin for the Xfce panel is also available.")
|
||||
"Xfce Screensaver is a screen saver and locker that aims to have simple,
|
||||
sane, secure defaults and be well integrated with the Xfce desktop.")
|
||||
(license gpl2+)
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))))))
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))
|
||||
(stable-version-regexp . ,%xfce-stable-version)))))
|
||||
|
||||
(define-public xfce4-volumed-pulse
|
||||
(package
|
||||
@@ -2424,4 +2447,5 @@ local weather in the panel, using forecast data provided by the
|
||||
developers and people that want to build Xfce from Git In addition it contains
|
||||
the Xfce developer's handbook.")
|
||||
(license gpl2+)
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))))))
|
||||
(properties `((release-tag-prefix . ,(string-append name "-"))
|
||||
(stable-version-regexp . ,%xfce-stable-version)))))
|
||||
|
||||
+32
-35
@@ -1479,7 +1479,8 @@ treat it as part of their software base when porting.")
|
||||
(inputs
|
||||
(list libxt xorgproto libxext))
|
||||
(native-inputs
|
||||
(list gettext-minimal pkg-config))
|
||||
`(("gettext" ,gettext-minimal)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "https://www.x.org/wiki/")
|
||||
(synopsis "Xorg XPM library")
|
||||
(description "XPM (X Pixmap) image file format library.")
|
||||
@@ -6341,43 +6342,39 @@ 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
|
||||
(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"))))))))
|
||||
'(#: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")))))))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list luit
|
||||
libxft
|
||||
fontconfig
|
||||
freetype
|
||||
ncurses
|
||||
libice
|
||||
libsm
|
||||
libx11
|
||||
libxcursor
|
||||
libxext
|
||||
libxt
|
||||
xorgproto
|
||||
libxaw))
|
||||
`(("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)))
|
||||
(home-page "https://invisible-island.net/xterm/")
|
||||
(synopsis "Terminal emulator for the X Window System")
|
||||
(description
|
||||
|
||||
@@ -225,7 +225,7 @@ HTTP.")
|
||||
make-prometheus-node-exporter-configuration
|
||||
prometheus-node-exporter-configuration?
|
||||
(package prometheus-node-exporter-configuration-package
|
||||
(default go-github-com-prometheus-node-exporter))
|
||||
(default prometheus-node-exporter))
|
||||
(web-listen-address prometheus-node-exporter-web-listen-address
|
||||
(default ":9100"))
|
||||
(textfile-directory prometheus-node-exporter-textfile-directory
|
||||
|
||||
+4
-16
@@ -10,7 +10,6 @@
|
||||
;;; 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.
|
||||
;;;
|
||||
@@ -78,7 +77,6 @@
|
||||
make-file-writable
|
||||
copy-recursively
|
||||
delete-file-recursively
|
||||
delete-all-but
|
||||
file-name-predicate
|
||||
find-files
|
||||
false-if-file-not-found
|
||||
@@ -524,14 +522,6 @@ 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."
|
||||
@@ -544,21 +534,19 @@ name matches REGEXP."
|
||||
(define* (find-files dir #:optional (pred (const #t))
|
||||
#:key (stat lstat)
|
||||
directories?
|
||||
fail-on-error?
|
||||
(enter? (const #t)))
|
||||
fail-on-error?)
|
||||
"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. Enter
|
||||
sub-directories only when (ENTER? path stat result) returns true."
|
||||
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."
|
||||
(let ((pred (if (procedure? pred)
|
||||
pred
|
||||
(file-name-predicate pred))))
|
||||
;; Sort the result to get deterministic results.
|
||||
(sort (file-system-fold enter?
|
||||
(sort (file-system-fold (const #t)
|
||||
(lambda (file stat result) ; leaf
|
||||
(if (pred file stat)
|
||||
(cons file result)
|
||||
|
||||
+8
-1
@@ -206,7 +206,14 @@ a version prefix when PARTIAL-VERSION? is #t."
|
||||
(old-reference (origin-uri (package-source package)))
|
||||
(tags (get-package-tags package))
|
||||
(versions (map car tags))
|
||||
(version (find-version versions version partial-version?))
|
||||
(stable-rx (and=> (assq-ref (package-properties package)
|
||||
'stable-version-regexp)
|
||||
make-regexp))
|
||||
(version (find-version
|
||||
(if (and stable-rx (not version))
|
||||
(filter (cut regexp-exec stable-rx <>) versions)
|
||||
versions)
|
||||
version partial-version?))
|
||||
(tag (assoc-ref tags version)))
|
||||
(and version
|
||||
(upstream-source
|
||||
|
||||
@@ -120,6 +120,8 @@
|
||||
define-deprecated-package
|
||||
package-field-location
|
||||
|
||||
package-location<?
|
||||
|
||||
this-package-input
|
||||
this-package-native-input
|
||||
|
||||
@@ -874,6 +876,15 @@ if FIELD could not be found."
|
||||
#f)))
|
||||
(_ #f)))
|
||||
|
||||
(define (package-location<? p1 p2)
|
||||
"Return true if P1's location is \"before\" P2's."
|
||||
(let ((loc1 (package-location p1))
|
||||
(loc2 (package-location p2)))
|
||||
(and loc1 loc2
|
||||
(if (string=? (location-file loc1) (location-file loc2))
|
||||
(< (location-line loc1) (location-line loc2))
|
||||
(string<? (location-file loc1) (location-file loc2))))))
|
||||
|
||||
(define-syntax-rule (this-package-input name)
|
||||
"Return the input NAME of the package being defined--i.e., an input
|
||||
from the ‘inputs’ or ‘propagated-inputs’ field. Native inputs are not
|
||||
|
||||
+49
-6
@@ -11,6 +11,7 @@
|
||||
;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2019, 2020 Simon Tournier <zimon.toutoune@gmail.com>
|
||||
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
|
||||
;;; Copyright © 2024, 2026 Herman Rimm <herman@rimm.ee>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -28,8 +29,10 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (guix scripts lint)
|
||||
#:use-module (guix diagnostics)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix lint)
|
||||
#:use-module (guix modules)
|
||||
#:use-module (guix ui)
|
||||
#:use-module (guix store)
|
||||
#:use-module (guix scripts)
|
||||
@@ -87,6 +90,28 @@
|
||||
checkers)
|
||||
(exit 0))
|
||||
|
||||
(define* (process-whole-file file checkers #:key store)
|
||||
"Run the given CHECKERS on packages in FILE and check that the
|
||||
packages are sorted alphabetically."
|
||||
(load* file '())
|
||||
(let* ((module (resolve-interface (file-name->module-name file)))
|
||||
(packages (sort (fold-packages cons '() (list module))
|
||||
package-location<?)))
|
||||
(fold (lambda (package previous)
|
||||
(let ((line (location-line (package-location package)))
|
||||
(name (package-name package)))
|
||||
(run-checkers package checkers #:store store)
|
||||
(and (string<? name previous)
|
||||
(emit-warnings
|
||||
(list (lint-warning
|
||||
(package package)
|
||||
(location (location file line 0))
|
||||
(message-text
|
||||
(G_ "breaks from alphabetical order"))
|
||||
(message-data '())))))
|
||||
name))
|
||||
"" packages)))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Command-line options.
|
||||
@@ -115,6 +140,9 @@ run the checkers on all packages.\n"))
|
||||
-L, --load-path=DIR prepend DIR to the package module search path"))
|
||||
(newline)
|
||||
(display (G_ "
|
||||
-f, --whole-file check the packages defined in the given file(s)"))
|
||||
(newline)
|
||||
(display (G_ "
|
||||
-h, --help display this help and exit"))
|
||||
(display (G_ "
|
||||
-l, --list-checkers display the list of available lint checkers"))
|
||||
@@ -161,6 +189,9 @@ run the checkers on all packages.\n"))
|
||||
(lambda args
|
||||
(leave-on-EPIPE (show-help))
|
||||
(exit 0)))
|
||||
(option '(#\f "whole-file") #f #f
|
||||
(lambda (opt name arg result)
|
||||
(alist-cons 'whole-file? #t result)))
|
||||
(option '(#\l "list-checkers") #f #f
|
||||
(lambda (opt name arg result)
|
||||
(alist-cons 'list? #t result)))
|
||||
@@ -187,12 +218,17 @@ run the checkers on all packages.\n"))
|
||||
#:build-options? #f))
|
||||
|
||||
(let* ((opts (parse-options))
|
||||
(args (filter-map (match-lambda
|
||||
(('argument . spec)
|
||||
(specification->package spec))
|
||||
(('expression . exp)
|
||||
(read/eval-package-expression exp))
|
||||
(_ #f))
|
||||
(whole-file? (assoc-ref opts 'whole-file?))
|
||||
(args (filter-map (if whole-file?
|
||||
(match-lambda
|
||||
(('argument . file) file)
|
||||
(_ #f))
|
||||
(match-lambda
|
||||
(('argument . spec)
|
||||
(specification->package spec))
|
||||
(('expression . exp)
|
||||
(read/eval-package-expression exp))
|
||||
(_ #f)))
|
||||
(reverse opts)))
|
||||
(no-checkers (or (assoc-ref opts 'exclude) '()))
|
||||
(the-checkers (filter (lambda (checker)
|
||||
@@ -221,6 +257,13 @@ run the checkers on all packages.\n"))
|
||||
(call-maybe-with-store
|
||||
(lambda (store)
|
||||
(cond
|
||||
(whole-file?
|
||||
(when (null? args)
|
||||
(warning (G_ "no files specified, nothing to do~%")))
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(process-whole-file file checkers #:store store))
|
||||
args))
|
||||
((null? args)
|
||||
(fold-packages (lambda (p r) (run-checkers p checkers
|
||||
#:store store)) '()))
|
||||
|
||||
@@ -603,15 +603,6 @@ bailing out~%"))
|
||||
#:format-comment canonicalize-comment
|
||||
#:format-vertical-space canonicalize-vertical-space)))))
|
||||
|
||||
(define (package-location<? p1 p2)
|
||||
"Return true if P1's location is \"before\" P2's."
|
||||
(let ((loc1 (package-location p1))
|
||||
(loc2 (package-location p2)))
|
||||
(and loc1 loc2
|
||||
(if (string=? (location-file loc1) (location-file loc2))
|
||||
(< (location-line loc1) (location-line loc2))
|
||||
(string<? (location-file loc1) (location-file loc2))))))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Whole-file formatting.
|
||||
|
||||
+18
-2
@@ -1,5 +1,6 @@
|
||||
# GNU Guix --- Functional package management for GNU
|
||||
# Copyright © 2014 Cyril Roelandt <tipecaml@gmail.com>
|
||||
# Copyright © 2026 Herman Rimm <herman@rimm.ee>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
@@ -35,12 +36,20 @@ cat > "$module_dir/foo.scm"<<EOF
|
||||
#:use-module (guix packages)
|
||||
#:use-module (gnu packages base))
|
||||
|
||||
;; This definition uses (the line number of) the hello package location
|
||||
;; instead of generating a new one.
|
||||
(define-public hi hello)
|
||||
|
||||
(define-public dummy
|
||||
(package (inherit hello)
|
||||
(name "dummy")
|
||||
(version "42")
|
||||
(synopsis "dummy package")
|
||||
(description "dummy package. Only used for testing purposes.")))
|
||||
|
||||
(define-public bar
|
||||
(package (inherit dummy)
|
||||
(name "bar")))
|
||||
EOF
|
||||
|
||||
GUIX_PACKAGE_PATH="$module_dir"
|
||||
@@ -52,10 +61,11 @@ grep_warning ()
|
||||
echo $res
|
||||
}
|
||||
|
||||
# Three issues with the dummy package:
|
||||
# Issues with the dummy package:
|
||||
# 1) the synopsis starts with the package name;
|
||||
# 2) the synopsis starts with a lower-case letter;
|
||||
# 3) the description has a single space following the end-of-sentence period.
|
||||
# 3) the description has a single space following the end-of-sentence period;
|
||||
# 4) the alphabetically lesser bar package succeeds it.
|
||||
|
||||
out=`guix lint -c synopsis,description dummy 2>&1`
|
||||
test `grep_warning "$out"` -eq 3
|
||||
@@ -69,6 +79,12 @@ test `grep_warning "$out"` -eq 1
|
||||
out=`guix lint -c description,synopsis dummy 2>&1`
|
||||
test `grep_warning "$out"` -eq 3
|
||||
|
||||
working_dir="$(pwd)"
|
||||
cd "$module_dir"
|
||||
out=`guix lint -c name -f foo.scm 2>&1`
|
||||
cd "$working_dir"
|
||||
test `echo "$out" | grep -E -c "breaks from alphabetical order"` -eq 1
|
||||
|
||||
guix lint -c synopsis,invalid-checker dummy 2>&1 | \
|
||||
grep -q 'invalid-checker: invalid checker'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user