forked from tribes/guix
Compare commits
77 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1cd09ce1ec | |||
| 4b7a750b64 | |||
| 5d1c8cfa1e | |||
| a4a3fe08c1 | |||
| e095512494 | |||
| 4a1f2852e1 | |||
| 649fc872ba | |||
| 6199e6609c | |||
| ec6b8c9808 | |||
| 429f698c17 | |||
| efa499747f | |||
| c81f5b764c | |||
| 3298ea0db1 | |||
| db6af3ab1a | |||
| 0987ec2b82 | |||
| 709c37f4db | |||
| ce843095f4 | |||
| 2487ff1879 | |||
| 71ef5c0ab6 | |||
| 4b4ea6eb9d | |||
| 65c24e5e11 | |||
| 07085345a2 | |||
| 98b2e3853b | |||
| 0e6f3fab58 | |||
| d4ddddd9b4 | |||
| ca11af32e2 | |||
| 40e40dafc4 | |||
| 2533fec0e1 | |||
| 462dc862b0 | |||
| abd6fc6d49 | |||
| 7c7c4ba6f5 | |||
| 7b8101940c | |||
| 9d3d936e2f | |||
| dd5c11de2b | |||
| 9247fd3bc7 | |||
| 721e60ef98 | |||
| 4f9a5a1a02 | |||
| e7732936f8 | |||
| cd2d52bce2 | |||
| 26cb472c04 | |||
| 6287b5c33b | |||
| 3247771a15 | |||
| 7473b051b6 | |||
| 862fdaae31 | |||
| 314cc3312e | |||
| f7d662c258 | |||
| 9a9c8f7304 | |||
| e946baf360 | |||
| f78a0db28d | |||
| b6509681e2 | |||
| cb714dcd25 | |||
| ddf9f96d91 | |||
| 37bb79a391 | |||
| e91607864b | |||
| b2b885be52 | |||
| 5119d7b1d6 | |||
| e1bf330763 | |||
| 5a44919bfd | |||
| f8828f568b | |||
| e40cc524da | |||
| 442fff85d1 | |||
| 74cb8ecd7f | |||
| 6a5795b21d | |||
| 2d9c30010f | |||
| 0683beac07 | |||
| d0fbabae2e | |||
| 95ac807edf | |||
| 985715e1e3 | |||
| cfd36ce667 | |||
| c8d3b54459 | |||
| 4d758ddbd2 | |||
| 09fc9aa7f2 | |||
| e0c2faf716 | |||
| 077ac25005 | |||
| c3a13b2593 | |||
| 02c36a8ad8 | |||
| a26258d1d6 |
+31
-3
@@ -2658,9 +2658,11 @@ bootloaders.
|
||||
|
||||
Once you are done partitioning the target hard disk drive, you have to
|
||||
create a file system on the relevant partition(s)@footnote{Currently
|
||||
Guix System only supports ext4, btrfs, JFS, F2FS, and XFS file systems. In
|
||||
particular, code that reads file system UUIDs and labels only works for these
|
||||
file system types.}. For the ESP, if you have one and assuming it is
|
||||
Guix System supports only ext4, btrfs, bcachefs, JFS, F2FS, and XFS
|
||||
file systems. In particular, code that reads file system UUIDs and
|
||||
labels works only for these file system types. For bcachefs, also add
|
||||
the @code{bcachefs-linux-module} to your @code{operating-system}'s
|
||||
@code{initrd-modules}.}. For the ESP, if you have one and assuming it is
|
||||
@file{/dev/sda1}, run:
|
||||
|
||||
@example
|
||||
@@ -27015,6 +27017,32 @@ Deprecated option.
|
||||
@end deftp
|
||||
|
||||
|
||||
@c %end of fragment
|
||||
|
||||
@defvar gardenhostd-service-type
|
||||
Type for the service that runs gardenhostd, a partial implementation of
|
||||
the systemd-hostnamed daemon. It provides the org.freedesktop.hostname1
|
||||
D-Bus interface, which helps applications like gnome-control-center
|
||||
retrieve and modify the system’s hostname, as well as set a pretty
|
||||
hostname for display.
|
||||
|
||||
The value for this service is a @code{<gardenhostd-configuration>} object.
|
||||
@end defvar
|
||||
|
||||
@c %start of fragment
|
||||
|
||||
@deftp {Data Type} gardenhostd-configuration
|
||||
Available @code{gardenhostd-configuration} fields are:
|
||||
|
||||
@table @asis
|
||||
@item @code{gardenhostd} (default: @code{gardenhostd}) (type: package)
|
||||
The gardenhostd package to use.
|
||||
|
||||
@end table
|
||||
|
||||
@end deftp
|
||||
|
||||
|
||||
@c %end of fragment
|
||||
|
||||
@defvar accountsservice-service-type
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014-2018, 2020-2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014-2018, 2020-2022, 2026 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
|
||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
|
||||
@@ -1455,9 +1455,14 @@ corresponds to the symbols listed in FLAGS."
|
||||
(raise c)))
|
||||
((system-error? c)
|
||||
(format (current-error-port)
|
||||
"could not mount partition ~a: ~a~%"
|
||||
"could not mount partition '~a': ~a~%"
|
||||
(file-system-device fs)
|
||||
(exception-message c))
|
||||
(string-trim-both
|
||||
(call-with-output-string
|
||||
(lambda (port)
|
||||
(print-exception port #f
|
||||
(exception-kind c)
|
||||
(exception-args c))))))
|
||||
(unless (file-system-mount-may-fail? fs)
|
||||
(raise c))))
|
||||
(let* ((type (file-system-type fs))
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
(define-module (gnu home services niri)
|
||||
#:use-module (gnu home services)
|
||||
#:use-module (gnu home services shepherd)
|
||||
#:use-module (gnu home services desktop)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages glib)
|
||||
@@ -40,14 +41,15 @@
|
||||
|
||||
(define (home-niri-shepherd-service config)
|
||||
"Return a shepherd service that runs Niri, a scrollable tiling Wayland
|
||||
compositor. The service starts Niri in a DBus session with appropriate
|
||||
environment variables set for a Wayland desktop session."
|
||||
compositor. The service starts Niri with appropriate environment variables
|
||||
set for a Wayland desktop session."
|
||||
(list (shepherd-service
|
||||
(documentation "Run Niri scrollable tiling Wayland compositor.")
|
||||
(provision '(niri))
|
||||
(requirement '(dbus))
|
||||
(start #~(make-forkexec-constructor
|
||||
(list #$(file-append bash "/bin/bash") "-l"
|
||||
"-c" "exec dbus-run-session niri --session")
|
||||
"-c" "exec niri --session")
|
||||
#:environment-variables
|
||||
(append (list #$@(niri-configuration-environment-variables config))
|
||||
'("DESKTOP_SESSION=niri"
|
||||
@@ -66,6 +68,8 @@ environment variables set for a Wayland desktop session."
|
||||
(extensions
|
||||
(list (service-extension home-shepherd-service-type
|
||||
home-niri-shepherd-service)
|
||||
(service-extension home-dbus-service-type
|
||||
(const '()))
|
||||
(service-extension home-profile-service-type
|
||||
(lambda (config)
|
||||
(list dbus
|
||||
|
||||
@@ -1754,6 +1754,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/kwin-unwrap-executable-name-for-dot-desktop-search.patch\
|
||||
%D%/packages/patches/laby-make-install.patch \
|
||||
%D%/packages/patches/laby-use-tmpdir-from-runtime.patch \
|
||||
%D%/packages/patches/ldc-i686-int128-alignment.patch \
|
||||
%D%/packages/patches/ldns-drill-examples.patch \
|
||||
%D%/packages/patches/leela-zero-gtest.patch \
|
||||
%D%/packages/patches/less-hurd-path-max.patch \
|
||||
|
||||
@@ -8173,7 +8173,7 @@ and DSD streams.")
|
||||
(define-public qpwgraph
|
||||
(package
|
||||
(name "qpwgraph")
|
||||
(version "0.9.9")
|
||||
(version "1.0.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -8182,7 +8182,7 @@ and DSD streams.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"03001pvcbvr206k00751232gm50x1icf086z8c5hiakl2ym79gwl"))))
|
||||
"0l3fflfpwkqy4iif8ifzzr3yy39ahzqdixx5g3rhj3zzbaysj73h"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f)) ; no tests
|
||||
|
||||
@@ -8760,7 +8760,7 @@ similar rank-based tests for equal probability distributions due to Neuhauser
|
||||
(("^PKG_LIBS=.*")
|
||||
(string-append "PKG_LIBS="
|
||||
(assoc-ref inputs "libnode")
|
||||
"/lib/libnode.so.127\n")))
|
||||
"/lib/libnode.so.137\n")))
|
||||
(setenv "INCLUDE_DIR"
|
||||
(string-append
|
||||
(assoc-ref inputs "libnode")
|
||||
|
||||
@@ -75,7 +75,8 @@
|
||||
(uri (string-append "https://github.com/ldc-developers/ldc/releases"
|
||||
"/download/v" version "/ldc-" version "-src.tar.gz"))
|
||||
(sha256
|
||||
(base32 "13pkg69wjj4ali4ikijicccpg8y6f2hghhb70z9lrqr2w3pkhqna"))))
|
||||
(base32 "13pkg69wjj4ali4ikijicccpg8y6f2hghhb70z9lrqr2w3pkhqna"))
|
||||
(patches (search-patches "ldc-i686-int128-alignment.patch"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:disallowed-references (,tzdata-for-tests)
|
||||
@@ -686,6 +687,7 @@ needed.")
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "bin/rdmd" "rdmd_test.d" "bin/rdmd"
|
||||
"-m" (if #$(target-64bit?) "64" "32")
|
||||
"--rdmd-default-compiler" "ldmd2"))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
|
||||
@@ -24608,7 +24608,8 @@ of XELB.")
|
||||
(name "emacs-exwm-no-x-toolkit")
|
||||
(synopsis "Emacs X window manager (without an X toolkit)")
|
||||
(propagated-inputs
|
||||
(list emacs-xelb-no-x-toolkit))
|
||||
(modify-inputs propagated-inputs
|
||||
(replace "emacs-xelb" emacs-xelb-no-x-toolkit)))
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:emacs emacs) `,emacs-no-x-toolkit)))))
|
||||
@@ -28142,7 +28143,7 @@ match and total match information in the mode-line in various search modes.")
|
||||
(define-public emacs-pg
|
||||
(package
|
||||
(name "emacs-pg")
|
||||
(version "0.62")
|
||||
(version "0.63")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference (url "https://github.com/emarsden/pg-el")
|
||||
@@ -28150,7 +28151,7 @@ match and total match information in the mode-line in various search modes.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0fjzrn5b4s00km71ya98vwwfyvd4rvcywxdxqzy5xfrv8crm92w6"))))
|
||||
"19hh45mlb4j6a3ys3wvivj0bm5xy5vjwscnvn68b656b5jk5himh"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs (list emacs-peg))
|
||||
(home-page "https://github.com/emarsden/pg-el")
|
||||
@@ -28166,7 +28167,7 @@ end users.")
|
||||
(define-public emacs-pgmacs
|
||||
(package
|
||||
(name "emacs-pgmacs")
|
||||
(version "0.42")
|
||||
(version "0.30")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -28175,7 +28176,7 @@ end users.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0pf8y64hka1fl47dphmh4xgxiwfsd0g4q2fazq5yc48zwr9nsf02"))))
|
||||
"0f4mbamk2n9l7qwhi2n1kwvng6wa9yp6k2w1qn6yc07pri2mb6yc"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
(list emacs-pg))
|
||||
@@ -28184,6 +28185,12 @@ end users.")
|
||||
(home-page "https://github.com/emarsden/pgmacs")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-pgmacs-0.42
|
||||
(package
|
||||
(inherit emacs-pgmacs)
|
||||
(version "0.42")
|
||||
(properties `((superseded . ,emacs-pgmacs)))))
|
||||
|
||||
(define-public emacs-finalize
|
||||
(package
|
||||
(name "emacs-finalize")
|
||||
|
||||
@@ -762,7 +762,7 @@ from a mounted file system.")
|
||||
;; completions by running a native bcachefs binary at build time.
|
||||
(package
|
||||
(name "bcachefs-tools-minimal")
|
||||
(version "1.35.1")
|
||||
(version "1.37.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -771,7 +771,7 @@ from a mounted file system.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1jn7fqlvhr0iazfx31wamvmf3qmgrzlf9ghvz8qazk8b6ipv77fn"))))
|
||||
(base32 "17041jphzbg0ppxlc1acr3d73zyn02spjvi5my30wak8xh9n6nan"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -969,20 +969,13 @@ minimal bcachefs-tools package. It is meant to be used in initrds.")
|
||||
(define-public bcachefs-linux-module
|
||||
(package
|
||||
(name "bcachefs-linux-module")
|
||||
(version "1.35.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://evilpiepirate.org/git/bcachefs-tools.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1jn7fqlvhr0iazfx31wamvmf3qmgrzlf9ghvz8qazk8b6ipv77fn"))))
|
||||
(version (package-version bcachefs-tools-minimal))
|
||||
(source (package-source bcachefs-tools-minimal))
|
||||
(build-system linux-module-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no 'check' target
|
||||
#:make-flags #~(list "BCACHEFS_DKMS=1")
|
||||
#:tests? #f ;no 'check' target
|
||||
#:source-directory "build/src/fs/bcachefs"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
@@ -991,18 +984,14 @@ minimal bcachefs-tools package. It is meant to be used in initrds.")
|
||||
(with-output-to-file ".version"
|
||||
(lambda ()
|
||||
(display #$version)))))
|
||||
(add-after 'unpack 'patch-source
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
;; Remove unnecessary dependencies
|
||||
(("^.*PKG_CONFIG.*$")
|
||||
""))))
|
||||
(add-before 'configure 'prepare-build-dir
|
||||
(lambda _
|
||||
(invoke "make" "install_dkms"
|
||||
(string-append "DESTDIR="
|
||||
(getcwd) "/") "DKMSDIR=build/"))))))
|
||||
(home-page (package-home-page bcachefs-tools-minimal/static))
|
||||
(add-before 'configure 'prepare-build-directory
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(apply invoke "make" "install_dkms"
|
||||
(string-append "DESTDIR="
|
||||
(getcwd) "/")
|
||||
"DKMSDIR=build/"
|
||||
make-flags))))))
|
||||
(home-page (package-home-page bcachefs-tools-minimal))
|
||||
(synopsis "Bcachefs Linux kernel module")
|
||||
(description
|
||||
"This package provides the Linux kernel module for Bcachefs.
|
||||
|
||||
@@ -1150,6 +1150,60 @@ GNOME Shell. The @command{localectl} command-line tool allows you to interact
|
||||
with localed. This package is extracted from the broader systemd package.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public gardenhostd
|
||||
(package
|
||||
(name "gardenhostd")
|
||||
(version "1.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/axtlos/gardenhostd.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1q0pdh0imc2ggb26cddl62hx6fmz6z4hqj2352a4k9wxyn5kfiam"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:imported-modules `(,@%meson-build-system-modules
|
||||
,@%pyproject-build-system-modules)
|
||||
#:modules '(((guix build pyproject-build-system) #:prefix pyproject:)
|
||||
(guix build meson-build-system)
|
||||
(guix build utils))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'remove-extra-files
|
||||
(lambda _
|
||||
(with-directory-excursion #$output
|
||||
(delete-file-recursively "etc/init.d")
|
||||
(rmdir "etc"))))
|
||||
;; See <https://codeberg.org/guix/guix/issues/7579>.
|
||||
(add-after 'install 'wrap-search-paths
|
||||
(lambda _
|
||||
(wrap-program (string-append #$output "/libexec/gardenhostd")
|
||||
`("GUIX_PYTHONPATH" prefix
|
||||
,(map
|
||||
(lambda (package)
|
||||
(string-append
|
||||
package "/lib/python"
|
||||
(pyproject:python-version #$(this-package-input "python"))
|
||||
"/site-packages"))
|
||||
;; Avoids references to meson’s libraries.
|
||||
(list #$(this-package-input "python")
|
||||
#$(this-package-input "python-pygobject"))))))))))
|
||||
(inputs
|
||||
(list bash-minimal
|
||||
python
|
||||
python-pygobject))
|
||||
(home-page "https://codeberg.org/axtlos/gardenhostd")
|
||||
(synopsis "Minimal Python implementation of systemd-hostnamed")
|
||||
(description "This package is a partial implementation of the
|
||||
systemd-hostnamed daemon. It provides the @code{org.freedesktop.hostname1}
|
||||
D-Bus interface, which helps applications like GNOME Settings retrieve and
|
||||
modify the system’s hostname, as well as set a pretty hostname for display.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public packagekit
|
||||
(package
|
||||
(name "packagekit")
|
||||
|
||||
+49
-6
@@ -3964,7 +3964,7 @@ that beneath its ruins lay buried an ancient evil.")
|
||||
(define-public angband
|
||||
(package
|
||||
(name "angband")
|
||||
(version "4.2.5")
|
||||
(version "4.2.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -3973,7 +3973,7 @@ that beneath its ruins lay buried an ancient evil.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0kg6npbfy42mhggsqvs04khc8198i980z52xm59pws29698qazaw"))
|
||||
(base32 "0hgzdvlh0j42w4q9kch9xvhnbvcrypac01xhpksw35gj9my887cp"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; So, some of the sounds/graphics/tilesets are under different
|
||||
@@ -3989,12 +3989,55 @@ that beneath its ruins lay buried an ancient evil.")
|
||||
(substitute* "lib/Makefile"
|
||||
;; And don't try to invoke makefiles in the directories we removed.
|
||||
(("gamedata customize help screens fonts tiles sounds icons user")
|
||||
"gamedata customize help screens user"))))))
|
||||
"gamedata customize help screens user"))
|
||||
;; Remove nonfree .dll files too.
|
||||
(delete-file-recursively "src/win")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no check target
|
||||
#:configure-flags (list (string-append "--bindir=" %output "/bin"))))
|
||||
(native-inputs (list autoconf automake))
|
||||
`(#:configure-flags (list (string-append "--bindir=" %output "/bin"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'fix-infinite-loop-on-sighup
|
||||
;; XXX Release 4.2.6 has a major bug where sending the process a
|
||||
;; SIGHUP when closing the terminal causes it to infinite loop
|
||||
;; waiting for input: https://github.com/angband/angband/issues/6558
|
||||
;; Reevaluate for future versions.
|
||||
(lambda _
|
||||
(substitute* "src/ui-signals.c"
|
||||
(("(SIGHUP, )SIG_IGN" _ first)
|
||||
(string-append first "handle_signal_abort")))))
|
||||
(add-before 'check 'skip-failing-tests
|
||||
(lambda _
|
||||
(let ((to-skip '(;; some of these may be fixable, but most try to
|
||||
;; create a directory in the user's home directory.
|
||||
;; Rather than reading environment variables, they
|
||||
;; lookup the username using getpwnam(3) and manually
|
||||
;; construct the string.
|
||||
;; Generic "Suite died":
|
||||
"game/basic"
|
||||
"game/mage"
|
||||
;; "Cannot create '//.angband/Angband'":
|
||||
"effects/chain"
|
||||
"effects/destruction"
|
||||
"effects/earthquake"
|
||||
"object/info"
|
||||
"object/slays"
|
||||
"player/calc-inventory"
|
||||
"player/combine-pack"
|
||||
"player/digging"
|
||||
"player/inven-carry-num"
|
||||
"player/inven-wield"
|
||||
"player/timed"
|
||||
;; This file likes to read /etc/passwd
|
||||
"z-file/path-normalize")))
|
||||
(substitute* "src/tests/Makefile"
|
||||
(("include \\$\\(SUITES\\)" all)
|
||||
(string-append all "\nTESTPROGS := $(filter-out "
|
||||
(string-join to-skip " ")
|
||||
", $(TESTPROGS))")))))))))
|
||||
(native-inputs (list autoconf
|
||||
automake
|
||||
perl)) ;for tests
|
||||
(inputs (list ncurses))
|
||||
(home-page "https://rephial.org/")
|
||||
(synopsis "Dungeon exploration roguelike")
|
||||
|
||||
@@ -398,7 +398,8 @@ that is extensible via a plugin system.")
|
||||
;; environment, as it could cause Gimp to crash (see
|
||||
;; bug#77921).
|
||||
`("GI_TYPELIB_PATH" prefix
|
||||
(,(getenv "GI_TYPELIB_PATH")))
|
||||
(,(getenv "GI_TYPELIB_PATH")
|
||||
,(string-append #$output "/lib/girepository-1.0")))
|
||||
`("GUIX_PYTHONPATH" prefix
|
||||
(,(getenv "GUIX_PYTHONPATH")))
|
||||
`("GDK_PIXBUF_MODULE_FILE" =
|
||||
|
||||
@@ -96,6 +96,7 @@
|
||||
#:use-module (gnu packages golang-xyz)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages graphics)
|
||||
#:use-module (gnu packages haskell-xyz)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages image-processing)
|
||||
#:use-module (gnu packages imagemagick)
|
||||
@@ -116,6 +117,7 @@
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages suckless)
|
||||
#:use-module (gnu packages stb)
|
||||
#:use-module (gnu packages terminals)
|
||||
@@ -1051,6 +1053,67 @@ synchronization of multiple instances.")
|
||||
(home-page "https://nomacs.org/")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public timg
|
||||
(package
|
||||
(name "timg")
|
||||
(version "1.6.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/hzeller/timg")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0xr3g6my2n9ry5mqiw1qvf7m0lpmj20h2xsnh75653ha83wqxmhm"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Remove bundled sources
|
||||
#~(begin
|
||||
(delete-file-recursively "third_party") #t))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~'("-Wno-dev" "-DWITH_OPENSLIDE_SUPPORT=ON")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'configure 'fix-stb-path
|
||||
;; This package expects stb-image to be at stb/stb_image.h, but
|
||||
;; Guix puts it at stb_image.h instead
|
||||
(lambda _
|
||||
(substitute* "src/CMakeLists.txt"
|
||||
(("stb/stb")
|
||||
"stb"))
|
||||
(substitute* "src/stb-image-source.cc"
|
||||
(("#include \"stb/stb_image.h\"")
|
||||
"#include \"stb_image.h\"")))))
|
||||
#:tests? #f)) ;No tests
|
||||
(inputs (list cairo
|
||||
ffmpeg
|
||||
graphicsmagick
|
||||
libdeflate
|
||||
libdicom
|
||||
libexif
|
||||
libjpeg-turbo
|
||||
librsvg
|
||||
libsixel
|
||||
libxml2
|
||||
openjpeg
|
||||
openslide
|
||||
poppler
|
||||
qoi
|
||||
sqlite
|
||||
stb-image))
|
||||
(native-inputs (list git pandoc pkg-config))
|
||||
(home-page "https://timg.sh/")
|
||||
(synopsis "Terminal image and video viewer")
|
||||
(description
|
||||
"This package provides a user-friendly terminal image viewer that uses
|
||||
graphic capabilities of terminals (Sixel, Kitty or iterm2), or 24-Bit color
|
||||
capabilities and unicode character blocks if these are not available.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public xzgv
|
||||
(package
|
||||
(name "xzgv")
|
||||
|
||||
@@ -74,6 +74,7 @@
|
||||
#:use-module (gnu packages cpp)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages datastructures)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
@@ -106,6 +107,7 @@
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages ragel)
|
||||
#:use-module (gnu packages sphinx)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages swig)
|
||||
#:use-module (gnu packages textutils)
|
||||
#:use-module (gnu packages video)
|
||||
@@ -245,6 +247,29 @@ code is Valgrind-clean and unit tested.")
|
||||
(home-page "https://sourceforge.net/projects/iqa/")
|
||||
(license license:bsd-4)))
|
||||
|
||||
(define-public libdicom
|
||||
(package
|
||||
(name "libdicom")
|
||||
(version "1.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ImagingDataCommons/libdicom")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0l1z8riv7lrw65nswq8lvyvnxn5vc06gydwc96gj3ywb1gcqv831"))))
|
||||
(build-system meson-build-system)
|
||||
(inputs (list check uthash))
|
||||
(native-inputs (list pkg-config))
|
||||
(home-page "https://github.com/ImagingDataCommons/libdicom")
|
||||
(synopsis "C library for reading DICOM files")
|
||||
(description
|
||||
"This package is a C library and a set of command-line tools for reading
|
||||
DICOM WSI files.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public libpng
|
||||
(package
|
||||
(name "libpng")
|
||||
@@ -1109,6 +1134,41 @@ JPEG 2000 Reference Software.")
|
||||
(home-page "https://github.com/uclouvain/openjpeg")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public openslide
|
||||
(package
|
||||
(name "openslide")
|
||||
(version "4.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/openslide/openslide")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "00gc530g0lxm2lhwq249w97021w1v1y9ybqs2z5l1z922s15rhl2"))))
|
||||
(build-system meson-build-system)
|
||||
(inputs (list cairo
|
||||
gdk-pixbuf
|
||||
glib
|
||||
libdicom
|
||||
libjpeg-turbo
|
||||
libpng
|
||||
libtiff
|
||||
libxml2
|
||||
openjpeg
|
||||
sqlite
|
||||
zlib
|
||||
zstd))
|
||||
(native-inputs (list pkg-config))
|
||||
(home-page "https://openslide.org/")
|
||||
(synopsis "C library for reading slide image files")
|
||||
(description
|
||||
"OpenSlide is a C library for reading whole slide image files (also known
|
||||
as virtual slides). It provides a consistent and simple API for reading files
|
||||
from multiple vendors.")
|
||||
(license license:lgpl2.1)))
|
||||
|
||||
(define-public giflib
|
||||
(package
|
||||
(name "giflib")
|
||||
@@ -1968,6 +2028,34 @@ possible, all formats supported by the PNG standard are represented.")
|
||||
use, copy, modify and distribute these images for any purpose and without fee
|
||||
is hereby granted."))))
|
||||
|
||||
(define-public qoi
|
||||
(let ((commit "6fff9b70dd79b12f808b0acc5cb44fde9998725e")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "qoi")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/phoboslab/qoi")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "078zasncyylgnwx6br82nkjssl82wygz6fh8zm65fbfpadzfa3x7"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-plan
|
||||
#~'(("qoi.h" "include/"))
|
||||
#:tests? #f)) ;No tests
|
||||
(home-page "https://qoiformat.org")
|
||||
(synopsis "Library for the QOI image format")
|
||||
(description
|
||||
"This package provides a library for the QOI image format, offering
|
||||
fast, lossless image compression.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public libjpeg-turbo
|
||||
(package
|
||||
(name "libjpeg-turbo")
|
||||
|
||||
+10
-9
@@ -14,7 +14,7 @@
|
||||
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
|
||||
;;; Copyright © 2022 jgart <jgart@dismail.de>
|
||||
;;; Copyright © 2023, 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2024, 2025 Ashish SHUKLA <ashish.is@lostca.se>
|
||||
;;; Copyright © 2024-2026 Ashish SHUKLA <ashish.is@lostca.se>
|
||||
;;; Copyright © 2024 Christian Miller <christian.miller@dadoes.de>
|
||||
;;; Copyright © 2024 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2025 Zheng Junjie <z572@z572.online>
|
||||
@@ -348,7 +348,7 @@ Conferencing} and @acronym{ICB, Internet Citizen's Band}.")
|
||||
(define-public weechat
|
||||
(package
|
||||
(name "weechat")
|
||||
(version "4.8.2")
|
||||
(version "4.9.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -357,7 +357,7 @@ Conferencing} and @acronym{ICB, Internet Citizen's Band}.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"06lmbd27fdj7z7v6m096csswp73354516z64apfyz8lr5kh140wq"))))
|
||||
"1pwayhpnyd6nq1sph4hqi43xwqgq6vj6fr8q0xqn0jx5zzjlyx8c"))))
|
||||
(build-system cmake-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(native-inputs
|
||||
@@ -393,12 +393,13 @@ Conferencing} and @acronym{ICB, Internet Citizen's Band}.")
|
||||
#~(modify-phases %standard-phases
|
||||
#$@(if (target-x86?)
|
||||
#~((add-after 'install 'move-doc
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(doc (assoc-ref outputs "doc"))
|
||||
(from (string-append out "/share/doc/weechat"))
|
||||
(to (string-append doc "/share/doc/weechat")))
|
||||
(mkdir-p (string-append doc "/share/doc"))
|
||||
(lambda _
|
||||
(let ((from (string-append #$output
|
||||
"/share/doc/weechat"))
|
||||
(to (string-append #$output:doc
|
||||
"/share/doc/weechat")))
|
||||
(mkdir-p (string-append #$output:doc
|
||||
"/share/doc"))
|
||||
(rename-file from to)))))
|
||||
#~()))))
|
||||
(synopsis "Extensible chat client")
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
python-wrapper
|
||||
tzdata-for-tests))
|
||||
(inputs
|
||||
(list cadical gmp libuv llvm))
|
||||
(list cadical-2.1 gmp libuv llvm))
|
||||
(arguments
|
||||
(list
|
||||
#:make-flags
|
||||
|
||||
@@ -164,14 +164,14 @@ resolution, asynchronous file system operations, and threading primitives.")
|
||||
(package
|
||||
(inherit libuv)
|
||||
(name "libuv")
|
||||
(version "1.49.2")
|
||||
(version "1.51.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://dist.libuv.org/dist/v" version
|
||||
"/libuv-v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1a75p8wp4l43y2ffj1szs1ssm6nzjad7k51bqi2r04ngs9mp044c"))))
|
||||
"1szqivvs7izbhw1a3nd1ipbk012yvqqkjg0sjmqxw1hi1fwmf1az"))))
|
||||
(properties '((hidden? . #t)))))
|
||||
|
||||
(define-public libuv-for-r-httpuv
|
||||
|
||||
@@ -1412,7 +1412,11 @@ Library.")
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:configure-flags flags)
|
||||
#~(append #$flags
|
||||
(list "-DLLVM_TARGETS_TO_BUILD=AMDGPU;X86"
|
||||
(list #$(string-append
|
||||
"-DLLVM_TARGETS_TO_BUILD=AMDGPU;X86"
|
||||
(if (string=? "X86" (system->llvm-target))
|
||||
""
|
||||
(string-append ";" (system->llvm-target))))
|
||||
"-DLLVM_VERSION_SUFFIX=")))))
|
||||
(properties `((hidden? . #t)
|
||||
,@(package-properties llvm-base)))
|
||||
|
||||
@@ -1419,22 +1419,25 @@ attachments, create new maildirs, and so on.")
|
||||
(define-public alot
|
||||
(package
|
||||
(name "alot")
|
||||
(version "v0.12")
|
||||
(version "0.12")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/pazz/alot")
|
||||
(commit version)))
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "018zqpjrl3cggj1myysjj04a054mg890khhdh1qjmd70k8l3w1di"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; tests: 334 passed, 4 deselected, 9 xfailed, 29 warnings, 11 subtests
|
||||
;; tests: 299 passed, 39 deselected, 9 xfailed, 29 warnings, 11 subtests
|
||||
#:test-flags
|
||||
#~(list
|
||||
;; Randomly fails with FileNotFoundError; does not happen
|
||||
;; in git checkout though, so no upstream issue.
|
||||
"--deselect=tests/test_crypto.py"
|
||||
"-k" (string-join
|
||||
;; alot.settings.errors.ConfigError: failed to read notmuch
|
||||
;; config with command ...
|
||||
|
||||
+50
-13
@@ -9895,19 +9895,19 @@ also included.")
|
||||
(define-public cadical
|
||||
(package
|
||||
(name "cadical")
|
||||
(version "2.0.0")
|
||||
(version "2.2.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/arminbiere/cadical")
|
||||
(commit (string-append "rel-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(patches (search-patches "cadical-add-shared-library.patch"))
|
||||
(sha256
|
||||
(base32 "1dzjah3z34v89ka48hncwqkxrwl4xqn9947p0ipf39lxshrq91xa"))))
|
||||
(base32 "09p4nm8jyvhnsgpmbawzlk8b932k33s922a2rxm77sy8s31mm13m"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:test-target "test"
|
||||
#:configure-flags #~(list "-shared")
|
||||
#:modules `(((guix build copy-build-system) #:prefix copy:)
|
||||
(guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
@@ -9917,16 +9917,7 @@ also included.")
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key configure-flags #:allow-other-keys)
|
||||
(setenv "CXXFLAGS" "-DPIC -fPIC")
|
||||
(apply invoke "./configure" configure-flags)))
|
||||
(replace 'check
|
||||
(lambda args
|
||||
;; Tests are incorrectly linked upstream.
|
||||
;; Since we don't install them, just work around this in the
|
||||
;; check phase.
|
||||
(setenv "LD_LIBRARY_PATH" (string-append (getcwd) "/build"))
|
||||
(apply (assoc-ref %standard-phases 'check) args)
|
||||
(unsetenv "LD_LIBRARY_PATH")))
|
||||
(replace 'install
|
||||
(lambda args
|
||||
(apply
|
||||
@@ -9944,6 +9935,39 @@ also included.")
|
||||
clause learning.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public cadical-2.1
|
||||
(package
|
||||
(inherit cadical)
|
||||
(name "cadical")
|
||||
(version "2.1.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/arminbiere/cadical")
|
||||
(commit (string-append "rel-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(patches (search-patches "cadical-add-shared-library.patch"))
|
||||
(sha256 (base32
|
||||
"1gl0xd6zyxb127w8k0mps9m2izaqb7im7j91by4lkknmm7xhwyav"))))
|
||||
(arguments (substitute-keyword-arguments (package-arguments cadical)
|
||||
((#:configure-flags _)
|
||||
#~(list))
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-before 'configure 'set-shared-flags
|
||||
(lambda _
|
||||
(setenv "CXXFLAGS" "-DPIC -fPIC")))
|
||||
(replace 'check
|
||||
(lambda args
|
||||
;; Tests are incorrectly linked upstream.
|
||||
;; Since we don't install them, just work around this in the
|
||||
;; check phase.
|
||||
(setenv "LD_LIBRARY_PATH"
|
||||
(string-append (getcwd) "/build"))
|
||||
(apply (assoc-ref %standard-phases
|
||||
'check) args)
|
||||
(unsetenv "LD_LIBRARY_PATH")))))))))
|
||||
|
||||
(define-public cadiback
|
||||
(let ((commit "789329d8fcda851085ed72f1b07d8c3f46243b8a")
|
||||
(revision "1"))
|
||||
@@ -10058,7 +10082,20 @@ true in all models.")
|
||||
(add-after 'unpack 'no-tune-native
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("-mtune=native") "")))))))
|
||||
(("-mtune=native") ""))))
|
||||
;; Refer to the library in ${LOUVAIN_COMMUNITIES_LIBRARIES} by
|
||||
;; full path. This ensures that we find references to it in
|
||||
;; software using this library via CMake.
|
||||
;;
|
||||
;; CMake expects module to set this variable to a full path.
|
||||
;; See <https://cmake.org/cmake/help/v4.3/module/SelectLibraryConfigurations.html#command:select_library_configurations>.
|
||||
(add-after 'unpack 'cmake-lib-full-path
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* "louvain_communitiesConfig.cmake.in"
|
||||
(("louvain_communities")
|
||||
(string-append
|
||||
(assoc-ref outputs "out")
|
||||
"/lib/liblouvain_communities.so"))))))))
|
||||
(native-inputs (list python))
|
||||
(home-page "https://github.com/meelgroup/louvain-community")
|
||||
(synopsis "Multi-criteria community detection")
|
||||
|
||||
@@ -1183,7 +1183,7 @@ of xmpppy.")
|
||||
(define-public gajim
|
||||
(package
|
||||
(name "gajim")
|
||||
(version "2.4.4")
|
||||
(version "2.4.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -1191,7 +1191,7 @@ of xmpppy.")
|
||||
(version-major+minor version)
|
||||
"/gajim-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0s2jryg8c0ifgf88pfj7k1ifhl1l2fw4w8w80g7xh3qpk5gj7ml0"))
|
||||
(base32 "1rkxzf1pfd29rip5bw4730fl7b2xk12zpiwnfkyzxlkmbh4j3kp2"))
|
||||
(patches
|
||||
(search-patches "gajim-honour-GAJIM_PLUGIN_PATH.patch"))))
|
||||
(build-system pyproject-build-system)
|
||||
@@ -1261,7 +1261,7 @@ of xmpppy.")
|
||||
;; FIXME: Cannot use this expression as it would
|
||||
;; introduce a circular dependency at the top level.
|
||||
;; (version-major+minor (package-version python))
|
||||
"3.10"
|
||||
"3.11"
|
||||
"/site-packages"))))))
|
||||
(native-inputs
|
||||
(list gettext-minimal
|
||||
|
||||
@@ -2324,7 +2324,7 @@ a string consisting of a number and a time unit is converted to milliseconds.")
|
||||
(define-public node-nan
|
||||
(package
|
||||
(name "node-nan")
|
||||
(version "2.22.0")
|
||||
(version "2.26.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2333,7 +2333,7 @@ a string consisting of a number and a time unit is converted to milliseconds.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "02gqm23x26glffvyxrnk610hy3hg0kwh2v58dhnb032l0jhjzqvp"))))
|
||||
(base32 "18xv0m40jgy3sc4pldw95w6p72ms5a5h0x2sm2mimlwlmxmrjlmb"))))
|
||||
(build-system node-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
||||
+48
-58
@@ -274,7 +274,7 @@
|
||||
(lambda (file stat)
|
||||
(executable-file? file))
|
||||
#:stat lstat)))))
|
||||
(add-after 'install 'install-npmrc
|
||||
(add-after 'install 'fix-node-gyp-reference
|
||||
;; Note: programs like node-gyp only receive these values if
|
||||
;; they are started via `npm` or `npx`.
|
||||
;; See: https://github.com/nodejs/node-gyp#npm-configuration
|
||||
@@ -482,7 +482,7 @@ Node.js and web browsers.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/indutny/llparse-builder.git")
|
||||
(url "https://github.com/nodejs/llparse-builder.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
@@ -491,10 +491,6 @@ Node.js and web browsers.")
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; FIXME: Unneeded runtime dependency.
|
||||
;; https://github.com/indutny/llparse-builder/pull/2
|
||||
(substitute* "package.json"
|
||||
(("\"@types/debug.*,") ""))
|
||||
;; Fix imports for esbuild.
|
||||
;; https://github.com/evanw/esbuild/issues/477
|
||||
(substitute* '("src/node/invoke.ts"
|
||||
@@ -521,7 +517,8 @@ Node.js and web browsers.")
|
||||
(add-after 'patch-dependencies 'delete-dependencies
|
||||
(lambda _
|
||||
(modify-json (delete-dependencies
|
||||
`("@types/mocha"
|
||||
`("@types/debug"
|
||||
"@types/mocha"
|
||||
"@types/node"
|
||||
"mocha"
|
||||
"ts-node"
|
||||
@@ -539,7 +536,7 @@ Node.js and web browsers.")
|
||||
(list node-binary-search-bootstrap node-debug-bootstrap))
|
||||
(native-inputs
|
||||
(list esbuild))
|
||||
(home-page "https://github.com/indutny/llparse-builder#readme")
|
||||
(home-page "https://github.com/nodejs/llparse-builder#readme")
|
||||
(properties '((hidden? . #t)))
|
||||
(synopsis "Graph builder for consumption by llparse")
|
||||
(description "This package builds graphs for consumption by llparse.")
|
||||
@@ -553,7 +550,7 @@ Node.js and web browsers.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/indutny/llparse-frontend.git")
|
||||
(url "https://github.com/nodejs/llparse-frontend.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
@@ -602,7 +599,7 @@ Node.js and web browsers.")
|
||||
(list node-debug-bootstrap node-llparse-builder-bootstrap))
|
||||
(native-inputs
|
||||
(list esbuild))
|
||||
(home-page "https://github.com/indutny/llparse-frontend#readme")
|
||||
(home-page "https://github.com/nodejs/llparse-frontend#readme")
|
||||
(properties '((hidden? . #t)))
|
||||
(synopsis "Frontend for the llparse compiler")
|
||||
(description "This package is a frontend for the llparse compiler.")
|
||||
@@ -611,17 +608,17 @@ Node.js and web browsers.")
|
||||
(define-public node-llparse-bootstrap
|
||||
(package
|
||||
(name "node-llparse")
|
||||
(version "7.1.0")
|
||||
(version "7.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/indutny/llparse.git")
|
||||
(url "https://github.com/nodejs/llparse.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"10da273iy2if88hp79cwms6c8qpsl1fkgzll6gmqyx5yxv5mkyp6"))
|
||||
"09hqjcynkz5iv7aydzdwgs42r7y2zylplv0ff7w0vkdsgb08j22a"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
@@ -645,10 +642,14 @@ Node.js and web browsers.")
|
||||
(add-after 'patch-dependencies 'delete-dependencies
|
||||
(lambda args
|
||||
(modify-json (delete-dependencies
|
||||
`("@types/debug"
|
||||
`("@stylistic/eslint-plugin"
|
||||
"@typescript-eslint/eslint-plugin"
|
||||
"@typescript-eslint/parser"
|
||||
"@types/debug"
|
||||
"@types/mocha"
|
||||
"@types/node"
|
||||
"esm"
|
||||
"eslint"
|
||||
"llparse-test-fixture"
|
||||
"mocha"
|
||||
"ts-node"
|
||||
@@ -676,7 +677,7 @@ parser definition into a C output.")
|
||||
(define-public llhttp-bootstrap
|
||||
(package
|
||||
(name "llhttp")
|
||||
(version "9.2.1")
|
||||
(version "9.3.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -685,7 +686,7 @@ parser definition into a C output.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0mzg19aqb1am498gms0z75cwd5kmfg9p78b1hhxw67019nsjcbac"))
|
||||
"0yz4ys94pjq2fs2pihpqjvmxj2mbpm8k5prlm445z4qlajzlr4kb"))
|
||||
(patches (search-patches "llhttp-ponyfill-object-fromentries.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
@@ -747,14 +748,14 @@ source files.")
|
||||
(define-public node-lts
|
||||
(package
|
||||
(inherit node-bootstrap)
|
||||
(version "22.14.0")
|
||||
(version "24.14.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://nodejs.org/dist/v" version
|
||||
"/node-v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"12msprh604s6qdsgwymxw4kl8ivaldbaydf4v37lbp02aznk2kkc"))
|
||||
"1cri5lp3a9jhh34dbd48hq2zyb7xjb9qs6zl36l3q2blawgwz642"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
@@ -770,13 +771,17 @@ source files.")
|
||||
"deps/icu-small"
|
||||
"deps/nghttp2"
|
||||
"deps/ngtcp2"
|
||||
"deps/llhttp"
|
||||
"deps/uv"
|
||||
"deps/zlib"))))))
|
||||
"deps/zlib"
|
||||
"deps/zstd"))))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:configure-flags configure-flags)
|
||||
''("--shared-cares"
|
||||
"--shared-libuv"
|
||||
"--shared-http-parser"
|
||||
"--shared-http-parser-libname=llhttp"
|
||||
"--shared-nghttp2"
|
||||
"--shared-openssl"
|
||||
"--shared-zlib"
|
||||
@@ -784,6 +789,7 @@ source files.")
|
||||
"--with-intl=system-icu"
|
||||
"--shared-ngtcp2"
|
||||
"--shared-nghttp3"
|
||||
"--shared-zstd"
|
||||
;;Needed for correct snapshot checksums
|
||||
"--v8-enable-snapshot-compression"))
|
||||
((#:phases phases)
|
||||
@@ -846,9 +852,11 @@ source files.")
|
||||
(for-each delete-file
|
||||
'("test/parallel/test-https-agent-unref-socket.js"))
|
||||
|
||||
;; This test is timing-sensitive, and fails sporadically on
|
||||
;; These tests are timing-sensitive, and fail sporadically on
|
||||
;; slow, busy, or even very fast machines.
|
||||
(delete-file "test/parallel/test-fs-utimes.js")
|
||||
(for-each delete-file
|
||||
'("test/parallel/test-fs-utimes.js"
|
||||
"test/sequential/test-performance-eventloopdelay.js"))
|
||||
|
||||
;; FIXME: This test fails randomly:
|
||||
;; https://github.com/nodejs/node/issues/31213
|
||||
@@ -899,18 +907,6 @@ source files.")
|
||||
"test/parallel/test-http2-invalid-last-stream-id.js")
|
||||
(("client\\.connect\\(address\\)")
|
||||
"client.connect(address.port)"))))
|
||||
(add-after 'delete-problematic-tests 'replace-llhttp-sources
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Replace pre-generated llhttp sources
|
||||
(let ((llhttp (assoc-ref inputs "llhttp")))
|
||||
(copy-file (string-append llhttp "/src/llhttp.c")
|
||||
"deps/llhttp/src/llhttp.c")
|
||||
(copy-file (string-append llhttp "/src/api.c")
|
||||
"deps/llhttp/src/api.c")
|
||||
(copy-file (string-append llhttp "/src/http.c")
|
||||
"deps/llhttp/src/http.c")
|
||||
(copy-file (string-append llhttp "/include/llhttp.h")
|
||||
"deps/llhttp/include/llhttp.h"))))
|
||||
;; npm installs dependencies by copying their files over a tar
|
||||
;; stream. A file with more than one hardlink is marked as a
|
||||
;; "Link". pacote/lib/fetcher.js calls node-tar's extractor with a
|
||||
@@ -935,30 +931,22 @@ source files.")
|
||||
;; https://github.com/npm/pacote/issues/285
|
||||
(add-after 'install 'ignore-number-of-hardlinks
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((file (string-append (assoc-ref outputs "out")
|
||||
"/lib/node_modules/npm/node_modules"
|
||||
"/tar/lib/write-entry.js")))
|
||||
(substitute* file
|
||||
(let ((dir (string-append (assoc-ref outputs "out")
|
||||
"/lib/node_modules/npm/node_modules"
|
||||
"/tar/dist")))
|
||||
(substitute*
|
||||
(list (string-append dir "/esm/write-entry.js")
|
||||
(string-append dir "/commonjs/write-entry.js"))
|
||||
(("this.stat.nlink > 1") "false")))))
|
||||
(add-after 'install 'install-node-gyp-wrapper
|
||||
(replace 'fix-node-gyp-reference
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(dir (string-append out "/lib/node_modules/npm/bin/node-gyp-bin"))
|
||||
(file (string-append dir "/node-gyp")))
|
||||
(mkdir-p dir)
|
||||
;; See https://github.com/npm/cli/issues/6842
|
||||
(call-with-output-file file
|
||||
(lambda (port)
|
||||
(format port "#!~a/bin/sh
|
||||
if [ \"x$npm_config_node_gyp\" = \"x\" ]; then
|
||||
~a/bin/node \"~a/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js\" \"$@\"
|
||||
else
|
||||
\"$npm_config_node_gyp\" \"$@\"
|
||||
fi"
|
||||
(assoc-ref inputs "bash")
|
||||
out
|
||||
out)))
|
||||
(chmod file #o555))))))))
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(for-each
|
||||
(lambda (spec)
|
||||
(wrap-program (string-append out spec)
|
||||
`("npm_package_config_node_gyp_nodedir" = (,out))))
|
||||
'("/bin/npm"
|
||||
"/bin/npx")))))))))
|
||||
(native-inputs
|
||||
(list ;; Runtime dependencies for binaries used as a bootstrap.
|
||||
c-ares-for-node-lts
|
||||
@@ -974,7 +962,8 @@ fi"
|
||||
pkg-config
|
||||
procps
|
||||
python
|
||||
util-linux))
|
||||
util-linux
|
||||
gcc-14))
|
||||
(inputs
|
||||
(list bash-minimal
|
||||
coreutils
|
||||
@@ -987,7 +976,8 @@ fi"
|
||||
nghttp3
|
||||
`(,nghttp2 "lib")
|
||||
openssl
|
||||
zlib))
|
||||
zlib
|
||||
`(,zstd-1.5.7 "lib")))
|
||||
(supported-systems
|
||||
(cons "riscv64-linux" (package-supported-systems node-bootstrap)))
|
||||
(properties (alist-delete 'hidden? (package-properties node-bootstrap)))))
|
||||
@@ -1003,6 +993,6 @@ fi"
|
||||
`(cons* "--shared" "--without-npm" ,flags))
|
||||
((#:phases phases '%standard-phases)
|
||||
`(modify-phases ,phases
|
||||
(delete 'install-npmrc)
|
||||
(delete 'fix-node-gyp-reference)
|
||||
(delete 'patch-nested-shebangs)
|
||||
(delete 'ignore-number-of-hardlinks)))))))
|
||||
|
||||
@@ -12,10 +12,10 @@ Liliana Marie Prikler <liliana.prikler@gmail.com>:
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/makefile.in b/makefile.in
|
||||
index 291cb3e3..d179f591 100644
|
||||
index 5e1c1b3a..de3fe975 100644
|
||||
--- a/makefile.in
|
||||
+++ b/makefile.in
|
||||
@@ -34,7 +34,7 @@ COMPILE=$(CXX) $(CXXFLAGS) -I$(DIR) -I$(ROOT)/src
|
||||
@@ -38,7 +38,7 @@ COMPILE=$(CXX) $(CXXFLAGS) -I$(DIR) -I../src
|
||||
|
||||
#--------------------------------------------------------------------------#
|
||||
|
||||
@@ -24,26 +24,23 @@ index 291cb3e3..d179f591 100644
|
||||
|
||||
#--------------------------------------------------------------------------#
|
||||
|
||||
@@ -54,10 +54,10 @@ contrib/%.o: $(ROOT)/contrib/%.cpp $(ROOT)/contrib/%.hpp $(ROOT)/src/*.hpp makef
|
||||
@@ -53,14 +53,17 @@ all: libcadical.a cadical mobical
|
||||
# tester 'mobical') and the library are the main build targets.
|
||||
|
||||
cadical: src/cadical.o libcadical.a makefile
|
||||
cadical: cadical.o libcadical.a makefile
|
||||
- $(COMPILE) -o $@ $< -L. -lcadical $(LIBS)
|
||||
+ $(COMPILE) -static -o $@ $< -L. -lcadical $(LIBS)
|
||||
|
||||
mobical: src/mobical.o libcadical.a makefile $(LIBS)
|
||||
mobical: mobical.o libcadical.a makefile $(LIBS)
|
||||
- $(COMPILE) -o $@ $< -L. -lcadical
|
||||
+ $(COMPILE) -static -o $@ $< -L. -lcadical
|
||||
|
||||
libcadical.a: $(OBJ_SOLVER) $(OBJ_CONTRIB) makefile
|
||||
ar rc $@ $(OBJ_SOLVER) $(OBJ_CONTRIB)
|
||||
@@ -62,5 +62,8 @@ mobical: src/mobical.o libcadical.a makefile $(LIBS)
|
||||
libcadical.a: $(OBJ_SOLVER) $(OBJ_CONTRIB) makefile
|
||||
ar rc $@ $(OBJ_SOLVER) $(OBJ_CONTRIB)
|
||||
|
||||
+libcadical.so: $(OBJ_SOLVER) $(OBJ_CONTRIB) $(LIBS) makefile
|
||||
+ $(COMPILE) -shared -o $@ $(OBJ_SOLVER) $(OBJ_CONTRIB) $(LIBS)
|
||||
+
|
||||
#--------------------------------------------------------------------------#
|
||||
|
||||
# Note that 'build.hpp' is generated and resides in the build directory.
|
||||
# Note that 'build.hpp' is generated and resides in the build directory.
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
Description: Adjust int128 alignment
|
||||
Author: Walter Bright <WalterBright@users.noreply.github.com>
|
||||
Origin: backport, https://github.com/ldc-developers/ldc/commit/f634e2a6542a8b563d9ba1b680afd5337b4c09ea
|
||||
Bug: https://github.com/ldc-developers/ldc/issues/1356
|
||||
Last-Update: 2024-12-30
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
--- a/dmd/common/int128.d
|
||||
+++ b/dmd/common/int128.d
|
||||
@@ -20,7 +20,29 @@
|
||||
alias U = ulong;
|
||||
enum Ubits = uint(U.sizeof * 8);
|
||||
|
||||
-align(16) struct Cent
|
||||
+version (DigitalMars)
|
||||
+{
|
||||
+ /* The alignment should follow target.stackAlign(),
|
||||
+ * which is `isXmmSupported() ? 16 : (is64bit ? 8 : 4)
|
||||
+ */
|
||||
+ version (D_SIMD)
|
||||
+ private enum Cent_alignment = 16;
|
||||
+ else version (X86_64)
|
||||
+ private enum Cent_alignment = 8;
|
||||
+ else
|
||||
+ private enum Cent_alignment = 4;
|
||||
+}
|
||||
+else
|
||||
+{
|
||||
+ version (LDC) version (X86) version = LDC_X86;
|
||||
+
|
||||
+ version (X86_64) private enum Cent_alignment = 16;
|
||||
+ // 32-bit x86: need default alignment due to https://github.com/ldc-developers/ldc/issues/1356
|
||||
+ else version (LDC_X86) private enum Cent_alignment = U.alignof;
|
||||
+ else private enum Cent_alignment = (size_t.sizeof * 2);
|
||||
+}
|
||||
+
|
||||
+align(Cent_alignment) struct Cent
|
||||
{
|
||||
U lo; // low 64 bits
|
||||
U hi; // high 64 bits
|
||||
@@ -205,3 +205,28 @@ provides access to most of pkgconf's functionality, to allow other tooling
|
||||
such as compilers and IDEs to discover and use libraries configured by
|
||||
pkgconf.")
|
||||
(license isc)))
|
||||
|
||||
(define-public pkgconf-as-pkg-config
|
||||
(package/inherit pkgconf
|
||||
(name "pkgconf-as-pkg-config")
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(delete 'build)
|
||||
(replace 'install
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((pkgconf (search-input-file inputs "bin/pkgconf")))
|
||||
(mkdir-p (string-append #$output "/bin"))
|
||||
(symlink pkgconf (string-append #$output "/bin/pkg-config"))
|
||||
;; Also make 'pkg.m4' available, some packages might expect it.
|
||||
(mkdir-p (string-append #$output "/share"))
|
||||
(symlink (string-append (dirname (dirname pkgconf))
|
||||
"/share/aclocal")
|
||||
(string-append #$output "/share/aclocal"))))))))
|
||||
(native-inputs '())
|
||||
(inputs (list pkgconf))
|
||||
(propagated-inputs '())))
|
||||
|
||||
@@ -236,7 +236,7 @@ it.")
|
||||
(define-public trealla
|
||||
(package
|
||||
(name "trealla")
|
||||
(version "2.92.12")
|
||||
(version "2.92.15")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -245,7 +245,7 @@ it.")
|
||||
(url "https://github.com/trealla-prolog/trealla")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "16sa6jbqdn8miigp0731dffd1qlchbvdm6lxi6shiz60vcpnhgqp"))
|
||||
(base32 "15kmal7pja5y0jxzl7kycr028513gc4y00dlvvs2f7gcviiddbxh"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
|
||||
+162
-48
@@ -655,6 +655,10 @@
|
||||
(crate-source "anyhow" "1.0.75"
|
||||
"1rmcjkim91c5mw7h9wn8nv0k6x118yz0xg0z1q18svgn42mqqrm4"))
|
||||
|
||||
(define rust-anyhow-1.0.89
|
||||
(crate-source "anyhow" "1.0.89"
|
||||
"1xh1vg89n56h6nqikcmgbpmkixjds33492klrp9m96xrbmhgizc6"))
|
||||
|
||||
(define rust-anyhow-1.0.97
|
||||
(crate-source "anyhow" "1.0.97"
|
||||
"0kvspbiwncmmkdgrwjrimsmbmhzxc641p5ql99l2rjq6smmdbznw"))
|
||||
@@ -4061,6 +4065,10 @@
|
||||
(crate-source "clap" "4.3.24"
|
||||
"11z4695sw0kp1s4rfnfdgg19n6xllcp297z5mmx0s344qy0hwsgv"))
|
||||
|
||||
(define rust-clap-4.5.20
|
||||
(crate-source "clap" "4.5.20"
|
||||
"1s37v23gcxkjy4800qgnkxkpliz68vslpr5sgn1xar56hmnkfzxr"))
|
||||
|
||||
(define rust-clap-4.5.23
|
||||
(crate-source "clap" "4.5.23"
|
||||
"110cf0i9fmkfqzqhi1h8za9y0vnr5rwhy3wmv1p0rcgp5vnffd9i"))
|
||||
@@ -4169,6 +4177,10 @@
|
||||
(crate-source "clap_builder" "4.3.24"
|
||||
"03l6d45csywv8xazs44jwy1hk2jbvznn7mj8dw7p93bdq5mykljy"))
|
||||
|
||||
(define rust-clap-builder-4.5.20
|
||||
(crate-source "clap_builder" "4.5.20"
|
||||
"0m6w10l2f65h3ch0d53lql6p26xxrh20ffipra9ysjsfsjmq1g0r"))
|
||||
|
||||
(define rust-clap-builder-4.5.23
|
||||
(crate-source "clap_builder" "4.5.23"
|
||||
"0f28rgc09kdgfq1hgg1bb1ydaw243w6dwyw74syz439k6b32yn1h"))
|
||||
@@ -4285,6 +4297,10 @@
|
||||
(crate-source "clap_complete" "4.5.3"
|
||||
"0lk3k40h0jlj6vpj7cs6n9amlzkrk3byaawbf06mbkkzqbpdd8mm"))
|
||||
|
||||
(define rust-clap-complete-4.5.33
|
||||
(crate-source "clap_complete" "4.5.33"
|
||||
"1yydiwmb0b57phad2zwnssh1xbbi25pz7wx075fz8qmz8pif4iln"))
|
||||
|
||||
(define rust-clap-complete-4.5.47
|
||||
(crate-source "clap_complete" "4.5.47"
|
||||
"1dkzjgmi0c4jgq4cwvmzbaki9mxanll6d0mw5gwd8ji6x9w56vy0"))
|
||||
@@ -4381,6 +4397,10 @@
|
||||
(crate-source "clap_derive" "4.3.12"
|
||||
"0l50j37jwbzfl29bd2a1ib7z1jpch4b9868himrgwpgwb1bvpaal"))
|
||||
|
||||
(define rust-clap-derive-4.5.18
|
||||
(crate-source "clap_derive" "4.5.18"
|
||||
"1ardb26bvcpg72q9myr7yir3a8c83gx7vxk1cccabsd9n73s1ija"))
|
||||
|
||||
(define rust-clap-derive-4.5.32
|
||||
(crate-source "clap_derive" "4.5.32"
|
||||
"1mqcag8qapb5yhygg2hi153kzmbf7w5hqp3nl3fvl5cn4yp6l5q9"))
|
||||
@@ -4429,6 +4449,10 @@
|
||||
(crate-source "clap_lex" "0.5.1"
|
||||
"0qgrlq509vr49wq91jh50f9pm5f8lxmv1rcbklxnsg4nprxcaz6d"))
|
||||
|
||||
(define rust-clap-lex-0.7.2
|
||||
(crate-source "clap_lex" "0.7.2"
|
||||
"15zcrc2fa6ycdzaihxghf48180bnvzsivhf0fmah24bnnaf76qhl"))
|
||||
|
||||
(define rust-clap-lex-0.7.4
|
||||
(crate-source "clap_lex" "0.7.4"
|
||||
"19nwfls5db269js5n822vkc8dw0wjq2h1wf0hgr06ld2g52d2spl"))
|
||||
@@ -8380,6 +8404,10 @@
|
||||
(crate-source "fiemap" "0.1.3"
|
||||
"0nl7ib7nahj7qb5wxzrx8di2bj7jddp5dyqms5fblhikify8gqwj"))
|
||||
|
||||
(define rust-fiemap-0.2.0
|
||||
(crate-source "fiemap" "0.2.0"
|
||||
"0hb4niya8gzjjpyq8hhpicsbdzmng8g49sx3la42722blmkchy6l"))
|
||||
|
||||
(define rust-figment-0.10.19
|
||||
(crate-source "figment" "0.10.19"
|
||||
"1ww9sxdzjj2i80w7bq0kllnymjyrfb1cdx2h70ap5wqcdga1rc4c"))
|
||||
@@ -8900,6 +8928,10 @@
|
||||
(crate-source "funty" "2.0.0"
|
||||
"177w048bm0046qlzvp33ag3ghqkqw4ncpzcm5lq36gxf2lla7mg6"))
|
||||
|
||||
(define rust-fuser-0.17.0
|
||||
(crate-source "fuser" "0.17.0"
|
||||
"1kwgd5mfmgqlf4jmi1gwxsgc6zsbjnbxfbz5x4wjw34hg2lfr9c0"))
|
||||
|
||||
(define rust-futf-0.1.5
|
||||
(crate-source "futf" "0.1.5"
|
||||
"0hvqk2r7v4fnc34hvc3vkri89gn52d5m9ihygmwn75l1hhp0whnz"))
|
||||
@@ -20064,6 +20096,10 @@
|
||||
(crate-source "owo-colors" "3.5.0"
|
||||
"0vyvry6ba1xmpd45hpi6savd8mbx09jpmvnnwkf6z62pk6s4zc61"))
|
||||
|
||||
(define rust-owo-colors-4.1.0
|
||||
(crate-source "owo-colors" "4.1.0"
|
||||
"0mms4sbisxm1w8v08qz85m90sv861xg4ahil85587kb9cmzpcdzv"))
|
||||
|
||||
(define rust-owo-colors-4.2.0
|
||||
(crate-source "owo-colors" "4.2.0"
|
||||
"0r7mxiyxg8zbyjqm8y2n2amykl2i51y6agvjrw036ba2p5dqcdhh"))
|
||||
@@ -21557,6 +21593,10 @@
|
||||
(crate-source "prettyplease" "0.2.20"
|
||||
"0pk4vm9fir1p0bl11p9fkgl9r1x9vi4avv8l7flb1wx2i1a364jz"))
|
||||
|
||||
(define rust-prettyplease-0.2.22
|
||||
(crate-source "prettyplease" "0.2.22"
|
||||
"1fpsyn4x1scbp8ik8xw4pfh4jxfm5bv7clax5k1jcd5vzd0gk727"))
|
||||
|
||||
(define rust-prettyplease-0.2.32
|
||||
(crate-source "prettyplease" "0.2.32"
|
||||
"1xmdmwhsvqc8l5ns029vzjida4k3lp5ynin0xra43qsiki0wakk6"))
|
||||
@@ -21705,6 +21745,10 @@
|
||||
(crate-source "proc-macro2" "1.0.86"
|
||||
"0xrv22p8lqlfdf1w0pj4si8n2ws4aw0kilmziwf0vpv5ys6rwway"))
|
||||
|
||||
(define rust-proc-macro2-1.0.87
|
||||
(crate-source "proc-macro2" "1.0.87"
|
||||
"16mifsq1nqzk81qm82aszib44jsd23gpqic5z4kbmzpnvjhdmr5k"))
|
||||
|
||||
(define rust-proc-macro2-1.0.89
|
||||
(crate-source "proc-macro2" "1.0.89"
|
||||
"0vlq56v41dsj69pnk7lil7fxvbfid50jnzdn3xnr31g05mkb0fgi"))
|
||||
@@ -23528,6 +23572,10 @@
|
||||
"06cnlxwzyqfbw1za1i7ks89ns4i2kr0lpg5ykx56b8v7dd6df6a2"
|
||||
#:snippet '(delete-file-recursively "tests")))
|
||||
|
||||
(define rust-regex-1.11.0
|
||||
(crate-source "regex" "1.11.0"
|
||||
"1n5imk7yxam409ik5nagsjpwqvbg3f0g0mznd5drf549x1g0w81q"))
|
||||
|
||||
(define rust-regex-1.11.1
|
||||
(crate-source "regex" "1.11.1"
|
||||
"148i41mzbx8bmq32hsj1q4karkzzx5m60qza6gdw4pdc9qdyyi5m"
|
||||
@@ -24592,6 +24640,10 @@
|
||||
(crate-source "rustix" "0.38.34"
|
||||
"03vkqa2ism7q56rkifyy8mns0wwqrk70f4i4fd53r97p8b05xp3h"))
|
||||
|
||||
(define rust-rustix-0.38.37
|
||||
(crate-source "rustix" "0.38.37"
|
||||
"04b8f99c2g36gyggf4aphw8742k2b1vls3364n2z493whj5pijwa"))
|
||||
|
||||
(define rust-rustix-0.38.42
|
||||
(crate-source "rustix" "0.38.42"
|
||||
"11fvprv3p450ggyqacp7sdpjbbsgm5zvfjwnzy8bfbmbrf7c6ggr"))
|
||||
@@ -28284,6 +28336,10 @@
|
||||
(crate-source "terminal_size" "0.3.0"
|
||||
"1xqdzdjq77smg41z67vg3qwrcilf1zf5330gdrgm22lyghmvzgi1"))
|
||||
|
||||
(define rust-terminal-size-0.4.0
|
||||
(crate-source "terminal_size" "0.4.0"
|
||||
"1vx6a5klj7sjkx59v78gh93j445s09y2fasiykwgsb04rbbrnnag"))
|
||||
|
||||
(define rust-terminal-size-0.4.2
|
||||
(crate-source "terminal_size" "0.4.2"
|
||||
"1vdm5xhzn7sqcsr762vmnavkhid3hs8w8qjyh9iwrr1990f4iij5"))
|
||||
@@ -31231,6 +31287,10 @@
|
||||
(crate-source "uuid" "0.1.18"
|
||||
"0gy107y2fcm5qiakwx3cmx2v93cxlmwg0xgvv2m11vbrpnsr1ibq"))
|
||||
|
||||
(define rust-uuid-1.10.0
|
||||
(crate-source "uuid" "1.10.0"
|
||||
"0503gvp08dh5mnm3f0ffqgisj6x3mbs53dmnn1lm19pga43a1pw1"))
|
||||
|
||||
(define rust-uuid-1.23.0
|
||||
(crate-source "uuid" "1.23.0"
|
||||
"1nbrzkdhwr4clshsks7flc2jq6lavjrsx65hyn63c9dd5vsbdj2s"))
|
||||
@@ -38484,79 +38544,130 @@
|
||||
rust-windows-sys-0.61.2))
|
||||
(bcachefs-tools =>
|
||||
(list rust-aho-corasick-1.1.3
|
||||
rust-anstream-0.6.18
|
||||
rust-anstyle-1.0.10
|
||||
rust-anstyle-parse-0.2.6
|
||||
rust-anstyle-query-1.1.2
|
||||
rust-anstyle-wincon-3.0.7
|
||||
rust-anyhow-1.0.97
|
||||
rust-autocfg-1.4.0
|
||||
rust-bindgen-0.69.5
|
||||
rust-android-system-properties-0.1.5
|
||||
rust-anstream-0.6.15
|
||||
rust-anstyle-1.0.8
|
||||
rust-anstyle-parse-0.2.5
|
||||
rust-anstyle-query-1.1.1
|
||||
rust-anstyle-wincon-3.0.4
|
||||
rust-anyhow-1.0.89
|
||||
rust-ascii-1.1.0
|
||||
rust-autocfg-1.5.0
|
||||
rust-bindgen-0.72.1
|
||||
rust-bitfield-0.14.0
|
||||
rust-bitflags-1.3.2
|
||||
rust-bitflags-2.9.0
|
||||
rust-byteorder-1.5.0
|
||||
rust-cc-1.2.18
|
||||
rust-bitflags-2.11.0
|
||||
rust-bumpalo-3.19.1
|
||||
rust-cc-1.2.55
|
||||
rust-cexpr-0.6.0
|
||||
rust-cfg-if-1.0.0
|
||||
rust-cfg-aliases-0.2.1
|
||||
rust-chrono-0.4.43
|
||||
rust-chunked-transfer-1.5.0
|
||||
rust-clang-sys-1.8.1
|
||||
rust-clap-4.5.35
|
||||
rust-clap-builder-4.5.35
|
||||
rust-clap-complete-4.5.47
|
||||
rust-clap-derive-4.5.32
|
||||
rust-clap-lex-0.7.4
|
||||
rust-colorchoice-1.0.3
|
||||
rust-either-1.15.0
|
||||
rust-clap-4.5.20
|
||||
rust-clap-builder-4.5.20
|
||||
rust-clap-complete-4.5.33
|
||||
rust-clap-derive-4.5.18
|
||||
rust-clap-lex-0.7.2
|
||||
rust-colorchoice-1.0.2
|
||||
rust-core-foundation-sys-0.8.7
|
||||
rust-crossterm-0.28.1
|
||||
rust-either-1.13.0
|
||||
rust-env-logger-0.10.2
|
||||
rust-errno-0.2.8
|
||||
rust-errno-0.3.11
|
||||
rust-errno-dragonfly-0.1.2
|
||||
rust-glob-0.3.2
|
||||
rust-equivalent-1.0.2
|
||||
rust-errno-0.3.9
|
||||
rust-fiemap-0.2.0
|
||||
rust-find-msvc-tools-0.1.9
|
||||
rust-fuser-0.17.0
|
||||
rust-getrandom-0.2.17
|
||||
rust-glob-0.3.1
|
||||
rust-hashbrown-0.16.1
|
||||
rust-heck-0.5.0
|
||||
rust-home-0.5.11
|
||||
rust-httpdate-1.0.3
|
||||
rust-iana-time-zone-0.1.65
|
||||
rust-iana-time-zone-haiku-0.1.2
|
||||
rust-indexmap-2.13.0
|
||||
rust-is-terminal-polyfill-1.70.1
|
||||
rust-itertools-0.12.1
|
||||
rust-lazy-static-1.5.0
|
||||
rust-lazycell-1.3.0
|
||||
rust-libc-0.2.171
|
||||
rust-libloading-0.8.6
|
||||
rust-itoa-1.0.17
|
||||
rust-js-sys-0.3.85
|
||||
rust-libc-0.2.180
|
||||
rust-libloading-0.8.5
|
||||
rust-libudev-sys-0.1.4
|
||||
rust-linux-raw-sys-0.4.15
|
||||
rust-linux-raw-sys-0.9.3
|
||||
rust-log-0.4.27
|
||||
rust-linux-raw-sys-0.4.14
|
||||
rust-lock-api-0.4.14
|
||||
rust-log-0.4.22
|
||||
rust-memchr-2.7.4
|
||||
rust-memoffset-0.8.0
|
||||
rust-memoffset-0.9.1
|
||||
rust-minimal-lexical-0.2.1
|
||||
rust-mio-1.1.1
|
||||
rust-nix-0.30.1
|
||||
rust-nom-7.1.3
|
||||
rust-once-cell-1.21.3
|
||||
rust-owo-colors-4.2.0
|
||||
rust-num-traits-0.2.19
|
||||
rust-num-enum-0.7.5
|
||||
rust-num-enum-derive-0.7.5
|
||||
rust-once-cell-1.20.2
|
||||
rust-owo-colors-4.1.0
|
||||
rust-page-size-0.6.0
|
||||
rust-parking-lot-0.12.5
|
||||
rust-parking-lot-core-0.9.12
|
||||
rust-paste-1.0.15
|
||||
rust-pkg-config-0.3.32
|
||||
rust-prettyplease-0.2.32
|
||||
rust-proc-macro2-1.0.94
|
||||
rust-quote-1.0.40
|
||||
rust-regex-1.11.1
|
||||
rust-regex-automata-0.4.9
|
||||
rust-pkg-config-0.3.31
|
||||
rust-prettyplease-0.2.22
|
||||
rust-proc-macro-crate-3.4.0
|
||||
rust-proc-macro2-1.0.87
|
||||
rust-quote-1.0.37
|
||||
rust-redox-syscall-0.5.18
|
||||
rust-ref-cast-1.0.25
|
||||
rust-ref-cast-impl-1.0.25
|
||||
rust-regex-1.11.0
|
||||
rust-regex-automata-0.4.8
|
||||
rust-regex-syntax-0.8.5
|
||||
rust-rustc-hash-1.1.0
|
||||
rust-rustix-0.38.44
|
||||
rust-rustix-1.0.5
|
||||
rust-rustversion-1.0.20
|
||||
rust-rustc-hash-2.1.1
|
||||
rust-rustix-0.38.37
|
||||
rust-rustversion-1.0.17
|
||||
rust-ryu-1.0.22
|
||||
rust-scopeguard-1.2.0
|
||||
rust-serde-1.0.228
|
||||
rust-serde-core-1.0.228
|
||||
rust-serde-derive-1.0.228
|
||||
rust-serde-json-1.0.143
|
||||
rust-shlex-1.3.0
|
||||
rust-signal-hook-0.3.18
|
||||
rust-signal-hook-mio-0.2.5
|
||||
rust-signal-hook-registry-1.4.8
|
||||
rust-smallvec-1.15.1
|
||||
rust-strsim-0.11.1
|
||||
rust-strum-0.26.3
|
||||
rust-strum-macros-0.26.4
|
||||
rust-syn-2.0.100
|
||||
rust-terminal-size-0.4.2
|
||||
rust-syn-2.0.87
|
||||
rust-terminal-size-0.4.0
|
||||
rust-tiny-http-0.12.0
|
||||
rust-toml-datetime-0.7.5+spec-1.1.0
|
||||
rust-toml-edit-0.23.10+spec-1.0.0
|
||||
rust-toml-parser-1.0.9+spec-1.1.0
|
||||
rust-udev-0.7.0
|
||||
rust-unicode-ident-1.0.18
|
||||
rust-unicode-ident-1.0.13
|
||||
rust-utf8parse-0.2.2
|
||||
rust-uuid-1.16.0
|
||||
rust-which-4.4.2
|
||||
rust-uuid-1.10.0
|
||||
rust-wasi-0.11.1+wasi-snapshot-preview1
|
||||
rust-wasm-bindgen-0.2.108
|
||||
rust-wasm-bindgen-macro-0.2.108
|
||||
rust-wasm-bindgen-macro-support-0.2.108
|
||||
rust-wasm-bindgen-shared-0.2.108
|
||||
rust-winapi-0.3.9
|
||||
rust-winapi-i686-pc-windows-gnu-0.4.0
|
||||
rust-winapi-x86-64-pc-windows-gnu-0.4.0
|
||||
rust-windows-core-0.62.2
|
||||
rust-windows-implement-0.60.2
|
||||
rust-windows-interface-0.59.3
|
||||
rust-windows-link-0.2.1
|
||||
rust-windows-result-0.4.1
|
||||
rust-windows-strings-0.5.1
|
||||
rust-windows-sys-0.52.0
|
||||
rust-windows-sys-0.59.0
|
||||
rust-windows-sys-0.61.2
|
||||
rust-windows-targets-0.52.6
|
||||
rust-windows-aarch64-gnullvm-0.52.6
|
||||
rust-windows-aarch64-msvc-0.52.6
|
||||
@@ -38566,6 +38677,9 @@
|
||||
rust-windows-x86-64-gnu-0.52.6
|
||||
rust-windows-x86-64-gnullvm-0.52.6
|
||||
rust-windows-x86-64-msvc-0.52.6
|
||||
rust-winnow-0.7.14
|
||||
rust-zerocopy-0.8.27
|
||||
rust-zerocopy-derive-0.8.27
|
||||
rust-zeroize-1.8.1
|
||||
rust-zeroize-derive-1.4.2))
|
||||
(beancount-language-server =>
|
||||
|
||||
@@ -6899,6 +6899,14 @@ can also directly record to WebM or MP4 if you prefer.")
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-entry-points
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
;; main.py is in a "mps_youtube" and not in
|
||||
;; "mps_youtube/main", see:
|
||||
;; <https://github.com/mps-youtube/yewtube/pull/1334>.
|
||||
(("yt = mps_youtube:main.main")
|
||||
"yt = mps_youtube.main:main"))))
|
||||
(add-after 'unpack 'relax-requirements
|
||||
(lambda _
|
||||
(substitute* "mps_youtube/__init__.py"
|
||||
|
||||
+2
-2
@@ -518,7 +518,7 @@ loginctl commands (lock/unlock/before-sleep) and inhibit.")
|
||||
(define-public hyprland
|
||||
(package
|
||||
(name "hyprland")
|
||||
(version "0.54.2")
|
||||
(version "0.54.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/hyprwm/Hyprland"
|
||||
@@ -535,7 +535,7 @@ loginctl commands (lock/unlock/before-sleep) and inhibit.")
|
||||
"subprojects"))))
|
||||
(sha256
|
||||
(base32
|
||||
"06zxx8i92n5pyyl472s3kbb6m7czg72klh6cs80jz6yhdbw9qgbj"))))
|
||||
"1vk39k04x210zdlrszs465cwkbf6j3b3ddldk9gzffpjls8s281w"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f ;No tests.
|
||||
|
||||
@@ -74,6 +74,7 @@
|
||||
;;; Copyright © 2025 iamawacko <iamawacko@protonmail.com>
|
||||
;;; Copyright © 2025 dan <i@dan.games>
|
||||
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;; Copyright © 2025 Untrusem <mysticmoksh@riseup.net>
|
||||
;;; Copyright © 2026 VnPower <vnpower@loang.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
@@ -145,6 +146,7 @@
|
||||
#:use-module (gnu packages icu4c)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages imagemagick)
|
||||
#:use-module (gnu packages image-processing)
|
||||
#:use-module (gnu packages kde-frameworks)
|
||||
#:use-module (gnu packages kde-utils)
|
||||
#:use-module (gnu packages libbsd)
|
||||
@@ -3308,6 +3310,36 @@ Wayland.")
|
||||
helper scripts for @code{xclip} and @code{xsel} to assist with the transition.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public wl-kbptr
|
||||
(package
|
||||
(name "wl-kbptr")
|
||||
(version "0.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/moverest/wl-kbptr")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0fqgv4fbr7asf9chjk4wwbmqjgr6i8diac08vag122h934ph4hb7"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments (list #:configure-flags #~'("-Dopencv=enabled")))
|
||||
(native-inputs (list pkg-config))
|
||||
(inputs (list gtk
|
||||
libxkbcommon
|
||||
opencv
|
||||
pixman
|
||||
wayland
|
||||
wayland-protocols))
|
||||
(home-page "https://github.com/moverest/wl-kbptr")
|
||||
(synopsis "Control the mouse pointer with the keyboard on Wayland")
|
||||
(description
|
||||
"This package provides a utility called @code{wl-kbptr} short for
|
||||
Wayland Keyboard Pointer, to help move the mouse pointer with the
|
||||
keyboard on Wayland.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public autocutsel
|
||||
(package
|
||||
(name "autocutsel")
|
||||
|
||||
@@ -116,7 +116,7 @@ knowledge of the Z-Wave protocol.")
|
||||
(lambda _
|
||||
(substitute* "binding.gyp"
|
||||
(("std=c\\+\\+11")
|
||||
"std=c++17"))))
|
||||
"std=c++20"))))
|
||||
(replace 'build
|
||||
;; For some reason, `npm install` doesn't build
|
||||
;; the addon automatically, so we do it explicitly here.
|
||||
|
||||
+37
-5
@@ -1,6 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2016-2025 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016-2026 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
|
||||
;;; Copyright © 2023 Giacomo Leidi <therewasa@fishinthecalculator.me>
|
||||
;;; Copyright © 2024 Gabriel Wicki <gabriel@erlikon.ch>
|
||||
@@ -380,6 +380,31 @@ terms of CPU and input/output.")
|
||||
"G-exp denoting the channels to use when updating the database
|
||||
(@pxref{Channels})."))
|
||||
|
||||
(define %package-database-file
|
||||
;; System-wide package database used by 'guix locate'.
|
||||
;; See 'system-database-file' in (guix scripts locate).
|
||||
"/var/cache/guix/locate/db.sqlite")
|
||||
|
||||
(define %package-database-accounts
|
||||
(list (user-account
|
||||
(name "guix-locate")
|
||||
(group "guix-locate")
|
||||
(system? #t)
|
||||
(comment "Account running 'guix locate'")
|
||||
(home-directory "/var/run/guix-locate"))
|
||||
(user-group
|
||||
(name "guix-locate")
|
||||
(system? #t))))
|
||||
|
||||
(define %package-database-activation
|
||||
;; Create the package database directory at activation time. Make it
|
||||
;; writable by 'guix-locate' and world-readable.
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
(let ((directory #$(dirname %package-database-file))
|
||||
(owner (getpwnam "guix-locate")))
|
||||
(mkdir-p/perms directory owner #o755))))
|
||||
|
||||
(define (package-database-shepherd-services configuration)
|
||||
(match-record configuration <package-database-configuration>
|
||||
(package schedule method channels)
|
||||
@@ -388,8 +413,6 @@ terms of CPU and input/output.")
|
||||
(provision '(package-database-update))
|
||||
(requirement '(user-processes guix-daemon))
|
||||
(modules '((shepherd service timer)))
|
||||
;; XXX: The whole thing's running as "root" just because it needs
|
||||
;; write access to /var/cache/guix/locate.
|
||||
(start #~(make-timer-constructor
|
||||
#$(if (string? schedule)
|
||||
#~(cron-string->calendar-event #$schedule)
|
||||
@@ -397,8 +420,13 @@ terms of CPU and input/output.")
|
||||
(command '(#$(file-append package "/bin/guix")
|
||||
"time-machine" "-C" #$channels
|
||||
"--" "locate" "--update"
|
||||
#$(string-append "--database="
|
||||
%package-database-file)
|
||||
#$(string-append
|
||||
"--method=" (symbol->string method))))
|
||||
"--method=" (symbol->string method)))
|
||||
#:user "guix-locate"
|
||||
#:group "guix-locate")
|
||||
#:log-file "/var/log/guix-locate.log"
|
||||
#:wait-for-termination? #t))
|
||||
(stop #~(make-timer-destructor))
|
||||
(documentation
|
||||
@@ -410,7 +438,11 @@ be queried by the 'guix locate' command.")
|
||||
(service-type
|
||||
(name 'package-database)
|
||||
(extensions (list (service-extension shepherd-root-service-type
|
||||
package-database-shepherd-services)))
|
||||
package-database-shepherd-services)
|
||||
(service-extension activation-service-type
|
||||
(const %package-database-activation))
|
||||
(service-extension account-service-type
|
||||
(const %package-database-accounts))))
|
||||
(description
|
||||
"Periodically update the package database used by the @code{guix locate} command,
|
||||
which lets you search for packages that provide a given file.")
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
;;; Copyright © 2025 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||
;;; Copyright © 2025 Sergio Pastor Pérez <sergio.pastorperez@gmail.com>
|
||||
;;; Copyright © 2025 dan <i@dan.games>
|
||||
;;; Copyright © 2026 Noé Lopez <noelopez@free.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -143,6 +144,9 @@
|
||||
elogind-service ; deprecated
|
||||
elogind-service-type
|
||||
|
||||
gardenhostd-configuration
|
||||
gardenhostd-service-type
|
||||
|
||||
%gdm-file-system
|
||||
gdm-file-system-service
|
||||
|
||||
@@ -1641,6 +1645,33 @@ types (graphical, console, remote, etc.). It can also clean up after users
|
||||
when they log out."
|
||||
(service elogind-service-type config))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Gardenhostd.
|
||||
;;;
|
||||
|
||||
(define-configuration/no-serialization gardenhostd-configuration
|
||||
(gardenhostd
|
||||
(package gardenhostd)
|
||||
"The gardenhostd package to use."))
|
||||
|
||||
(define (gardenhostd-profile config)
|
||||
(list (gardenhostd-configuration-gardenhostd config)))
|
||||
|
||||
(define gardenhostd-service-type
|
||||
(service-type
|
||||
(name 'gardenhostd)
|
||||
(extensions
|
||||
(list
|
||||
(service-extension dbus-root-service-type gardenhostd-profile)
|
||||
(service-extension polkit-service-type gardenhostd-profile)))
|
||||
(default-value (gardenhostd-configuration))
|
||||
(description "This service provides gardenhostd, a partial
|
||||
implementation of the systemd-hostnamed daemon. It provides the
|
||||
org.freedesktop.hostname1 D-Bus interface, which helps applications
|
||||
like gnome-control-center retrieve and modify the system’s hostname,
|
||||
as well as set a pretty hostname for display.")))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Fontconfig and other desktop file-systems.
|
||||
|
||||
@@ -30,10 +30,16 @@
|
||||
#:use-module (guix search-paths)
|
||||
#:use-module (guix build-system)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:export (%node-build-system-modules
|
||||
#:export (%default-lockfiles
|
||||
%node-build-system-modules
|
||||
node-build
|
||||
node-build-system))
|
||||
|
||||
(define %default-lockfiles
|
||||
(list "package-lock.json"
|
||||
"yarn.lock"
|
||||
"npm-shrinkwrap.json"))
|
||||
|
||||
(define %node-build-system-modules
|
||||
;; Build-side modules imported by default.
|
||||
`((guix build node-build-system)
|
||||
@@ -47,6 +53,10 @@
|
||||
"Return the default Node package, resolved lazily."
|
||||
(@* (gnu packages node) node-lts))
|
||||
|
||||
(define (default-guile-json)
|
||||
"Return the default guile-json package, resolved lazily."
|
||||
(@* (gnu packages guile) guile-json-4))
|
||||
|
||||
(define* (lower name
|
||||
#:key source inputs native-inputs outputs system target
|
||||
(node (default-node))
|
||||
@@ -78,17 +88,12 @@
|
||||
(build node-build)
|
||||
(arguments (strip-keyword-arguments private-keywords arguments)))))
|
||||
|
||||
(define (default-guile-json)
|
||||
"Return the default guile-json package."
|
||||
;; Lazily resolve the binding to avoid a circular dependency.
|
||||
(let ((mod (resolve-interface '(gnu packages guile))))
|
||||
(module-ref mod 'guile-json-4)))
|
||||
|
||||
(define* (node-build name inputs
|
||||
#:key
|
||||
source
|
||||
(npm-flags ''())
|
||||
(test-target "test")
|
||||
(lockfiles %default-lockfiles)
|
||||
(tests? #t)
|
||||
(phases '%standard-phases)
|
||||
(outputs '("out"))
|
||||
@@ -110,6 +115,7 @@
|
||||
#:system #$system
|
||||
#:npm-flags #$npm-flags
|
||||
#:test-target #$test-target
|
||||
#:lockfiles '#$lockfiles
|
||||
#:tests? #$tests?
|
||||
#:phases #$phases
|
||||
#:outputs #$(outputs->gexp outputs)
|
||||
|
||||
@@ -105,6 +105,7 @@
|
||||
source
|
||||
(phases '%standard-phases)
|
||||
(grammar-directories '("."))
|
||||
(lockfiles %default-lockfiles)
|
||||
(tests? #t)
|
||||
(outputs '("out" "js"))
|
||||
(search-paths '())
|
||||
@@ -123,6 +124,7 @@
|
||||
#:source #+source
|
||||
#:system #$system
|
||||
#:phases #$phases
|
||||
#:lockfiles '#$lockfiles
|
||||
#:tests? #$tests?
|
||||
#:grammar-directories '#$grammar-directories
|
||||
#:outputs #$(outputs->gexp outputs)
|
||||
@@ -145,6 +147,7 @@
|
||||
guile source
|
||||
(phases '%standard-phases)
|
||||
(grammar-directories '("."))
|
||||
(lockfiles %default-lockfiles)
|
||||
(tests? #t)
|
||||
(outputs '("out" "js"))
|
||||
(search-paths '())
|
||||
@@ -179,6 +182,7 @@
|
||||
#:build #$build
|
||||
#:target #$target
|
||||
#:phases #$phases
|
||||
#:lockfiles '#$lockfiles
|
||||
#:tests? #$tests?
|
||||
#:grammar-directories '#$grammar-directories
|
||||
#:outputs #$(outputs->gexp outputs)
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
;;; Copyright © 2021, 2022 Philip McGrath <philip@philipmcgrath.com>
|
||||
;;; Copyright © 2022 Liliana Marie Prikler <liliana.prikler@gmail.com>
|
||||
;;; Copyright © 2024 Daniel Khodabakhsh <d.khodabakhsh@gmail.com>
|
||||
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -29,6 +30,7 @@
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (json)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (srfi srfi-71)
|
||||
#:export (%standard-phases
|
||||
delete-dependencies
|
||||
@@ -40,34 +42,6 @@
|
||||
replace-fields
|
||||
with-atomic-json-file-replacement))
|
||||
|
||||
(define* (assoc-ref* alist key #:optional default)
|
||||
"Like assoc-ref, but return DEFAULT instead of #f if no value exists."
|
||||
(match (assoc key alist)
|
||||
(#f default)
|
||||
((_ . value) value)))
|
||||
|
||||
(define* (alist-pop alist key #:optional (= equal?))
|
||||
"Return two values, the first pair in ALIST with key KEY, and the other
|
||||
elements. Equality calls are made as (= KEY ALISTCAR)."
|
||||
(define (found? pair)
|
||||
(= key (car pair)))
|
||||
|
||||
(let ((before after (break found? alist)))
|
||||
(if (pair? after)
|
||||
(values (car after) (append before (cdr after)))
|
||||
(values #f before))))
|
||||
|
||||
(define* (alist-update alist key proc #:optional (= equal?))
|
||||
"Return an association list like ALIST, but with KEY mapped to the result of
|
||||
PROC applied to the first value found under the comparison (= KEY ALISTCAR).
|
||||
If no such value exists, return the list unchanged.
|
||||
Unlike acons, this removes the previous association of KEY (assuming it is
|
||||
unique), but the result may still share storage with ALIST."
|
||||
(let ((pair rest (alist-pop alist key =)))
|
||||
(if (pair? pair)
|
||||
(acons key (proc (cdr pair)) rest)
|
||||
alist)))
|
||||
|
||||
;;;
|
||||
;;; package.json modification procedures
|
||||
;;;
|
||||
@@ -106,23 +80,19 @@ listed in 'dependencies-to-remove', a list of strings naming npm packages.
|
||||
|
||||
To prevent the deleted dependencies from being reintroduced, use this function
|
||||
only after the 'patch-dependencies' phase."
|
||||
(lambda (pkg-meta)
|
||||
(fold
|
||||
(lambda (dependency-key pkg-meta)
|
||||
(alist-update
|
||||
pkg-meta
|
||||
dependency-key
|
||||
(lambda (dependencies)
|
||||
(remove
|
||||
(lambda (dependency)
|
||||
(member (car dependency) dependencies-to-remove))
|
||||
dependencies))))
|
||||
pkg-meta
|
||||
(list
|
||||
"devDependencies"
|
||||
"dependencies"
|
||||
"peerDependencies"
|
||||
"optionalDependencies"))))
|
||||
(let ((predicate (lambda (dependency)
|
||||
(member (car dependency) dependencies-to-remove)))
|
||||
(dependency? (cut member <> (list "devDependencies"
|
||||
"dependencies"
|
||||
"peerDependencies"
|
||||
"optionalDependencies"))))
|
||||
(lambda (pkg-meta)
|
||||
(map (match-lambda
|
||||
(((? dependency? key) . dependencies)
|
||||
(cons key (remove predicate dependencies)))
|
||||
(otherwise
|
||||
otherwise))
|
||||
pkg-meta))))
|
||||
|
||||
(define* (modify-json-fields
|
||||
fields
|
||||
@@ -236,8 +206,7 @@ only after the 'patch-dependencies' phase."
|
||||
(begin
|
||||
(mkdir dir)
|
||||
(setenv "HOME" (string-append (getcwd) "/" dir))
|
||||
(format #t "set HOME to ~s~%" (getenv "HOME")))))))
|
||||
#t)
|
||||
(format #t "set HOME to ~s~%" (getenv "HOME"))))))))
|
||||
|
||||
(define (module-name module)
|
||||
(let* ((package.json (string-append module "/package.json"))
|
||||
@@ -257,67 +226,65 @@ only after the 'patch-dependencies' phase."
|
||||
(for-each (lambda (dir)
|
||||
(let ((nm (string-append dir "/lib/node_modules")))
|
||||
(for-each (lambda (module)
|
||||
(hash-set! index (module-name module) module))
|
||||
(hash-set! index (module-name module)
|
||||
(string-append "file://" module)))
|
||||
(list-modules nm))))
|
||||
input-paths)
|
||||
index))
|
||||
|
||||
(define* (patch-dependencies #:key inputs #:allow-other-keys)
|
||||
"Replace versions by paths when found among INPUTS in `package.json'."
|
||||
|
||||
(define index (index-modules (map cdr inputs)))
|
||||
(define resolve-dependencies
|
||||
(let ((index (index-modules (map cdr inputs))))
|
||||
(cut map
|
||||
(match-lambda
|
||||
((dependency . version)
|
||||
(cons dependency (hash-ref index dependency version))))
|
||||
<>)))
|
||||
|
||||
(define (resolve-dependencies dependencies)
|
||||
(map
|
||||
(match-lambda
|
||||
((dependency . version)
|
||||
(cons dependency (hash-ref index dependency version))))
|
||||
dependencies))
|
||||
|
||||
(with-atomic-json-file-replacement
|
||||
(define (resolve key getter)
|
||||
(lambda (pkg-meta)
|
||||
(fold
|
||||
(lambda (proc pkg-meta) (proc pkg-meta))
|
||||
pkg-meta
|
||||
(list
|
||||
(lambda (pkg-meta)
|
||||
(alist-update pkg-meta "devDependencies" resolve-dependencies))
|
||||
(lambda (pkg-meta)
|
||||
(assoc-set!
|
||||
pkg-meta
|
||||
"dependencies"
|
||||
(resolve-dependencies
|
||||
; Combined "peerDependencies" and "dependencies" dependencies
|
||||
; with "dependencies" taking precedent.
|
||||
(fold
|
||||
(lambda (dependency dependencies)
|
||||
(assoc-set! dependencies (car dependency) (cdr dependency)))
|
||||
(assoc-ref* pkg-meta "peerDependencies" '())
|
||||
(assoc-ref* pkg-meta "dependencies" '())))))))))
|
||||
#t)
|
||||
(assoc-set! pkg-meta key
|
||||
(resolve-dependencies (getter pkg-meta)))))
|
||||
|
||||
(define* (delete-lockfiles #:key inputs #:allow-other-keys)
|
||||
"Delete 'package-lock.json', 'yarn.lock', and 'npm-shrinkwrap.json', if they
|
||||
exist."
|
||||
(modify-json
|
||||
(resolve "devDependencies"
|
||||
(lambda (pkg-meta)
|
||||
(or (assoc-ref pkg-meta "devDependencies") '())))
|
||||
(resolve "dependencies"
|
||||
;; Combined "peerDependencies" and "dependencies" dependencies
|
||||
;; with "dependencies" taking precedent.
|
||||
(lambda (pkg-meta)
|
||||
(fold
|
||||
(lambda (dependency dependencies)
|
||||
(assoc-set! dependencies
|
||||
(car dependency) (cdr dependency)))
|
||||
(or (assoc-ref pkg-meta "peerDependencies") '())
|
||||
(or (assoc-ref pkg-meta "dependencies") '()))))))
|
||||
|
||||
(define* (delete-lockfiles #:key lockfiles #:allow-other-keys)
|
||||
"Delete LOCKFILES if they exist."
|
||||
(for-each (lambda (pth)
|
||||
(when (file-exists? pth)
|
||||
(delete-file pth)))
|
||||
'("package-lock.json"
|
||||
"yarn.lock"
|
||||
"npm-shrinkwrap.json"))
|
||||
#t)
|
||||
lockfiles))
|
||||
|
||||
(define* (configure #:key outputs inputs #:allow-other-keys)
|
||||
(define* (configure #:key inputs #:allow-other-keys)
|
||||
(let ((npm (string-append (assoc-ref inputs "node") "/bin/npm")))
|
||||
(invoke npm "--offline" "--ignore-scripts" "--install-links" "install")
|
||||
#t))
|
||||
(invoke npm "--offline"
|
||||
"--ignore-scripts"
|
||||
"--install-links"
|
||||
"--no-audit"
|
||||
"install")))
|
||||
|
||||
(define* (build #:key inputs #:allow-other-keys)
|
||||
(let ((package-meta (call-with-input-file "package.json" json->scm)))
|
||||
(if (assoc-ref* (assoc-ref* package-meta "scripts" '()) "build" #f)
|
||||
(let* ((package-meta (call-with-input-file "package.json" json->scm))
|
||||
(scripts (assoc-ref package-meta "scripts")))
|
||||
(if (and scripts (assoc-ref scripts "build"))
|
||||
(let ((npm (string-append (assoc-ref inputs "node") "/bin/npm")))
|
||||
(invoke npm "run" "build"))
|
||||
(format #t "there is no build script to run~%"))
|
||||
#t))
|
||||
(format #t "there is no build script to run~%"))))
|
||||
|
||||
(define* (check #:key tests? inputs test-target #:allow-other-keys)
|
||||
"Run 'npm run TEST-TARGET' if TESTS?"
|
||||
@@ -334,8 +301,7 @@ exist."
|
||||
"--owner=0"
|
||||
"--group=0"
|
||||
"--numeric-owner"
|
||||
"-czf" "../package.tgz" ".")
|
||||
#t)
|
||||
"-czf" "../package.tgz" "."))
|
||||
|
||||
(define* (install #:key outputs inputs #:allow-other-keys)
|
||||
"Install the node module to the output store item."
|
||||
@@ -347,8 +313,7 @@ exist."
|
||||
"--loglevel" "info"
|
||||
"--production"
|
||||
"--install-links"
|
||||
"install" "../package.tgz")
|
||||
#t))
|
||||
"install" "../package.tgz")))
|
||||
|
||||
(define* (avoid-node-gyp-rebuild #:key outputs #:allow-other-keys)
|
||||
"Adjust the installed 'package.json' to remove an 'install' script that
|
||||
@@ -376,28 +341,25 @@ would try to run 'node-gyp rebuild'."
|
||||
;; For further details, see:
|
||||
;; - https://docs.npmjs.com/cli/v8/configuring-npm/package-json#default-values
|
||||
;; - https://docs.npmjs.com/cli/v8/using-npm/scripts#best-practices
|
||||
(define installed-package.json
|
||||
(search-input-file outputs (string-append "/lib/node_modules/"
|
||||
(module-name ".")
|
||||
"/package.json")))
|
||||
;; We don't want to use an atomic replacement here, because we often don't
|
||||
;; even need to overwrite this file. Therefore, let's use some helpers
|
||||
;; that we'd otherwise not need.
|
||||
(define pkg-meta
|
||||
(call-with-input-file installed-package.json json->scm))
|
||||
(define scripts
|
||||
(assoc-ref* pkg-meta "scripts" '()))
|
||||
|
||||
(when (equal? "node-gyp rebuild" (assoc-ref* scripts "install" #f))
|
||||
(call-with-output-file installed-package.json
|
||||
(lambda (out)
|
||||
(scm->json
|
||||
(assoc-set! pkg-meta
|
||||
"scripts"
|
||||
(assoc-set! scripts
|
||||
"install"
|
||||
"echo Guix: avoiding node-gyp rebuild"))
|
||||
out)))))
|
||||
(let* ((installed-package.json
|
||||
(search-input-file outputs (string-append "/lib/node_modules/"
|
||||
(module-name ".")
|
||||
"/package.json")))
|
||||
;; We don't want to use an atomic replacement here, because we often
|
||||
;; don't even need to overwrite this file. Therefore, let's use some
|
||||
;; helpers that we'd otherwise not need.
|
||||
(pkg-meta (call-with-input-file installed-package.json json->scm))
|
||||
(scripts (or (assoc-ref pkg-meta "scripts") '())))
|
||||
(when (equal? "node-gyp rebuild" (assoc-ref scripts "install"))
|
||||
(call-with-output-file installed-package.json
|
||||
(lambda (out)
|
||||
(scm->json
|
||||
(assoc-set! pkg-meta
|
||||
"scripts"
|
||||
(assoc-set! scripts
|
||||
"install"
|
||||
"echo Guix: avoiding node-gyp rebuild"))
|
||||
out))))))
|
||||
|
||||
(define %standard-phases
|
||||
(modify-phases gnu:%standard-phases
|
||||
|
||||
+19
-3
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014-2024 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014-2024, 2026 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
|
||||
;;; Copyright © 2016, 2017, 2018 Chris Marusich <cmmarusich@gmail.com>
|
||||
;;; Copyright © 2017, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
@@ -1250,6 +1250,14 @@ Some ACTIONS support additional ARGS.\n"))
|
||||
"switch-generation" "search" "edit"
|
||||
"docker-image" "installer"))
|
||||
|
||||
(define (image-with-provenance img file)
|
||||
"Return IMG with provenance information recorded, including FILE, the
|
||||
operating system or image configuration file."
|
||||
(image (inherit img)
|
||||
(operating-system
|
||||
(operating-system-with-provenance (image-operating-system img)
|
||||
file))))
|
||||
|
||||
(define (process-action action args opts)
|
||||
"Process ACTION, a sub-command, with the arguments are listed in ARGS.
|
||||
ACTION must be one of the sub-commands that takes an operating system
|
||||
@@ -1272,8 +1280,16 @@ resulting from command-line parsing."
|
||||
(system (assoc-ref opts 'system))
|
||||
(target (assoc-ref opts 'target))
|
||||
(transform (lambda (obj)
|
||||
(if (and save-provenance? (operating-system? obj))
|
||||
(operating-system-with-provenance obj file)
|
||||
(if save-provenance?
|
||||
(cond
|
||||
((operating-system? obj)
|
||||
(operating-system-with-provenance obj file))
|
||||
((image? obj)
|
||||
(image-with-provenance obj file))
|
||||
(else
|
||||
(warning
|
||||
(G_ "'--save-provenance' has no effect~%"))
|
||||
obj))
|
||||
obj)))
|
||||
(obj (transform
|
||||
(ensure-operating-system-or-image
|
||||
|
||||
Reference in New Issue
Block a user