Merge remote-tracking branch 'origin/master' into kde-updates

This commit is contained in:
宋文武 2023-08-11 20:19:52 +08:00
commit 770f3f587d
No known key found for this signature in database
GPG Key ID: D415BF253B515976
72 changed files with 3587 additions and 46800 deletions

View File

@ -410,12 +410,10 @@ AUX_FILES = \
gnu/packages/aux-files/chromium/master-preferences.json \ gnu/packages/aux-files/chromium/master-preferences.json \
gnu/packages/aux-files/emacs/guix-emacs.el \ gnu/packages/aux-files/emacs/guix-emacs.el \
gnu/packages/aux-files/guix.vim \ gnu/packages/aux-files/guix.vim \
gnu/packages/aux-files/linux-libre/6.4-arm.conf \
gnu/packages/aux-files/linux-libre/6.4-arm64.conf \
gnu/packages/aux-files/linux-libre/6.4-i686.conf \ gnu/packages/aux-files/linux-libre/6.4-i686.conf \
gnu/packages/aux-files/linux-libre/6.4-x86_64.conf \ gnu/packages/aux-files/linux-libre/6.4-x86_64.conf \
gnu/packages/aux-files/linux-libre/6.3-arm.conf \
gnu/packages/aux-files/linux-libre/6.3-arm64.conf \
gnu/packages/aux-files/linux-libre/6.3-i686.conf \
gnu/packages/aux-files/linux-libre/6.3-x86_64.conf \
gnu/packages/aux-files/linux-libre/6.1-arm.conf \ gnu/packages/aux-files/linux-libre/6.1-arm.conf \
gnu/packages/aux-files/linux-libre/6.1-arm64.conf \ gnu/packages/aux-files/linux-libre/6.1-arm64.conf \
gnu/packages/aux-files/linux-libre/6.1-i686.conf \ gnu/packages/aux-files/linux-libre/6.1-i686.conf \
@ -558,6 +556,7 @@ SCM_TESTS = \
tests/services/configuration.scm \ tests/services/configuration.scm \
tests/services/lightdm.scm \ tests/services/lightdm.scm \
tests/services/linux.scm \ tests/services/linux.scm \
tests/services/pam-mount.scm \
tests/services/telephony.scm \ tests/services/telephony.scm \
tests/services/vpn.scm \ tests/services/vpn.scm \
tests/sets.scm \ tests/sets.scm \

View File

@ -117,6 +117,7 @@ Copyright @copyright{} 2023 Karl Hallsby@*
Copyright @copyright{} 2023 Nathaniel Nicandro@* Copyright @copyright{} 2023 Nathaniel Nicandro@*
Copyright @copyright{} 2023 Tanguy Le Carrour@* Copyright @copyright{} 2023 Tanguy Le Carrour@*
Copyright @copyright{} 2023 Zheng Junjie@* Copyright @copyright{} 2023 Zheng Junjie@*
Copyright @copyright{} 2023 Brian Cully@*
Permission is granted to copy, distribute and/or modify this document Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or under the terms of the GNU Free Documentation License, Version 1.3 or
@ -389,6 +390,7 @@ Services
* Printing Services:: Local and remote printer support. * Printing Services:: Local and remote printer support.
* Desktop Services:: D-Bus and desktop services. * Desktop Services:: D-Bus and desktop services.
* Sound Services:: ALSA and Pulseaudio services. * Sound Services:: ALSA and Pulseaudio services.
* File Search Services:: Tools to search for files.
* Database Services:: SQL databases, key-value stores, etc. * Database Services:: SQL databases, key-value stores, etc.
* Mail Services:: IMAP, POP3, SMTP, and all that. * Mail Services:: IMAP, POP3, SMTP, and all that.
* Messaging Services:: Messaging services. * Messaging Services:: Messaging services.
@ -4481,7 +4483,9 @@ database, usually under @file{/var/cache/guix/locate}; if it does not
exist or is too old, it falls back to the per-user database, by default exist or is too old, it falls back to the per-user database, by default
under @file{~/.cache/guix/locate}. On a multi-user system, under @file{~/.cache/guix/locate}. On a multi-user system,
administrators may want to periodically update the system-wide database administrators may want to periodically update the system-wide database
so that all users can benefit from it. so that all users can benefit from it, for instance by setting up
@code{package-database-service-type} (@pxref{File Search Services,
@code{package-database-service-type}}).
The general syntax is: The general syntax is:
@ -18429,6 +18433,7 @@ declaration.
* Printing Services:: Local and remote printer support. * Printing Services:: Local and remote printer support.
* Desktop Services:: D-Bus and desktop services. * Desktop Services:: D-Bus and desktop services.
* Sound Services:: ALSA and Pulseaudio services. * Sound Services:: ALSA and Pulseaudio services.
* File Search Services:: Tools to search for files.
* Database Services:: SQL databases, key-value stores, etc. * Database Services:: SQL databases, key-value stores, etc.
* Mail Services:: IMAP, POP3, SMTP, and all that. * Mail Services:: IMAP, POP3, SMTP, and all that.
* Messaging Services:: Messaging services. * Messaging Services:: Messaging services.
@ -24956,6 +24961,111 @@ details.
@end defvar @end defvar
@node File Search Services
@subsection File Search Services
@cindex file search
@cindex searching for a file
The services in this section populate @dfn{file databases} that let you
search for files on your machine. These services are provided by the
@code{(gnu services admin)} module.
The first one, @code{file-database-service-type}, periodically runs the
venerable @command{updatedb} command (@pxref{Invoking updatedb,,, find,
GNU Findutils}). That command populates a database of file names that
you can then search with the @command{locate} command (@pxref{Invoing
locate,,, find, GNU Findutils}), as in this example:
@example
locate important-notes.txt
@end example
You can enable this service with its default settings by adding this
snippet to your operating system services:
@lisp
(service file-database-service-type)
@end lisp
This updates the database once a week, excluding files from
@file{/gnu/store}---these are more usefully handled by @command{guix
locate} (@pxref{Invoking guix locate}). You can of course provide a
custom configuration, as described below.
@defvar file-database-service-type
This is the type of the file database service, which runs
@command{updatedb} periodically. Its associated value must be a
@code{file-database-configuration} record, as described below.
@end defvar
@deftp {Data Type} file-database-configuration
Record type for the @code{file-database-service-type} configuration,
with the following fields:
@table @asis
@item @code{package} (default: @code{findutils})
The GNU@tie{}Findutils package from which the @command{updatedb} command
is taken.
@item @code{schedule} (default: @code{%default-file-database-update-schedule})
String or G-exp denoting an mcron schedule for the periodic
@command{updatedb} job (@pxref{Guile Syntax,,, mcron, GNU@tie{}mcron}).
@item @code{excluded-directories} (default @code{%default-file-database-excluded-directories})
List of directories to ignore when building the file database. By
default, this includes @file{/tmp} and @file{/gnu/store}, which should
instead be indexed by @command{guix locate} (@pxref{Invoking guix
locate}). This list is passed to the @option{--prunepaths} option of
@command{updatedb} (@pxref{Invoking updatedb,,, find,
GNU@tie{}Findutils}).
@end table
@end deftp
The second service, @code{package-database-service-type}, builds the
database used by @command{guix locate}, which lets you search for
packages that contain a given file (@pxref{Invoking guix locate}). The
service periodically updates a system-wide database, which will be
readily available to anyone running @command{guix locate} on the system.
To use this service with its default settings, add this snippet to your
service list:
@lisp
(service package-database-service-type)
@end lisp
This will run @command{guix locate --update} once a week.
@defvar package-database-service-type
This is the service type for periodic @command{guix locate} updates
(@pxref{Invoking guix locate}). Its value must be a
@code{package-database-configuration} record, as shown below.
@end defvar
@deftp {Data Type} package-database-configuration
Data type to configure periodic package database updates. It has the
following fields:
@table @asis
@item @code{package} (default: @code{guix})
The Guix package to use.
@item @code{schedule} (default: @code{%default-package-database-update-schedule})
String or G-exp denoting an mcron schedule for the periodic
@command{guix locate --update} job (@pxref{Guile Syntax,,, mcron,
GNU@tie{}mcron}).
@item @code{method} (default: @code{'store})
Indexing method for @command{guix locate}. The default value,
@code{'store}, yields a more complete database but is relatively
expensive in terms of CPU and input/output.
@item @code{channels} (default: @code{#~%default-channels})
G-exp denoting the channels to use when updating the database
(@pxref{Channels}).
@end table
@end deftp
@node Database Services @node Database Services
@subsection Database Services @subsection Database Services
@ -25166,7 +25276,21 @@ The role permissions list. Supported permissions are @code{bypassrls},
@code{superuser}. @code{superuser}.
@item @code{create-database?} (default: @code{#f}) @item @code{create-database?} (default: @code{#f})
Whether to create a database with the same name as the role. whether to create a database with the same name as the role.
@item @code{encoding} (default: @code{"UTF8"})
The character set to use for storing text in the database.
@item @code{collation} (default: @code{"en_US.utf8"})
The string sort order locale setting.
@item @code{ctype} (default: @code{"en_US.utf8"})
The character classification locale setting.
@item @code{template} (default: @code{"template1"})
The default template to copy the new database from when creating it.
Use @code{"template0"} for a pristine database with no system-local
modifications.
@end table @end table
@end deftp @end deftp
@ -37836,6 +37960,104 @@ The complete list of possible options can be found in the man page for
@end table @end table
@end deftp @end deftp
@subheading PAM Mount Volume Service
@cindex pam volume mounting
PAM mount volumes are automatically mounted at login by the PAM login
service according to a set of per-volume rules. Because they are
mounted by PAM the password entered during login may be used directly to
mount authenticated volumes, such as @code{cifs}, using the same
credentials.
These volumes will be added in addition to any volumes directly
specified in @code{pam-mount-rules}.
Here is an example of a rule which will mount a remote CIFS share from
@file{//remote-server/share} into a sub-directory of @file{/shares}
named after the user logging in:
@lisp
(simple-service 'pam-mount-remote-share pam-mount-volume-service-type
(list (pam-mount-volume
(secondary-group "users")
(file-system-type "cifs")
(server "remote-server")
(file-name "share")
(mount-point "/shares/%(USER)")
(options "nosuid,nodev,seal,cifsacl"))))
@end lisp
@deftp {Data Type} pam-mount-volume-service-type
Configuration for a single volume to be mounted. Any fields not
specified will be omitted from the run-time PAM configuration. See
@uref{http://pam-mount.sourceforge.net/pam_mount.conf.5.html,
the man page} for the default values when unspecified.
@table @asis
@item @code{user-name} (type: maybe-string)
Mount the volume for the given user.
@item @code{user-id} (type: maybe-integer-or-range)
Mount the volume for the user with this ID. This field may also be
specified as a pair of @code{(start . end)} indicating a range of user
IDs for whom to mount the volume.
@item @code{primary-group} (type: maybe-string)
Mount the volume for users with this primary group name.
@item @code{group-id} (type: maybe-integer-or-range)
Mount the volume for the users with this primary group ID. This field
may also be specified as a cons cell of @code{(start . end)} indicating
a range of group ids for whom to mount the volume.
@item @code{secondary-group} (type: maybe-string)
Mount the volume for users who are members of this group as either a
primary or secondary group.
@item @code{file-system-type} (type: maybe-string)
The file system type for the volume being mounted (e.g., @code{cifs})
@item @code{no-mount-as-root?} (type: maybe-boolean)
Whether or not to mount the volume with root privileges. This is
normally disabled, but may be enabled for mounts of type @code{fuse}, or
other user-level mounts.
@item @code{server} (type: maybe-string)
The name of the remote server to mount the volume from, when necessary.
@item @code{file-name} (type: maybe-string)
The location of the volume, either local or remote, depending on the
@code{file-system-type}.
@item @code{mount-point} (type: maybe-string)
Where to mount the volume in the local file-system. This may be set to
@file{~} to indicate the home directory of the user logging in. If this
field is omitted then @file{/etc/fstab} is consulted for the mount
destination.
@item @code{options} (type: maybe-string)
The options to be passed as-is to the underlying mount program.
@item @code{ssh?} (type: maybe-boolean)
Enable this option to pass the login password to SSH for use with mounts
involving SSH (e.g., @code{sshfs}).
@item @code{cipher} (type: maybe-string)
Cryptsetup cipher name for the volume. To be used with the @code{crypt}
@code{file-system-type}.
@item @code{file-system-key-cipher} (type: maybe-string)
Cipher name used by the target volume.
@item @code{file-system-key-hash} (type: maybe-string)
SSL hash name used by the target volume.
@item @code{file-system-key-file-name} (type: maybe-string)
File name of the file system key for the target volume.
@end table
@end deftp
@node Guix Services @node Guix Services
@subsection Guix Services @subsection Guix Services

View File

@ -10,7 +10,7 @@
;; Copyright © 2020, 2021 Mathieu Othacehe <m.othacehe@gmail.com> ;; Copyright © 2020, 2021 Mathieu Othacehe <m.othacehe@gmail.com>
;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;; Copyright © 2021 Leo Famulari <leo@famulari.name> ;; Copyright © 20212023 Leo Famulari <leo@famulari.name>
;; Copyright © 2021 Zhu Zihao <all_but_last@163.com> ;; Copyright © 2021 Zhu Zihao <all_but_last@163.com>
;; Copyright © 2021 Chris Marusich <cmmarusich@gmail.com> ;; Copyright © 2021 Chris Marusich <cmmarusich@gmail.com>
;; Copyright © 2021, 2022 Maxime Devos <maximedevos@telenet.be> ;; Copyright © 2021, 2022 Maxime Devos <maximedevos@telenet.be>
@ -26,6 +26,34 @@
(channel-news (channel-news
(version 0) (version 0)
(entry (commit "db775e7367e8deffb513aad94f4afb875d796d0b")
(title
(en "Linux-libre 6.3 removed due to end of upstream support")
(de "Linux-libre 6.3 wurde entfernt"))
(body
(en "The linux-libre 6.3 kernel series has reached the end of
its life, and is no longer supported upstream. For this
reason, it has been removed from GNU Guix.")
(de "Vom Kernel @code{linux-libre} wird die 6.3-Versionsreihe keine
Unterstützung von dessen Anbieter mehr erfahren (end of life). Daher ist es
aus GNU Guix entfernt worden.")))
(entry (commit "bff1f2d4d07e934ea296f9c724b5337996a27c44")
(title
(en "Linux-libre kernel updated to 6.4")
(de "Linux-libre-Kernel wird auf 6.4 aktualisiert")
(fr "Le noyau linux-libre est mis à jour vers la 6.4")
(pt "Kernel linux-libre atualizado para 6.4"))
(body
(en "The default version of the linux-libre kernel has been updated to
the 6.4 release series.")
(de "Der standardmäßig verwendete @code{linux-libre}-Kernel basiert
jetzt auf der 6.4-Versionsreihe.")
(fr "La version par défaut du noyau linux-libre est mise à jour
vers la série des 6.4.")
(pt "A versão padrão do kernel linux-libre foi atualizada para a
série do kernel 6.4.")))
(entry (commit "1b7aabbc79969a89141aadd3d41d7a5329a3462e") (entry (commit "1b7aabbc79969a89141aadd3d41d7a5329a3462e")
(title (title
(en "New @command{guix locate} command") (en "New @command{guix locate} command")

View File

@ -899,11 +899,13 @@ dist_patch_DATA = \
%D%/packages/patches/akonadi-timestamps.patch \ %D%/packages/patches/akonadi-timestamps.patch \
%D%/packages/patches/allegro-mesa-18.2.5-and-later.patch \ %D%/packages/patches/allegro-mesa-18.2.5-and-later.patch \
%D%/packages/patches/ibus-anthy-fix-tests.patch \ %D%/packages/patches/ibus-anthy-fix-tests.patch \
%D%/packages/patches/ibus-table-paths.patch \
%D%/packages/patches/anki-mpv-args.patch \ %D%/packages/patches/anki-mpv-args.patch \
%D%/packages/patches/antiword-CVE-2014-8123.patch \ %D%/packages/patches/antiword-CVE-2014-8123.patch \
%D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \ %D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \
%D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch \ %D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch \
%D%/packages/patches/aoflagger-use-system-provided-pybind11.patch \ %D%/packages/patches/aoflagger-use-system-provided-pybind11.patch \
%D%/packages/patches/apr-fix-atomics.patch \
%D%/packages/patches/apr-skip-getservbyname-test.patch \ %D%/packages/patches/apr-skip-getservbyname-test.patch \
%D%/packages/patches/ark-skip-xar-test.patch \ %D%/packages/patches/ark-skip-xar-test.patch \
%D%/packages/patches/arpack-ng-propagate-rng-state.patch \ %D%/packages/patches/arpack-ng-propagate-rng-state.patch \
@ -1552,7 +1554,6 @@ dist_patch_DATA = \
%D%/packages/patches/linphone-desktop-without-sdk.patch \ %D%/packages/patches/linphone-desktop-without-sdk.patch \
%D%/packages/patches/linux-libre-infodocs-target.patch \ %D%/packages/patches/linux-libre-infodocs-target.patch \
%D%/packages/patches/linux-libre-support-for-Pinebook-Pro.patch \ %D%/packages/patches/linux-libre-support-for-Pinebook-Pro.patch \
%D%/packages/patches/linux-libre-wireguard-postup-privkey.patch \
%D%/packages/patches/linux-pam-no-setfsuid.patch \ %D%/packages/patches/linux-pam-no-setfsuid.patch \
%D%/packages/patches/linux-pam-unix_chkpwd.patch \ %D%/packages/patches/linux-pam-unix_chkpwd.patch \
%D%/packages/patches/linuxdcpp-openssl-1.1.patch \ %D%/packages/patches/linuxdcpp-openssl-1.1.patch \
@ -1675,7 +1676,6 @@ dist_patch_DATA = \
%D%/packages/patches/openboardview-use-system-mpc.patch \ %D%/packages/patches/openboardview-use-system-mpc.patch \
%D%/packages/patches/openbox-python3.patch \ %D%/packages/patches/openbox-python3.patch \
%D%/packages/patches/opencolorio-fix-build-with-gcc11.patch \ %D%/packages/patches/opencolorio-fix-build-with-gcc11.patch \
%D%/packages/patches/openfoam-4.1-cleanup.patch \
%D%/packages/patches/openjdk-9-pointer-comparison.patch \ %D%/packages/patches/openjdk-9-pointer-comparison.patch \
%D%/packages/patches/openjdk-9-setsignalhandler.patch \ %D%/packages/patches/openjdk-9-setsignalhandler.patch \
%D%/packages/patches/openjdk-10-idlj-reproducibility.patch \ %D%/packages/patches/openjdk-10-idlj-reproducibility.patch \
@ -1868,6 +1868,7 @@ dist_patch_DATA = \
%D%/packages/patches/qrcodegen-cpp-make-install.patch \ %D%/packages/patches/qrcodegen-cpp-make-install.patch \
%D%/packages/patches/qtbase-absolute-runpath.patch \ %D%/packages/patches/qtbase-absolute-runpath.patch \
%D%/packages/patches/qtbase-moc-ignore-gcc-macro.patch \ %D%/packages/patches/qtbase-moc-ignore-gcc-macro.patch \
%D%/packages/patches/qtbase-qmake-use-libname.patch \
%D%/packages/patches/qtbase-use-TZDIR.patch \ %D%/packages/patches/qtbase-use-TZDIR.patch \
%D%/packages/patches/qtscript-disable-tests.patch \ %D%/packages/patches/qtscript-disable-tests.patch \
%D%/packages/patches/quagga-reproducible-build.patch \ %D%/packages/patches/quagga-reproducible-build.patch \

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.org> ;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.org>
;;; Copyright © 2020-2022 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2020-2023 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -291,7 +291,10 @@ exist on the machine."
if any of the modules needed by 'needed-for-boot' file systems in MACHINE are if any of the modules needed by 'needed-for-boot' file systems in MACHINE are
not available in the initrd." not available in the initrd."
(define file-systems (define file-systems
(filter file-system-needed-for-boot? (filter (lambda (file-system)
(and (file-system-needed-for-boot? file-system)
(not (member (file-system-type file-system)
%pseudo-file-system-types))))
(operating-system-file-systems (machine-operating-system machine)))) (operating-system-file-systems (machine-operating-system machine))))
(define (missing-modules fs) (define (missing-modules fs)

View File

@ -1960,7 +1960,7 @@ system administrator.")
(define-public sudo (define-public sudo
(package (package
(name "sudo") (name "sudo")
(version "1.9.14p1") (version "1.9.14p3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -1970,7 +1970,7 @@ system administrator.")
version ".tar.gz"))) version ".tar.gz")))
(sha256 (sha256
(base32 (base32
"1bwg2bn1sbc6l2gx2r9vfqyf8dyvgp7nad0wj3p5gn095vpza6z9")) "0qibg30d30gy85g83fj6gsg59g1sj3i9mkfl0k0851dwqjqii0x0"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -2419,15 +2419,15 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
(define-public acpica (define-public acpica
(package (package
(name "acpica") (name "acpica")
(version "20220331") (version "20230628")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"https://acpica.org/sites/acpica/files/acpica-unix2-" "https://downloadmirror.intel.com/783536/acpica-unix2-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0yjcl00nnnlw01sz6a1i5d3v75gr17mkbxkxfx2v344al33abk8w")))) "1fmkng72zb0yqp4hfl8a6pqmylixqbpjd43xmi6k3p74x5qiq0h6"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (list flex bison)) (native-inputs (list flex bison))
(arguments (arguments
@ -4023,11 +4023,15 @@ you are running, what theme or icon set you are using, etc.")
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(delete 'configure) (delete 'configure)
(add-before 'build 'path-source-paths (add-before 'build 'patch-source-paths
(lambda _ (lambda _
(substitute* "uwufetch.c" (substitute* "uwufetch.c"
(("(/usr(/local)?)(.*;)" all _ _ rest) (("(/usr(/local)?)(.*;)" all _ _ rest)
(string-append #$output rest)))))))) (string-append #$output rest)))))
;; TODO this will be fixed in the next release of uwufetch
(add-before 'install 'make-include-dir
(lambda _
(mkdir-p (string-append #$output "/include")))))))
(inputs (list lshw (inputs (list lshw
;; viu XXX not yet packaged in Guix ;; viu XXX not yet packaged in Guix
xwininfo)) xwininfo))
@ -4652,7 +4656,7 @@ Logitech Unifying Receiver.")
(package (package
(name "lynis") (name "lynis")
;; Also update the lynis-sdk input to the commit matching this release. ;; Also update the lynis-sdk input to the commit matching this release.
(version "3.0.8") (version "3.0.9")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -4661,7 +4665,7 @@ Logitech Unifying Receiver.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "19kz1ffbbd431cdfw7fjcl5hjkks3gfkwk3w2zkwsxgyiky1gx3w")) (base32 "1rgiifbzlk9lfjhbgxy6pqza5kxpr5rsr8vj9fcqvqihzdb5izj1"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -4677,50 +4681,53 @@ Logitech Unifying Receiver.")
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/CISOfy/lynis-sdk") (url "https://github.com/CISOfy/lynis-sdk")
(commit "dffe5d352e4d6029ea95a84d50604ccd97cb8999"))) (commit "92522b3ec39ad4cdef4756dc303d99741ec7fe20")))
(file-name (git-file-name "lynis-sdk" version)) (file-name (git-file-name "lynis-sdk" version))
(sha256 (sha256
(base32 "05qq4395x8f0kyl1ppm74npsf8sb3hhgz0ck4fya91sy6a26b4ja")))))) (base32 "05qq4395x8f0kyl1ppm74npsf8sb3hhgz0ck4fya91sy6a26b4ja"))))))
(arguments (arguments
`(#:phases (list
(modify-phases %standard-phases #:phases
(replace 'unpack #~(modify-phases %standard-phases
;; XXX Remove after fixing <https://issues.guix.gnu.org/55287>. (replace 'unpack
(lambda* (#:key source #:allow-other-keys) ;; XXX Remove after fixing <https://issues.guix.gnu.org/55287>.
(mkdir "source") (lambda* (#:key source #:allow-other-keys)
(chdir "source") (mkdir "source")
(copy-recursively source "." (chdir "source")
#:keep-mtime? #t))) (copy-recursively source "."
(replace 'configure #:keep-mtime? #t)))
(lambda* (#:key inputs outputs #:allow-other-keys) (replace 'configure
(substitute* "lynis" (lambda _
(("/usr/share/lynis") (substitute* "lynis"
(string-append (assoc-ref outputs "out") "/share/lynis"))) (("/usr/share/lynis")
(substitute* "include/functions" (string-append #$output "/share/lynis")))
(("/usr/local/etc/lynis") (substitute* "include/functions"
(string-append (assoc-ref outputs "out") "/etc/lynis"))))) (("/usr/local/etc/lynis")
(delete 'build) (string-append #$output "/etc/lynis")))))
(replace 'install (delete 'build)
(lambda* (#:key outputs #:allow-other-keys) (replace 'install
(let ((out (assoc-ref outputs "out"))) (lambda _
(install-file "lynis" (string-append out "/bin/")) (install-file "lynis" (string-append #$output "/bin/"))
(install-file "default.prf" (string-append out "/etc/lynis")) (install-file "default.prf" (string-append #$output "/etc/lynis"))
(for-each (for-each
(lambda (dir) (lambda (dir)
(copy-recursively dir (string-append out "/share/lynis/" dir))) (copy-recursively
(list "db" "include" "plugins")) dir (string-append #$output "/share/lynis/" dir)))
(install-file "lynis.8" (string-append out "/share/man/man8"))))) (list "db" "include" "plugins"))
(replace 'check (install-file "lynis.8"
(lambda* (#:key inputs #:allow-other-keys) (string-append #$output "/share/man/man8"))))
(copy-recursively (assoc-ref inputs "lynis-sdk") "../lynis-sdk") (replace 'check
(setenv "LANG" "en_US.UTF-8") (lambda _
(let ((lynis-dir (getcwd))) (copy-recursively #$(this-package-native-input "lynis-sdk")
(with-directory-excursion "../lynis-sdk" "../lynis-sdk")
(substitute* "config" (setenv "LANG" "en_US.UTF-8")
(("\\.\\./lynis") lynis-dir)) (let ((lynis-dir (getcwd)))
(substitute* "unit-tests/tests-language-translations.sh" (with-directory-excursion "../lynis-sdk"
(("\\.\\./lynis") lynis-dir)) (substitute* "config"
(invoke "sh" "lynis-devkit" "run" "unit-tests")))))))) (("\\.\\./lynis") lynis-dir))
(substitute* "unit-tests/tests-language-translations.sh"
(("\\.\\./lynis") lynis-dir))
(invoke "sh" "lynis-devkit" "run" "unit-tests"))))))))
(home-page "https://cisofy.com/lynis/") (home-page "https://cisofy.com/lynis/")
(synopsis "Security auditing tool") (synopsis "Security auditing tool")
(description "Lynis is a security auditing tool. It performs an in-depth (description "Lynis is a security auditing tool. It performs an in-depth

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com> ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -21,6 +22,8 @@
#:use-module ((guix licenses) #:prefix l:) #:use-module ((guix licenses) #:prefix l:)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
@ -46,9 +49,23 @@
;; Sometimes we end up with two processes concurrently trying to make ;; Sometimes we end up with two processes concurrently trying to make
;; 'libmod_test.la': <http://hydra.gnu.org/build/60266/nixlog/2/raw>. ;; 'libmod_test.la': <http://hydra.gnu.org/build/60266/nixlog/2/raw>.
;; Thus, build sequentially. ;; Thus, build sequentially.
'(#:parallel-build? #f `(#:parallel-build? #f
#:parallel-tests? #f)) #:parallel-tests? #f
,@(if (target-ppc32?)
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-sources
(lambda* (#:key inputs native-inputs #:allow-other-keys)
(invoke "patch" "-p1" "--force" "--input"
(assoc-ref (or native-inputs inputs)
"atomics-patch"))))))
'())))
(inputs (list perl libltdl)) (inputs (list perl libltdl))
(native-inputs
`(,@(if (target-ppc32?)
`(("atomics-patch"
,(local-file (search-patch "apr-fix-atomics.patch"))))
'())))
(home-page "https://apr.apache.org/") (home-page "https://apr.apache.org/")
(synopsis "The Apache Portable Runtime Library") (synopsis "The Apache Portable Runtime Library")
(description (description

View File

@ -182,7 +182,7 @@ reused in several astronomical applications, such as @code{wsclean},
(define-public calceph (define-public calceph
(package (package
(name "calceph") (name "calceph")
(version "3.5.1") (version "3.5.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -190,7 +190,7 @@ reused in several astronomical applications, such as @code{wsclean},
"https://www.imcce.fr/content/medias/recherche/equipes/asd/calceph/calceph-" "https://www.imcce.fr/content/medias/recherche/equipes/asd/calceph/calceph-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 "078wn773pwf4pg9m0h0l00g4aq744pq1rb6kz6plgdpzp3hhpk1k")))) (base32 "1rnjlaiii4j0agbj4k242p212bqqmqdqa0lni6c3bnhgfnrbjfp4"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
(list gfortran)) (list gfortran))
@ -217,7 +217,7 @@ moment, supported SPICE files are:
(define-public calcmysky (define-public calcmysky
(package (package
(name "calcmysky") (name "calcmysky")
(version "0.3.0") (version "0.3.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -226,7 +226,7 @@ moment, supported SPICE files are:
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1lgn937px4am0lggniwby1f1dl3v4l3iigq72rl9rlhx58zv4lj1")))) (base32 "14jbaf9m9wig2bs7a531dvpmdkqpd09lmyvjvj1s0mhgh9g0x9m2"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(list #:configure-flags (list #:configure-flags
@ -531,13 +531,13 @@ mining in astronomy.")
(define-public python-fitsio (define-public python-fitsio
(package (package
(name "python-fitsio") (name "python-fitsio")
(version "1.1.8") (version "1.1.10")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "fitsio" version)) (uri (pypi-uri "fitsio" version))
(sha256 (sha256
(base32 "1y80hgvlkjz1bijfyb2j03853yc1kc63yrf9ab7as31ad2r6kxb1")) (base32 "0dv2vjj8qn3rq5sr99x5yjjch5h867c8q7zh73i67dzdsk7ix0jf"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; Remove the bundled cfitsio ;; Remove the bundled cfitsio
@ -545,7 +545,7 @@ mining in astronomy.")
(delete-file-recursively "cfitsio3490") (delete-file-recursively "cfitsio3490")
(substitute* "MANIFEST.in" (substitute* "MANIFEST.in"
(("recursive-include cfitsio3490.*$\n") "")))))) (("recursive-include cfitsio3490.*$\n") ""))))))
(build-system python-build-system) (build-system pyproject-build-system)
(arguments (arguments
(list (list
#:phases #:phases
@ -562,10 +562,16 @@ mining in astronomy.")
(("self.system_fitsio_libdir = None") "pass") (("self.system_fitsio_libdir = None") "pass")
(("self.use_system_fitsio") "True") (("self.use_system_fitsio") "True")
(("self.system_fitsio_includedir") includedir) (("self.system_fitsio_includedir") includedir)
(("self.system_fitsio_libdir") libdir)))))))) (("self.system_fitsio_libdir") libdir)))))
(inputs (list curl)) (add-before 'check 'build-extensions
(lambda _
(invoke "python" "setup.py" "build_ext" "--inplace"))))))
(native-inputs
(list python-pytest))
(inputs
(list curl cfitsio))
(propagated-inputs (propagated-inputs
(list python-numpy cfitsio)) (list python-numpy))
(home-page "https://github.com/esheldon/fitsio") (home-page "https://github.com/esheldon/fitsio")
(synopsis (synopsis
"Python library to read from and write to FITS files") "Python library to read from and write to FITS files")
@ -917,7 +923,7 @@ from Stark Labs.")
(define-public sextractor (define-public sextractor
(package (package
(name "sextractor") (name "sextractor")
(version "2.25.0") (version "2.28.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -926,29 +932,33 @@ from Stark Labs.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0q69n3nyal57h3ik2xirwzrxzljrwy9ivwraxzv9566vi3n4z5mw")))) (base32 "15v7brjiraj2rdyxiidcgb58b3dqzdd363j31cjrfqhd1wc8ii5j"))))
(build-system gnu-build-system) (build-system gnu-build-system)
;; NOTE: (Sharlatan-20210124T103117+0000): Building with `atlas' is failing ;; NOTE: (Sharlatan-20210124T103117+0000): Building with `atlas' is failing
;; due to missing shared library which required on configure phase. Switch ;; due to missing shared library which required on configure phase. Switch
;; build to use `openblas' instead. It requires FFTW with single precision ;; build to use `openblas' instead. It requires FFTW with single precision
;; `fftwf'. ;; `fftwf'.
(arguments (arguments
`(#:configure-flags (list
(list #:configure-flags
"--enable-openblas" #~(list
(string-append "--enable-openblas"
"--with-openblas-libdir=" (assoc-ref %build-inputs "openblas") "/lib") (string-append "--with-cfitsio-incdir="
(string-append #$(this-package-input "cfitsio") "/include")
"--with-openblas-incdir=" (assoc-ref %build-inputs "openblas") "/include") (string-append "--with-cfitsio-libdir="
(string-append #$(this-package-input "cfitsio") "/lib")
"--with-fftw-libdir=" (assoc-ref %build-inputs "fftw") "/lib") (string-append "--with-fftw-incdir="
(string-append #$(this-package-input "fftwf") "/include")
"--with-fftw-incdir=" (assoc-ref %build-inputs "fftw") "/include")))) (string-append "--with-fftw-libdir="
#$(this-package-input "fftwf") "/lib")
(string-append "--with-openblas-incdir="
#$(this-package-input "openblas") "/include")
(string-append "--with-openblas-libdir="
#$(this-package-input "openblas") "/lib"))))
(native-inputs (native-inputs
(list autoconf automake libtool)) (list autoconf automake libtool))
(inputs (inputs
`(("openblas" ,openblas) (list cfitsio fftwf openblas))
("fftw" ,fftwf)))
(home-page "https://www.astromatic.net/software/sextractor") (home-page "https://www.astromatic.net/software/sextractor")
(synopsis "Extract catalogs of sources from astronomical images") (synopsis "Extract catalogs of sources from astronomical images")
(description (description
@ -998,7 +1008,7 @@ image formats.")
(define-public splash (define-public splash
(package (package
(name "splash") (name "splash")
(version "3.7.2") (version "3.8.2")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1006,7 +1016,7 @@ image formats.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(sha256 (sha256
(base32 (base32
"0nsm6rk0bi99xz7wclk0zy4bpqf0qcsdln5cdjb30lhpf37i2fpa")) "0y6l135g0a3hvvh8w8sfdh1kfq2g0gbp0dgjhnmwid8bwwcjvw8v"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
@ -1343,13 +1353,13 @@ accurately in real time at any rate desired.")
(define-public python-astropy (define-public python-astropy
(package (package
(name "python-astropy") (name "python-astropy")
(version "5.2.2") (version "5.3.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "astropy" version)) (uri (pypi-uri "astropy" version))
(sha256 (sha256
(base32 "170ddflli35mvhf6pla7aizfw8a7ckq66g1mi1br99dx2r3y7ag6")) (base32 "0x4dh7wx9sn1gy6sl2d54zsd24cgfjwrlk6kfrwpzzrmbsv22lwv"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -1358,9 +1368,10 @@ accurately in real time at any rate desired.")
(for-each delete-file-recursively '("ply" "configobj"))) (for-each delete-file-recursively '("ply" "configobj")))
;; Remove cextern bundles. Check bundled versions against available ;; Remove cextern bundles. Check bundled versions against available
;; in Guix in the future update of astropy. ;; in Guix in the future update of astropy.
;; Linking against an external cfitsio version has been removed,
;; see https://github.com/astropy/astropy/pull/14311
(with-directory-excursion "cextern" (with-directory-excursion "cextern"
(for-each delete-file-recursively '("cfitsio" "expat" "wcslib"))) (for-each delete-file-recursively '("expat" "wcslib")))))))
#t))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -1427,7 +1438,7 @@ accurately in real time at any rate desired.")
python-skyfield python-skyfield
python-timezonefinder)) python-timezonefinder))
(inputs (inputs
(list cfitsio expat wcslib)) (list expat wcslib))
(propagated-inputs (propagated-inputs
(list python-configobj (list python-configobj
python-numpy python-numpy
@ -1600,15 +1611,18 @@ Herschel.")
(define-public python-ccdproc (define-public python-ccdproc
(package (package
(name "python-ccdproc") (name "python-ccdproc")
(version "2.4.0") (version "2.4.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "ccdproc" version)) (uri (pypi-uri "ccdproc" version))
(sha256 (sha256
(base32 "0fy1sni87cr05dkljd8wb7vgh7z9agh8wv5kiagxcpbcf8l06jv1")))) (base32 "186plgfhrj7wivs053y65jlv1x33y8ii31jdr2rm4s6pl0j7x29z"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(native-inputs (list python-memory-profiler python-pytest-astropy)) (native-inputs
(list python-memory-profiler
python-pytest-astropy
python-semantic-version))
(propagated-inputs (propagated-inputs
(list python-astropy (list python-astropy
python-astroscrappy python-astroscrappy
@ -1626,7 +1640,7 @@ bad pixel tracking throughout the reduction process.")
(define-public python-cdflib (define-public python-cdflib
(package (package
(name "python-cdflib") (name "python-cdflib")
(version "0.4.9") (version "1.0.5")
(source (source
(origin (origin
(method git-fetch) ; no tests in pypi archive (method git-fetch) ; no tests in pypi archive
@ -1635,7 +1649,7 @@ bad pixel tracking throughout the reduction process.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1k557najk7ln293zwyghnhw48ays3nqf9s94kibsc7r70c2q7p08")))) (base32 "1pkda9gmpjhbqxl2jj5q9rjx77lv5c908mgf20lw3rz4nvfaa2wn"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
(list #:phases (list #:phases
@ -1753,13 +1767,13 @@ Cesium.")
(define-public python-drms (define-public python-drms
(package (package
(name "python-drms") (name "python-drms")
(version "0.6.3") (version "0.6.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "drms" version)) (uri (pypi-uri "drms" version))
(sha256 (sha256
(base32 "1b0w350y4wbgyy19zcf28xbb85mqq6gnhb6ppibbc4hbn2ixbcvj")))) (base32 "0mkrmr55fgca441z7hvsyri6x9cjsh0sfas3hrj0k1k10k8vszbw"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
(list (list
@ -1914,23 +1928,29 @@ the easy construction of interactive matplotlib widget based animations.")
(uri (pypi-uri "photutils" version)) (uri (pypi-uri "photutils" version))
(sha256 (sha256
(base32 "1bq4ma402lpa5d6l85awlc23kasxf40nq8hgi3iyrilnfikan0jz")))) (base32 "1bq4ma402lpa5d6l85awlc23kasxf40nq8hgi3iyrilnfikan0jz"))))
(build-system python-build-system) (build-system pyproject-build-system)
(arguments (arguments
`(#:test-target "pytest" (list
#:phases #:phases
(modify-phases %standard-phases #~(modify-phases %standard-phases
;; This file is opened in both install and check phases. ;; This file is opened in both install and check phases.
(add-before 'install 'writable-compiler (add-before 'install 'writable-compiler
(lambda _ (make-file-writable "photutils/_compiler.c"))) (lambda _ (make-file-writable "photutils/_compiler.c")))
(add-before 'check 'writable-compiler (add-before 'check 'build-extensions
(lambda _ (make-file-writable "photutils/_compiler.c")))))) (lambda _
;; Cython extensions have to be built before running
;; the tests. If it's not build it fails with error:
;;
;; ModuleNotFoundError: No module named
;; 'photutils.geometry.circular_overlap'
(make-file-writable "photutils/_compiler.c")
(invoke "python" "setup.py" "build_ext" "--inplace"))))))
(propagated-inputs (propagated-inputs
(list python-astropy python-numpy)) (list python-astropy python-numpy))
(native-inputs (native-inputs
(list python-cython (list python-cython
python-extension-helpers python-extension-helpers
python-pytest-astropy python-pytest-astropy
python-pytest-runner
python-setuptools-scm)) python-setuptools-scm))
(home-page "https://github.com/astropy/photutils") (home-page "https://github.com/astropy/photutils")
(synopsis "Source detection and photometry") (synopsis "Source detection and photometry")
@ -2121,13 +2141,13 @@ Virtual observatory (VO) using Python.")
(define-public python-reproject (define-public python-reproject
(package (package
(name "python-reproject") (name "python-reproject")
(version "0.10.0") (version "0.11.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "reproject" version)) (uri (pypi-uri "reproject" version))
(sha256 (sha256
(base32 "1ha0a1ja7k09ysd05adffgsapfwzc6m6az34a0av2mhmlwy4zb1q")))) (base32 "0p07qlqinb826m4n5b5invyfyv4z750sai2caqaf598mgj04l61p"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
(list (list
@ -2150,21 +2170,26 @@ Virtual observatory (VO) using Python.")
(lambda _ (lambda _
(setenv "HOME" (getcwd))))))) (setenv "HOME" (getcwd)))))))
(propagated-inputs (propagated-inputs
(list python-astropy
python-astropy-healpix
python-numpy
python-scipy))
(native-inputs
(list python-asdf (list python-asdf
python-cython python-astropy
python-extension-helpers python-astropy-healpix
python-click
python-cloudpickle
python-dask
python-fsspec
python-gwcs python-gwcs
python-pytest-astropy python-numpy
python-pyvo python-pyvo
python-scipy
python-shapely
python-zarr))
(native-inputs
(list python-cython
python-extension-helpers
python-pytest-astropy
python-semantic-version python-semantic-version
python-pytest python-pytest
python-setuptools-scm python-setuptools-scm))
python-shapely))
(home-page "https://reproject.readthedocs.io") (home-page "https://reproject.readthedocs.io")
(synopsis "Astronomical image reprojection in Python") (synopsis "Astronomical image reprojection in Python")
(description (description
@ -2206,13 +2231,13 @@ orbits described in TLE files.")
(define-public python-sunpy (define-public python-sunpy
(package (package
(name "python-sunpy") (name "python-sunpy")
(version "4.1.5") (version "5.0.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "sunpy" version)) (uri (pypi-uri "sunpy" version))
(sha256 (sha256
(base32 "1j5g0ivsrc5ji9s7jc3kcbi2injfs3y31pm3priycljwcsxspkpm")))) (base32 "1w75yc8az86pwbf79h083j4kc2ycfk76ky5kzlmcwgp0ih23mhym"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
(list (list
@ -2220,7 +2245,10 @@ orbits described in TLE files.")
#~(list "-k" (string-append #~(list "-k" (string-append
;; XXX: Failed: DID NOT RAISE <class 'ModuleNotFoundError'> ;; XXX: Failed: DID NOT RAISE <class 'ModuleNotFoundError'>
"not test_main_nonexisting_module" "not test_main_nonexisting_module"
" and not test_main_stdlib_module")) " and not test_main_stdlib_module"
;; XXX: packaging.version.InvalidVersion: Invalid version: 'unknown'
" and not test_read_cdf"
" and not test_read_empty_cdf"))
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-before 'install 'writable-compiler (add-before 'install 'writable-compiler
@ -2466,13 +2494,13 @@ image processing functions: @code{xyxymatch}, @code{geomap}.")
(define-public python-stcal (define-public python-stcal
(package (package
(name "python-stcal") (name "python-stcal")
(version "1.3.7") (version "1.4.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "stcal" version)) (uri (pypi-uri "stcal" version))
(sha256 (sha256
(base32 (base32
"0yy0pwi3krvhxfby6nzgpgyz5il3sl1j29ihbk81dh9fdh3ys2n9")))) "163vyqcd9qv2knf8jik8y449z7ljl2lvbd7im82bq61prgi3z2hj"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
(list #:phases #~(modify-phases %standard-phases (list #:phases #~(modify-phases %standard-phases
@ -2495,13 +2523,13 @@ image processing functions: @code{xyxymatch}, @code{geomap}.")
(define-public python-stdatamodels (define-public python-stdatamodels
(package (package
(name "python-stdatamodels") (name "python-stdatamodels")
(version "1.5.0") (version "1.7.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "stdatamodels" version)) (uri (pypi-uri "stdatamodels" version))
(sha256 (sha256
(base32 (base32
"1lssz5mnkzgraqa9mdg1w39scsikymcp3zpmsjb146r0pqnwnpzw")))) "0d7a27myl3xgri3z7yx26mr4dpqnlfhdh5i2ql2miwymi0mx3ij5"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
(list (list
@ -2759,9 +2787,7 @@ standard astronomy libraries:
(define-public libxisf (define-public libxisf
(package (package
(name "libxisf") (name "libxisf")
;; TODO: v0.2.2 (current latest) failed to build on configure phase, issue (version "0.2.8")
;; was open directly with author as he hosts source on seflhosted gitea.
(version "0.2.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -2770,7 +2796,7 @@ standard astronomy libraries:
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0fz9mmj1nz5v7hlr53q8na7khadfn1hm0d1gfpzzw3167bqpy2xv")))) (base32 "1j2bg53hrr2yc55qa6549vcpj7qjnwmxjcdgc98w3ygnrjy7n7v0"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(list #:configure-flags #~(list "-DUSE_BUNDLED_LIBS=OFF"))) (list #:configure-flags #~(list "-DUSE_BUNDLED_LIBS=OFF")))
@ -3216,26 +3242,32 @@ exposures and high-level data products (mosaics, extracted spectra, etc.).")
(define-public python-pyerfa (define-public python-pyerfa
(package (package
(name "python-pyerfa") (name "python-pyerfa")
(version "2.0.0.1") (version "2.0.0.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "pyerfa" version)) (uri (pypi-uri "pyerfa" version))
(sha256 (sha256
(base32 "0c6y1rm51kj8ahbr1vwbswck3ix77dc3zhc2fkg6w7iczrzn7m1g")) (base32 "0f8zykzxjsiwv5ibdn5asla2ng2xl0xdkrcrrd61j31mb3xbnzyp"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin #~(begin
;; Remove bundled submodule library. ;; Remove bundled submodule library.
(delete-file-recursively "liberfa") (delete-file-recursively "liberfa")))))
#t)))) (build-system pyproject-build-system)
(build-system python-build-system)
(arguments (arguments
`(#:phases (list
(modify-phases %standard-phases ;; Disable only one failing test:
(add-before 'build 'use-system-liberfa ;; AttributeError: __warningregistry__
(lambda _ #:test-flags #~(list "-k" "not test_errwarn_reporting")
(setenv "PYERFA_USE_SYSTEM_LIBERFA" "1")))))) #:phases
#~(modify-phases %standard-phases
(add-before 'build 'use-system-liberfa
(lambda _
(setenv "PYERFA_USE_SYSTEM_LIBERFA" "1")))
(add-before 'check 'build-extensions
(lambda _
(invoke "python" "setup.py" "build_ext" "--inplace"))))))
(native-inputs (native-inputs
(list python-pytest-doctestplus python-pytest python-setuptools-scm)) (list python-pytest-doctestplus python-pytest python-setuptools-scm))
(inputs (inputs
@ -3381,13 +3413,13 @@ datetime object.")
(define-public python-synphot (define-public python-synphot
(package (package
(name "python-synphot") (name "python-synphot")
(version "1.2.0") (version "1.2.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "synphot" version)) (uri (pypi-uri "synphot" version))
(sha256 (sha256
(base32 (base32
"02pjp1bnbyq7zi1bxqv56nif4ijd8fscmnn9ldrs8yvgsbmgdvlc")))) "10kcdg2gqmi1w2hsjx9hfizwbff3kll10s68hys13nzh4i8b7cc4"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
(list (list
@ -3854,7 +3886,12 @@ pipelines.")
(sha256 (sha256
(base32 "0hly20a65540hr3l1lsd1i4d90a0vdrbwnn6zx3z8s89ha9lq3pb")))) (base32 "0hly20a65540hr3l1lsd1i4d90a0vdrbwnn6zx3z8s89ha9lq3pb"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(native-inputs (list python-astropy python-ccdproc python-pillow)) (native-inputs
(list python-astropy
python-ccdproc
python-pillow
python-pytest
python-semantic-version))
(propagated-inputs (propagated-inputs
(list python-bottleneck (list python-bottleneck
python-numpy python-numpy

View File

@ -275,7 +275,7 @@ exec ~a --no-auto-compile \"$0\" \"$@\"
(define-public autoconf-archive (define-public autoconf-archive
(package (package
(name "autoconf-archive") (name "autoconf-archive")
(version "2022.09.03") (version "2023.02.20")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -283,7 +283,7 @@ exec ~a --no-auto-compile \"$0\" \"$@\"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"08zl68xdd907fb1r8kb88ycq09w9g53hfbflpq3pkblc1pq58x70")))) "0cqsqdnmjdyybzw8wqhwkgs1vh7r5pbw66a6g7sz2a5fg6209m3i"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "https://www.gnu.org/software/autoconf-archive/") (home-page "https://www.gnu.org/software/autoconf-archive/")
(synopsis "Collection of freely reusable Autoconf macros") (synopsis "Collection of freely reusable Autoconf macros")

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -8432,7 +8432,7 @@ accessed/downloaded on demand across HTTP.")
(inputs (inputs
(list zlib lapack)) (list zlib lapack))
(native-inputs (native-inputs
(list unzip)) (list unzip gcc-8))
(home-page "http://pngu.mgh.harvard.edu/~purcell/plink/") (home-page "http://pngu.mgh.harvard.edu/~purcell/plink/")
(synopsis "Whole genome association analysis toolset") (synopsis "Whole genome association analysis toolset")
(description (description
@ -15057,11 +15057,11 @@ activity prediction from transcriptomics data, and its R implementation
(license license:expat)))) (license license:expat))))
(define-public r-liana (define-public r-liana
(let ((commit "efb1249af46f576d1d620956053cfa93b2cee961") (let ((commit "10d81773e0874de676eb106ce56e3cf9d4fe01d3")
(revision "1")) (revision "1"))
(package (package
(name "r-liana") (name "r-liana")
(version (git-version "0.1.5" revision commit)) (version (git-version "0.1.11" revision commit))
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -15070,13 +15070,13 @@ activity prediction from transcriptomics data, and its R implementation
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0z645k26kqrfj5f1s412vwclw1q47h1zfxxrh9ijr30pxhpv6cv0")))) "0b0m8i9kava36s3cn6vnn5vmiwvqwxmcq8jacy6ccshsji3kgp09"))))
(properties `((upstream-name . "liana"))) (properties `((upstream-name . "liana")))
(build-system r-build-system) (build-system r-build-system)
(arguments (arguments
(list (list
#:phases #:phases
`(modify-phases %standard-phases '(modify-phases %standard-phases
;; This is needed to find ~/.config/OmnipathR/omnipathr.yml ;; This is needed to find ~/.config/OmnipathR/omnipathr.yml
(add-after 'unpack 'set-HOME (add-after 'unpack 'set-HOME
(lambda _ (setenv "HOME" "/tmp")))))) (lambda _ (setenv "HOME" "/tmp"))))))

View File

@ -785,7 +785,7 @@ favourite continuous integration framework. Among Cukinia features are:
#t)))))) #t))))))
(propagated-inputs (propagated-inputs
(list python-ply)) (list python-ply))
(home-page "https://cxxtest.com/") (home-page "https://web.archive.org/web/20230604070022/http://cxxtest.com/")
(synopsis "Unit testing framework for C++") (synopsis "Unit testing framework for C++")
(description "CxxTest is a unit testing framework for C++ that is similar (description "CxxTest is a unit testing framework for C++ that is similar
in spirit to JUnit, CppUnit, and xUnit. CxxTest does not require precompiling in spirit to JUnit, CppUnit, and xUnit. CxxTest does not require precompiling

View File

@ -14652,6 +14652,35 @@ based on entropy estimates from k-nearest neighbors distances and algorithms
for the reconstruction of gene regulatory networks.") for the reconstruction of gene regulatory networks.")
(license license:agpl3+))) (license license:agpl3+)))
(define-public r-partr2
(package
(name "r-partr2")
(version "0.9.1")
(source (origin
(method url-fetch)
(uri (cran-uri "partR2" version))
(sha256
(base32
"06ky0hhrq0mcsn9rwrzvwn0rrjj0l8rxs0hqp10668gdq5hjk8bn"))))
(properties `((upstream-name . "partR2")))
(build-system r-build-system)
(propagated-inputs (list r-dplyr
r-ggplot2
r-lme4
r-magrittr
r-pbapply
r-purrr
r-rlang
r-tibble
r-tidyr))
(native-inputs (list r-knitr))
(home-page "https://github.com/mastoffel/partR2")
(synopsis "Partitioning R2 in generalized linear mixed models")
(description
"This package provides an R tool for estimating and partitioning R2 in
@dfn{generalized linear mixed models} (GLMMs) based on predictor variance.")
(license license:gpl2+)))
(define-public r-pscl (define-public r-pscl
(package (package
(name "r-pscl") (name "r-pscl")

View File

@ -224,7 +224,9 @@ communication, encryption, decryption, signatures, etc.")
"/download/v" version "/signify-" version ".tar.xz")) "/download/v" version "/signify-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0x1bipfphnyvf2kl7n9q4gawaglma79368vb8whama6lxsggsm8i")))) "0x1bipfphnyvf2kl7n9q4gawaglma79368vb8whama6lxsggsm8i"))
(modules '((guix build utils)))
(snippet '(delete-file-recursively "libbsd"))))
(build-system gnu-build-system) (build-system gnu-build-system)
;; TODO Build with libwaive (described in README.md), to implement something ;; TODO Build with libwaive (described in README.md), to implement something
;; like OpenBSD's pledge(). ;; like OpenBSD's pledge().
@ -246,7 +248,7 @@ signatures using the elliptic curve Ed25519. This is a Linux port of the
OpenBSD tool of the same name.") OpenBSD tool of the same name.")
;; This package includes third-party code that was originally released under ;; This package includes third-party code that was originally released under
;; various non-copyleft licenses. See the source files for clarification. ;; various non-copyleft licenses. See the source files for clarification.
(license (list license:bsd-3 license:bsd-4 license:expat license:isc (license (list license:bsd-3 license:expat license:isc
license:public-domain (license:non-copyleft license:public-domain (license:non-copyleft
"file://base64.c" "file://base64.c"
"See base64.c in the distribution for "See base64.c in the distribution for

View File

@ -47,7 +47,7 @@
(define-public debian-archive-keyring (define-public debian-archive-keyring
(package (package
(name "debian-archive-keyring") (name "debian-archive-keyring")
(version "2023.3") (version "2023.4")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -56,8 +56,7 @@
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32 "0gn24dgzpg9zwq2hywkac4ljr5lrh7smyqxm21k2bivl0bhc4ca6"))))
"1x0hsgfq08c53ws5llkhr1jqwr6yr0sccy5w9pz3p1dzbgfv2wd5"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:test-target "verify-results" '(#:test-target "verify-results"
@ -74,8 +73,7 @@
(install-file "keyrings/debian-archive-removed-keys.gpg" key) (install-file "keyrings/debian-archive-removed-keys.gpg" key)
(for-each (lambda (file) (for-each (lambda (file)
(install-file file apt)) (install-file file apt))
(find-files "trusted.gpg" "\\.gpg$"))) (find-files "trusted.gpg" "\\.gpg$"))))))))
#t)))))
(native-inputs (native-inputs
(list gnupg jetring)) (list gnupg jetring))
(home-page "https://packages.qa.debian.org/d/debian-archive-keyring.html") (home-page "https://packages.qa.debian.org/d/debian-archive-keyring.html")

View File

@ -86,10 +86,7 @@
(method url-fetch) (method url-fetch)
(uri (list (uri (list
(string-append "mirror://debian/pool/main/d/delta/" (string-append "mirror://debian/pool/main/d/delta/"
"delta_" version ".orig.tar.gz") "delta_" version ".orig.tar.gz")))
;; This uri seems to send guix download into an infinite loop
(string-append "http://delta.tigris.org/files/documents/3103/"
"33566/delta-" version ".tar.gz")))
(sha256 (sha256
(base32 (base32
"184wh35pf2ddx97319s6sgkzpz48xxkbwzcjpycv009bm53lh61q")))) "184wh35pf2ddx97319s6sgkzpz48xxkbwzcjpycv009bm53lh61q"))))
@ -114,7 +111,8 @@
`("delta" "multidelta" "topformflat")))) `("delta" "multidelta" "topformflat"))))
#t)) #t))
(delete 'configure)))) ; no configure script (delete 'configure)))) ; no configure script
(home-page "http://delta.tigris.org/") (home-page
"https://web.archive.org/web/20200701152100/http://delta.tigris.org/")
(synopsis "Heuristical file minimizer") (synopsis "Heuristical file minimizer")
(description (description
"Delta assists you in minimizing \"interesting\" files subject to a test "Delta assists you in minimizing \"interesting\" files subject to a test

View File

@ -74,7 +74,7 @@
(define-public diffoscope (define-public diffoscope
(package (package
(name "diffoscope") (name "diffoscope")
(version "246") (version "247")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -83,7 +83,7 @@
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1y54r0kayn7nvv0ng9dx6bwxvrwdkd0xaklmfq53z7p00wgx0ly8")))) (base32 "0c81pvdq0bz47sk3gcgpm2l3g5hxdi2s1jz05krv1cr2bd0sfq4j"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
(list (list
@ -243,7 +243,7 @@ install.")
(define-public reprotest (define-public reprotest
(package (package
(name "reprotest") (name "reprotest")
(version "0.7.23") (version "0.7.26")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -252,7 +252,7 @@ install.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0hkzh4i3c5hrbvdkhbmwm5vmb4msnlm5rvhjin6h2ni40kix69g0")))) (base32 "1992wlkil07fmj64lw3i7l16dgkkzphz0f932hbkkj9rlcamdwxd"))))
(inputs (inputs
(list python-debian python-distro python-libarchive-c python-rstr)) (list python-debian python-distro python-libarchive-c python-rstr))
(native-inputs (native-inputs

View File

@ -968,7 +968,7 @@ passphrases.")
(define-public ndctl (define-public ndctl
(package (package
(name "ndctl") (name "ndctl")
(version "75") (version "78")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -977,7 +977,7 @@ passphrases.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0i3fmda285qnwnmkxzwji5ffz123yrq9dpcwzg922qpysir7zq40")))) "0rhmxjajxxslsikixlf9cdg5vcn42h7zzqkqj5p5pshxch368kn0"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
;; The test suite runs but SKIPs all tests: do not consider this tested! ;; The test suite runs but SKIPs all tests: do not consider this tested!
@ -1020,6 +1020,8 @@ passphrases.")
json-c json-c
keyutils keyutils
kmod kmod
libtraceevent
libtracefs
`(,util-linux "lib"))) `(,util-linux "lib")))
(home-page "https://github.com/pmem/ndctl") (home-page "https://github.com/pmem/ndctl")
(synopsis "Manage the non-volatile memory device sub-system in the Linux kernel") (synopsis "Manage the non-volatile memory device sub-system in the Linux kernel")

View File

@ -12208,6 +12208,32 @@ The following completions are currently available:
@end itemize") @end itemize")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-sway
;; Commit from Nicola's fork (dash free version with various improvments)
(let ((commit "838ef531a30fe616f0141adbdabc132d4edfd374")
(revision "0"))
(package
(name "emacs-sway")
(version (git-version "0.6.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/thblt/sway.el")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0ddaz8my3z4ca2z81kf1h8773pyx8h0l0ra3ssqd1rq5j0041wdh"))))
(build-system emacs-build-system)
(home-page "https://github.com/thblt/sway.el")
(synopsis "Communication with the Sway window manager")
(description
"This is a basic library to control the Sway window manager from Emacs.
Its main use case is in combination with popup managers like Shackle, to
use frames instead of windows while still giving focus to existing frames
instead of duplicating them.")
(license license:gpl3+))))
(define-public emacs-sweet-theme (define-public emacs-sweet-theme
(let ((commit "78f741806ecebe01224bf54d09ad80e306652508") (let ((commit "78f741806ecebe01224bf54d09ad80e306652508")
(revision "0")) (revision "0"))
@ -37526,6 +37552,31 @@ clipboard and inserts an Org mode link with a title of a page found by the URL
into the current buffer.") into the current buffer.")
(license license:expat)))) (license license:expat))))
(define-public emacs-org-wild-notifier
(let ((commit "cdca8be45b80ab52077a915e77c625bc0ad07dd7")
(revision "0"))
(package
(name "emacs-org-wild-notifier")
(version (git-version "0.4.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/akhramov/org-wild-notifier.el")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0k37ac752r5whjha4mf9qg74g65kf71a2dlpl4wlxvdml5v1czw1"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-dash emacs-alert emacs-async))
(license license:gpl3+)
(home-page "https://github.com/akhramov/org-wild-notifier.el")
(synopsis "Customizable org-agenda notifications")
(description
"This package provides notification functions for org-agenda."))))
(define-public emacs-flymake-mypy (define-public emacs-flymake-mypy
(let ((commit "d79e158f9ed3065ab692cd0d4048aac985c4fecd") (let ((commit "d79e158f9ed3065ab692cd0d4048aac985c4fecd")
(revision "0")) (revision "0"))

View File

@ -3,7 +3,7 @@
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2016, 2018, 2020-2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2018, 2020-2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 David Thompson <davet@gnu.org> ;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2016, 2017, 2018, 2019, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016-2019, 2021, 2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018 Theodoros Foradis <theodoros@foradis.org> ;;; Copyright © 2016, 2017, 2018 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
@ -37,6 +37,7 @@
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022, 2023 Felix Gruber <felgru@posteo.net> ;;; Copyright © 2022, 2023 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2023 Theofilos Pechlivanis <theofilos.pechlivanis@gmail.com> ;;; Copyright © 2023 Theofilos Pechlivanis <theofilos.pechlivanis@gmail.com>
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -54,24 +55,24 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages engineering) (define-module (gnu packages engineering)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix svn-download)
#:use-module (guix monads)
#:use-module (guix store)
#:use-module (guix utils)
#:use-module ((srfi srfi-1) #:hide (zip))
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system ant) #:use-module (guix build-system ant)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system emacs) #:use-module (guix build-system emacs)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (guix build-system qt) #:use-module (guix build-system qt)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix monads)
#:use-module (guix packages)
#:use-module (guix store)
#:use-module (guix svn-download)
#:use-module (guix utils)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages algebra) #:use-module (gnu packages algebra)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
@ -84,12 +85,10 @@
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages cmake) #:use-module (gnu packages cmake)
#:use-module (gnu packages code) #:use-module (gnu packages code)
#:use-module (gnu packages commencement)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages cpp) #:use-module (gnu packages cpp)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
#:use-module (gnu packages gawk)
#:use-module (gnu packages dejagnu) #:use-module (gnu packages dejagnu)
#:use-module (gnu packages digest) #:use-module (gnu packages digest)
#:use-module (gnu packages docbook) #:use-module (gnu packages docbook)
@ -99,6 +98,7 @@
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages fpga) #:use-module (gnu packages fpga)
#:use-module (gnu packages freedesktop) #:use-module (gnu packages freedesktop)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
#:use-module (gnu packages gd) #:use-module (gnu packages gd)
#:use-module (gnu packages geo) #:use-module (gnu packages geo)
@ -114,19 +114,21 @@
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages imagemagick) #:use-module (gnu packages imagemagick)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages kde-frameworks) #:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages libevent) #:use-module (gnu packages libevent)
#:use-module (gnu packages libusb) #:use-module (gnu packages libusb)
#:use-module (gnu packages linux) ;FIXME: for pcb #:use-module (gnu packages linux) ;FIXME: for pcb
#:use-module (gnu packages lisp) #:use-module (gnu packages lisp)
#:use-module (gnu packages m4) #:use-module (gnu packages m4)
#:use-module (gnu packages maths)
#:use-module (gnu packages man) #:use-module (gnu packages man)
#:use-module (gnu packages multiprecision) #:use-module (gnu packages maths)
#:use-module (gnu packages mpi) #:use-module (gnu packages mpi)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages openkinect)
#:use-module (gnu packages openkinect)
#:use-module (gnu packages parallel) #:use-module (gnu packages parallel)
#:use-module (gnu packages pcre) #:use-module (gnu packages pcre)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
@ -150,20 +152,20 @@
#:use-module (gnu packages swig) #:use-module (gnu packages swig)
#:use-module (gnu packages tbb) #:use-module (gnu packages tbb)
#:use-module (gnu packages tcl) #:use-module (gnu packages tcl)
#:use-module (gnu packages tex)
#:use-module (gnu packages texinfo) #:use-module (gnu packages texinfo)
#:use-module (gnu packages text-editors) #:use-module (gnu packages text-editors)
#:use-module (gnu packages time) #:use-module (gnu packages time)
#:use-module (gnu packages tree-sitter)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages tex) #:use-module (gnu packages tree-sitter)
#:use-module (gnu packages version-control) #:use-module (gnu packages version-control)
#:use-module (gnu packages web) #:use-module (gnu packages web)
#:use-module (gnu packages wxwidgets) #:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xml)
#:use-module (gnu packages xiph)
#:use-module (gnu packages openkinect)
#:use-module (gnu packages xdisorg) #:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)) #:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module ((srfi srfi-1) #:hide (zip)))
(define-public librecad (define-public librecad
(package (package
@ -713,58 +715,58 @@ multipole-accelerated algorithm.")
(package (package
(name "fritzing") (name "fritzing")
(version "0.9.6") (version "0.9.6")
(source (origin (source
(method git-fetch) (origin
(uri (git-reference (method git-fetch)
(url "https://github.com/fritzing/fritzing-app") (uri (git-reference
(commit version))) (url "https://github.com/fritzing/fritzing-app")
(file-name (git-file-name name version)) (commit version)))
(sha256 (file-name (git-file-name name version))
(base32 (sha256
"083nz7vj7a334575smjry6257535h68gglh8a381xxa36dw96aqs")))) (base32 "083nz7vj7a334575smjry6257535h68gglh8a381xxa36dw96aqs"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases (list
(modify-phases %standard-phases #:phases
(replace 'configure #~(modify-phases %standard-phases
(lambda* (#:key inputs outputs #:allow-other-keys) (replace 'configure
(copy-recursively (assoc-ref inputs "fritzing-parts-db") (lambda _
"parts") ;; Integrate parts library
;; Use system libgit2 and boost. (copy-recursively
(substitute* "phoenix.pro" (string-append #$(this-package-native-input "fritzing-parts")
(("^LIBGIT_STATIC.*") "/share/library")
(string-append "LIBGIT2INCLUDE=" (assoc-ref inputs "libgit2") "/include\n" "parts")
"LIBGIT2LIB=" (assoc-ref inputs "libgit2") "/lib\n" ;; Use system libgit2 and boost.
"INCLUDEPATH += $$LIBGIT2INCLUDE\n" (substitute* "phoenix.pro"
"LIBS += -L$$LIBGIT2LIB -lgit2\n")) (("^LIBGIT_STATIC.*")
(("^.*pri/libgit2detect.pri.") "")) (string-append
;; Trick the internal mechanism to load the parts "LIBGIT2INCLUDE=" #$(this-package-input "libgit2") "/include\n"
(substitute* "src/version/partschecker.cpp" "LIBGIT2LIB=" #$(this-package-input "libgit2") "/lib\n"
((".*git_libgit2_init.*") "INCLUDEPATH += $$LIBGIT2INCLUDE\n"
"return \"083nz7vj7a334575smjry6257535h68gglh8a381xxa36dw96aqs\";")) "LIBS += -L$$LIBGIT2LIB -lgit2\n"))
(("^.*pri/libgit2detect.pri.") ""))
(let ((out (assoc-ref outputs "out"))) ;; Trick the internal mechanism to load the parts
(invoke "qmake" (substitute* "src/version/partschecker.cpp"
(string-append "QMAKE_LFLAGS_RPATH=-Wl,-rpath," out "/lib") ((".*git_libgit2_init.*")
(string-append "PREFIX=" out) "return \"083nz7vj7a334575smjry6257535h68gglh8a381xxa36dw96aqs\";"))
"phoenix.pro"))))))) ;; XXX: NixOS and Gento have a phase where they generate part
;; SQLite library, have proper investigation if it's required in
;; Guix as well.
(invoke "qmake"
(string-append "QMAKE_LFLAGS_RPATH=-Wl,-rpath," #$output "/lib")
(string-append "PREFIX=" #$output)
"phoenix.pro"))))))
(native-inputs
(list fritzing-parts))
(inputs (inputs
`(("qtbase" ,qtbase-5) (list boost
("qtserialport" ,qtserialport) libgit2
("qtsvg-5" ,qtsvg-5) qtbase-5
("libgit2" ,libgit2) ;; TODO: Needs to be renamed to qtserialport-5. when version 6 is
("boost" ,boost) ;; packed.
("zlib" ,zlib) qtserialport
("fritzing-parts-db" qtsvg-5
,(origin zlib))
(method git-fetch)
(uri (git-reference
(url "https://github.com/fritzing/fritzing-parts")
(commit (string-append "release_" version))))
(file-name (git-file-name "fritzing-parts" version))
(sha256
(base32
"0wsvn57v6n0ygnhk2my94rrfzb962z1cj4d1xmp1farwck3811h6"))))))
(home-page "https://fritzing.org") (home-page "https://fritzing.org")
(synopsis "Electronic circuit design") (synopsis "Electronic circuit design")
(description (description
@ -778,6 +780,43 @@ ready for production.")
;; released under GPLv3+. ;; released under GPLv3+.
(license (list license:gpl3+ license:cc-by-sa3.0)))) (license (list license:gpl3+ license:cc-by-sa3.0))))
(define-public fritzing-parts
;; XXX: Release of the parts stopped in 2016 and it looks like develop
;; branch has latest changes comparing to other branches.
(let ((commit "d61d63de9294343b1b6e86f149e78e4b1d3a0009")
(revision "0"))
(package
(name "fritzing-parts")
(version (git-version "0.9.6" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/fritzing/fritzing-parts")
(commit commit)))
(file-name (git-file-name "fritzing-parts" version))
(sha256
(base32 "0g39ja1aqw5qx8alf61m6zcy6y78j9ky556x6x1cnd6g7kkzd861"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan
#~'(("." "share/library/"
#:exclude-regexp (".github.*"
".gitignore"
"CONTRIBUTING.md"
"LICENSE.txt"
"README.md")))
#:modules '(((guix build gnu-build-system) #:prefix gnu:)
(guix build copy-build-system)
(guix build utils)
(ice-9 match))))
(home-page "https://fritzing.org")
(synopsis "Electronic components (parts library) for use in the Fritzing app")
(description "This package contains all part definitions that are
required for Fritzing app.")
(license license:cc-by-sa3.0))))
(define-public qelectrotech (define-public qelectrotech
(package (package
(name "qelectrotech") (name "qelectrotech")
@ -2242,7 +2281,11 @@ parallel computing platforms. It also supports serial execution.")
#t))))) #t)))))
(inputs (inputs
(list coreutils (list coreutils
gcc-toolchain
;; Lazily resolve the gcc-toolchain to avoid a circular dependency.
(module-ref (resolve-interface '(gnu packages commencement))
'gcc-toolchain)
guile-2.2 guile-2.2
perl perl
pkg-config pkg-config
@ -2406,7 +2449,7 @@ simulation.")
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/radareorg/cutter") (url "https://github.com/rizinorg/cutter")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
@ -2436,7 +2479,7 @@ simulation.")
;; Depends on radare2 4.5.1 officially, builds and works fine with ;; Depends on radare2 4.5.1 officially, builds and works fine with
;; radare2 5.0.0 but fails to build with radare2 5.1.1. ;; radare2 5.0.0 but fails to build with radare2 5.1.1.
radare2-for-cutter)) radare2-for-cutter))
(home-page "https://github.com/radareorg/cutter") (home-page "https://cutter.re")
(synopsis "GUI for radare2 reverse engineering framework") (synopsis "GUI for radare2 reverse engineering framework")
(description "Cutter is a GUI for radare2 reverse engineering framework. (description "Cutter is a GUI for radare2 reverse engineering framework.
Its goal is making an advanced andcustomizable reverse-engineering platform Its goal is making an advanced andcustomizable reverse-engineering platform
@ -2687,7 +2730,7 @@ comments.")))
(define-public freecad (define-public freecad
(package (package
(name "freecad") (name "freecad")
(version "0.20.2") (version "0.21.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -2696,7 +2739,7 @@ comments.")))
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0wsfz2jqfhmqshyr1n4qxcc3c6a96gyll4h34vn2zzvvcnncn9rb")))) (base32 "1i1wv3swnnimmn3kwphb2fcmsc64z96rcg7fhfsgqxcbyrygw6w7"))))
(build-system qt-build-system) (build-system qt-build-system)
(native-inputs (native-inputs
(list doxygen (list doxygen
@ -2710,6 +2753,7 @@ comments.")))
coin3D coin3D
double-conversion double-conversion
eigen eigen
fmt
fontconfig fontconfig
freetype freetype
gl2ps gl2ps

View File

@ -2,7 +2,7 @@
;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com> ;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019, 2020, 2023 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2021 Solene Rapenne <solene@perso.pw> ;;; Copyright © 2021 Solene Rapenne <solene@perso.pw>
;;; Copyright © 2022 jgart <jgart@dismail.de> ;;; Copyright © 2022 jgart <jgart@dismail.de>
@ -35,14 +35,14 @@
(define-public entr (define-public entr
(package (package
(name "entr") (name "entr")
(version "5.2") (version "5.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://eradman.com/entrproject/code/entr-" (uri (string-append "https://eradman.com/entrproject/code/entr-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1063b33bqggyqd0h7cvcvznpgiy9s2zqkdsc1q622xdh8sfk0zi3")))) "17hz4aca6dsh6z58625jg8fbk5m9ng3s95pl4s6ws79zrk9dw7a9"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:test-target "test" `(#:test-target "test"
@ -64,18 +64,19 @@
(("/bin/cat" command) (("/bin/cat" command)
(search-input-file inputs command)) (search-input-file inputs command))
(("/usr(/bin/clear)" _ command) (("/usr(/bin/clear)" _ command)
(search-input-file inputs command))) (search-input-file inputs command))))))))
#t)))))
(inputs (inputs
(list bash coreutils ncurses)) (list bash coreutils ncurses))
(home-page "https://eradman.com/entrproject/") (home-page "https://eradman.com/entrproject/")
(synopsis "Run arbitrary commands when files change") (synopsis "Run arbitrary commands when files change")
(description (description
"entr is a zero-configuration tool with no external build or run-time "@acronym{entr, event notify test runner} reads a list of file names from
dependencies. The interface to entr is not only minimal, it aims to be simple standard input and executes a given command (including arguments) whenever any
enough to create a new category of ad hoc automation. These micro-tests of them change. It aims to facilitate rapid feedback and automated testing.
reduce keystrokes, but more importantly they emphasize the utility of
automated checks.") For example, you can use @command{entr} to automatically invoke @command{make}
each time you modify a source code file. It supports interactive utilities and
doesn't waste resources by polling for changes.")
;; Per 'LICENSE', portability code under missing/ is under BSD-2. ;; Per 'LICENSE', portability code under missing/ is under BSD-2.
(license isc))) (license isc)))

View File

@ -44,6 +44,7 @@
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages acl) #:use-module (gnu packages acl)
#:use-module (gnu packages admin) #:use-module (gnu packages admin)
#:use-module (gnu packages algebra)
#:use-module (gnu packages attr) #:use-module (gnu packages attr)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages backup) #:use-module (gnu packages backup)
@ -1201,8 +1202,8 @@ APFS.")
(define-public xfstests (define-public xfstests
;; The last release (1.1.0) is from 2011. ;; The last release (1.1.0) is from 2011.
(let ((revision "2") (let ((revision "3")
(commit "87f90a2dae7a4adb7a0a314e27abae9aa1de78fb")) (commit "8de535c53887bb49adae74a1b2e83e77d7e8457d"))
(package (package
(name "xfstests") (name "xfstests")
(version (git-version "1.1.0" revision commit)) (version (git-version "1.1.0" revision commit))
@ -1214,124 +1215,123 @@ APFS.")
(commit commit))) (commit commit)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "11p690k7h4f00bd14r60xa8sw34x14bh5rfd6x7j8gbkpsgsidli")))) (base32 "1sbkryl04xflrk6jb4fsl3h2whilj5m3vpdkpwwb26idp7ckjjv6"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases (list
(modify-phases %standard-phases #:phases
(add-after 'unpack 'patch-tool-locations #~(modify-phases %standard-phases
(lambda* (#:key inputs #:allow-other-keys) (add-after 'unpack 'patch-tool-locations
(substitute* "common/config" (lambda* (#:key inputs #:allow-other-keys)
;; Make absolute file names relative. (substitute* "common/config"
(("(MKFS_PROG=\").*(\")" _ pre post) ;; Make absolute file names relative.
(string-append pre "mkfs" post))) (("(MKFS_PROG=\").*(\")" _ pre post)
(for-each (lambda (file) (string-append pre "mkfs" post)))
(substitute* file (for-each (lambda (file)
(("( -s|#.|[= ])(/bin/sh|/bin/bash)" _ pre match) (substitute* file
(string-append pre (("( -s|#.|[= ])(/bin/sh|/bin/bash)" _ pre match)
(assoc-ref inputs "bash") (string-append pre
match)) (search-input-file inputs match)))
(("/bin/(rm|true)" match) (("/bin/(rm|true)" match)
(search-input-file inputs match)) (search-input-file inputs match))
(("/usr(/bin/time)" _ match) (("/usr(/bin/time)" _ match)
(search-input-file inputs match)))) (search-input-file inputs match))))
(append (find-files "common" ".*") (append (find-files "common" ".*")
(find-files "tests" ".*") (find-files "tests" ".*")
(find-files "tools" ".*") (find-files "tools" ".*")
(find-files "src" "\\.(c|sh)$"))))) (find-files "src" "\\.(c|sh)$")))))
(replace 'bootstrap (replace 'bootstrap
(lambda* (#:key make-flags #:allow-other-keys) (lambda* (#:key make-flags #:allow-other-keys)
(substitute* "Makefile" (substitute* "Makefile"
;; Avoid a mysterious (to me) permission denied error. ;; Avoid a mysterious (to me) permission denied error.
(("cp ") "cp -f ")) (("cp ") "cp -f "))
(substitute* "m4/package_utilies.m4" (substitute* "m4/package_utilies.m4"
;; Fix the bogus hard-coded paths for every single binary. ;; Fix the bogus hard-coded paths for every single binary.
(("(AC_PATH_PROG\\(.*, ).*(\\))" _ pre post) (("(AC_PATH_PROG\\(.*, ).*(\\))" _ pre post)
(string-append pre (getenv "PATH") post))) (string-append pre (getenv "PATH") post)))
(apply invoke "make" "configure" make-flags))) (apply invoke "make" "configure" make-flags)))
(add-after 'install 'wrap-xfstests/check (add-after 'install 'wrap-xfstests/check
;; Keep wrapping distinct from 'create-helper-script below: users ;; Keep wrapping distinct from 'create-helper-script below: users
;; must be able to invoke xfstests/check directly if they prefer. ;; must be able to invoke xfstests/check directly if they prefer.
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))) (wrap-program (string-append #$output "/xfstests/check")
(wrap-program (string-append out "/xfstests/check") ;; Prefix the user's PATH with the minimum required tools.
;; Prefix the user's PATH with the minimum required tools. ;; The suite has many other optional dependencies and will
;; The suite has many other optional dependencies and will ;; automatically select tests based on the original PATH.
;; automatically select tests based on the original PATH. `("PATH" ":" prefix
`("PATH" ":" prefix ,(map (lambda (file)
,(map (lambda (name) (dirname (search-input-file inputs file)))
(let ((input (assoc-ref inputs name))) (list "bin/setfacl" ; acl
(string-append input "/bin:" "bin/attr" ; attr
input "/sbin"))) "bin/bc" ; bc
(list "acl" "bin/df" ; coreutils
"attr" "bin/hostname" ; inetutils
"coreutils" "bin/perl" ; perl
"inetutils" "sbin/mkfs.xfs")))))) ; xfsprogs
"xfsprogs"))))))) (add-after 'install 'create-helper
(add-after 'install 'create-helper ;; Upstream installs only a check script that's not in $PATH and
;; Upstream installs only a check script that's not in $PATH and ;; would try to write to the store without explaining how to change
;; would try to write to the store without explaining how to change ;; that. Install a simple helper script to make it discoverable.
;; that. Install a simple helper script to make it discoverable. (lambda* (#:key inputs #:allow-other-keys)
(lambda* (#:key inputs outputs #:allow-other-keys) (let* ((check (string-append #$output "/xfstests/check"))
(let* ((out (assoc-ref outputs "out")) (bin (string-append #$output "/bin"))
(check (string-append out "/xfstests/check")) (helper (string-append bin "/xfstests-check")))
(bin (string-append out "/bin")) (mkdir-p bin)
(helper (string-append bin "/xfstests-check"))) (with-output-to-file helper
(mkdir-p bin) (lambda _
(with-output-to-file helper (format #t "#!~a --no-auto-compile\n!#\n"
(lambda _ (search-input-file inputs "/bin/guile"))
(format #t "#!~a --no-auto-compile\n!#\n" (write
(search-input-file inputs "/bin/guile")) `(begin
(write (define (try proc dir)
`(begin "Try to PROC DIR. Return DIR on success, else #f."
(define (try proc dir) (with-exception-handler (const #f)
"Try to PROC DIR. Return DIR on success, else #f." (lambda _ (proc dir) dir)
(with-exception-handler (const #f) #:unwind? #t))
(lambda _ (proc dir) dir)
#:unwind? #t))
(define args (define args
(cdr (command-line))) (cdr (command-line)))
(when (or (member "--help" args) (when (or (member "--help" args)
(member "-h" args)) (member "-h" args))
(format #t "Usage: ~a [OPTION]... (format #t "Usage: ~a [OPTION]...
This Guix helper sets up a new writable RESULT_BASE if it's unset, then executes This Guix helper sets up a new writable RESULT_BASE if it's unset, then executes
xfstest's \"~a\" command (with any OPTIONs) as documented below.\n\n" xfstest's \"~a\" command (with any OPTIONs) as documented below.\n\n"
,(basename helper) ,(basename helper)
,(basename check))) ,(basename check)))
(let* ((gotenv-base (getenv "RESULT_BASE")) (let* ((gotenv-base (getenv "RESULT_BASE"))
(base (or gotenv-base (base (or gotenv-base
(let loop ((count 0)) (let loop ((count 0))
(or (try mkdir (or (try mkdir
(format #f "xfstests.~a" (format #f "xfstests.~a"
count)) count))
(loop (+ 1 count)))))) (loop (+ 1 count))))))
(result-base (if (string-prefix? "/" base) (result-base (if (string-prefix? "/" base)
base base
(string-append (getcwd) "/" (string-append (getcwd) "/"
base)))) base))))
(setenv "RESULT_BASE" result-base) (setenv "RESULT_BASE" result-base)
;; CHECK must run in its own directory or will fail. ;; CHECK must run in its own directory or will fail.
(chdir ,(dirname check)) (chdir ,(dirname check))
(let ((status (let ((status
(status:exit-val (apply system* ,check args)))) (status:exit-val (apply system* ,check args))))
(unless gotenv-base (unless gotenv-base
(try rmdir result-base)) (try rmdir result-base))
status)))))) status))))))
(chmod helper #o755))))))) (chmod helper #o755)))))))
(native-inputs (native-inputs
(list autoconf automake libtool)) (list autoconf automake libtool))
(inputs (inputs
`(("acl" ,acl) (list acl
("attr" ,attr) attr
("guile" ,guile-3.0) ; for our xfstests-check helper script bc
("inetutils" ,inetutils) ; for hostname guile-3.0 ; for our xfstests-check helper script
("libuuid" ,util-linux "lib") inetutils
("perl" ,perl) ; to automagically patch shebangs `(,util-linux "lib")
("time" ,time) perl
("xfsprogs" ,xfsprogs))) time
xfsprogs))
(home-page "https://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git") (home-page "https://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git")
(synopsis "File system @acronym{QA, Quality Assurance} test suite") (synopsis "File system @acronym{QA, Quality Assurance} test suite")
(description (description

View File

@ -288,14 +288,14 @@ Accounting.")
(define-public homebank (define-public homebank
(package (package
(name "homebank") (name "homebank")
(version "5.6.5") (version "5.6.6")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://homebank.free.fr/public/sources/" (uri (string-append "http://homebank.free.fr/public/sources/"
"homebank-" version ".tar.gz")) "homebank-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1a1cdldvs0xc30xkxkap72gafss90hmglakad5r8aykxz3y4sjdm")))) "03nwcpxmsw82gnhy1dialky1d9mfb2jqdzlgc79bxwhlhpqwsvv5"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(native-inputs (native-inputs
(list pkg-config intltool)) (list pkg-config intltool))

View File

@ -2017,10 +2017,6 @@ scripted in a Python-like language.")
"assimp" "assimp"
"astcenc" "astcenc"
"basis_universal" "basis_universal"
;; TODO: Can unbundle once
;; <https://github.com/godotengine/godot/pull/79101>
;; is merged
"brotli"
;; Godot needs ca-certificates.crt, but that is ;; Godot needs ca-certificates.crt, but that is
;; not available in build environment ;; not available in build environment
"certs" "certs"
@ -2067,6 +2063,7 @@ scripted in a Python-like language.")
"use_volk=no" "use_volk=no"
;; Avoid using many of the bundled libs. ;; Avoid using many of the bundled libs.
;; Note: These options can be found in the SConstruct file. ;; Note: These options can be found in the SConstruct file.
"builtin_brotli=no"
"builtin_embree=no" "builtin_embree=no"
"builtin_enet=no" "builtin_enet=no"
"builtin_freetype=no" "builtin_freetype=no"
@ -2193,6 +2190,7 @@ scripted in a Python-like language.")
(list pkg-config)) (list pkg-config))
(inputs (inputs
(list alsa-lib (list alsa-lib
brotli
dbus dbus
embree embree
enet enet

View File

@ -7978,7 +7978,7 @@ original.")
(define xonotic-data (define xonotic-data
(package (package
(name "xonotic-data") (name "xonotic-data")
(version "0.8.5") (version "0.8.6")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -7986,7 +7986,7 @@ original.")
version ".zip")) version ".zip"))
(file-name (string-append name "-" version ".zip")) (file-name (string-append name "-" version ".zip"))
(sha256 (sha256
(base32 "1r9pdrrki7mkdw99zh9m7911fqldsfdnl0nrp5cv1bk2hcism4hg")))) (base32 "0kcnps65k81sm56s5dclahvllilnir3ix9kf5xr9jx0fh26hz1ah"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(native-inputs (list unzip)) (native-inputs (list unzip))
(arguments (arguments

View File

@ -4689,7 +4689,7 @@ and RDP protocols.")
(propagated-inputs (propagated-inputs
;; In Requires of dconf.pc. ;; In Requires of dconf.pc.
(list glib)) (list glib))
(home-page "https://developer.gnome.org/dconf/") (home-page "https://wiki.gnome.org/action/show/Projects/dconf")
(synopsis "Low-level GNOME configuration system") (synopsis "Low-level GNOME configuration system")
(description "Dconf is a low-level configuration system. Its main purpose (description "Dconf is a low-level configuration system. Its main purpose
is to provide a backend to GSettings on platforms that don't already have is to provide a backend to GSettings on platforms that don't already have

View File

@ -1594,14 +1594,14 @@ guile-gnome-platform (GNOME developer libraries), and guile-gtksourceview.")
(define-public cairomm (define-public cairomm
(package (package
(name "cairomm") (name "cairomm")
(version "1.16.1") (version "1.16.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.cairographics.org/releases/" (uri (string-append "https://www.cairographics.org/releases/"
name "-" version ".tar.xz")) "cairomm-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1im2yjzvjfx8s7cal9kwq23z936kppfmyag2zsnbim4dx7c60q3g")))) "0gy1gn79gwqzrf1d7f7rf25yy2dr7xginkg3al7jpnkxm6cbyqva"))))
(build-system meson-build-system) (build-system meson-build-system)
(outputs '("out" "doc")) (outputs '("out" "doc"))
(arguments (arguments

View File

@ -1054,36 +1054,33 @@ It has a nice, simple s-expression based syntax.")
(inputs (list guile-2.2)))) (inputs (list guile-2.2))))
(define-public guile-scheme-json-rpc (define-public guile-scheme-json-rpc
(let ((commit "45ae6890f6619286f5679f88c094c88127b54c4a") (package
(revision "0") (name "guile-scheme-json-rpc")
(version "0.2.11")) (version "0.4.0")
(package (source (origin
(name "guile-scheme-json-rpc") (method git-fetch)
(version (git-version version revision commit)) (uri (git-reference
(source (origin (url "https://codeberg.org/rgherdt/scheme-json-rpc.git")
(method git-fetch) (commit version)))
(uri (git-reference (file-name (git-file-name name version))
(url "https://codeberg.org/rgherdt/scheme-json-rpc.git") (sha256
(commit commit))) (base32
(file-name (git-file-name name version)) "0jsampz2ahs18z6yh9b5l3lkj8ycnavs0vg9sjngdj3w3zvrdcvm"))))
(sha256 (build-system gnu-build-system)
(base32 (arguments
"0w4m8xx8yyj0rv0q57mjr8ja87l7yikscj33i3ck26wg7230ppa5")))) `(#:phases (modify-phases %standard-phases
(build-system gnu-build-system) (add-after 'unpack 'change-to-guile-dir
(arguments (lambda _
`(#:phases (modify-phases %standard-phases (chdir "guile"))))))
(add-after 'unpack 'change-to-guile-dir (inputs (list guile-3.0 guile-srfi-145 guile-srfi-180))
(lambda _ (native-inputs (list pkg-config))
(chdir "guile")))))) (synopsis "Library providing JSON-RPC capability for Guile Scheme")
(inputs (list guile-3.0 guile-json-3)) (description
(native-inputs (list pkg-config)) "This library implements parts of the
(synopsis "Library providing JSON-RPC capability in Scheme")
(description
"This library implements parts of the
@uref{https://www.jsonrpc.org/specification,JSON-RPC specification}, allowing @uref{https://www.jsonrpc.org/specification,JSON-RPC specification}, allowing
for calling methods on remote servers by exchanging JSON objects.") for calling methods on remote servers by exchanging JSON objects.")
(home-page "https://codeberg.org/rgherdt/scheme-json-rpc/") (home-page "https://codeberg.org/rgherdt/scheme-json-rpc/")
(license license:expat)))) (license license:expat)))
(define-public guile-squee (define-public guile-squee
(let ((commit "9f2609563fc53466e46d37c8d8d2fbcfce67b2ba") (let ((commit "9f2609563fc53466e46d37c8d8d2fbcfce67b2ba")
@ -2505,14 +2502,14 @@ many readers as needed).")
(define-public guile-ncurses (define-public guile-ncurses
(package (package
(name "guile-ncurses") (name "guile-ncurses")
(version "3.0") (version "3.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/guile-ncurses/guile-ncurses-" (uri (string-append "mirror://gnu/guile-ncurses/guile-ncurses-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"038xbffalhymg26lvmzgf7ljilxz2f2zmqg5r5nfzbipfbprwjhf")))) "0cypz1ikw66n8bc2klsnnaj1plpl22dwq6pwyc7dvffamz7fi2gf"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (list ncurses guile-3.0)) (inputs (list ncurses guile-3.0))
(native-inputs (list pkg-config)) (native-inputs (list pkg-config))
@ -2539,8 +2536,7 @@ many readers as needed).")
(substitute* files (substitute* files
(("\"libguile-ncurses\"") (("\"libguile-ncurses\"")
(format #f "\"~a/lib/guile/~a/libguile-ncurses\"" (format #f "\"~a/lib/guile/~a/libguile-ncurses\""
out (target-guile-effective-version)))) out (target-guile-effective-version))))))))))
#t))))))
(home-page "https://www.gnu.org/software/guile-ncurses/") (home-page "https://www.gnu.org/software/guile-ncurses/")
(synopsis "Guile bindings to ncurses") (synopsis "Guile bindings to ncurses")
(description (description

View File

@ -243,13 +243,20 @@ may also simplify input method development.")
#~(modify-phases #$phases #~(modify-phases #$phases
(replace 'wrap-with-additional-paths (replace 'wrap-with-additional-paths
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
;; Make sure 'ibus-setup' runs with the correct ;; Make sure 'ibus-setup' and 'ibus-daemon' runs with the
;; GUIX_PYTHONPATH and GI_TYPELIB_PATH. ;; correct GUIX_PYTHONPATH and GI_TYPELIB_PATH. Wrap
(wrap-program (search-input-file outputs "bin/ibus-setup") ;; 'ibus-daemon' is needed because engines spawned by
`("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH"))) ;; the daemon need access to those libraries.
`("GI_TYPELIB_PATH" ":" prefix (for-each
(,(getenv "GI_TYPELIB_PATH") (lambda (prog)
,(string-append #$output "/lib/girepository-1.0")))))))))) (wrap-program prog
`("GUIX_PYTHONPATH" ":" prefix
(,(getenv "GUIX_PYTHONPATH")))
`("GI_TYPELIB_PATH" ":" prefix
(,(getenv "GI_TYPELIB_PATH")
,(string-append #$output "/lib/girepository-1.0")))))
(list (search-input-file outputs "bin/ibus-setup")
(search-input-file outputs "bin/ibus-daemon")))))))))
(inputs (modify-inputs (package-inputs ibus-minimal) (inputs (modify-inputs (package-inputs ibus-minimal)
(prepend gtk (prepend gtk
pango pango
@ -899,6 +906,99 @@ hanja dictionary and small hangul character classification.")
"ibus-hangul is a Korean input method engine for IBus.") "ibus-hangul is a Korean input method engine for IBus.")
(license gpl2+))) (license gpl2+)))
(define-public ibus-table
(package
(name "ibus-table")
(version "1.17.1")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/mike-fabian/ibus-table/releases/download/"
version "/ibus-table-" version ".tar.gz"))
(sha256
(base32 "063ba4fwk04lh0naj8z9r9x15ikckp94pd3f8xn40z3lnwsjx2sj"))
(patches (search-patches "ibus-table-paths.patch"))))
(build-system gnu-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda _
(substitute* "engine/tabcreatedb.py"
(("/usr/share/ibus-table")
(string-append #$output "/share/ibus-table")))
(substitute* "engine/ibus_table_location.py"
(("/usr/share/ibus-table")
(string-append #$output "/share/ibus-table"))
(("/usr/libexec")
(string-append #$output "/libexec")))))
(add-before 'check 'pre-check
(lambda _
(setenv "HOME" (getcwd))))))) ; tests write to $HOME
(native-inputs (list (list glib "bin") pkg-config))
(inputs (list glib gtk+ ibus python python-pygobject))
(native-search-paths
(list (search-path-specification
(variable "IBUS_TABLE_LOCATION")
(files '("share/ibus-table"))
(separator #f))))
(home-page "https://mike-fabian.github.io/ibus-table")
(synopsis "Table based input framework for IBus")
(description
"@code{ibus-table} is a framework for table based input methods using
IBus.")
(license lgpl2.1+)))
(define-public ibus-table-others
(package
(name "ibus-table-others")
(version "1.3.16")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/moebiuscurve/ibus-table-others/releases/"
"download/" version "/ibus-table-others-" version ".tar.gz"))
(sha256
(base32 "0vllwrjlgcvdjhs7nrg45hfvnivnfhrc05r6rhw8m0c41layl9jg"))))
(build-system gnu-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(add-before 'build 'pre-build
(lambda _
(setenv "HOME" (getcwd))))))) ; db written in $HOME
(native-inputs (list pkg-config python))
(inputs (list ibus ibus-table))
(home-page "https://github.com/moebiuscurve/ibus-table-others")
(synopsis "Various table-based input methods for IBus")
(description
"@code{ibus-table-others} provides the following input methods on
IBus-Table on IBus framework:
@itemize
@item CNS11643
@item Compose
@item Emoji
@item IPA-X-SAMPA
@item LaTex
@item Mathwriter
@item Mongol bichig
@item RussianTraditional
@item Telex
@item Thai
@item Translit
@item Ua-Translit
@item Viqr
@item VNI
@item Yawerty
@end itemize")
;; GPL-3.0-or-later: vni, ipa-x-sampa, telex
;; WTFPL: mongol_bichig
;; LGPL-2.1-or-later: others
(license (list lgpl2.1+ gpl3+ wtfpl2))))
(define-public ibus-speech-to-text (define-public ibus-speech-to-text
(package (package
(name "ibus-speech-to-text") (name "ibus-speech-to-text")

View File

@ -409,19 +409,23 @@ for the IRCv3 protocol.")
(define-public catgirl (define-public catgirl
(package (package
(name "catgirl") (name "catgirl")
(version "2.1") (version "2.2")
(source (origin (source
(method url-fetch) (origin
(uri (string-append "https://git.causal.agency/catgirl/snapshot/" (method git-fetch)
name "-" version ".tar.gz")) (uri (git-reference
(sha256 (url "https://git.causal.agency/catgirl")
(base32 (commit version)))
"13pfphcfkdzqfb4x7w21xp6rnmg3ix9f39mpqmxxzg15ys1gp2x6")))) (file-name (git-file-name name version))
(sha256
(base32 "0r1h10qdhhgy3359ndbjh269daivm126qc0c23db7bffv0xs4bff"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; no tests (list
#:make-flags (list (string-append "PREFIX=" %output) #:tests? #f ; no tests
,(string-append "CC=" (cc-for-target))))) #:make-flags
#~(list (string-append "prefix=" #$output)
(string-append "CC=" #$(cc-for-target)))))
(native-inputs (native-inputs
(list universal-ctags pkg-config)) (list universal-ctags pkg-config))
(inputs (inputs

872
gnu/packages/java-rdf.scm Normal file
View File

@ -0,0 +1,872 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2023 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages java-rdf)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix gexp)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system ant)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages java))
(define-public java-jsonld-java
(package
(name "java-jsonld-java")
(version "0.13.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jsonld-java/jsonld-java")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0d113szja4p16k2n2way8mmdj1kxzanjcnnsdan65iw27qag7dr0"))))
(build-system ant-build-system)
(arguments
(list #:tests? #f ; no tests included
#:jar-name "jsonld-java.jar"
#:source-dir "core/src/main/java"
#:test-dir "core/src/test"
#:phases
#~(modify-phases %standard-phases
(add-before 'install 'generate-pom.xml
(generate-pom.xml "guix-pom.xml"
"com.github.jsonld-java"
"jsonld-java" #$version))
(replace 'install
(install-from-pom "guix-pom.xml")))))
(inputs (list java-slf4j-api java-guava
java-commons-io
java-httpcomponents-httpcore
java-httpcomponents-httpcore-osgi
java-httpcomponents-httpclient
java-httpcomponents-httpclient-cache
java-httpcomponents-httpclient-osgi
java-fasterxml-jackson-core
java-fasterxml-jackson-databind))
(home-page "https://github.com/jsonld-java/jsonld-java")
(synopsis "Java implementation of JSON-LD")
(description "This package provides a Java implementation of JSON-LD 1.0.")
(license license:bsd-3)))
(define-public java-commons-rdf-api
(package
(name "java-commons-rdf-api")
(version "0.5.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/commons/rdf/source/"
"apache-commons-rdf-" version
"-source-release.zip"))
(sha256
(base32
"14ihqgpbci6z5a5xlksbhjjxaw1kb80gx1k8l20v8w41in53rzqz"))))
(build-system ant-build-system)
(arguments
(list #:jar-name "commons-rdf-api.jar"
#:source-dir "src/main/java"
#:test-dir "src/test"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir "commons-rdf-api")))
(replace 'install
(install-from-pom "pom.xml")))))
(native-inputs (list java-junit java-slf4j-simple unzip))
(home-page "https://commons.apache.org/proper/commons-rdf/")
(synopsis "Java interfaces for RDF 1.1 concepts")
(description "This package provides Java interfaces for RDF 1.1 concepts.")
(license license:asl2.0)))
(define-public java-commons-rdf-api-tests
(package
(inherit java-commons-rdf-api)
(name "java-commons-rdf-api-tests")
(arguments
(list #:tests? #f
#:jar-name "commons-rdf-api-tests.jar"
#:source-dir "commons-rdf-api/src/test/java"))
(propagated-inputs (list java-commons-rdf-api
java-junit
java-slf4j-simple))
(native-inputs (list unzip))
(description "This package provides common test classes for packages
implementing java-commons-rdf-api.")))
(define-public java-commons-rdf-rdf4j
(package
(inherit java-commons-rdf-api)
(name "java-commons-rdf-rdf4j")
(version "0.5.0")
(arguments
(list #:jar-name "commons-rdf-rdf4j.jar"
#:source-dir "src/main/java"
#:test-dir "src/test"
#:test-exclude (list "**/RDF4JServiceLoaderTest.java")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir "commons-rdf-rdf4j")))
(add-before 'install 'fix-pom
(lambda _
(substitute* "pom.xml"
(("\\$\\{project\\.parent\\.groupId\\}")
"org.apache.commons"))))
(replace 'install
(install-from-pom "pom.xml")))))
(inputs (list java-guava
java-commons-io
java-commons-lang3
java-commons-text
java-fasterxml-jackson-annotations
java-fasterxml-jackson-core
java-fasterxml-jackson-databind
java-mapdb))
(propagated-inputs (list java-commons-rdf-api
java-commons-rdf-simple
java-eclipse-rdf4j-model
java-eclipse-rdf4j-repository-api
java-eclipse-rdf4j-repository-sail
java-eclipse-rdf4j-rio-turtle
java-eclipse-rdf4j-rio-nquads
java-eclipse-rdf4j-rio-jsonld
java-eclipse-rdf4j-rio-rdfxml
java-eclipse-rdf4j-sail-memory
java-eclipse-rdf4j-sail-nativerdf))
(native-inputs (list java-commons-rdf-api-tests unzip))
(synopsis "Implementation RDF 1.1 concepts backed by RDF4J")
(description "This package provides an RDF4J-based implementation of RDF 1.1
concepts.")))
(define-public java-commons-rdf-simple
(package
(inherit java-commons-rdf-api)
(name "java-commons-rdf-simple")
(arguments
(list #:jar-name "commons-rdf-api.jar"
#:source-dir "src/main/java"
#:test-dir "src/test"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir "commons-rdf-simple")))
(add-after 'chdir 'delete-failing-tests
(lambda _
(with-directory-excursion "src/test/java/org/apache/commons/"
(delete-file "rdf/simple/SimpleServiceLoaderTest.java"))))
(add-before 'install 'fix-pom
(lambda _
(substitute* "pom.xml"
(("\\$\\{project\\.parent\\.groupId\\}")
"org.apache.commons"))))
(replace 'install
(install-from-pom "pom.xml")))))
(propagated-inputs (list java-commons-rdf-api))
(native-inputs (list java-commons-rdf-api-tests unzip))
(synopsis "Simple implementation of RDF 1.1 concepts")
(description "This package provides a simple implementation of RDF 1.1
concepts in Java.")))
(define %rdf4j-version "3.7.7")
(define %rdf4j-sha256
(base32 "1lala4wjl5lbg45jdgd94rfkvdg6r4vq23k3q54bkk9q3w9v2bdx"))
(define %rdf4j-source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/eclipse/rdf4j")
(commit %rdf4j-version)))
(file-name (git-file-name "rdf4j" %rdf4j-version))
(sha256 %rdf4j-sha256)
(modules '((guix build utils)))
(snippet #~(begin (delete-file-recursively "site")))))
(define (rdf4j-common-arguments jar-name directory)
(list #:source-dir "src/main/java"
#:test-dir "src/test/java"
#:tests? #f ; tests require junit 5
#:jar-name jar-name
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir (lambda _ (chdir #$directory)))
(add-after 'chdir 'fix-pom
(lambda _
(substitute* "pom.xml"
(("\\$\\{project\\.groupId\\}") "org.eclipse.rdf4j"))))
(replace 'install
(install-from-pom "pom.xml")))))
(define-public java-eclipse-rdf4j-http-client
(package
(name "java-eclipse-rdf4j-http-client")
(version %rdf4j-version)
(source %rdf4j-source)
(build-system ant-build-system)
(arguments
(substitute-keyword-arguments
(rdf4j-common-arguments "rdf4j-http-client.jar"
"core/http/client")
((#:phases phases)
#~(modify-phases #$phases
(add-before 'install 'generate-pom.xml
(generate-pom.xml "guix-pom.xml"
"org.eclipse.rdf4j"
"rdf4j-http-client" #$version))
(replace 'install
(install-from-pom "guix-pom.xml"))))))
(inputs (list java-commons-io
java-httpcomponents-httpcore
java-httpcomponents-httpclient
java-slf4j-api))
(propagated-inputs (list java-eclipse-rdf4j-http-protocol
java-eclipse-rdf4j-repository-api
java-eclipse-rdf4j-queryparser-sparql
java-eclipse-rdf4j-queryresultio-api
java-eclipse-rdf4j-queryresultio-binary
java-eclipse-rdf4j-queryresultio-sparqlxml
java-eclipse-rdf4j-queryresultio-sparqljson))
(home-page "https://rdf4j.org/")
(synopsis "HTTP client for RDF4J")
(description "This package provides a client for communicating with RDF4J
servers.")
(license license:epl1.0)))
(define-public java-eclipse-rdf4j-http-protocol
(package
(name "java-eclipse-rdf4j-http-protocol")
(version %rdf4j-version)
(source %rdf4j-source)
(build-system ant-build-system)
(arguments
(substitute-keyword-arguments
(rdf4j-common-arguments "rdf4j-http-protocol.jar"
"core/http/protocol")
((#:phases phases)
#~(modify-phases #$phases
(add-before 'install 'generate-pom.xml
(generate-pom.xml "guix-pom.xml"
"org.eclipse.rdf4j"
"rdf4j-http-protocol" #$version))
(replace 'install
(install-from-pom "guix-pom.xml"))))))
(propagated-inputs (list java-eclipse-rdf4j-rio-ntriples
java-eclipse-rdf4j-repository-api
java-eclipse-rdf4j-model))
(home-page "https://rdf4j.org/")
(synopsis "HTTP protocol for RDF4J")
(description "This package provides a protocol for communicating RDF
resourcess over HTTP.")
(license license:epl1.0)))
(define-public java-eclipse-rdf4j-model
(package
(name "java-eclipse-rdf4j-model")
(version %rdf4j-version)
(source %rdf4j-source)
(build-system ant-build-system)
(arguments
(rdf4j-common-arguments "rdf4j-model.jar"
"core/model"))
(inputs (list java-slf4j-api java-guava))
(propagated-inputs (list java-eclipse-rdf4j-util
java-eclipse-rdf4j-model-api
java-eclipse-rdf4j-model-vocabulary))
(home-page "https://rdf4j.org/")
(synopsis "Implementation of RDF data model")
(description "This package provides the RDF model implementation used by
Eclipse RDF4J.")
(license license:epl1.0)))
(define-public java-eclipse-rdf4j-model-api
(package
(name "java-eclipse-rdf4j-model-api")
(version %rdf4j-version)
(source %rdf4j-source)
(build-system ant-build-system)
(arguments
(rdf4j-common-arguments "rdf4j-model-api.jar"
"core/model-api"))
(home-page "https://rdf4j.org/")
(synopsis "RDF4J model interfaces")
(description "This package provides interfaces for the RDF data model used
in the RDF4J framework.")
(license license:epl1.0)))
(define-public java-eclipse-rdf4j-model-vocabulary
(package
(name "java-eclipse-rdf4j-model-vocabulary")
(version %rdf4j-version)
(source %rdf4j-source)
(build-system ant-build-system)
(arguments
(rdf4j-common-arguments "rdf4j-model-vocabulary.jar"
"core/model-vocabulary"))
(propagated-inputs (list java-eclipse-rdf4j-model-api))
(home-page "https://rdf4j.org/")
(synopsis "Well known RDF vocabularies")
(description "This package provides Java classes for well known
RDF vocabularies.")
(license license:epl1.0)))
(define-public java-eclipse-rdf4j-query
(package
(name "java-eclipse-rdf4j-query")
(version %rdf4j-version)
(source %rdf4j-source)
(build-system ant-build-system)
(arguments
(substitute-keyword-arguments
(rdf4j-common-arguments "rdf4j-query.jar"
"core/query")
((#:phases phases)
#~(modify-phases #$phases
(add-before 'install 'generate-pom.xml
(generate-pom.xml "guix-pom.xml"
"org.eclipse.rdf4j"
"rdf4j-query" #$version))
(replace 'install
(install-from-pom "guix-pom.xml"))))))
(inputs (list java-commons-text
java-slf4j-api
java-fasterxml-jackson-annotations
java-fasterxml-jackson-core
java-fasterxml-jackson-databind))
(propagated-inputs (list java-eclipse-rdf4j-model
java-eclipse-rdf4j-rio-api))
(home-page "https://rdf4j.org/")
(synopsis "Querying RDF")
(description "This package provides an interface and implementation for
querying RDF.")
(license license:epl1.0)))
(define-public java-eclipse-rdf4j-queryalgebra-model
(package
(name "java-eclipse-rdf4j-queryalgebra-model")
(version %rdf4j-version)
(source %rdf4j-source)
(build-system ant-build-system)
(arguments
(rdf4j-common-arguments "rdf4j-queryalgebra-model.jar"
"core/queryalgebra/model"))
(inputs (list java-fasterxml-jackson-annotations
java-guava))
(propagated-inputs (list java-eclipse-rdf4j-model
java-eclipse-rdf4j-query))
(home-page "https://rdf4j.org/")
(synopsis "RDF query algebra")
(description "This package provides an algebra model for RDF queries.")
(license license:epl1.0)))
(define-public java-eclipse-rdf4j-queryalgebra-evaluation
(package
(name "java-eclipse-rdf4j-queryalgebra-evaluation")
(version %rdf4j-version)
(source %rdf4j-source)
(build-system ant-build-system)
(arguments
(rdf4j-common-arguments "rdf4j-queryalgebra-evaluation.jar"
"core/queryalgebra/evaluation"))
(inputs (list java-guava
java-slf4j-api
java-commons-math3
java-mapdb))
(propagated-inputs (list java-eclipse-rdf4j-model
java-eclipse-rdf4j-repository-sparql
java-eclipse-rdf4j-queryalgebra-model
java-eclipse-rdf4j-queryparser-sparql))
(home-page "https://rdf4j.org/")
(synopsis "RDF query algebra")
(description "This package provides evaluation strategies and an
implementation for RDF4J's query algebra.")
(license license:epl1.0)))
(define-public java-eclipse-rdf4j-queryparser-api
(package
(name "java-eclipse-rdf4j-queryparser-api")
(version %rdf4j-version)
(source %rdf4j-source)
(build-system ant-build-system)
(arguments
(rdf4j-common-arguments "rdf4j-queryparser-api.jar"
"core/queryparser/api"))
(propagated-inputs (list java-eclipse-rdf4j-query
java-eclipse-rdf4j-queryalgebra-model))
(home-page "https://rdf4j.org/")
(synopsis "Generic query parser API")
(description "This package provides a common API for query parsers in
RDF4J.")
(license license:epl1.0)))
(define-public java-eclipse-rdf4j-queryparser-sparql
(package
(name "java-eclipse-rdf4j-queryparser-sparql")
(version %rdf4j-version)
(source %rdf4j-source)
(build-system ant-build-system)
(arguments
(rdf4j-common-arguments "rdf4j-queryparser-sparql.jar"
"core/queryparser/sparql"))
(propagated-inputs (list java-eclipse-rdf4j-queryparser-api
java-eclipse-rdf4j-model
java-eclipse-rdf4j-rio-trig))
(home-page "https://rdf4j.org/")
(synopsis "SPARQL query parser")
(description "This package provides a parser for SPARQL queries.")
(license license:epl1.0)))
(define-public java-eclipse-rdf4j-queryresultio-api
(package
(name "java-eclipse-rdf4j-queryresultio-api")
(version %rdf4j-version)
(source %rdf4j-source)
(build-system ant-build-system)
(arguments
(rdf4j-common-arguments "rdf4j-queryresultio-api.jar"
"core/queryresultio/api"))
(propagated-inputs (list java-eclipse-rdf4j-query
java-eclipse-rdf4j-rio-api
java-eclipse-rdf4j-sail-api))
(home-page "https://rdf4j.org/")
(synopsis "Handling RDF query results")
(description "This package provides an API for handling input and output
on RDF query results.")
(license license:epl1.0)))
(define-public java-eclipse-rdf4j-queryresultio-binary
(package
(name "java-eclipse-rdf4j-queryresultio-binary")
(version %rdf4j-version)
(source %rdf4j-source)
(build-system ant-build-system)
(arguments
(rdf4j-common-arguments "rdf4j-queryresultio-binary.jar"
"core/queryresultio/binary"))
(inputs (list java-slf4j-api))
(propagated-inputs (list java-eclipse-rdf4j-queryresultio-api))
(home-page "https://rdf4j.org/")
(synopsis "Handling RDF query results")
(description "This package provides binary input and output for RDF
queries.")
(license license:epl1.0)))
(define-public java-eclipse-rdf4j-queryresultio-sparqlxml
(package
(name "java-eclipse-rdf4j-queryresultio-sparqlxml")
(version %rdf4j-version)
(source %rdf4j-source)
(build-system ant-build-system)
(arguments
(rdf4j-common-arguments "rdf4j-queryresultio-sparqlxml.jar"
"core/queryresultio/sparqlxml"))
(inputs (list java-slf4j-api java-commons-lang3))
(propagated-inputs (list java-eclipse-rdf4j-queryresultio-api))
(home-page "https://rdf4j.org/")
(synopsis "Handling RDF query results")
(description "This package provides classes for handling SPARQL/XML-based
RDF queries.")
(license license:epl1.0)))
(define-public java-eclipse-rdf4j-queryresultio-sparqljson
(package
(name "java-eclipse-rdf4j-queryresultio-sparqljson")
(version %rdf4j-version)
(source %rdf4j-source)
(build-system ant-build-system)
(arguments
(substitute-keyword-arguments
(rdf4j-common-arguments "rdf4j-queryresultio-sparqljson.jar"
"core/queryresultio/sparqljson")
((#:phases phases)
#~(modify-phases #$phases
(add-before 'install 'generate-pom.xml
(generate-pom.xml "guix-pom.xml"
"org.eclipse.rdf4j"
"rdf4j-queryresultio-sparqljson" #$version))
(replace 'install
(install-from-pom "guix-pom.xml"))))))
(inputs (list java-slf4j-api
java-commons-lang3
java-fasterxml-jackson-core))
(propagated-inputs (list java-eclipse-rdf4j-queryresultio-api))
(home-page "https://rdf4j.org/")
(synopsis "Handling RDF query results")
(description "This package provides classes for handling SPARQL/JSON-based
RDF queries.")
(license license:epl1.0)))
(define-public java-eclipse-rdf4j-repository-api
(package
(name "java-eclipse-rdf4j-repository-api")
(version %rdf4j-version)
(source %rdf4j-source)
(build-system ant-build-system)
(arguments
(rdf4j-common-arguments "rdf4j-repository-api.jar"
"core/repository/api"))
(inputs (list java-slf4j-api java-commons-lang3))
(propagated-inputs (list java-eclipse-rdf4j-model
java-eclipse-rdf4j-rio-api
java-eclipse-rdf4j-query))
(home-page "https://rdf4j.org/")
(synopsis "Interact with RDF repositories")
(description "This package provides an API for interacting with repositories
of RDF data.")
(license license:epl1.0)))
(define-public java-eclipse-rdf4j-repository-sparql
(package
(name "java-eclipse-rdf4j-repository-sparql")
(version %rdf4j-version)
(source %rdf4j-source)
(build-system ant-build-system)
(arguments
(rdf4j-common-arguments "rdf4j-repository-sparql.jar"
"core/repository/sparql"))
(inputs (list java-httpcomponents-httpclient
java-slf4j-api))
(propagated-inputs (list java-eclipse-rdf4j-http-client
java-eclipse-rdf4j-queryparser-sparql
java-eclipse-rdf4j-repository-api))
(home-page "https://rdf4j.org/")
(synopsis "Repository based on SPARQL")
(description "This package provides a repository implementation that SPARQL.")
(license license:epl1.0)))
(define-public java-eclipse-rdf4j-repository-sail
(package
(name "java-eclipse-rdf4j-repository-sail")
(version %rdf4j-version)
(source %rdf4j-source)
(build-system ant-build-system)
(arguments
(rdf4j-common-arguments "rdf4j-repository-sail.jar"
"core/repository/sail"))
(inputs (list java-httpcomponents-httpclient
java-slf4j-api))
(propagated-inputs (list java-eclipse-rdf4j-queryparser-sparql
java-eclipse-rdf4j-queryalgebra-evaluation
java-eclipse-rdf4j-repository-api
java-eclipse-rdf4j-sail-api))
(home-page "https://rdf4j.org/")
(synopsis "Repository based on SAIL")
(description "This package provides a repository implementation that uses
an RDF4J SAIL stack.")
(license license:epl1.0)))
(define-public java-eclipse-rdf4j-rio-api
(package
(name "java-eclipse-rdf4j-rio-api")
(version %rdf4j-version)
(source %rdf4j-source)
(build-system ant-build-system)
(arguments
(substitute-keyword-arguments
(rdf4j-common-arguments "rdf4j-rio-api.jar"
"core/rio/api")
((#:phases phases)
#~(modify-phases #$phases
(add-before 'install 'generate-pom.xml
(generate-pom.xml "guix-pom.xml"
"org.eclipse.rdf4j"
"rdf4j-rio-api" #$version))
(replace 'install
(install-from-pom "guix-pom.xml"))))))
(inputs (list java-commons-codec java-commons-io java-slf4j-api
java-jsonld-java))
(propagated-inputs (list java-eclipse-rdf4j-model))
(home-page "https://rdf4j.org/")
(synopsis "RDF Input/Output API")
(description "This package provides an API for parsers and writers of
various RDF formats.")
(license license:epl1.0)))
(define-public java-eclipse-rdf4j-rio-datatypes
(package
(name "java-eclipse-rdf4j-rio-datatypes")
(version %rdf4j-version)
(source %rdf4j-source)
(build-system ant-build-system)
(arguments
(rdf4j-common-arguments "rdf4j-rio-datatypes.jar"
"core/rio/datatypes"))
(propagated-inputs (list java-eclipse-rdf4j-model
java-eclipse-rdf4j-rio-api))
(home-page "https://rdf4j.org/")
(synopsis "RDF datatype handlers")
(description "This package provides datatype handlers used in RDF4J.")
(license license:epl1.0)))
(define-public java-eclipse-rdf4j-rio-jsonld
(package
(name "java-eclipse-rdf4j-rio-jsonld")
(version %rdf4j-version)
(source %rdf4j-source)
(build-system ant-build-system)
(arguments
(substitute-keyword-arguments
(rdf4j-common-arguments "rdf4j-rio-jsonld.jar"
"core/rio/jsonld")
((#:phases phases)
#~(modify-phases #$phases
(add-before 'install 'generate-pom.xml
(generate-pom.xml "guix-pom.xml"
"org.eclipse.rdf4j"
"rdf4j-rio-jsonld" #$version))
(replace 'install
(install-from-pom "guix-pom.xml"))))))
(inputs (list java-commons-io
java-slf4j-api
java-fasterxml-jackson-core
java-fasterxml-jackson-databind
java-jsonld-java))
(propagated-inputs (list java-eclipse-rdf4j-rio-api
java-eclipse-rdf4j-rio-datatypes
java-eclipse-rdf4j-rio-languages
java-eclipse-rdf4j-model))
(home-page "https://rdf4j.org/")
(synopsis "RDF JSON-LD serialization")
(description "This package provides an implementation of the RDF4J Rio API,
which reads and writes JSON-LD.")
(license license:epl1.0)))
(define-public java-eclipse-rdf4j-rio-languages
(package
(name "java-eclipse-rdf4j-rio-languages")
(version %rdf4j-version)
(source %rdf4j-source)
(build-system ant-build-system)
(arguments
(rdf4j-common-arguments "rdf4j-rio-languages.jar"
"core/rio/languages"))
(propagated-inputs (list java-eclipse-rdf4j-model
java-eclipse-rdf4j-rio-api))
(home-page "https://rdf4j.org/")
(synopsis "RDF language handlers")
(description "This package provides language handlers used in RDF4J.")
(license license:epl1.0)))
(define-public java-eclipse-rdf4j-rio-ntriples
(package
(name "java-eclipse-rdf4j-rio-ntriples")
(version %rdf4j-version)
(source %rdf4j-source)
(build-system ant-build-system)
(arguments
(rdf4j-common-arguments "rdf4j-rio-ntriples.jar"
"core/rio/ntriples"))
(inputs (list java-commons-io java-slf4j-api))
(propagated-inputs (list java-eclipse-rdf4j-rio-api
java-eclipse-rdf4j-rio-datatypes
java-eclipse-rdf4j-rio-languages
java-eclipse-rdf4j-model))
(home-page "https://rdf4j.org/")
(synopsis "RDF NTriples serialization")
(description "This package provides an implementation of the RDF4J Rio API,
which reads and writes NTriples.")
(license license:epl1.0)))
(define-public java-eclipse-rdf4j-rio-nquads
(package
(name "java-eclipse-rdf4j-rio-nquads")
(version %rdf4j-version)
(source %rdf4j-source)
(build-system ant-build-system)
(arguments
(rdf4j-common-arguments "rdf4j-rio-nquads.jar"
"core/rio/nquads"))
(inputs (list java-commons-io java-slf4j-api))
(propagated-inputs (list java-eclipse-rdf4j-rio-api
java-eclipse-rdf4j-rio-datatypes
java-eclipse-rdf4j-rio-languages
java-eclipse-rdf4j-rio-ntriples
java-eclipse-rdf4j-model))
(home-page "https://rdf4j.org/")
(synopsis "RDF NQuads serialization")
(description "This package provides an implementation of the RDF4J Rio API,
which reads and writes NQuads.")
(license license:epl1.0)))
(define-public java-eclipse-rdf4j-rio-rdfxml
(package
(name "java-eclipse-rdf4j-rio-rdfxml")
(version %rdf4j-version)
(source %rdf4j-source)
(build-system ant-build-system)
(arguments
(rdf4j-common-arguments "rdf4j-rio-rdfxml.jar"
"core/rio/rdfxml"))
(inputs (list java-commons-io java-slf4j-api))
(propagated-inputs (list java-eclipse-rdf4j-rio-api
java-eclipse-rdf4j-rio-datatypes
java-eclipse-rdf4j-rio-languages
java-eclipse-rdf4j-model))
(home-page "https://rdf4j.org/")
(synopsis "RDF XML serialization")
(description "This package provides an implementation of the RDF4J Rio API,
which reads and writes XML.")
(license license:epl1.0)))
(define-public java-eclipse-rdf4j-rio-turtle
(package
(name "java-eclipse-rdf4j-rio-turtle")
(version %rdf4j-version)
(source %rdf4j-source)
(build-system ant-build-system)
(arguments
(rdf4j-common-arguments "rdf4j-rio-turtle.jar"
"core/rio/turtle"))
(inputs (list java-commons-io java-slf4j-api))
(propagated-inputs (list java-eclipse-rdf4j-rio-api
java-eclipse-rdf4j-rio-datatypes
java-eclipse-rdf4j-rio-languages
java-eclipse-rdf4j-model))
(home-page "https://rdf4j.org/")
(synopsis "RDF Turtle serialization")
(description "This package provides an implementation of the RDF4J Rio API,
which reads and writes Turtle.")
(license license:epl1.0)))
(define-public java-eclipse-rdf4j-rio-trig
(package
(name "java-eclipse-rdf4j-rio-trig")
(version %rdf4j-version)
(source %rdf4j-source)
(build-system ant-build-system)
(arguments
(rdf4j-common-arguments "rdf4j-rio-trig.jar"
"core/rio/trig"))
(inputs (list java-commons-io java-slf4j-api))
(propagated-inputs (list java-eclipse-rdf4j-rio-api
java-eclipse-rdf4j-rio-datatypes
java-eclipse-rdf4j-rio-languages
java-eclipse-rdf4j-rio-turtle
java-eclipse-rdf4j-model))
(home-page "https://rdf4j.org/")
(synopsis "RDF TriG serialization")
(description "This package provides an implementation of the RDF4J Rio API,
which reads and writes TriG.")
(license license:epl1.0)))
(define-public java-eclipse-rdf4j-sail-api
(package
(name "java-eclipse-rdf4j-sail-api")
(version %rdf4j-version)
(source %rdf4j-source)
(build-system ant-build-system)
(arguments
(rdf4j-common-arguments "rdf4j-sail-api.jar"
"core/sail/api"))
(inputs (list java-slf4j-api))
(propagated-inputs (list java-eclipse-rdf4j-query
java-eclipse-rdf4j-queryalgebra-model
java-eclipse-rdf4j-model))
(home-page "https://rdf4j.org/")
(synopsis "Interfaces for low-level access to RDF data")
(description "The @acronym{SAIL, Storage And Interface Layer} API
decouples database implementations and the functional modules of the RDF4J
framework.")
(license license:epl1.0)))
(define-public java-eclipse-rdf4j-sail-base
(package
(name "java-eclipse-rdf4j-sail-base")
(version %rdf4j-version)
(source %rdf4j-source)
(build-system ant-build-system)
(arguments
(rdf4j-common-arguments "rdf4j-sail-base.jar"
"core/sail/base"))
(inputs (list java-slf4j-api))
(propagated-inputs (list java-eclipse-rdf4j-sail-api
java-eclipse-rdf4j-queryalgebra-evaluation
java-eclipse-rdf4j-queryalgebra-model
java-eclipse-rdf4j-query
java-eclipse-rdf4j-repository-sail))
(home-page "https://rdf4j.org/")
(synopsis "Base implementations of RD4J's storage API")
(description "This package provides basic implementation of RDF4J's
@acronym{SAIL, Storage And Interface Layer} API.")
(license license:epl1.0)))
(define-public java-eclipse-rdf4j-sail-memory
(package
(name "java-eclipse-rdf4j-sail-memory")
(version %rdf4j-version)
(source %rdf4j-source)
(build-system ant-build-system)
(arguments
(rdf4j-common-arguments "rdf4j-sail-memory.jar"
"core/sail/memory"))
(inputs (list java-slf4j-api
java-commons-lang3
java-guava))
(propagated-inputs (list java-eclipse-rdf4j-sail-api
java-eclipse-rdf4j-sail-base
java-eclipse-rdf4j-model
java-eclipse-rdf4j-rio-turtle
java-eclipse-rdf4j-query
java-eclipse-rdf4j-queryalgebra-model
java-eclipse-rdf4j-queryalgebra-evaluation))
(home-page "https://rdf4j.org/")
(synopsis "Memory-based implementations of RD4J's storage API")
(description "This package provides an implementation of RDF4J's
@acronym{SAIL, Storage And Interface Layer} API, which stores data in RAM.")
(license license:epl1.0)))
(define-public java-eclipse-rdf4j-sail-nativerdf
(package
(name "java-eclipse-rdf4j-sail-nativerdf")
(version %rdf4j-version)
(source %rdf4j-source)
(build-system ant-build-system)
(arguments
(rdf4j-common-arguments "rdf4j-sail-nativerdf.jar"
"core/sail/nativerdf"))
(inputs (list java-slf4j-api
java-commons-io
java-guava))
(propagated-inputs (list java-eclipse-rdf4j-sail-api
java-eclipse-rdf4j-sail-base))
(home-page "https://rdf4j.org/")
(synopsis "File-based implementations of RD4J's storage API")
(description "This package provides an implementation of RDF4J's
@acronym{SAIL, Storage And Interface Layer} API, which stores data on disk
in various formats.")
(license license:epl1.0)))
(define-public java-eclipse-rdf4j-util
(package
(name "java-eclipse-rdf4j-util")
(version %rdf4j-version)
(source %rdf4j-source)
(build-system ant-build-system)
(arguments
(rdf4j-common-arguments "rdf4j-util.jar"
"core/util"))
(inputs (list java-slf4j-api))
(propagated-inputs (list java-eclipse-rdf4j-model-api))
(home-page "https://rdf4j.org/")
(synopsis "RDF4J model interfaces")
(description "This package provides utility classes used throughout the
RDF4J framework.")
(license license:epl1.0)))

View File

@ -1550,6 +1550,43 @@ blacklisted.certs.pem"
(define-public openjdk openjdk19) (define-public openjdk openjdk19)
;; This version of JBR is here in order to be able to build custom
;; IntelliJ plugins. Those usually need both jbr11 and jbr17 for
;; tests.
(define-public jbr11
(package
(inherit openjdk11)
(name "jbr")
(version "11_0_16-b2248")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JetBrains/JetBrainsRuntime.git")
(commit (string-append "jb" version))))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1fnrdx0wb21ghm6jczjzk7b9fz9hbdzd62512xhwpzvca57v2z09"))))
(arguments
(substitute-keyword-arguments (package-arguments openjdk11)
((#:configure-flags configure-flags)
#~(append #$configure-flags
(list "--with-jvm-features=shenandoahgc"
"--enable-cds=yes"
"--with-vendor-name=JetBrains s.r.o"
"--with-vendor-url=https://www.jetbrains.com/"
"--with-vendor-bug-url=https://youtrack.jetbrains.com/issues/JBR")))))
(synopsis "JetBrains Java Runtime")
(description "This package provides a Java runtime environment for
and Java development kit. It supports enhanced class redefinition (DCEVM),
features optional JCEF, a framework for embedding Chromium-based browsers,
includes a number of improvements in font rendering, keyboards support,
windowing/focus subsystems, HiDPI, accessibility, and performance,
provides better desktop integration and bugfixes not yet present in
OpenJDK.")
(home-page "https://www.jetbrains.com/")
(license license:gpl2+)))
(define-public jbr17 (define-public jbr17
(package (package
(inherit openjdk17) (inherit openjdk17)
@ -1589,14 +1626,14 @@ OpenJDK.")
(define-public ant/java8 (define-public ant/java8
(package (package
(name "ant") (name "ant")
(version "1.10.10") (version "1.10.13")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://apache/ant/source/apache-ant-" (uri (string-append "mirror://apache/ant/source/apache-ant-"
version "-src.tar.gz")) version "-src.tar.gz"))
(sha256 (sha256
(base32 (base32
"1dhkk9ajc378cln6sj9q0ya8bl9dpyji5xcrl1zq41zx1k6j54g5")) "01l4g9b1xnnq450ljvhrlvcf8wzzmr45wmhkybrx0hcdi166y06s"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -5019,6 +5056,68 @@ constructor on object instantiation.")
mock objects in unit testing.") mock objects in unit testing.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public java-easymock-3.2
(package
(inherit java-easymock)
(name "java-easymock")
(version "3.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/easymock/easymock/")
(commit (string-append "easymock-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0cn6qqa261mhk9mwxrsz39lkkknfv2h7iprr5zw7wpz9p96dwgv4"))))
(arguments
(list #:jar-name "easymock.jar"
#:source-dir "easymock/src/main"
#:test-dir "easymock/src/test"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'delete-android-support
(lambda _
(with-directory-excursion "easymock/src/main/java/org/easymock/internal"
(substitute* "MocksControl.java"
(("AndroidSupport.isAndroid\\(\\)") "false")
(("return classProxyFactory = new AndroidClassProxyFactory\\(\\);") ""))
(delete-file "AndroidClassProxyFactory.java"))))
(add-after 'unpack 'delete-broken-tests
(lambda _
(with-directory-excursion "easymock/src/test/java/org/easymock"
;; This test depends on dexmaker.
(delete-file "tests2/ClassExtensionHelperTest.java")
;; This is not a test.
(delete-file "tests/BaseEasyMockRunnerTest.java")
;; ...but deleting it means that we also have to delete these
;; dependent files.
(delete-file "tests2/EasyMockRunnerTest.java")
;; This test fails because the file "easymock.properties" does
;; not exist.
(delete-file "tests2/EasyMockPropertiesTest.java")))))))))
(define-public java-easymock-class-extension
(package
(inherit java-easymock-3.2)
(name "java-easymock-class-extension")
(build-system ant-build-system)
(arguments
(list #:jar-name "easymock-class-extensions.jar"
#:source-dir "easymock-classextension/src/main/java"
#:test-dir "easymock-classextension/src/test"))
(inputs (list java-asm
java-easymock-3.2
java-cglib
java-objenesis))
(native-inputs
(list java-junit java-hamcrest-core))
(home-page "https://easymock.org/")
(synopsis "Easymock extension to mock classes")
(description "This package provides an extension to earlier versions of
easymock that allows mocking classes.")
(license license:asl2.0)))
(define-public java-jmock-1 (define-public java-jmock-1
(package (package
(name "java-jmock") (name "java-jmock")
@ -6180,6 +6279,32 @@ NIO.")))
(description "This package provides the HttpCore benchmarking tool. It is (description "This package provides the HttpCore benchmarking tool. It is
an Apache AB clone based on HttpCore."))) an Apache AB clone based on HttpCore.")))
(define-public java-httpcomponents-httpcore-osgi
(package (inherit java-httpcomponents-httpcore)
(name "java-httpcomponents-httpcore-osgi")
(arguments
`(#:jar-name "httpcomponents-httpcore-osgi.jar"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir "httpcore-osgi"))))))
(inputs
(modify-inputs (package-inputs java-httpcomponents-httpcore)
(prepend java-httpcomponents-httpcore
java-httpcomponents-httpcore-nio
java-hamcrest-core)))
(native-inputs (list java-ops4j-pax-exam-core
java-ops4j-pax-exam-core-junit
java-ops4j-pax-exam-core-spi
java-junit))
(description "HttpCore is a set of low level HTTP transport components
that can be used to build custom client and server side HTTP services with a
minimal footprint. HttpCore supports two I/O models: blocking I/O model based
on the classic Java I/O and non-blocking, event driven I/O model based on Java
NIO.
This package provides... some tests.")))
(define-public java-httpcomponents-httpclient (define-public java-httpcomponents-httpclient
(package (package
(name "java-httpcomponents-httpclient") (name "java-httpcomponents-httpclient")
@ -6216,6 +6341,51 @@ feature-rich package implementing the client side of the most recent HTTP
standards and recommendations.") standards and recommendations.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public java-httpcomponents-httpclient-cache
(package (inherit java-httpcomponents-httpclient)
(name "java-httpcomponents-httpclient-cache")
(arguments
`(#:jar-name "httpcomponents-httpclient-cache.jar"
#:source-dir "src/main/java"
#:test-dir "src/test"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'delete-unused-impls
(lambda _
(for-each
delete-file-recursively
'("src/main/java/org/apache/http/impl/client/cache/ehcache/"
"src/main/java/org/apache/http/impl/client/cache/memcached/"
"src/test/java/org/apache/http/impl/client/cache/ehcache/"
"src/test/java/org/apache/http/impl/client/cache/memcached/"))))
(add-after 'unpack 'chdir
(lambda _ (chdir "httpclient-cache"))))))
(inputs
(modify-inputs (package-inputs java-httpcomponents-httpclient)
(prepend java-httpcomponents-httpclient
java-httpcomponents-httpmime
java-hamcrest-core)))
(native-inputs (list java-easymock-3.2 java-easymock-class-extension))
(description "This package provides an API for caching accessed HTTP
resources.")))
(define-public java-httpcomponents-httpclient-osgi
(package (inherit java-httpcomponents-httpclient)
(name "java-httpcomponents-httpclient-osgi")
(arguments
`(#:jar-name "httpcomponents-httpclient-osgi.jar"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir "httpclient-osgi") #t)))))
(inputs
(modify-inputs (package-inputs java-httpcomponents-httpclient)
(prepend java-httpcomponents-httpclient
java-httpcomponents-httpclient-cache
java-osgi-framework
java-osgi-service-cm
java-hamcrest-core)))))
(define-public java-httpcomponents-httpmime (define-public java-httpcomponents-httpmime
(package (inherit java-httpcomponents-httpclient) (package (inherit java-httpcomponents-httpclient)
(name "java-httpcomponents-httpmime") (name "java-httpcomponents-httpmime")
@ -11147,6 +11317,38 @@ protocol-independent framework to build mail and messaging applications.")
(license (list license:cddl1.1 (license (list license:cddl1.1
license:gpl2)))); with classpath exception license:gpl2)))); with classpath exception
(define-public java-mapdb
(package
(name "java-mapdb")
(version "1.0.9")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jankotek/mapdb")
(commit (string-append "mapdb-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1slb4h282jqvk16896lcvgm65pj3v6crcp2wvjdvad7nx7d2f1kv"))))
(build-system ant-build-system)
(arguments
(list #:jar-name "mapdb.jar"
#:source-dir "src/main/java"
#:test-dir "src/test"
#:test-exclude (list "**/ClosedThrowsExceptionTest.java"
"**/ConcurrentMapInterfaceTest.java"
"**/EngineTest.java"
"**/Issue664Test.java"
"**/MapInterfaceTest.java")
#:phases #~(modify-phases %standard-phases
(replace 'install (install-from-pom "pom.xml")))))
(native-inputs (list java-junit))
(home-page "https://mapdb.org/")
(synopsis "Concurrent data structures")
(description "MapDB provides concurrent maps, sets and queues backed by
disk storage or off-heap memory.")
(license license:bsd-3)))
(define-public java-jeromq (define-public java-jeromq
(package (package
(name "java-jeromq") (name "java-jeromq")

View File

@ -854,42 +854,46 @@ noun phrases, verb phrases, etc.).")
(define-public praat (define-public praat
(package (package
(name "praat") (name "praat")
(version "6.1.30") (version "6.3.10")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/praat/praat") (url "https://github.com/praat/praat")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1pjfifyv3wjn68l3i2dr83xm75nf2kxvfxrk9qqbmwz58p183jw4")))) "0kwv0p2bn2x5h0c61rymm87icqqwnbj699awgc5afl4qp53azci8"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; no test target (list #:make-flags #~(list (string-append "CC="
#:phases #$(cc-for-target)))
(modify-phases %standard-phases #:phases #~(modify-phases %standard-phases
(replace 'configure (add-after 'unpack 'delete-failing-tests
(lambda _ (lambda _
(copy-file "makefiles/makefile.defs.linux.pulse" "makefile.defs") (delete-file "test/sys/graphicsText.praat")))
#t)) (replace 'configure
(replace 'install (lambda _
(lambda* (#:key outputs #:allow-other-keys) (copy-file "makefiles/makefile.defs.linux.pulse"
(let* ((out (assoc-ref outputs "out")) "makefile.defs")))
(bin (string-append out "/bin"))) (replace 'check
(mkdir-p bin) (lambda* (#:key tests? #:allow-other-keys)
(copy-file "praat" (string-append bin "/praat"))) (when tests?
#t))))) (invoke "./praat" "--run"
(inputs "test/runAllTests_batch.praat"))))
`(("alsa-lib" ,alsa-lib) (replace 'install
("gtk" ,gtk+-2) (lambda* (#:key outputs #:allow-other-keys)
("jack" ,jack-1) (let* ((out (assoc-ref outputs "out"))
("publesaudio" ,pulseaudio))) (bin (string-append out "/bin")))
(native-inputs (mkdir-p bin)
(list pkg-config)) (copy-file "praat"
(string-append bin "/praat"))))))))
(inputs (list alsa-lib gtk+ jack-1 pulseaudio))
(native-inputs (list pkg-config))
(home-page "https://www.fon.hum.uva.nl/praat/") (home-page "https://www.fon.hum.uva.nl/praat/")
(synopsis "Doing phonetics by computer") (synopsis "Doing phonetics by computer")
(description "Praat is a tool to perform phonetics tasks. It can do speech (description
"Praat is a tool to perform phonetics tasks. It can do speech
analysis (pitch, formant, intensity, ...), speech synthesis, labelling, segmenting analysis (pitch, formant, intensity, ...), speech synthesis, labelling, segmenting
and manipulation.") and manipulation.")
(license license:gpl2+))) (license license:gpl2+)))

View File

@ -487,125 +487,110 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernels. That is, the most recently released major ;; The current "stable" kernels. That is, the most recently released major
;; versions that are still supported upstream. ;; versions that are still supported upstream.
(define-public linux-libre-6.4-version "6.4.3") (define-public linux-libre-6.4-version "6.4.9")
(define-public linux-libre-6.4-gnu-revision "gnu") (define-public linux-libre-6.4-gnu-revision "gnu")
(define deblob-scripts-6.4 (define deblob-scripts-6.4
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
linux-libre-6.4-version linux-libre-6.4-version
linux-libre-6.4-gnu-revision linux-libre-6.4-gnu-revision
(base32 "1hfircard99kmf81416xnln0chs6hskpjqz0p55ic8alm4rdlljs") (base32 "012d16rjprxdv9frf7kcakpikvw7l0s3kvj4kkp9flzdg3j8wxpz")
(base32 "1566506bmci15i80y0l0s93dgpgima0lqfmkg5ql7gd671aawkra"))) (base32 "1rwm09anyn4py1g877f9vh6ya86y2hfvlqx51bpa53dci5k0b0ds")))
(define-public linux-libre-6.4-pristine-source (define-public linux-libre-6.4-pristine-source
(let ((version linux-libre-6.4-version) (let ((version linux-libre-6.4-version)
(hash (base32 "18c8ikghvlr6h9jajy11dldck4h57wl301j14rxg7xhd6qlysd3i"))) (hash (base32 "17ycanx738bgxg5wn536kbad4zzvj5ngygp9qhvz76draaca5f5q")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-6.4))) deblob-scripts-6.4)))
(define-public linux-libre-6.3-version "6.3.13")
(define-public linux-libre-6.3-gnu-revision "gnu")
(define deblob-scripts-6.3
(linux-libre-deblob-scripts
linux-libre-6.3-version
linux-libre-6.3-gnu-revision
(base32 "01ivgzq18fwas87q84jx9jipcw58kwdnch7ylwg06d98ncga27px")
(base32 "1i6vyakvqgmr3lcmr0aj8n7lbcksrp4d0rm1sz7cz64hwbsr67pq")))
(define-public linux-libre-6.3-pristine-source
(let ((version linux-libre-6.3-version)
(hash (base32 "1ywijjhf19bciip75ppzjjh7bkadd449jr64yg2j5049w9h0aipa")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.3)))
;; The "longterm" kernels — the older releases with long-term upstream support. ;; The "longterm" kernels — the older releases with long-term upstream support.
;; Here are the support timelines: ;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html> ;; <https://www.kernel.org/category/releases.html>
(define-public linux-libre-6.1-version "6.1.38") (define-public linux-libre-6.1-version "6.1.44")
(define-public linux-libre-6.1-gnu-revision "gnu") (define-public linux-libre-6.1-gnu-revision "gnu")
(define deblob-scripts-6.1 (define deblob-scripts-6.1
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
linux-libre-6.1-version linux-libre-6.1-version
linux-libre-6.1-gnu-revision linux-libre-6.1-gnu-revision
(base32 "1b96867b46m36l88qnq2d4i9y43ghw97z9jajrh11cvb6kq4xi67") (base32 "1sf80f2i4vf888xjcn84ymn4w5ynn30ib9033zwmv7f09yvfhapy")
(base32 "1qq3nsznblz5fkwahxwq26csmrmjbxh8xknm2z4zw6b6k9svzb1b"))) (base32 "1c73516nbhnz0cxjz38b5794dxygb8sznv9idiibw7ablmjbhd11")))
(define-public linux-libre-6.1-pristine-source (define-public linux-libre-6.1-pristine-source
(let ((version linux-libre-6.1-version) (let ((version linux-libre-6.1-version)
(hash (base32 "0hrdh1w9z8bgy4cxqsxfkwa01yincfw1mq1bbwm36zczc0dzk97r"))) (hash (base32 "19d1fdvdp8lc5mvlcawd8hcpzjh7pdr5gq6fczhjl20xw4gx8l9f")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-6.1))) deblob-scripts-6.1)))
(define-public linux-libre-5.15-version "5.15.120") (define-public linux-libre-5.15-version "5.15.125")
(define-public linux-libre-5.15-gnu-revision "gnu") (define-public linux-libre-5.15-gnu-revision "gnu")
(define deblob-scripts-5.15 (define deblob-scripts-5.15
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
linux-libre-5.15-version linux-libre-5.15-version
linux-libre-5.15-gnu-revision linux-libre-5.15-gnu-revision
(base32 "0w5wyw8zp124nwydjvpnih7q3lp7gadlgsw60syw45nqq0afvlz3") (base32 "18ac30kxg2mf2f6gk3p935hzhz2qs110jy4xwk21kblnnkskbxj8")
(base32 "1zljgvzr8irs3acq436i2iyana9vgx4k1pm3id4rz0fbaqfma602"))) (base32 "1c3lm0j401lv2lk39dmr4mlf5ic173snm7cc0cckl6czyvxr5ysy")))
(define-public linux-libre-5.15-pristine-source (define-public linux-libre-5.15-pristine-source
(let ((version linux-libre-5.15-version) (let ((version linux-libre-5.15-version)
(hash (base32 "1xl3nrykbxdwv5a9rk0xnb7l61dsyjvkm1ryrdii09vbmsg0i6b4"))) (hash (base32 "1izyv1ibiy4dapwb8745dshfbb9b6xqyz77l6mhkmlkcnx33h3qm")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-5.15))) deblob-scripts-5.15)))
(define-public linux-libre-5.10-version "5.10.186") (define-public linux-libre-5.10-version "5.10.189")
(define-public linux-libre-5.10-gnu-revision "gnu1") (define-public linux-libre-5.10-gnu-revision "gnu1")
(define deblob-scripts-5.10 (define deblob-scripts-5.10
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
linux-libre-5.10-version linux-libre-5.10-version
linux-libre-5.10-gnu-revision linux-libre-5.10-gnu-revision
(base32 "0mw7qn77y9c6wrnw4rjvf75cpm1w6n1aqqhf8cnghcb97p2yxxrf") (base32 "0hirc87hgyy9qhgiipp5iahmdk4wwhiml6rp1naphz9d1vw3kb35")
(base32 "1739xvyzi3i7d12mvsvnqa7208pvwfss43kzin71l9svw0405vp5"))) (base32 "0nnp46mn32yk436swd2qh34igmzinfgkwvbzp3lqyy45f06hbc2j")))
(define-public linux-libre-5.10-pristine-source (define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version) (let ((version linux-libre-5.10-version)
(hash (base32 "1qqv91r13akgik1q4jybf8czskxxizk6lpv4rsvjn9sx2dm2jq0y"))) (hash (base32 "1jcqj0yh8k81a02y8wq1psy109w9s0r5j5zgm8gmf5ylw5m520sc")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-5.10))) deblob-scripts-5.10)))
(define-public linux-libre-5.4-version "5.4.249") (define-public linux-libre-5.4-version "5.4.252")
(define-public linux-libre-5.4-gnu-revision "gnu1") (define-public linux-libre-5.4-gnu-revision "gnu1")
(define deblob-scripts-5.4 (define deblob-scripts-5.4
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
linux-libre-5.4-version linux-libre-5.4-version
linux-libre-5.4-gnu-revision linux-libre-5.4-gnu-revision
(base32 "1nlgk8ajb5wl3aa96h9a0pb9j5a5wmrbpk63varn557x1d00r7wj") (base32 "0xg5cz82k2cb0ikxvwv1hp5c3h377jkb5sd6aszvsk7hnabhk62v")
(base32 "0ll19zlgx5sbr7gvi93lgavrnzlgv6dpj2yp2x63fj6vdba5iwgc"))) (base32 "0sw67b2pk3lng4y67diqqnhxaggnp3nbkx8dxc5fs27rinfxr4m1")))
(define-public linux-libre-5.4-pristine-source (define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version) (let ((version linux-libre-5.4-version)
(hash (base32 "079mylc5j7hk5xn59q3z2xydyh88pq7yipn67x3y7nvf5i35hm6w"))) (hash (base32 "0rw2b1rr3rb5498rv1zmj0ml3p67awrvd2ch66kp80wl4dsmhy1s")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-5.4))) deblob-scripts-5.4)))
(define-public linux-libre-4.19-version "4.19.288") (define-public linux-libre-4.19-version "4.19.290")
(define-public linux-libre-4.19-gnu-revision "gnu1") (define-public linux-libre-4.19-gnu-revision "gnu1")
(define deblob-scripts-4.19 (define deblob-scripts-4.19
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
linux-libre-4.19-version linux-libre-4.19-version
linux-libre-4.19-gnu-revision linux-libre-4.19-gnu-revision
(base32 "06pqv050bkii0hc2v7ymny5264w1bca8db0dp1pw9mfmjg865am5") (base32 "0ghdizzs6969872rnjcv9p6sl9rcbs29v3ismk125yyvjaczd428")
(base32 "05yqb59gj7mq5ha9xg045bz517sdg6janfa2yjq70qa6ahpc5fac"))) (base32 "1425mhkfxn18vxn05bb4h3li7x1jl7l1hf1zi8xhnqv3wa31h9wl")))
(define-public linux-libre-4.19-pristine-source (define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version) (let ((version linux-libre-4.19-version)
(hash (base32 "1sz3jp6kx0axdwp0wsq903q1090rbav9d12m5128335m8p2d1srk"))) (hash (base32 "1kqflbf78aamnbdc2v973qk9ymignl1cy6q0rpw865brgm5y59cz")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-4.19))) deblob-scripts-4.19)))
(define-public linux-libre-4.14-version "4.14.320") (define-public linux-libre-4.14-version "4.14.321")
(define-public linux-libre-4.14-gnu-revision "gnu1") (define-public linux-libre-4.14-gnu-revision "gnu1")
(define deblob-scripts-4.14 (define deblob-scripts-4.14
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
linux-libre-4.14-version linux-libre-4.14-version
linux-libre-4.14-gnu-revision linux-libre-4.14-gnu-revision
(base32 "02rxvr0gmxb3zfsyyzdmzgfq04gkdkv1cc38md0xfl0mxzdzdfyk") (base32 "1vbgykwzf7j0yjqcwn747cfhwj0rgw3s9h627q94wb9a19x9p0fr")
(base32 "1ccggm19nl7pdcxmsm08fkqy8phz8rqfmww5ypizibdmnrmpn2v9"))) (base32 "1faagsj4i31z2bp83hflx3q9vrddjnn37a3ah2b47iaplva7z1nd")))
(define-public linux-libre-4.14-pristine-source (define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version) (let ((version linux-libre-4.14-version)
(hash (base32 "09bn18jvazkc55bqdjbxy8fbca7vjhi9xl2h02w0sq3f1jf6g0pd"))) (hash (base32 "058p6ba24gx0q1fxyf5gnbnl49r82iaz97z01h7c4z2lgba2pqyh")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-4.14))) deblob-scripts-4.14)))
@ -641,16 +626,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(define-public linux-libre-6.4-source (define-public linux-libre-6.4-source
(source-with-patches linux-libre-6.4-pristine-source (source-with-patches linux-libre-6.4-pristine-source
(list %boot-logo-patch (list %boot-logo-patch
%linux-libre-arm-export-__sync_icache_dcache-patch %linux-libre-arm-export-__sync_icache_dcache-patch)))
(search-patch
"linux-libre-wireguard-postup-privkey.patch"))))
(define-public linux-libre-6.3-source
(source-with-patches linux-libre-6.3-pristine-source
(list %boot-logo-patch
%linux-libre-arm-export-__sync_icache_dcache-patch
(search-patch
"linux-libre-wireguard-postup-privkey.patch"))))
(define-public linux-libre-6.1-source (define-public linux-libre-6.1-source
(source-with-patches linux-libre-6.1-pristine-source (source-with-patches linux-libre-6.1-pristine-source
@ -658,22 +634,17 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(list %boot-logo-patch (list %boot-logo-patch
%linux-libre-arm-export-__sync_icache_dcache-patch) %linux-libre-arm-export-__sync_icache_dcache-patch)
(search-patches (search-patches
"linux-libre-infodocs-target.patch" "linux-libre-infodocs-target.patch"))))
"linux-libre-wireguard-postup-privkey.patch"))))
(define-public linux-libre-5.15-source (define-public linux-libre-5.15-source
(source-with-patches linux-libre-5.15-pristine-source (source-with-patches linux-libre-5.15-pristine-source
(list %boot-logo-patch (list %boot-logo-patch
%linux-libre-arm-export-__sync_icache_dcache-patch %linux-libre-arm-export-__sync_icache_dcache-patch)))
(search-patch
"linux-libre-wireguard-postup-privkey.patch"))))
(define-public linux-libre-5.10-source (define-public linux-libre-5.10-source
(source-with-patches linux-libre-5.10-pristine-source (source-with-patches linux-libre-5.10-pristine-source
(list %boot-logo-patch (list %boot-logo-patch
%linux-libre-arm-export-__sync_icache_dcache-patch %linux-libre-arm-export-__sync_icache_dcache-patch)))
(search-patch
"linux-libre-wireguard-postup-privkey.patch"))))
(define-public linux-libre-5.4-source (define-public linux-libre-5.4-source
(source-with-patches linux-libre-5.4-pristine-source (source-with-patches linux-libre-5.4-pristine-source
@ -775,11 +746,6 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
linux-libre-6.4-gnu-revision linux-libre-6.4-gnu-revision
linux-libre-6.4-source)) linux-libre-6.4-source))
(define-public linux-libre-headers-6.3
(make-linux-libre-headers* linux-libre-6.3-version
linux-libre-6.3-gnu-revision
linux-libre-6.3-source))
(define-public linux-libre-headers-6.1 (define-public linux-libre-headers-6.1
(make-linux-libre-headers* linux-libre-6.1-version (make-linux-libre-headers* linux-libre-6.1-version
linux-libre-6.1-gnu-revision linux-libre-6.1-gnu-revision
@ -1126,19 +1092,11 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
"aarch64-linux" "powerpc64le-linux" "riscv64-linux") "aarch64-linux" "powerpc64le-linux" "riscv64-linux")
#:configuration-file kernel-config)) #:configuration-file kernel-config))
(define-public linux-libre-6.3 (define-public linux-libre-version linux-libre-6.4-version)
(make-linux-libre* linux-libre-6.3-version (define-public linux-libre-gnu-revision linux-libre-6.4-gnu-revision)
linux-libre-6.3-gnu-revision (define-public linux-libre-pristine-source linux-libre-6.4-pristine-source)
linux-libre-6.3-source (define-public linux-libre-source linux-libre-6.4-source)
'("x86_64-linux" "i686-linux" "armhf-linux" (define-public linux-libre linux-libre-6.4)
"aarch64-linux" "powerpc64le-linux" "riscv64-linux")
#:configuration-file kernel-config))
(define-public linux-libre-version linux-libre-6.3-version)
(define-public linux-libre-gnu-revision linux-libre-6.3-gnu-revision)
(define-public linux-libre-pristine-source linux-libre-6.3-pristine-source)
(define-public linux-libre-source linux-libre-6.3-source)
(define-public linux-libre linux-libre-6.3)
(define-public linux-libre-6.1 (define-public linux-libre-6.1
(make-linux-libre* linux-libre-6.1-version (make-linux-libre* linux-libre-6.1-version
@ -1371,9 +1329,9 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
(define-public linux-libre-with-bpf (define-public linux-libre-with-bpf
(let ((base-linux-libre (let ((base-linux-libre
(make-linux-libre* (make-linux-libre*
linux-libre-6.3-version linux-libre-6.4-version
linux-libre-6.3-gnu-revision linux-libre-6.4-gnu-revision
linux-libre-6.3-source linux-libre-6.4-source
'("x86_64-linux" "i686-linux" "armhf-linux" '("x86_64-linux" "i686-linux" "armhf-linux"
"aarch64-linux" "powerpc64le-linux" "riscv64-linux") "aarch64-linux" "powerpc64le-linux" "riscv64-linux")
#:extra-version "bpf" #:extra-version "bpf"
@ -4469,7 +4427,7 @@ one to send arbitrary keycodes when a given key is tapped or held.")
(define-public lvm2 (define-public lvm2
(package (package
(name "lvm2") (name "lvm2")
(version "2.03.21") (version "2.03.22")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (list (string-append "https://sourceware.org/ftp/lvm2/LVM2." (uri (list (string-append "https://sourceware.org/ftp/lvm2/LVM2."
@ -4478,7 +4436,7 @@ one to send arbitrary keycodes when a given key is tapped or held.")
version ".tgz"))) version ".tgz")))
(sha256 (sha256
(base32 (base32
"0zksqsz8y47kh6vq0ykkgxf19il4wxfn234n6zf8m691sqhij9hy")) "0z6w6bknhwh1n3qfkb5ij6x57q3wjf28lq3l8kh7rkhsplinjnjc"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -7762,7 +7720,7 @@ every time the power supply source is changed.")
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let ((defaults.conf (let ((defaults.conf
(search-input-file inputs "/share/tlp/defaults.conf")) (search-input-file inputs "/share/tlp/defaults.conf"))
(lspci (search-input-file inputs "/sbin/lspci")) (lspci (search-input-file inputs "/bin/lspci"))
(lsusb (search-input-file inputs "/bin/lsusb")) (lsusb (search-input-file inputs "/bin/lsusb"))
(tlp-stat (search-input-file inputs "/bin/tlp-stat"))) (tlp-stat (search-input-file inputs "/bin/tlp-stat")))
(with-directory-excursion "tlpui" (with-directory-excursion "tlpui"
@ -9970,8 +9928,48 @@ older system-wide @file{/sys} interface.")
(delete 'configure)))) ; no configure script (delete 'configure)))) ; no configure script
(home-page "https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/") (home-page "https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/")
(synopsis "Linux kernel trace event library") (synopsis "Linux kernel trace event library")
(description "This package provides library to parse raw trace event (description
formats.") "This library parses raw Linux kernel trace event formats.")
(license (list license:gpl2
license:lgpl2.1))))
(define-public libtracefs
(package
(name "libtracefs")
(version "1.7.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git")
(commit (string-append name "-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0v896n3q0df0nxx5drbwyaqhrqiyxl06rvrdw3gp2r37awa9g1zb"))
(modules '((guix build utils)))
(snippet
#~(begin
(substitute* (list "Makefile" "scripts/utils.mk")
(("/bin/(pwd)" _ command) command))))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; no test suite
#:make-flags
#~(list
(string-append "CC=" #$(cc-for-target))
(string-append "pkgconfig_dir=" #$output "/lib/pkgconfig")
(string-append "prefix=" #$output))
#:phases
#~(modify-phases %standard-phases
(delete 'configure)))) ; no configure script
(native-inputs (list pkg-config))
(inputs (list libtraceevent))
(home-page "https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/")
(synopsis "Linux kernel trace file system library")
(description
"This library provides APIs to access the Linux kernel's trace file
system.")
(license (list license:gpl2 (license (list license:gpl2
license:lgpl2.1)))) license:lgpl2.1))))

View File

@ -10,6 +10,7 @@
;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com> ;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com>
;;; Copyright © 2022 jgart <jgart@dismail.de> ;;; Copyright © 2022 jgart <jgart@dismail.de>
;;; Copyright © 2022, 2023 André A. Gomes <andremegafone@gmail.com> ;;; Copyright © 2022, 2023 André A. Gomes <andremegafone@gmail.com>
;;; Copyright © 2023 Cage <cage-dev@twistfold.it>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -355,26 +356,26 @@ experience.")
(sbcl-package->ecl-package sbcl-clunit)) (sbcl-package->ecl-package sbcl-clunit))
(define-public sbcl-clunit2 (define-public sbcl-clunit2
(let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b") (let ((commit "c3159275a6c5af166e60b592c3b7e22eaa69c048")
(revision "1")) (revision "2"))
(package (package
(name "sbcl-clunit2") (name "sbcl-clunit2")
(version (git-version "0.2.4" revision commit)) (version (git-version "0.5.2" revision commit))
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://notabug.org/cage/clunit2.git") (url "https://codeberg.org/cage/clunit2.git")
(commit commit))) (commit commit)))
(file-name (git-file-name name version)) (file-name (git-file-name "cl-clunit2" version))
(sha256 (sha256
(base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw")))) (base32 "0n92z98dqfik3kfp25nz7yqycx4bpxlqbn69i5skcdnrj2ywmv01"))))
(build-system asdf-build-system/sbcl) (build-system asdf-build-system/sbcl)
(synopsis "Unit testing framework for Common Lisp") (synopsis "Unit testing framework for Common Lisp")
(description (description
"CLUnit is a Common Lisp unit testing framework. It is designed to be "CLUnit2 is a Common Lisp unit testing framework. It is designed to be
easy to use so that you can quickly start testing.") easy to use so that you can quickly start testing.")
(home-page "https://notabug.org/cage/clunit2") (home-page "https://codeberg.org/cage/clunit2")
(license license:expat)))) (license license:expat))))
(define-public cl-clunit2 (define-public cl-clunit2

View File

@ -24,7 +24,7 @@
;;; Copyright © 2021, 2022 Aurora <rind38@disroot.org> ;;; Copyright © 2021, 2022 Aurora <rind38@disroot.org>
;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org> ;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org>
;;; Copyright © 2021, 2022, 2023 André A. Gomes <andremegafone@gmail.com> ;;; Copyright © 2021, 2022, 2023 André A. Gomes <andremegafone@gmail.com>
;;; Copyright © 2021, 2022 Cage <cage-dev@twistfold.it> ;;; Copyright © 2021, 2022, 2023 Cage <cage-dev@twistfold.it>
;;; Copyright © 2021 Cameron Chaparro <cameron@cameronchaparro.com> ;;; Copyright © 2021 Cameron Chaparro <cameron@cameronchaparro.com>
;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com> ;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com>
;;; Copyright © 2021, 2022 Foo Chuan Wei <chuanwei.foo@hotmail.com> ;;; Copyright © 2021, 2022 Foo Chuan Wei <chuanwei.foo@hotmail.com>
@ -11755,8 +11755,8 @@ be used with @code{cl-yacc}.")
(sbcl-package->ecl-package sbcl-cl-lex)) (sbcl-package->ecl-package sbcl-cl-lex))
(define-public sbcl-cl-colors2 (define-public sbcl-cl-colors2
(let ((commit "cc03badf5f69be65ae7e13c2f9a7c16838ab8241") (let ((commit "7a1410765e5186625df19a875cebba685e9e51bd")
(revision "3")) (revision "4"))
(package (package
(name "sbcl-cl-colors2") (name "sbcl-cl-colors2")
(version (git-version "0.5.4" revision commit)) (version (git-version "0.5.4" revision commit))
@ -11764,11 +11764,11 @@ be used with @code{cl-yacc}.")
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://notabug.org/cage/cl-colors2.git") (url "https://codeberg.org/cage/cl-colors2.git")
(commit commit))) (commit commit)))
(file-name (git-file-name "cl-colors2" version)) (file-name (git-file-name "cl-colors2" version))
(sha256 (sha256
(base32 "1l7sl7nnvq13xmss9wwkhcq123bsylskxjrijwfkqp6sm02gbd15")))) (base32 "1xk3wshp21v193wbj1gs0czxaci00wwm957vmqi2dvlv0wgb2hfr"))))
(build-system asdf-build-system/sbcl) (build-system asdf-build-system/sbcl)
(native-inputs (native-inputs
(list sbcl-clunit2)) (list sbcl-clunit2))
@ -11784,7 +11784,7 @@ be used with @code{cl-yacc}.")
@item Function printing colors to HEX, RGB, RGBA, and HSL. @item Function printing colors to HEX, RGB, RGBA, and HSL.
@item Predefined colors from X11, SVG, and GDK. @item Predefined colors from X11, SVG, and GDK.
@end itemize\n") @end itemize\n")
(home-page "https://notabug.org/cage/cl-colors2") (home-page "https://codeberg.org/cage/cl-colors2")
(license license:boost1.0)))) (license license:boost1.0))))
(define-public cl-colors2 (define-public cl-colors2
@ -11929,44 +11929,44 @@ Scalable Vector Graphics files.")
(sbcl-package->cl-source-package sbcl-cl-svg)) (sbcl-package->cl-source-package sbcl-cl-svg))
(define-public sbcl-nodgui (define-public sbcl-nodgui
(let ((commit "4a9c2e7714b278fbe97d198c56f54ea87290001d") (let ((commit "b1d15fa9cca8550926f7823dbdd8be3b34387f1a")
(revision "1")) (revision "2"))
(package (package
(name "sbcl-nodgui") (name "sbcl-nodgui")
(version (git-version "0.1.1" revision commit)) (version (git-version "0.4.8.5" revision commit))
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://notabug.org/cage/nodgui.git") (url "https://codeberg.org/cage/nodgui.git")
(commit commit))) (commit commit)))
(file-name (git-file-name "nodgui" version)) (file-name (git-file-name "cl-nodgui" version))
(sha256 (sha256
(base32 "1vgzzw459h32v2mi41cia6i940jqmvxlc8w3xj3516hbc2mqkaib")))) (base32 "1gsxg8igiavs8fr39vgw8ypa42wjqaq9sszwqiifpm7yvq54lls7"))))
(build-system asdf-build-system/sbcl) (build-system asdf-build-system/sbcl)
(inputs (inputs
`(("alexandria" ,sbcl-alexandria) (list sbcl-alexandria
("bordeaux-threads" ,sbcl-bordeaux-threads) sbcl-bordeaux-threads
("cl-colors2" ,sbcl-cl-colors2) sbcl-cl-colors2
("cl-jpeg" ,sbcl-cl-jpeg) sbcl-cl-jpeg
("cl-lex" ,sbcl-cl-lex) sbcl-cl-ppcre-unicode
("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode) sbcl-cl-unicode
("cl-unicode" ,sbcl-cl-unicode) sbcl-clunit2
("cl-yacc" ,sbcl-cl-yacc) sbcl-esrap
("clunit2" ,sbcl-clunit2) sbcl-named-readtables
("named-readtables" ,sbcl-named-readtables) sbcl-parse-number
("parse-number" ,sbcl-parse-number) tk
("tk" ,tk))) tklib))
(arguments (arguments
`(#:phases (modify-phases %standard-phases (list #:phases
(add-after 'unpack 'fix-paths #~(modify-phases %standard-phases
(lambda* (#:key inputs #:allow-other-keys) (add-after 'unpack 'fix-paths
(substitute* "src/wish-communication.lisp" (lambda* (#:key inputs #:allow-other-keys)
(("#-freebsd \"wish\"") (substitute* "src/wish-communication.lisp"
(string-append "#-freebsd \"" (("#-freebsd \"wish\"")
(assoc-ref inputs "tk") (string-append "#-freebsd \""
"/bin/wish\""))) (search-input-file inputs "/bin/wish")
#t))))) "\""))))))))
(synopsis "Common Lisp bindings for the Tk GUI toolkit") (synopsis "Common Lisp bindings for the Tk GUI toolkit")
(description (description
"Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
@ -18552,8 +18552,8 @@ HTML documents.")
(sbcl-package->cl-source-package sbcl-cl-html-diff)) (sbcl-package->cl-source-package sbcl-cl-html-diff))
(define-public sbcl-tooter (define-public sbcl-tooter
(let ((commit "ec97bee3431c55913078e532daae81eb0fd90372") (let ((commit "2e1b22f0993419c1e7e6d10ead45d7bcafb5b6cb")
(revision "3")) (revision "4"))
(package (package
(name "sbcl-tooter") (name "sbcl-tooter")
(version (git-version "1.0.0" revision commit)) (version (git-version "1.0.0" revision commit))
@ -18563,9 +18563,9 @@ HTML documents.")
(uri (git-reference (uri (git-reference
(url "https://github.com/Shinmera/tooter") (url "https://github.com/Shinmera/tooter")
(commit commit))) (commit commit)))
(file-name (git-file-name "tooter" version)) (file-name (git-file-name "cl-tooter" version))
(sha256 (sha256
(base32 "02vpjaq38d6laaqmsana9f13c38xzr0xwy05fcfkmzdhh0kllpkv")))) (base32 "02ys58gzasvk7r84jmz6k522qcw2hkbgv8p0ax5i8dggjhr04cz2"))))
(build-system asdf-build-system/sbcl) (build-system asdf-build-system/sbcl)
(inputs (inputs
(list sbcl-cl-ppcre sbcl-documentation-utils sbcl-drakma (list sbcl-cl-ppcre sbcl-documentation-utils sbcl-drakma
@ -18719,20 +18719,20 @@ dynamically.")
(sbcl-package->cl-source-package sbcl-sxql-composer)) (sbcl-package->cl-source-package sbcl-sxql-composer))
(define-public sbcl-cl-i18n (define-public sbcl-cl-i18n
(let ((commit "66b02dc2cff3ab97f924329aaf965807fe18aa20") (let ((commit "acb162a12dac50fc46d83da8934fce85d19e31c4")
(revision "2")) (revision "3"))
(package (package
(name "sbcl-cl-i18n") (name "sbcl-cl-i18n")
(version (git-version "0.5.3" revision commit)) (version (git-version "0.5.5" revision commit))
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://notabug.org/cage/cl-i18n") (url "https://codeberg.org/cage/cl-i18n")
(commit commit))) (commit commit)))
(file-name (git-file-name "cl-i18n" version)) (file-name (git-file-name "cl-i18n" version))
(sha256 (sha256
(base32 "06ij1wxancsym87gg63nvjh7vfzjipi1f02h4fb2ypip60vw06lc")))) (base32 "1y29cirmlyc406a45sdx39spvnjzbs772c977075ccicz46qaxz7"))))
(build-system asdf-build-system/sbcl) (build-system asdf-build-system/sbcl)
(inputs (inputs
(list sbcl-alexandria sbcl-babel sbcl-cl-ppcre-unicode)) (list sbcl-alexandria sbcl-babel sbcl-cl-ppcre-unicode))
@ -18740,7 +18740,7 @@ dynamically.")
(description (description
"This is a Gettext-style internationalisation framework for Common "This is a Gettext-style internationalisation framework for Common
Lisp.") Lisp.")
(home-page "https://notabug.org/cage/cl-i18n") (home-page "https://codeberg.org/cage/cl-i18n")
(license license:llgpl)))) (license license:llgpl))))
(define-public ecl-cl-i18n (define-public ecl-cl-i18n
@ -19716,7 +19716,7 @@ described in RFC 2045 (see @url{http://tools.ietf.org/html/rfc2045}).")
(list sbcl-cl-ppcre sbcl-cl-base64 sbcl-cl-qprint)) (list sbcl-cl-ppcre sbcl-cl-base64 sbcl-cl-qprint))
(native-inputs (native-inputs
(list sbcl-rove)) (list sbcl-rove))
(home-page "https://github.com/eugeneia/cl-qprint/") (home-page "https://github.com/40ants/cl-mime/")
(synopsis "Read and print MIME content in Common Lisp") (synopsis "Read and print MIME content in Common Lisp")
(description (description
"This is a Common Lisp library for reading and printing MIME content. "This is a Common Lisp library for reading and printing MIME content.

View File

@ -994,7 +994,7 @@ the HTML documentation of TXR.")
(define-public txr (define-public txr
(package (package
(name "txr") (name "txr")
(version "289") (version "291")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1003,7 +1003,7 @@ the HTML documentation of TXR.")
(commit (string-append "txr-" version)))) (commit (string-append "txr-" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1jcz5iggp4mz5bzgnifr4xdpvz0sxa8cminynhdcs2jqr073xy8b")))) (base32 "0nsb302arpd2mw2z2l12j6yg9pp94lfb79h3sym72ih7rmklnfx7"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list #:configure-flags (list #:configure-flags

View File

@ -82,7 +82,6 @@
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix gexp)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
@ -2616,58 +2615,54 @@ fixed point (16.16) format.")
"1n6lf0wvpp77lxqlr721h2jbfbzigphdp19wq8ajiccilcksh7ay")))) "1n6lf0wvpp77lxqlr721h2jbfbzigphdp19wq8ajiccilcksh7ay"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags (list #:configure-flags
;; Sensible defaults: https://github.com/flame/libflame/issues/28 ;; Sensible defaults: https://github.com/flame/libflame/issues/28
(list "--enable-dynamic-build" #~(list "--enable-dynamic-build"
"--enable-max-arg-list-hack" "--enable-max-arg-list-hack"
"--enable-lapack2flame" "--enable-lapack2flame"
"--enable-verbose-make-output" "--enable-verbose-make-output"
"--enable-multithreading=pthreads" ; Openblas isn't built with openmp. "--enable-multithreading=pthreads" ; Openblas isn't built with openmp.
,@(if (any (cute string-prefix? <> (or (%current-target-system) #$@(if (target-x86?)
(%current-system))) #~("--enable-vector-intrinsics=sse")
'("x86_64" "i686")) #~())
'("--enable-vector-intrinsics=sse") "--enable-supermatrix"
'()) "--enable-memory-alignment=16"
"--enable-supermatrix" "--enable-ldim-alignment")
"--enable-memory-alignment=16" #:phases
"--enable-ldim-alignment") #~(modify-phases %standard-phases
#:phases (add-after 'unpack 'patch-/usr/bin/env-bash
(modify-phases %standard-phases (lambda _
(add-after 'unpack 'patch-/usr/bin/env-bash (substitute* "build/config.mk.in"
(lambda _ (("/usr/bin/env bash")
(substitute* "build/config.mk.in" (which "bash")))))
(("/usr/bin/env bash") (which "bash"))) (replace 'check
#t)) (lambda* (#:key tests? #:allow-other-keys)
(replace 'check (substitute* "test/Makefile"
(lambda* (#:key tests? #:allow-other-keys) (("LIBBLAS .*")
(substitute* "test/Makefile" "LIBBLAS = -lblas\n")
(("LIBBLAS .*") "LIBBLAS = -lblas\n") (("LIBLAPACK .*")
(("LIBLAPACK .*") "LIBLAPACK = -llapack\n")) "LIBLAPACK = -llapack\n"))
(if tests? (when tests?
(with-directory-excursion "test" (with-directory-excursion "test"
(mkdir "obj") (mkdir "obj")
(invoke "make") (invoke "make")
(invoke "./test_libflame.x")) (invoke "./test_libflame.x")))))
#t))) (add-after 'install 'install-static
(add-after 'install 'install-static (lambda* (#:key outputs #:allow-other-keys)
(lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))
(let ((out (assoc-ref outputs "out")) (static (assoc-ref outputs "static")))
(static (assoc-ref outputs "static"))) (mkdir-p (string-append static "/lib"))
(mkdir-p (string-append static "/lib")) (rename-file (string-append out
(rename-file (string-append out "/lib/libflame.a") "/lib/libflame.a")
(string-append static "/lib/libflame.a")) (string-append static
(install-file (string-append out "/include/FLAME.h") "/lib/libflame.a"))
(string-append static "/include")) (install-file (string-append out
#t)))))) "/include/FLAME.h")
(inputs (string-append static "/include"))))))))
(list gfortran)) (inputs (list gfortran))
(native-inputs (native-inputs (list lapack perl python-wrapper))
`(("lapack" ,lapack)
("openblas" ,openblas)
("perl" ,perl)
("python" ,python-wrapper)))
(home-page "https://github.com/flame/libflame") (home-page "https://github.com/flame/libflame")
(synopsis "High-performance object-based library for DLA computations") (synopsis "High-performance library for @acronym{DLA, dense linear algebra} computations")
(description "@code{libflame} is a portable library for dense matrix (description "@code{libflame} is a portable library for dense matrix
computations, providing much of the functionality present in LAPACK, developed computations, providing much of the functionality present in LAPACK, developed
by current and former members of the @acronym{SHPC, Science of High-Performance by current and former members of the @acronym{SHPC, Science of High-Performance
@ -4724,6 +4719,7 @@ library.")
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list (list
#:configure-flags #~'("--enable-cblas")
#:modules #:modules
'((guix build gnu-build-system) '((guix build gnu-build-system)
(guix build utils) (guix build utils)

View File

@ -2089,7 +2089,7 @@ is also scriptable and extensible via Guile.")
(define-public libstrophe (define-public libstrophe
(package (package
(name "libstrophe") (name "libstrophe")
(version "0.12.2") (version "0.12.3")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -2098,7 +2098,7 @@ is also scriptable and extensible via Guile.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1ispq6sf7pq02irrqfga4i1xhrg1pg0f86qvvnix15clm8i1agld")))) (base32 "17wxaqdcwhm34bl31g9fmsgmnsd7znyxcb9dhw9lmaghkql1sf0h"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list #:configure-flags '(list "--disable-static") (list #:configure-flags '(list "--disable-static")
@ -2107,8 +2107,7 @@ is also scriptable and extensible via Guile.")
(add-after 'unpack 'patch-make (add-after 'unpack 'patch-make
(lambda _ (lambda _
(substitute* "Makefile.am" (substitute* "Makefile.am"
(("'\\^xmpp_'") "'.'")) (("'\\^xmpp_'") "'.'"))))
#t))
(add-after 'install-licence-files 'install-extra-licence-files (add-after 'install-licence-files 'install-extra-licence-files
(lambda _ (lambda _
(let ((license-directory (string-append #$output (let ((license-directory (string-append #$output

View File

@ -261,7 +261,7 @@ player daemon.")
(define-public ncmpc (define-public ncmpc
(package (package
(name "ncmpc") (name "ncmpc")
(version "0.48") (version "0.49")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -270,7 +270,7 @@ player daemon.")
"/ncmpc-" version ".tar.xz")) "/ncmpc-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"035rd64a70qiv334bgs9z2hqnvzldkwdvxay2hmdx5l0a5zd5cml")))) "0afgcbqk4gqhc26wlw6vsnyv5gl5ciq0qyv4miicyswyvq7frfv5"))))
(build-system meson-build-system) (build-system meson-build-system)
(inputs (list boost pcre libmpdclient ncurses)) (inputs (list boost pcre libmpdclient ncurses))
(native-inputs (native-inputs

View File

@ -5122,7 +5122,7 @@ studio.")
(define-public gsequencer (define-public gsequencer
(package (package
(name "gsequencer") (name "gsequencer")
(version "4.5.0") (version "5.5.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -5131,7 +5131,7 @@ studio.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0j66b8y1pyka2im5hbwz6yh3hip0wsw7fa3kwl2212wq1y2a4ys1")))) (base32 "0dl3gsmpc7b4hi97qri5d5rc3ikx639r3l1dy204p6dx8pwpv2ry"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -5159,6 +5159,7 @@ studio.")
gstreamer gstreamer
gtk gtk
jack-1 jack-1
json-glib
ladspa ladspa
libinstpatch libinstpatch
libsamplerate libsamplerate

View File

@ -256,7 +256,7 @@ protocols.")
(define-public lcrq (define-public lcrq
(package (package
(name "lcrq") (name "lcrq")
(version "0.0.1") (version "0.1.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -265,7 +265,7 @@ protocols.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0jf7x3zcdbz5b99qz7liw4i90hn9s457zr82n0r8g9qsi81a1d8c")))) "13mfg866scvy557zrvjxjhkzam39h8d07s2w3fqbwhw6br6axkxk"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:parallel-tests? #f `(#:parallel-tests? #f

View File

@ -0,0 +1,49 @@
This patch is taken from Debian, using Debian version 1.7.0-8.
A new patch will be needed when apr is updated.
# quick and dirty fix for FTBFS on mipsel
# There should be a proper configure check, see
# https://bz.apache.org/bugzilla/show_bug.cgi?id=63566
Index: apr-1.7.0/include/arch/unix/apr_arch_atomic.h
===================================================================
--- apr-1.7.0.orig/include/arch/unix/apr_arch_atomic.h
+++ apr-1.7.0/include/arch/unix/apr_arch_atomic.h
@@ -26,6 +26,9 @@
/* noop */
#elif HAVE_ATOMIC_BUILTINS
# define USE_ATOMICS_BUILTINS
+# if (__INTPTR_WIDTH__ == 32) && ( defined(__MIPSEL__) || defined(__powerpc__) ) || defined(__m68k__) || defined(__sh__)
+# define NEED_ATOMICS_GENERIC64
+# endif
#elif defined(SOLARIS2) && SOLARIS2 >= 10
# define USE_ATOMICS_SOLARIS
# define NEED_ATOMICS_GENERIC64
Index: apr-1.7.0/atomic/unix/builtins64.c
===================================================================
--- apr-1.7.0.orig/atomic/unix/builtins64.c
+++ apr-1.7.0/atomic/unix/builtins64.c
@@ -16,7 +16,7 @@
#include "apr_arch_atomic.h"
-#ifdef USE_ATOMICS_BUILTINS
+#if defined(USE_ATOMICS_BUILTINS) && ! defined(NEED_ATOMICS_GENERIC64)
APR_DECLARE(apr_uint64_t) apr_atomic_read64(volatile apr_uint64_t *mem)
{
Index: apr-1.7.0/atomic/unix/builtins.c
===================================================================
--- apr-1.7.0.orig/atomic/unix/builtins.c
+++ apr-1.7.0/atomic/unix/builtins.c
@@ -20,7 +20,11 @@
APR_DECLARE(apr_status_t) apr_atomic_init(apr_pool_t *p)
{
+#if defined (NEED_ATOMICS_GENERIC64)
+ return apr__atomic_generic64_init(p);
+#else
return APR_SUCCESS;
+#endif
}
APR_DECLARE(apr_uint32_t) apr_atomic_read32(volatile apr_uint32_t *mem)

View File

@ -0,0 +1,38 @@
diff --git a/engine/ibus-engine-table.in b/engine/ibus-engine-table.in
index e79d62a6cad4..675007204abd 100644
--- a/engine/ibus-engine-table.in
+++ b/engine/ibus-engine-table.in
@@ -24,8 +24,6 @@ prefix=@prefix@
exec_prefix=@prefix@
datarootdir=@datarootdir@
datadir=@datadir@
-export IBUS_TABLE_LOCATION=@datarootdir@/ibus-table
-export IBUS_TABLE_LIB_LOCATION=@libexecdir@
# Set this variable to something > 0 to get more debug output.
# (Debug output may show up in the log file and/or in the lookup table):
diff --git a/engine/ibus-table-createdb.in b/engine/ibus-table-createdb.in
index 91eb28b7cbe5..187dddf2c952 100644
--- a/engine/ibus-table-createdb.in
+++ b/engine/ibus-table-createdb.in
@@ -24,6 +24,4 @@ exec_prefix=@exec_prefix@
bindir=@bindir@
datarootdir=@datarootdir@
datadir=@datadir@
-export IBUS_TABLE_DATA_DIR=@datarootdir@
-export IBUS_TABLE_BIN_PATH=@bindir@
exec @PYTHON@ @datarootdir@/ibus-table/engine/tabcreatedb.py $@
diff --git a/setup/ibus-setup-table.in b/setup/ibus-setup-table.in
index 7f7405c37296..ae6f96921c56 100644
--- a/setup/ibus-setup-table.in
+++ b/setup/ibus-setup-table.in
@@ -22,9 +22,6 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
datarootdir=@datarootdir@
-export IBUS_PREFIX=@prefix@
-export IBUS_DATAROOTDIR=@datarootdir@
-export IBUS_LOCALEDIR=@localedir@
cd @prefix@/share/ibus-table/setup/
exec @PYTHON@ main.py $@

View File

@ -1,119 +0,0 @@
From 3ac1bf099766f1e9735883d5127148054cd5b30a Mon Sep 17 00:00:00 2001
From: "Jason A. Donenfeld" <Jason@zx2c4.com>
Date: Thu, 18 May 2023 03:08:44 +0200
Subject: wireguard: netlink: send staged packets when setting initial private
key
Packets bound for peers can queue up prior to the device private key
being set. For example, if persistent keepalive is set, a packet is
queued up to be sent as soon as the device comes up. However, if the
private key hasn't been set yet, the handshake message never sends, and
no timer is armed to retry, since that would be pointless.
But, if a user later sets a private key, the expectation is that those
queued packets, such as a persistent keepalive, are actually sent. So
adjust the configuration logic to account for this edge case, and add a
test case to make sure this works.
Maxim noticed this with a wg-quick(8) config to the tune of:
[Interface]
PostUp = wg set %i private-key somefile
[Peer]
PublicKey = ...
Endpoint = ...
PersistentKeepalive = 25
Here, the private key gets set after the device comes up using a PostUp
script, triggering the bug.
Fixes: e7096c131e51 ("net: WireGuard secure network tunnel")
Cc: stable@vger.kernel.org
Reported-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Link: https://lore.kernel.org/wireguard/87fs7xtqrv.fsf@gmail.com/
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
---
drivers/net/wireguard/netlink.c | 14 +++++++++-----
tools/testing/selftests/wireguard/netns.sh | 30 ++++++++++++++++++++++++++----
2 files changed, 35 insertions(+), 9 deletions(-)
diff --git a/drivers/net/wireguard/netlink.c b/drivers/net/wireguard/netlink.c
index 43c8c84e7ea8..6d1bd9f52d02 100644
--- a/drivers/net/wireguard/netlink.c
+++ b/drivers/net/wireguard/netlink.c
@@ -546,6 +546,7 @@ static int wg_set_device(struct sk_buff *skb, struct genl_info *info)
u8 *private_key = nla_data(info->attrs[WGDEVICE_A_PRIVATE_KEY]);
u8 public_key[NOISE_PUBLIC_KEY_LEN];
struct wg_peer *peer, *temp;
+ bool send_staged_packets;
if (!crypto_memneq(wg->static_identity.static_private,
private_key, NOISE_PUBLIC_KEY_LEN))
@@ -564,14 +565,17 @@ static int wg_set_device(struct sk_buff *skb, struct genl_info *info)
}
down_write(&wg->static_identity.lock);
- wg_noise_set_static_identity_private_key(&wg->static_identity,
- private_key);
- list_for_each_entry_safe(peer, temp, &wg->peer_list,
- peer_list) {
+ send_staged_packets = !wg->static_identity.has_identity && netif_running(wg->dev);
+ wg_noise_set_static_identity_private_key(&wg->static_identity, private_key);
+ send_staged_packets = send_staged_packets && wg->static_identity.has_identity;
+
+ wg_cookie_checker_precompute_device_keys(&wg->cookie_checker);
+ list_for_each_entry_safe(peer, temp, &wg->peer_list, peer_list) {
wg_noise_precompute_static_static(peer);
wg_noise_expire_current_peer_keypairs(peer);
+ if (send_staged_packets)
+ wg_packet_send_staged_packets(peer);
}
- wg_cookie_checker_precompute_device_keys(&wg->cookie_checker);
up_write(&wg->static_identity.lock);
}
skip_set_private_key:
diff --git a/tools/testing/selftests/wireguard/netns.sh b/tools/testing/selftests/wireguard/netns.sh
index 69c7796c7ca9..405ff262ca93 100755
--- a/tools/testing/selftests/wireguard/netns.sh
+++ b/tools/testing/selftests/wireguard/netns.sh
@@ -514,10 +514,32 @@ n2 bash -c 'printf 0 > /proc/sys/net/ipv4/conf/all/rp_filter'
n1 ping -W 1 -c 1 192.168.241.2
[[ $(n2 wg show wg0 endpoints) == "$pub1 10.0.0.3:1" ]]
-ip1 link del veth1
-ip1 link del veth3
-ip1 link del wg0
-ip2 link del wg0
+ip1 link del dev veth3
+ip1 link del dev wg0
+ip2 link del dev wg0
+
+# Make sure persistent keep alives are sent when an adapter comes up
+ip1 link add dev wg0 type wireguard
+n1 wg set wg0 private-key <(echo "$key1") peer "$pub2" endpoint 10.0.0.1:1 persistent-keepalive 1
+read _ _ tx_bytes < <(n1 wg show wg0 transfer)
+[[ $tx_bytes -eq 0 ]]
+ip1 link set dev wg0 up
+read _ _ tx_bytes < <(n1 wg show wg0 transfer)
+[[ $tx_bytes -gt 0 ]]
+ip1 link del dev wg0
+# This should also happen even if the private key is set later
+ip1 link add dev wg0 type wireguard
+n1 wg set wg0 peer "$pub2" endpoint 10.0.0.1:1 persistent-keepalive 1
+read _ _ tx_bytes < <(n1 wg show wg0 transfer)
+[[ $tx_bytes -eq 0 ]]
+ip1 link set dev wg0 up
+read _ _ tx_bytes < <(n1 wg show wg0 transfer)
+[[ $tx_bytes -eq 0 ]]
+n1 wg set wg0 private-key <(echo "$key1")
+read _ _ tx_bytes < <(n1 wg show wg0 transfer)
+[[ $tx_bytes -gt 0 ]]
+ip1 link del dev veth1
+ip1 link del dev wg0
# We test that Netlink/IPC is working properly by doing things that usually cause split responses
ip0 link add dev wg0 type wireguard
--
cgit v1.2.3-59-g8ed1b

View File

@ -1,243 +0,0 @@
# This patch removes all need for the ThirdParty files of OpenFOAM.
# Derived from EasyBuild patch by Ward Poelmans <wpoely86@gmail.com>.
# Modified for GNU Guix by Paul Garlick <pgarlick@tourbillion-technology.com>.
diff -ur OpenFOAM-4.x-version-4.1.org/applications/utilities/mesh/manipulation/setSet/Allwmake OpenFOAM-4.x-version-4.1/applications/utilities/mesh/manipulation/setSet/Allwmake
--- OpenFOAM-4.x-version-4.1.org/applications/utilities/mesh/manipulation/setSet/Allwmake
+++ OpenFOAM-4.x-version-4.1/applications/utilities/mesh/manipulation/setSet/Allwmake
@@ -9,7 +9,7 @@
#
# use readline if available
#
-if [ -f /usr/include/readline/readline.h ]
+if true
then
echo "Found <readline/readline.h> -- enabling readline support."
export COMP_FLAGS="-DHAS_READLINE"
diff -ur OpenFOAM-4.x-version-4.1.org/etc/bashrc OpenFOAM-4.x-version-4.1/etc/bashrc
--- OpenFOAM-4.x-version-4.1.org/etc/bashrc
+++ OpenFOAM-4.x-version-4.1/etc/bashrc
@@ -43,8 +43,10 @@
# Please set to the appropriate path if the default is not correct.
#
[ $BASH_SOURCE ] && \
-export FOAM_INST_DIR=$(cd ${BASH_SOURCE%/*/*/*} && pwd -P) || \
+export FOAM_INST_DIR=$(cd $(dirname $BASH_SOURCE)/../.. && pwd -P) || \
export FOAM_INST_DIR=$HOME/$WM_PROJECT
+# For GNU Guix: set initially for build then re-set at runtime
+#
# export FOAM_INST_DIR=~$WM_PROJECT
# export FOAM_INST_DIR=/opt/$WM_PROJECT
# export FOAM_INST_DIR=/usr/local/$WM_PROJECT
diff -ur OpenFOAM-4.x-version-4.1.org/etc/config.sh/CGAL OpenFOAM-4.x-version-4.1/etc/config.sh/CGAL
--- OpenFOAM-4.x-version-4.1.org/etc/config.sh/CGAL
+++ OpenFOAM-4.x-version-4.1/etc/config.sh/CGAL
@@ -36,37 +36,7 @@
#
#------------------------------------------------------------------------------
-boost_version=boost-system
-cgal_version=cgal-system
-#cgal_version=CGAL-4.8
-
-if [ -z "$SOURCE_CGAL_VERSIONS_ONLY" ]
-then
-
- common_path=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER
-
- export BOOST_ARCH_PATH=$common_path/$boost_version
- export CGAL_ARCH_PATH=$common_path/$cgal_version
-
- if [ "$FOAM_VERBOSE" -a "$PS1" ]
- then
- echo "Using CGAL and boost" 1>&2
- echo " $cgal_version at $CGAL_ARCH_PATH" 1>&2
- echo " $boost_version at $BOOST_ARCH_PATH" 1>&2
- fi
-
- if [ -d "$CGAL_ARCH_PATH" -a "$cgal_version" != "cgal-system" ]
- then
- _foamAddLib $CGAL_ARCH_PATH/lib
- fi
-
- if [ -d "$BOOST_ARCH_PATH" -a "$boost_version" != "boost-system" ]
- then
- _foamAddLib $BOOST_ARCH_PATH/lib
- fi
-
- unset boost_version cgal_version common_path
-
-fi
+export CGAL_ARCH_PATH=$CGAL_ROOT
+export BOOST_ARCH_PATH=$BOOST_ROOT
#------------------------------------------------------------------------------
diff -ur OpenFOAM-4.x-version-4.1.org/etc/config.sh/gperftools OpenFOAM-4.x-version-4.1/etc/config.sh/gperftools
--- OpenFOAM-4.x-version-4.1.org/etc/config.sh/gperftools
+++ OpenFOAM-4.x-version-4.1/etc/config.sh/gperftools
@@ -29,13 +29,5 @@
#
#------------------------------------------------------------------------------
-version=svn
-gperftools_install=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER
-
-GPERFTOOLS_VERSION=gperftools-$version
-GPERFTOOLS_ARCH_PATH=$gperftools_install/$GPERFTOOLS_VERSION
-
-export PATH=$GPERFTOOLS_ARCH_PATH/bin:$PATH
-export LD_LIBRARY_PATH=$GPERFTOOLS_ARCH_PATH/lib:$LD_LIBRARY_PATH
#------------------------------------------------------------------------------
diff -ur OpenFOAM-4.x-version-4.1.org/etc/config.sh/metis OpenFOAM-4.x-version-4.1/etc/config.sh/metis
--- OpenFOAM-4.x-version-4.1.org/etc/config.sh/metis
+++ OpenFOAM-4.x-version-4.1/etc/config.sh/metis
@@ -34,7 +34,7 @@
#
#------------------------------------------------------------------------------
-export METIS_VERSION=metis-5.1.0
-export METIS_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$METIS_VERSION
+export METIS_VERSION=metis-$METISVERSION
+export METIS_ARCH_PATH=$METIS_ROOT
#------------------------------------------------------------------------------
diff -ur OpenFOAM-4.x-version-4.1.org/etc/config.sh/scotch OpenFOAM-4.x-version-4.1/etc/config.sh/scotch
--- OpenFOAM-4.x-version-4.1.org/etc/config.sh/scotch
+++ OpenFOAM-4.x-version-4.1/etc/config.sh/scotch
@@ -37,7 +37,7 @@
#
#------------------------------------------------------------------------------
-export SCOTCH_VERSION=scotch_6.0.3
-export SCOTCH_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$SCOTCH_VERSION
+export SCOTCH_VERSION=scotch_$SCOTCHVERSION
+export SCOTCH_ARCH_PATH=$SCOTCH_ROOT
#------------------------------------------------------------------------------
diff -ur OpenFOAM-4.x-version-4.1.org/etc/config.sh/settings OpenFOAM-4.x-version-4.1/etc/config.sh/settings
--- OpenFOAM-4.x-version-4.1.org/etc/config.sh/settings
+++ OpenFOAM-4.x-version-4.1/etc/config.sh/settings
@@ -279,6 +279,9 @@
;;
system)
# Use system compiler
+ # Use system GMP and MPFR packages
+ export GMP_ARCH_PATH=$GMP_ROOT
+ export MPFR_ARCH_PATH=$MPFR_ROOT
;;
*)
echo "Warn: WM_COMPILER_TYPE='$WM_COMPILER_TYPE' is unsupported" 1>&2
diff -ur OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/ptscotchDecomp/Make/options OpenFOAM-4.x-version-4.1/src/parallel/decompose/ptscotchDecomp/Make/options
--- OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/ptscotchDecomp/Make/options
+++ OpenFOAM-4.x-version-4.1/src/parallel/decompose/ptscotchDecomp/Make/options
@@ -5,8 +5,7 @@
$(PFLAGS) $(PINC) \
-I$(SCOTCH_ROOT)/include \
-I$(SCOTCH_ARCH_PATH)/include/$(FOAM_MPI) \
- -I/usr/include/scotch \
-I../decompositionMethods/lnInclude
LIB_LIBS = \
- -L$(SCOTCH_ROOT)/lib -L$(FOAM_EXT_LIBBIN)/$(FOAM_MPI) -lptscotch -lptscotcherrexit -lscotch ${LINK_FLAGS} -lrt
+ -L$(SCOTCH_ROOT)/lib -L$(MPI_ARCH_PATH)/lib -lptscotch -lptscotcherrexit -lscotch ${LINK_FLAGS} -lrt
diff -ur OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/scotchDecomp/Make/options OpenFOAM-4.x-version-4.1/src/parallel/decompose/scotchDecomp/Make/options
--- OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/scotchDecomp/Make/options
+++ OpenFOAM-4.x-version-4.1/src/parallel/decompose/scotchDecomp/Make/options
@@ -9,8 +9,7 @@
$(PFLAGS) $(PINC) \
-I$(SCOTCH_ROOT)/include \
-I$(SCOTCH_ARCH_PATH)/include \
- -I/usr/include/scotch \
-I../decompositionMethods/lnInclude
LIB_LIBS = \
- -L$(SCOTCH_ROOT)/lib -L$(FOAM_EXT_LIBBIN) -lscotch -lscotcherrexit -lrt
+ -L$(SCOTCH_ROOT)/lib -lscotch -lscotcherrexit -lrt
diff -ur OpenFOAM-4.x-version-4.1.org/wmake/makefiles/general OpenFOAM-4.x-version-4.1/wmake/makefiles/general
--- OpenFOAM-4.x-version-4.1.org/wmake/makefiles/general
+++ OpenFOAM-4.x-version-4.1/wmake/makefiles/general
@@ -33,7 +33,6 @@
# The Makefile uses a POSIX shell
#------------------------------------------------------------------------------
-SHELL = /bin/sh
#------------------------------------------------------------------------------
diff -ur OpenFOAM-4.x-version-4.1.org/wmake/wmake OpenFOAM-4.x-version-4.1/wmake/wmake
--- OpenFOAM-4.x-version-4.1.org/wmake/wmake
+++ OpenFOAM-4.x-version-4.1/wmake/wmake
@@ -163,7 +163,7 @@
then
if [ "$WM_NCOMPPROCS" -gt 1 -a ! "$MAKEFLAGS" ]
then
- lockDir=$HOME/.$WM_PROJECT/.wmake
+ lockDir=$(cd $(dirname $BASH_SOURCE)/../.. && pwd -P)/.$WM_PROJECT/.wmake
if [ -d $lockDir ]
then
diff -ur OpenFOAM-4.x-version-4.1.org/wmake/wmakeScheduler OpenFOAM-4.x-version-4.1/wmake/wmakeScheduler
--- OpenFOAM-4.x-version-4.1.org/wmake/wmakeScheduler
+++ OpenFOAM-4.x-version-4.1/wmake/wmakeScheduler
@@ -53,7 +53,7 @@
# csh sets HOST, bash sets HOSTNAME
: ${HOST:=$HOSTNAME}
-lockDir=$HOME/.$WM_PROJECT/.wmake
+lockDir=$(cd $(dirname $BASH_SOURCE)/../.. && pwd -P)/.$WM_PROJECT/.wmake
# Fallback - 1 core on current host
: ${WM_HOSTS:=$HOST:1}
diff -ur OpenFOAM-4.x-version-4.1.org/wmake/wmakeSchedulerUptime OpenFOAM-4.x-version-4.1/wmake/wmakeSchedulerUptime
--- OpenFOAM-4.x-version-4.1.org/wmake/wmakeSchedulerUptime
+++ OpenFOAM-4.x-version-4.1/wmake/wmakeSchedulerUptime
@@ -53,7 +53,7 @@
# csh sets HOST, bash sets HOSTNAME
: ${HOST:=$HOSTNAME}
-lockDir=$HOME/.$WM_PROJECT/.wmake
+lockDir=$(cd $(dirname $BASH_SOURCE)/../.. && pwd -P)/.$WM_PROJECT/.wmake
# Fallback - 1 core on current host
: ${WM_HOSTS:=$HOST:1}
diff -ur OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/metisDecomp/metisDecomp.C OpenFOAM-4.x-version-4.1/src/parallel/decompose/metisDecomp/metisDecomp.C
--- OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/metisDecomp/metisDecomp.C
+++ OpenFOAM-4.x-version-4.1/src/parallel/decompose/metisDecomp/metisDecomp.C
@@ -67,7 +67,7 @@
// Processor weights initialised with no size, only used if specified in
// a file
- Field<scalar> processorWeights;
+ Field<floatScalar> processorWeights;
// Cell weights (so on the vertices of the dual)
List<label> cellWeights;
diff -ur OpenFOAM-4.x-version-4.1.org/wmake/rules/General/CGAL OpenFOAM-4.x-version-4.1/wmake/rules/General/CGAL
--- OpenFOAM-4.x-version-4.1.org/wmake/rules/General/CGAL
+++ OpenFOAM-4.x-version-4.1/wmake/rules/General/CGAL
@@ -6,9 +6,10 @@
-I/usr/include
CGAL_LIBS = \
- -L$(MPFR_ARCH_PATH)/lib$(WM_COMPILER_LIB_ARCH) \
- -L$(GMP_ARCH_PATH)/lib$(WM_COMPILER_LIB_ARCH) \
+ -L$(MPFR_ARCH_PATH)/lib \
+ -L$(GMP_ARCH_PATH)/lib \
-L$(BOOST_ARCH_PATH)/lib \
-L$(CGAL_ARCH_PATH)/lib \
-lCGAL \
+ -lgmp \
-lmpfr
diff -ur OpenFOAM-4.x-version-4.1.org/wmake/rules/linux64Gcc/c++ OpenFOAM-4.x-version-4.1/wmake/rules/linux64Gcc/c++
--- OpenFOAM-4.x-version-4.1.org/wmake/rules/linux64Gcc/c++
+++ OpenFOAM-4.x-version-4.1/wmake/rules/linux64Gcc/c++
@@ -20,5 +20,5 @@
LINK_LIBS = $(c++DBUG)
-LINKLIBSO = $(CC) $(c++FLAGS) -shared -Xlinker --add-needed -Xlinker --no-as-needed
-LINKEXE = $(CC) $(c++FLAGS) -Xlinker --add-needed -Xlinker --no-as-needed
+LINKLIBSO = $(CC) $(c++FLAGS) $(LDFLAGS) -shared -Xlinker --add-needed -Xlinker --no-as-needed
+LINKEXE = $(CC) $(c++FLAGS) $(LDFLAGS) -Xlinker --add-needed -Xlinker --no-as-needed

View File

@ -0,0 +1,53 @@
Patch retrieved from NixOS
https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/development/libraries/qt-6/patches/0001-qtbase-qmake-always-use-libname-instead-of-absolute-.patch
From 8880bc263a366aeb82056f0bf3f1b17b6ec26900 Mon Sep 17 00:00:00 2001
From: Nick Cao <nickcao@nichi.co>
Date: Thu, 13 Apr 2023 23:42:29 +0800
Subject: [PATCH 1/6] qtbase: qmake: always use libname instead of absolute
path in qmake files
In generated qmake files, absolute paths to qt libraries are embedded
and then used in linker flags. However as the libraries can be provided
by qt modules other than the one currently being built, the ebedded
paths can be incorrect.
---
cmake/QtFinishPrlFile.cmake | 7 ++++---
cmake/QtGenerateLibHelpers.cmake | 3 ---
2 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/cmake/QtFinishPrlFile.cmake b/cmake/QtFinishPrlFile.cmake
index 32169e418c..4e754af367 100644
--- a/cmake/QtFinishPrlFile.cmake
+++ b/cmake/QtFinishPrlFile.cmake
@@ -61,9 +61,10 @@ foreach(line ${lines})
endif()
list(APPEND adjusted_libs "-framework" "${CMAKE_MATCH_1}")
else()
- # Not a framework, transform the Qt module into relocatable relative path.
- qt_strip_library_version_suffix(relative_lib "${relative_lib}")
- list(APPEND adjusted_libs "$$[QT_INSTALL_LIBS]/${relative_lib}")
+ # Not a framework, extract the library name and prepend an -l to make
+ # it relocatable.
+ qt_transform_absolute_library_paths_to_link_flags(lib_with_link_flag "${lib}")
+ list(APPEND adjusted_libs "${lib_with_link_flag}")
endif()
endif()
else()
diff --git a/cmake/QtGenerateLibHelpers.cmake b/cmake/QtGenerateLibHelpers.cmake
index e3f4bbf881..f8bd26acc7 100644
--- a/cmake/QtGenerateLibHelpers.cmake
+++ b/cmake/QtGenerateLibHelpers.cmake
@@ -70,9 +70,6 @@ function(qt_transform_absolute_library_paths_to_link_flags out_var library_path_
string(TOLOWER "${dir}" dir_lower)
# If library_path isn't in default link directories, we should add it to link flags.
list(FIND IMPLICIT_LINK_DIRECTORIES_LOWER "${dir_lower}" index)
- if(${index} EQUAL -1)
- list(APPEND out_list "-L\"${dir}\"")
- endif()
list(APPEND out_list "${lib_name_with_link_flag}")
else()
list(APPEND out_list "${library_path}")
--
2.39.2

View File

@ -276,14 +276,14 @@ colors, styles, options and details.")
(define-public asymptote (define-public asymptote
(package (package
(name "asymptote") (name "asymptote")
(version "2.85") (version "2.86")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/asymptote/" (uri (string-append "mirror://sourceforge/asymptote/"
version "/asymptote-" version ".src.tgz")) version "/asymptote-" version ".src.tgz"))
(sha256 (sha256
(base32 "11zcfnc80sbh10w53j4rwnmz0g5xj78b8i7hzfslgya15jv5j1ac")) (base32 "07y9yg7kdkgmz024qzny8xhjw3c367kxfpwzv19cxcy7qcgsvsy4"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; Remove bundled RapidJSON. ;; Remove bundled RapidJSON.

View File

@ -785,7 +785,7 @@ functions and around einops with an API and features adapted to xarray.")
(define-public python-pytensor (define-public python-pytensor
(package (package
(name "python-pytensor") (name "python-pytensor")
(version "2.12.3") (version "2.14.2")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -794,7 +794,7 @@ functions and around einops with an API and features adapted to xarray.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1445fwbmzkdbndkq9hxiagdkfclgrnmpfzad40zqn6m5ry8192x8")))) "1428l1v7yrnls8875xjx1svn48cmz0q83sv7sg0xdqghkfnyi7xx"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
(list (list
@ -840,7 +840,10 @@ parentdir_prefix = pytensor-
"--ignore" "tests/tensor/" "--ignore" "tests/tensor/"
"--ignore" "tests/sandbox/" "--ignore" "tests/sandbox/"
"--ignore" "tests/sparse/sandbox/"))))))) "--ignore" "tests/sparse/sandbox/")))))))
(native-inputs (list python-cython python-pytest python-versioneer)) (native-inputs (list python-cython
python-pytest
python-pytest-mock
python-versioneer))
(propagated-inputs (list python-cons (propagated-inputs (list python-cons
python-etuples python-etuples
python-filelock python-filelock

View File

@ -635,7 +635,11 @@ developers using C++ or QML, a CSS & JavaScript like language.")
;; are required by some internal bootstrap target ;; are required by some internal bootstrap target
;; used for the tools. ;; used for the tools.
(list "double-conversion" "freetype" "harfbuzz-ng" (list "double-conversion" "freetype" "harfbuzz-ng"
"libpng" "libjpeg" "sqlite" "xcb" "zlib")))))) "libpng" "libjpeg" "sqlite" "xcb" "zlib"))))
(patches (search-patches "qtbase-use-TZDIR.patch"
"qtbase-moc-ignore-gcc-macro.patch"
"qtbase-absolute-runpath.patch"
"qtbase-qmake-use-libname.patch"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(substitute-keyword-arguments (package-arguments qtbase-5) (substitute-keyword-arguments (package-arguments qtbase-5)
@ -649,6 +653,11 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(string-append "-DINSTALL_EXAMPLESDIR=" out (string-append "-DINSTALL_EXAMPLESDIR=" out
"/share/doc/qt6/examples") "/share/doc/qt6/examples")
(string-append "-DINSTALL_INCLUDEDIR=" out "/include/qt6") (string-append "-DINSTALL_INCLUDEDIR=" out "/include/qt6")
;; Do not embed an absolute reference to compilers, to reduce
;; the closure size.
"-DQT_EMBED_TOOLCHAIN_COMPILER=OFF"
;; Link with DBus and OpenSSL so they don't get dlopen'ed. ;; Link with DBus and OpenSSL so they don't get dlopen'ed.
"-DINPUT_dbus=linked" "-DINPUT_dbus=linked"
"-DINPUT_openssl=linked" "-DINPUT_openssl=linked"
@ -742,6 +751,11 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(string-append #$output (string-append #$output
":" (getenv "CMAKE_PREFIX_PATH"))) ":" (getenv "CMAKE_PREFIX_PATH")))
(setenv "QMAKEPATH" (string-append #$output "/lib/qt6")) (setenv "QMAKEPATH" (string-append #$output "/lib/qt6"))
;; It is necessary to augment LIBRARY_PATH with that of the
;; freshly installed qtbase because of the
;; 'qtbase-qmake-use-libname.patch' patch.
(setenv "LIBRARY_PATH" (string-append #$output "/lib:"
(getenv "LIBRARY_PATH")))
(setenv "QML2_IMPORT_PATH" (setenv "QML2_IMPORT_PATH"
(string-append #$output "/lib/qt6/qml")) (string-append #$output "/lib/qt6/qml"))
(setenv "QT_PLUGIN_PATH" (setenv "QT_PLUGIN_PATH"
@ -3271,6 +3285,78 @@ instances and can send data to the primary instance from secondary
instances.") instances.")
(license license:expat)))) (license license:expat))))
(define-public pyotherside
(package
(name "pyotherside")
(version "1.6.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/thp/pyotherside")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0vwl088p8zjkh2rwmzwpz5mkjs2rfyb80018dq4r571c9vpwp2r0"))))
(build-system qt-build-system)
(arguments
(list
#:qtbase qtbase
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-installation-prefix
(lambda _
;; The QT_INSTALL_QML property points to the qtbase
;; installation prefix.
(substitute* "src/src.pro"
(("\\$\\$\\[QT_INSTALL_QML]")
(string-append #$output "/lib/qt"
#$(version-major (package-version qtbase))
"/qml")))))
(replace 'configure
(lambda _
(invoke "qmake")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "./tests/tests"))))
(replace 'install
;; Specify a specific install target, otherwise the build fails
;; attempting to install the qtquicktests target to the qtbase
;; installation prefix.
(lambda _
(invoke "make" "sub-src-install_subtargets"))))))
(inputs (list python qtdeclarative qtquickcontrols2 qtsvg))
(home-page "https://thp.io/2011/pyotherside/")
(synopsis "Qt plugin providing access to a Python 3 interpreter from QML")
(description "Pyotherside is a Qt plugin providing access to a Python 3
interpreter from QML for creating asynchronous mobile and desktop UIs with
Python.")
(license license:isc)))
(define-public pyotherside-for-qt5
(package/inherit pyotherside
(name "pyotherside-for-qt5")
(arguments
(substitute-keyword-arguments (package-arguments pyotherside)
((#:qtbase _ #f)
qtbase-5)
((#:phases phases '%standard-phases)
#~(modify-phases #$phases
(replace 'fix-installation-prefix
(lambda _
;; The QT_INSTALL_QML property points to the qtbase
;; installation prefix.
(substitute* "src/src.pro"
(("\\$\\$\\[QT_INSTALL_QML]")
(string-append #$output "/lib/qt"
#$(version-major (package-version qtbase-5))
"/qml")))))))))
(inputs (modify-inputs (package-inputs pyotherside)
(replace "qtdeclarative" qtdeclarative-5)
(replace "qtquickcontrols2" qtquickcontrols-5)
(replace "qtsvg" qtsvg-5)))))
(define-public python-sip (define-public python-sip
(package (package
(name "python-sip") (name "python-sip")

View File

@ -30,14 +30,14 @@
(define-public sg3-utils (define-public sg3-utils
(package (package
(name "sg3-utils") (name "sg3-utils")
(version "1.47") (version "1.48")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://sg.danny.cz/sg/p/sg3_utils-" (uri (string-append "https://sg.danny.cz/sg/p/sg3_utils-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1ckj2kjcs23lbjfyl5mz2rb0aylnyq13yghg0bdv1n7dbywcmc6x")))) "1ynv6kijzjj8xab3z87nks26qcrpvg46mhlr3s6yah6mj0ba9ffn"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags

View File

@ -51,6 +51,7 @@
#:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages bash) #:use-module (gnu packages bash)
@ -772,6 +773,63 @@ udev rules to your system configuration to be able to configure the YubiKey as
an unprivileged user.") an unprivileged user.")
(license license:bsd-2))) (license license:bsd-2)))
(define-public yubikey-manager-qt
(package
(name "yubikey-manager-qt")
(version "1.2.5")
(source (origin
(method url-fetch)
(uri (string-append "https://developers.yubico.com/" name
"/Releases/" name "-" version ".tar.gz"))
(sha256
(base32
"1qjp9p7i6957lf6ycwwz0178nmjgdyydb2f235bkin0pfm3rxcp9"))))
(build-system qt-build-system)
(arguments
(list
#:tests? #f ;no test suite
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda _
(substitute* "ykman-gui/deployment.pri"
(("/usr/bin")
(string-append #$output "/bin")))))
(replace 'configure
(lambda _
(invoke "qmake")))
(add-after 'install 'install-desktop-resources
(lambda _
(let ((datadir (string-append #$output "/share")))
(with-directory-excursion "resources"
(install-file "icons/ykman.png"
(string-append datadir "/pixmaps"))
(install-file "com.yubico.yubikey_manager.metainfo.xml"
(string-append datadir "/metainfo"))
(install-file "ykman-gui.desktop"
(string-append datadir "/applications"))))))
(add-after 'qt-wrap 'wrap-more
(lambda _
(wrap-program (string-append #$output "/bin/ykman-gui")
;; Wrap PYTHONPATH so that pyotherside can find the
;; yubikey-manager library.
`("GUIX_PYTHONPATH" prefix
(,(getenv "GUIX_PYTHONPATH")))))))))
(native-inputs (list python-wrapper))
(inputs (list pyotherside-for-qt5
python-yubikey-manager
qtdeclarative-5
qtgraphicaleffects
qtquickcontrols-5
qtquickcontrols2-5
qtsvg-5))
(home-page "https://developers.yubico.com/yubikey-manager-qt/")
(synopsis "GUI for configuring any YubiKey over all USB interfaces")
(description "YubiKey Manager (Qt) is a graphical application for
configuring any YubiKey over all USB interfaces. For a CLI alternative, refer
to the @code{python-yubikey-manager} package.")
(license license:bsd-2)))
(define-public libnitrokey (define-public libnitrokey
(package (package
(name "libnitrokey") (name "libnitrokey")

View File

@ -3,6 +3,7 @@
;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Eric Bavier <bavier@posteo.net> ;;; Copyright © 2022 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2022 Liliana Marie Prikler <liliana.prikler@gmail.com> ;;; Copyright © 2022 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2023 Reza Housseini <reza@housseini.me>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -31,6 +32,8 @@
#:use-module (gnu packages cmake) #:use-module (gnu packages cmake)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages cpp) #:use-module (gnu packages cpp)
#:use-module (gnu packages curl)
#:use-module (gnu packages engineering)
#:use-module (gnu packages flex) #:use-module (gnu packages flex)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
@ -41,22 +44,31 @@
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages iso-codes) #:use-module (gnu packages iso-codes)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages m4) #:use-module (gnu packages m4)
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
#:use-module (gnu packages mpi) #:use-module (gnu packages mpi)
#:use-module (gnu packages multiprecision) #:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages pdf)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages protobuf) #:use-module (gnu packages protobuf)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-build) #:use-module (gnu packages python-build)
#:use-module (gnu packages python-science) #:use-module (gnu packages python-science)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline) #:use-module (gnu packages readline)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages ssh)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages version-control) #:use-module (gnu packages version-control)
#:use-module (gnu packages video) #:use-module (gnu packages video)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml) #:use-module (gnu packages xml)
#:use-module (gnu packages xorg) #:use-module (gnu packages xorg)
#:use-module (guix download) #:use-module (guix download)
@ -72,178 +84,325 @@
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (ice-9 ftw) #:use-module (ice-9 ftw)
#:use-module (ice-9 match)
#:use-module (ice-9 regex) #:use-module (ice-9 regex)
#:use-module (srfi srfi-1)) #:use-module (srfi srfi-1))
(define-public openfoam (define-public openfoam-org
(package (package
(name "openfoam") (name "openfoam-org")
(version "4.1") (version "10.20230119")
(source (source (origin
(origin (method git-fetch)
(method url-fetch) (uri (git-reference
(uri (string-append (url (string-append "https://github.com/OpenFOAM/OpenFOAM-"
"http://dl.openfoam.org/source/" (version-major version)))
(string-map (lambda (x) (if (eq? x #\.) #\- x)) version))) (commit (second (string-split version #\.)))))
(file-name (string-append name "-" version ".tar.gz")) (sha256
(sha256 (base32
(base32 "0cgxh4h2hf50qbvvdg5miwc2nympb0nrv3md96vb3gbs9vk8vq9d")) "0icvwg7s6vnkgmdiczivia9pbrgx8nanw9a4j080fzfvdv9vxhzp"))
(patches (search-patches "openfoam-4.1-cleanup.patch")) (file-name (git-file-name name version))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet `(begin
'(begin ;; patch shell paths
;; Include <sys/sysmacros.h>, which is where glibc >= 2.28 provides (substitute* (list "wmake/src/Makefile"
;; 'major' and 'minor'. "wmake/makefiles/general")
(substitute* "src/OSspecific/POSIX/fileStat.C" (("/bin/sh")
(("#include <unistd\\.h>") "sh"))
"#include <unistd.h>\n#include <sys/sysmacros.h>\n")) (substitute* "etc/bashrc"
#t)))) ;; only go back one folder level
(("\\$\\(dirname \\$\\{BASH_SOURCE:-\\$0\\}\\)/../..")
"$(dirname ${BASH_SOURCE:-$0})/..")
;; do not use openfoam folder convention
(("^export WM_PROJECT_DIR=.*$")
(string-append
"export WM_PROJECT_DIR=$WM_PROJECT_INST_DIR\n"))
;; do not source bash_completion (gives error)
(("^.*bash_completion.*$" all)
(string-append "#" all))
;; set same version as guix package
(("^export WM_PROJECT_VERSION=.*$")
(string-append "export WM_PROJECT_VERSION="
,version "\n")))
;; add expand flag to RunFunctions
(substitute* "bin/tools/RunFunctions"
(("foamDictionary (.*)" all args)
(string-append "foamDictionary -expand " args)))
;; disable failing test
(substitute* "test/postProcessing/channel/Allrun"
(("^.*getApplication.*$" all)
(string-append "#" all "\n")))))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs (list boost
`(("boost" ,boost) cgal
("cgal" ,cgal) git
("flex" ,flex) gmp
("git" ,git) libxt
("gmp" ,gmp) metis
("libxt" ,libxt) mpfr
("metis" ,metis) ncurses
("mpfr" ,mpfr) openmpi
("ncurses" ,ncurses) openssh
("readline" ,readline) paraview
("scotch" ,pt-scotch32) pt-scotch32
("zlib" ,zlib))) readline
(native-inputs zlib))
(list bison)) (native-inputs (list bison
(propagated-inputs flex
(list gzip gnuplot openmpi)) ;; paraview plugin dependencies
(outputs '("debug" ;~60MB cli11
cmake-minimal
cgns
curl
double-conversion
eigen
expat
ffmpeg
fmt
freetype
gdal
gl2ps
glew
gmsh
hdf5
jsoncpp
libjpeg-turbo
libogg
libpng
libharu
libtheora
libtiff
libx11
libxml2
lz4
netcdf
nlohmann-json
proj
protobuf
pugixml
python
python-mpi4py
qtbase-5
qtsvg-5
qttools-5
qtwebengine-5
qtxmlpatterns
utfcpp
vtk
xz))
(propagated-inputs (list gnuplot))
(outputs '("debug" ;~60MB
"out")) "out"))
(arguments (arguments
`( ;; Executable files and shared libraries are located in the 'platforms' (list
;; subdirectory. ;; Executable files and shared libraries are located in the 'platforms'
#:strip-directories (list (string-append ;; subdirectory.
"lib/OpenFOAM-" ,version #:strip-directories
"/platforms/linux64GccDPInt32Opt/bin") #~(list "share/OpenFOAM/platforms/linux64GccDPInt32Opt/bin"
(string-append "share/OpenFOAM/platforms/linux64GccDPInt32Opt/lib")
"lib/OpenFOAM-" ,version
"/platforms/linux64GccDPInt32Opt/lib"))
#:tests? #f ; no tests to run
#:modules ((ice-9 ftw) #:modules
(ice-9 regex) '((ice-9 ftw)
(guix build gnu-build-system) (ice-9 regex)
(guix build utils)) (ice-9 string-fun)
(srfi srfi-1)
(guix build gnu-build-system)
(guix build utils))
#:phases (modify-phases %standard-phases #:phases
(add-after 'unpack 'rename-build-directory #~(modify-phases %standard-phases
(lambda _ (add-before 'build 'patch-HOME-path
(chdir "..") (lambda _
;; Use 'OpenFOAM-version' convention to match the file (setenv "HOME" "/tmp")))
;; name expectations in the build phase. (add-before 'build 'rename-self
(let ((unpack-dir (string-append (lambda _
(getcwd) "/" ;; The script 'bin/foamEtcFile' derives the version name based
(list-ref (scandir (getcwd) (lambda (name) ;; on the current directory name (!), so make sure to follow the
(string-match "^OpenFOAM" name))) 0))) ;; expected naming convention.
(build-dir (string-append (let ((here (canonicalize-path "."))
(getcwd) "/OpenFOAM-" ,version))) (target #$(string-append
(rename-file unpack-dir build-dir) ; rename build directory "OpenFOAM-"
(chdir (basename build-dir))) ; move to build directory (string-map (match-lambda
#t)) (#\. #\-)
(delete 'configure) ; no configure phase (chr chr))
(replace 'build (package-version this-package)))))
(lambda _ (chdir "..")
(let ((libraries '("boost" "cgal" "gmp" "metis" "mpfr" "scotch"))) (format #t "renaming '~a' to '~a'~%"
;; set variables to define store paths here target)
(for-each (lambda (library) (rename-file here target)
(setenv (string-append (chdir target))))
(string-upcase library) "_ROOT") (add-before 'build 'patch-scotch
(assoc-ref %build-inputs library))) libraries)) (lambda _
;; set variables to define package versions (substitute* "etc/config.sh/scotch"
(setenv "SCOTCHVERSION" ,(package-version scotch)) (("^export SCOTCH_VERSION=scotch_.*$")
(setenv "METISVERSION" ,(package-version metis)) (string-append "export SCOTCH_VERSION=scotch_"
;; set variable to pass extra 'rpath' arguments to linker #$(package-version pt-scotch32) "\n"))
(setenv "LDFLAGS" (("^export SCOTCH_ARCH_PATH=.*$")
(string-append (string-append "export SCOTCH_ARCH_PATH="
"-Wl," (assoc-ref %build-inputs "pt-scotch32")
"-rpath=" %output "/lib/OpenFOAM-" ,version "\n"))) #t))
"/platforms/linux64GccDPInt32Opt/lib," (add-before 'build 'patch-mpi
"-rpath=" %output "/lib/OpenFOAM-" ,version (lambda _
"/platforms/linux64GccDPInt32Opt/lib/dummy")) (let* ((mpi-path (assoc-ref %build-inputs "openmpi"))
;; compile OpenFOAM libraries and applications (mpi-version #$(package-version openmpi)))
(zero? (system (format #f ;; specify openmpi type
"source ./etc/bashrc && ./Allwmake -j~a" (substitute* "etc/bashrc"
(parallel-job-count)))))) (("WM_MPLIB=SYSTEMOPENMPI")
(add-after 'build 'update-configuration-files "WM_MPLIB=OPENMPI"))
(lambda _ (substitute* "etc/config.sh/mpi"
;; record store paths and package versions in (("export FOAM_MPI=openmpi-.*$")
;; configuration files (string-append "export FOAM_MPI=openmpi-"
(substitute* "etc/config.sh/CGAL" mpi-version "\n"))
(("$BOOST_ROOT") (getenv "BOOST_ROOT"))) (("export MPI_ARCH_PATH=.*\\$FOAM_MPI.*$")
(substitute* "etc/config.sh/CGAL" (string-append "export MPI_ARCH_PATH=" mpi-path
(("$CGAL_ROOT") (getenv "CGAL_ROOT"))) "\n")))) #t))
(substitute* "etc/config.sh/metis" (add-before 'build 'patch-paraview
(("$METIS_ROOT") (getenv "METIS_ROOT"))) (lambda _
(substitute* "etc/config.sh/metis" (substitute* "etc/config.sh/paraview"
(("$METISVERSION") (getenv "METISVERSION"))) (("^export ParaView_VERSION=.*$")
(substitute* "etc/config.sh/scotch" (string-append "export ParaView_VERSION="
(("$SCOTCH_ROOT") (getenv "SCOTCH_ROOT"))) #$(package-version paraview) "\n"))
(substitute* "etc/config.sh/scotch" (("^export ParaView_DIR=.*$")
(("$SCOTCHVERSION") (getenv "SCOTCHVERSION"))) (string-append "export ParaView_DIR="
(substitute* "etc/config.sh/settings" (assoc-ref %build-inputs "paraview")
(("$GMP_ROOT") (getenv "GMP_ROOT"))) "\n"))) #t))
(substitute* "etc/config.sh/settings" (add-before 'build 'add-rpaths
(("$MPFR_ROOT") (getenv "MPFR_ROOT"))) (lambda _
;; reset lockDir variable to refer to write-enabled (letrec* ((libraries '("boost" "cgal"
;; directory "gmp"
(substitute* "wmake/wmake" "metis"
((" lockDir=.*$") "mpfr"
" lockDir=$HOME/.$WM_PROJECT/.wmake\n")) "pt-scotch32"
(substitute* "wmake/wmakeScheduler" "openmpi"
(("lockDir=.*$") "zlib"
"lockDir=$HOME/.$WM_PROJECT/.wmake\n")) "paraview"))
(substitute* "wmake/wmakeSchedulerUptime" (rpaths
(("lockDir=.*$") (fold-right (lambda (library rpaths)
"lockDir=$HOME/.$WM_PROJECT/.wmake\n")) (string-append rpaths
#t)) "-rpath="
(add-after 'build 'cleanup (assoc-ref
;; Avoid unncessary, voluminous object and dep files. %build-inputs library)
(lambda _ "/lib,")) "" libraries))
(delete-file-recursively (openfoam-lib
"platforms/linux64GccDPInt32Opt/src") (string-append #$output
(delete-file-recursively "/share/OpenFOAM/platforms/linux64GccDPInt32Opt/lib"))
"platforms/linux64GccDPInt32OptSYSTEMOPENMPI") (ldflags
(for-each delete-file (find-files "." "\\.o$")) (string-append "-Wl,"
#t)) rpaths
(replace 'install "-rpath="
(lambda _ openfoam-lib
;; use 'OpenFOAM-version' convention ","
(let ((install-dir (string-append "-rpath="
%output "/lib/OpenFOAM-" ,version))) openfoam-lib
(mkdir-p install-dir) ; create install directory "/dummy,"
;; move contents of build directory to install directory "-rpath="
(copy-recursively "." install-dir)))) openfoam-lib
(add-after 'install 'add-symbolic-link "/paraview-"
(lambda _ #$(version-major+minor (package-version
;; add symbolic link for standard 'bin' directory paraview)))))
(symlink (substitute* "wmake/rules/linux64Gcc/c++"
(string-append "./lib/OpenFOAM-" ,version (("\\$\\(LIB_HEADER_DIRS\\) -fPIC" all)
"/platforms/linux64GccDPInt32Opt/bin") (string-append all " " ldflags)))) #t))
(string-append %output "/bin")) (add-before 'build 'add-vtk-include-path
#t))))) (lambda _
(let* ((vtk-version #$(version-major+minor
(package-version vtk)))
(vtk-root (assoc-ref %build-inputs "vtk"))
(vtk-inc (string-append vtk-root "/include/vtk-" vtk-version))
(vtk-inc-flag (string-append "-I" vtk-inc)))
(substitute* "wmake/rules/linux64Gcc/c++"
(("\\$\\(LIB_HEADER_DIRS\\)" all)
(string-append all " " vtk-inc-flag " "))))
#t))
(delete 'configure) ;no configure phase
(replace 'build
(lambda _
;; compile OpenFOAM libraries and applications
(invoke "bash" "-c"
(format #f
"source ./etc/bashrc && ./Allwmake -j~a"
(parallel-job-count)))))
(add-after 'build 'cleanup
;; Avoid unnecessary, voluminous object and dep files.
(lambda _
(when (file-exists? "platforms/linux64GccDPInt32Opt/src")
(delete-file-recursively
"platforms/linux64GccDPInt32Opt/src"))
(when (file-exists?
"platforms/linux64GccDPInt32OptOPENMPI")
(delete-file-recursively
"platforms/linux64GccDPInt32OptOPENMPI"))
(for-each delete-file
(find-files "." "\\.o$")) #t))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(when (file-exists? "test")
(with-directory-excursion "test"
(invoke "bash" "-c"
(format #f
"source ../etc/bashrc && ./Allrun -j~a"
(parallel-job-count)))))
;; too many tutorials are failing
;; (with-directory-excursion "tutorials"
;; (invoke "bash" "-c" "source ../etc/bashrc && ./Alltest"))
) #t))
(replace 'install
(lambda _
(let ((install-dir (string-append #$output
"/share/OpenFOAM")))
(mkdir-p install-dir) ;create install directory
;; move contents of build directory to install directory
(copy-recursively "." install-dir))))
(add-after 'install 'add-symbolic-link
(lambda _
(let* ((bin (string-append #$output "/bin"))
(lib (string-append #$output "/lib"))
(openfoam (string-append #$output
"/share/OpenFOAM"))
(build-bin (string-append openfoam
"/platforms/linux64GccDPInt32Opt/bin"))
(build-lib (string-append openfoam
"/platforms/linux64GccDPInt32Opt/lib"))
(foam-bin (string-append openfoam "/bin")))
;; add symbolic links in standard 'bin' directory
(mkdir-p bin)
(for-each (lambda (file)
(unless (member file
'("." ".."))
(symlink (string-append build-bin "/"
file)
(string-append bin "/" file))))
(scandir build-bin))
(for-each (lambda (file)
(unless (member file
'("." ".."))
(symlink (string-append foam-bin "/"
file)
(string-append bin "/" file))))
(scandir foam-bin))
;; add symbolic link for standard 'lib' directory
(symlink build-lib lib)) #t)))))
(native-search-paths
(list (search-path-specification
(variable "WM_PROJECT_DIR")
(separator #f)
(files '("share/OpenFOAM")))))
;; Note: ;; Note:
;; Tutorial files are installed read-only in /gnu/store. ;; Tutorial files are installed read-only in /gnu/store.
;; To allow write permissions on files copied from the store a ;; To allow write permissions on files copied from the store a
;; 'chmod' step is needed before running the applications. For ;; 'chmod' step is needed before running the applications. For
;; example, from a user's login: ;; example, from a user's login:
;; $ source $GUIX_PROFILE/lib/OpenFOAM-4.1/etc/bashrc ;; $ source $(dirname $(which blockMesh))/../../../etc/bashrc
;; $ mkdir -p $FOAM_RUN ;; $ mkdir -p $FOAM_RUN
;; $ cd $FOAM_RUN ;; $ cd $FOAM_RUN
;; $ cp -r $FOAM_TUTORIALS/incompressible/simpleFoam/pitzDaily . ;; $ cp -r $FOAM_TUTORIALS/incompressible/simpleFoam/pitzDaily .
;; $ cd pitzDaily ;; $ cd pitzDaily
;; $ chmod -R u+w . ;; $ chmod -R u+w .
;; $ blockMesh ;; $ blockMesh
(synopsis "Framework for numerical simulation of fluid flow") (synopsis "Framework for numerical simulation of fluid flow")
(description "OpenFOAM provides a set of solvers and methods for tackling (description
"OpenFOAM provides a set of solvers and methods for tackling
problems in the field of Computational Fluid Dynamics (CFD). It is written in problems in the field of Computational Fluid Dynamics (CFD). It is written in
C++. Governing equations such as the Navier-Stokes equations can be solved in C++. Governing equations such as the Navier-Stokes equations can be solved in
integral form. Physical processes such as phase change, droplet transport and integral form. Physical processes such as phase change, droplet transport and
@ -254,6 +413,43 @@ problems for efficient solution on parallel systems.")
(license license:gpl3+) (license license:gpl3+)
(home-page "https://openfoam.org"))) (home-page "https://openfoam.org")))
(define-public openfoam
(deprecated-package "openfoam" openfoam-org))
(define-public openfoam-com
;; This is a fork of 'openfoam-org', maintained separately.
(package
(inherit openfoam-org)
(name "openfoam-com")
(version "2212")
(source (origin
(method url-fetch)
(uri (string-append "https://develop.openfoam.com"
"/Development/openfoam/-/archive/OpenFOAM-v"
version
"/openfoam-OpenFOAM-v"
version
".tar.gz"))
(sha256
(base32
"0i9039hfz9gvgymkdjhjvvn5500zha3cpdbpqrzfrfi8lbz10is2"))
(modules '((guix build utils)))
(snippet `(begin
(substitute* "etc/bashrc"
;; set same version as guix package
(("^export WM_PROJECT_VERSION=.*$")
(string-append "export WM_PROJECT_VERSION="
,version "\n")))
;; patch shell paths
(substitute* (list "src/OSspecific/POSIX/POSIX.C"
"wmake/src/Makefile"
"wmake/makefiles/general"
"wmake/makefiles/info")
(("/bin/sh")
"sh"))))))
(synopsis "Framework for numerical simulation of fluid flow (from openfoam.com)")
(home-page "https://www.openfoam.com")))
(define-public open-simulation-interface (define-public open-simulation-interface
(package (package
(name "open-simulation-interface") (name "open-simulation-interface")

View File

@ -2177,7 +2177,7 @@ comparison and diagnostics.")
(define-public python-pymc (define-public python-pymc
(package (package
(name "python-pymc") (name "python-pymc")
(version "5.6.1") (version "5.7.1")
(source (origin (source (origin
(method git-fetch) ; no tests in PyPI (method git-fetch) ; no tests in PyPI
(uri (git-reference (uri (git-reference
@ -2186,7 +2186,7 @@ comparison and diagnostics.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0in5lw55camvgd6b4hiw4gr11bdy96jc74z1gvsd0xj7cfxvc043")))) "0ddb467qzwzzz3zhqbpks8n7mqqr7isskbirnxlfdmcwyyf4cq3q"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
(list #:tests? #f ; tests are too computationally intensive (list #:tests? #f ; tests are too computationally intensive

View File

@ -2,6 +2,7 @@
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
;;; Copyright © 2022 Hilton Chain <hako@ultrarare.space> ;;; Copyright © 2022 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2023 Saku Laesvuori <saku@laesvuori.fi> ;;; Copyright © 2023 Saku Laesvuori <saku@laesvuori.fi>
;;; Copyright © 2023 Lu Hui <luhux76@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -792,3 +793,30 @@ formerly a part of telegram-cli, but now being maintained separately.")
(synopsis "Telegram Terminal Application") (synopsis "Telegram Terminal Application")
(description "TgCli is a telegram client to automate repetitive tasks.") (description "TgCli is a telegram client to automate repetitive tasks.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public tgs2png
(let ((commit "25c15b7c2ca3b1a580a383d9d3cb13bf8531d04a")
(revision "0"))
(package
(name "tgs2png")
(version (git-version "0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zevlg/tgs2png")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0camvzapkfvr9v0nkk96n26rdmw0g8wbpv41i5l03j6bzdgm4myl"))))
(build-system cmake-build-system)
(native-inputs (list pkg-config))
(inputs (list libpng rlottie))
(arguments
`(#:tests? #f)) ;no tests
(home-page "https://github.com/zevlg/tgs2png")
(synopsis "Convert Telegram's TGS format into PNG images")
(description
"This program converts Telegram's animated stickers in TGS format into
a series of PNG images.")
(license license:gpl3+))))

View File

@ -90,6 +90,7 @@
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages cook) #:use-module (gnu packages cook)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages docbook) #:use-module (gnu packages docbook)
#:use-module (gnu packages ed) #:use-module (gnu packages ed)
#:use-module (gnu packages file) #:use-module (gnu packages file)
@ -105,6 +106,7 @@
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz) #:use-module (gnu packages guile-xyz)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages mail) #:use-module (gnu packages mail)
#:use-module (gnu packages man) #:use-module (gnu packages man)
@ -117,6 +119,7 @@
#:use-module (gnu packages pcre) #:use-module (gnu packages pcre)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages perl-check) #:use-module (gnu packages perl-check)
#:use-module (gnu packages php)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-build) #:use-module (gnu packages python-build)
@ -1292,12 +1295,54 @@ high-level like git-porcelain, or low-level like git-plumbing.
It provides abstractions of Git objects for easy access of repository data, It provides abstractions of Git objects for easy access of repository data,
and additionally allows you to access the Git repository more directly using and additionally allows you to access the Git repository more directly using
either a pure Python implementation, or the faster, but more resource intensive either a pure Python implementation, or the faster, but more resource intensive
@command{git} command implementation.") @command{git} command implementation.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public shflags (define-public savane
(package (package
(name "shflags") (name "savane")
(version "3.10")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.savannah.gnu.org/git/administration/savane")
(commit (string-append "release-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"10jg264wqmkc87nz0d8d2pq4hvradwqrvrpvgpz3h409y6c6v78z"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf
automake
gettext-minimal
imagemagick))
(inputs
(list exim
gnupg
httpd
mariadb
php))
(propagated-inputs
(list perl
perl-dbd-mysql
perl-dbi
perl-date-calc
perl-digest-md5
perl-mailtools
perl-file-find-rule
perl-xml-writer))
(synopsis "Web-based software hosting system")
(description
"Savane is a Web-based software hosting system. It includes issue
tracking (bugs, tasks, support, news and documentation), project member
management by roles and individual account maintenance.")
(home-page "https://savannah.nongnu.org/p/administration")
(license license:agpl3+)))
(define-public shflags
(package
(name "shflags")
(version "1.2.3") (version "1.2.3")
(source (origin (source (origin
(method git-fetch) (method git-fetch)

View File

@ -34,7 +34,7 @@
;;; Copyright © 2019 Timo Eisenmann <eisenmann@fn.de> ;;; Copyright © 2019 Timo Eisenmann <eisenmann@fn.de>
;;; Copyright © 2019 Arne Babenhauserheide <arne_bab@web.de> ;;; Copyright © 2019 Arne Babenhauserheide <arne_bab@web.de>
;;; Copyright © 2019 Riku Viitanen <riku.viitanen@protonmail.com> ;;; Copyright © 2019 Riku Viitanen <riku.viitanen@protonmail.com>
;;; Copyright © 2020, 2021 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2020, 2021, 2023 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Josh Holland <josh@inv.alid.pw> ;;; Copyright © 2020 Josh Holland <josh@inv.alid.pw>
;;; Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
@ -138,6 +138,7 @@
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop) #:use-module (gnu packages freedesktop)
#:use-module (gnu packages fribidi) #:use-module (gnu packages fribidi)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript) #:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl) #:use-module (gnu packages gl)
@ -164,7 +165,9 @@
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
#:use-module (gnu packages music) #:use-module (gnu packages music)
#:use-module (gnu packages mp3) #:use-module (gnu packages mp3)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages nettle)
#:use-module (gnu packages networking) #:use-module (gnu packages networking)
#:use-module (gnu packages ocr) #:use-module (gnu packages ocr)
#:use-module (gnu packages pcre) #:use-module (gnu packages pcre)
@ -193,6 +196,7 @@
#:use-module (gnu packages sdl) #:use-module (gnu packages sdl)
#:use-module (gnu packages serialization) #:use-module (gnu packages serialization)
#:use-module (gnu packages shells) #:use-module (gnu packages shells)
#:use-module (gnu packages spice)
#:use-module (gnu packages sqlite) #:use-module (gnu packages sqlite)
#:use-module (gnu packages ssh) #:use-module (gnu packages ssh)
#:use-module (gnu packages swig) #:use-module (gnu packages swig)
@ -3524,6 +3528,81 @@ and JACK.")
(home-page "https://obsproject.com") (home-page "https://obsproject.com")
(license license:gpl2+))) (license license:gpl2+)))
(define-public obs-looking-glass
(package
(name "obs-looking-glass")
(version "B5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gnif/LookingGlass")
(commit version)
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32
"09mn544x5hg1z31l92ksk7fi7yj9r8xdk0dcl9fk56ivcr452ylm"))))
(build-system cmake-build-system)
(arguments
(list
#:tests? #f ; no test target
#:make-flags #~(list "CC=gcc")
#:configure-flags
#~(list "-DGLOBAL_INSTALLATION=ON"
"-DUSE_CMAKE_LIBDIR=ON"
(string-append "-DOBS_PLUGIN_PREFIX="
#$output "/lib/obs-plugins"))
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'chdir-to-source
(lambda* (#:key outputs #:allow-other-keys)
(chdir "obs")
#t))
(add-after 'chdir-to-source 'substitute-output
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "CMakeLists.txt"
(("\\$\\{OBS_PLUGIN_PREFIX\\}/\\$\\{CMAKE_PROJECT_NAME\\}/bin/\\$\\{OBS_PLUGIN_DIR\\}")
(string-append (string-append #$output "/lib/obs-plugins"))))
#t)))))
(native-inputs (list libconfig nettle pkg-config))
(inputs
(list bash-minimal
fontconfig
freetype
glu
gmp
libglvnd
libiberty
libx11
libxcursor
libxfixes
libxi
libxinerama
libxkbcommon
libxpresent
libxrandr
libxscrnsaver
mesa
obs
openssl
sdl2
sdl2-ttf
spice-protocol
wayland
wayland-protocols
`(,zlib "static")))
(home-page "https://looking-glass.io/")
(synopsis "Looking Glass video feed to OBS as a video source")
(description "This OBS plugin allows a Looking Glass video feed to OBS as
a video source with the included OBS plugin. This provides a lower-latency
alternative to capturing the Looking Glass client window with a Screen or
Window Capture source.
This may help improve your viewers watching experience, and allows you to use
your host privately.")
(license license:gpl2+)))
(define-public obs-websocket (define-public obs-websocket
;; Functionality was merged into OBS. ;; Functionality was merged into OBS.
(deprecated-package "obs-websocket" obs)) (deprecated-package "obs-websocket" obs))

View File

@ -67,6 +67,7 @@
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages gl) #:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg) #:use-module (gnu packages gnupg)
#:use-module (gnu packages golang) #:use-module (gnu packages golang)
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
@ -86,6 +87,7 @@
#:use-module (gnu packages qt) #:use-module (gnu packages qt)
#:use-module (gnu packages samba) #:use-module (gnu packages samba)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages webkit)
#:use-module (gnu packages xml)) #:use-module (gnu packages xml))
(define-public bitmask (define-public bitmask
@ -279,6 +281,48 @@ Networks and The Calyx Institute, where the former is default.")
(home-page "https://bitmask.net/") (home-page "https://bitmask.net/")
(license license:gpl3+))) (license license:gpl3+)))
(define-public gp-saml-gui
;; No release.
(let ((commit "258f47cdc4a8ed57a1eef16667f6cad0d1cb49b1")
(revision "1"))
(package
(name "gp-saml-gui")
(version (git-version "0.0.0" revision commit))
(home-page "https://github.com/dlenski/gp-saml-gui")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0qj2mmi6lfkq5c4v6fbzgriajqc27k9kb1i9k2r776pn5pq14pc3"))))
(build-system python-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'wrap-program
(lambda _
(let ((prog (string-append #$output "/bin/gp-saml-gui")))
(wrap-program prog
`("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH")))
`("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))))))))
(inputs
(list bash-minimal
python-pygobject
python-urllib3
python-requests
webkitgtk-with-libsoup2))
(propagated-inputs
(list openconnect))
(synopsis "Interactively authenticate to GlobalProtect VPNs that require SAML")
(description "This is a helper script to allow you to interactively login
to a GlobalProtect VPN that uses SAML authentication, so that you can
subsequently connect with OpenConnect.")
(license license:gpl3+))))
(define-public gvpe (define-public gvpe
(package (package
(name "gvpe") (name "gvpe")

View File

@ -62,6 +62,7 @@
;;; Copyright © 2023 Paul A. Patience <paul@apatience.com> ;;; Copyright © 2023 Paul A. Patience <paul@apatience.com>
;;; Copyright © 2022 Bruno Victal <mirai@makinata.eu> ;;; Copyright © 2022 Bruno Victal <mirai@makinata.eu>
;;; Copyright © 2023 David Thompson <dthompson2@worcester.edu> ;;; Copyright © 2023 David Thompson <dthompson2@worcester.edu>
;;; Copyright © 2023 Christopher Howard <christopher@librehacker.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -130,6 +131,7 @@
#:use-module (gnu packages freedesktop) #:use-module (gnu packages freedesktop)
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
#:use-module (gnu packages gd) #:use-module (gnu packages gd)
#:use-module (gnu packages geo)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
@ -188,6 +190,7 @@
#:use-module (gnu packages syncthing) #:use-module (gnu packages syncthing)
#:use-module (gnu packages texinfo) #:use-module (gnu packages texinfo)
#:use-module (gnu packages textutils) #:use-module (gnu packages textutils)
#:use-module (gnu packages time)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages valgrind) #:use-module (gnu packages valgrind)
#:use-module (gnu packages version-control) #:use-module (gnu packages version-control)
@ -5914,23 +5917,27 @@ config files---you only have to specify the www root.")
(define-public goaccess (define-public goaccess
(package (package
(name "goaccess") (name "goaccess")
(version "1.5.2") (version "1.7.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://tar.goaccess.io/goaccess-" (uri (string-append "http://tar.goaccess.io/goaccess-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"12hwmd9cn7yy7vj92110skjaslpxkn05msb9wj228qmjjf9jzkm0")) "0sqjkla4fjw5h49x675qibp860bk0haajc3i31m1q782kjiap6hf"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet '(begin (snippet '(substitute* '("src/error.h"
(substitute* "src/error.h" "src/parser.c")
(("__DATE__") "\"1970-01-01\"") (("__DATE__") "\"1970-01-01\"")
(("__TIME__") "\"00:00:00\"")))))) (("__TIME__") "\"00:00:00\"")))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments
(list
#:configure-flags
'(list "--enable-geoip=mmdb"
"--enable-utf8")))
(inputs (inputs
;; TODO: Add dependency on geoip-tools. (list glib ncurses libmaxminddb openssl))
(list glib ncurses))
(native-inputs (native-inputs
(list pkg-config)) (list pkg-config))
(home-page "https://goaccess.io") (home-page "https://goaccess.io")
@ -8564,6 +8571,34 @@ detection. It delegates TLS support to an external daemon, for example
@command{stunnel} on @command{inetd}.") @command{stunnel} on @command{inetd}.")
(license license:bsd-2))) (license license:bsd-2)))
(define-public kineto
(package
(name "kineto")
(version "0.0.0-20211105093215-857f8c97ebc5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~sircmpwn/kineto")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32
"1r17c904i76yy5ilvhjczmhnq5g7r4nkjwmsjcfxcqzly0ia7m2k"))))
(build-system go-build-system)
(arguments
'(#:import-path "git.sr.ht/~sircmpwn/kineto/"))
(propagated-inputs
(list go-git-sr-ht-sircmpwn-getopt go-git-sr-ht-adnano-go-gemini))
(home-page "https://git.sr.ht/~sircmpwn/kineto/")
(synopsis "HTTP proxy for Gemini")
(description
"This is an @acronym{HTTP} to
@url{https://gemini.circumlunar.space/,Gemini} proxy designed to provide
service for a single domain, i.e. to make your Gemini site available over
HTTP. It can proxy to any domain in order to facilitate linking to the rest
of Geminispace, but it defaults to a specific domain.")
(license license:gpl3+)))
(define-public libzim (define-public libzim
(package (package
(name "libzim") (name "libzim")
@ -8856,6 +8891,45 @@ snapshots of the URLs you feed it in several formats.")
(home-page "https://archivebox.io/") (home-page "https://archivebox.io/")
(license license:expat))) (license license:expat)))
(define-public awslogs
(package
(name "awslogs")
(version "0.14.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "awslogs" version))
(sha256
(base32
"0zpp72ixxz18mf1kay7l07sbmf80mik30zw6p4wsxpraza3ry90v"))))
;; XXX: doesn't work with pyproject-build-system
(build-system python-build-system)
(arguments
(list
#:phases
'(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "setup.py"
(("'jmespath>=0.7.1.*',")
"'jmespath>=0.7.1',"))))
(add-after 'unpack 'patch-tests
(lambda _
;; XXX These tests fail for unknown reasons, and we can't easily
;; figure out why, because stdout is redirected to a string.
(substitute* "tests/test_it.py"
(("test_main_get_with_color")
"_skip_test_main_get_with_color")
(("test_main_get_query")
"_skip_test_main_get_query")))))))
(propagated-inputs
(list python-boto3 python-jmespath python-dateutil python-termcolor))
(home-page "https://github.com/jorgebastida/awslogs")
(synopsis "Command line tool to read AWS CloudWatch logs")
(description
"This package provides awslogs, a simple command line tool to download
and read AWS CloudWatch logs.")
(license license:bsd-3)))
(define-public orcania (define-public orcania
(package (package
(name "orcania") (name "orcania")

View File

@ -127,13 +127,13 @@ engine that uses Wayland for graphics output.")
(define-public webkitgtk (define-public webkitgtk
(package (package
(name "webkitgtk") ; webkit2gtk4 (name "webkitgtk") ; webkit2gtk4
(version "2.40.2") (version "2.40.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.webkitgtk.org/releases/" (uri (string-append "https://www.webkitgtk.org/releases/"
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 "0070fy5crf7kngy49wz5bqwvp8z9rmnq2cm6wxp41nllv5q8i2cn")) (base32 "0zq32rn34v7hzr53s100r77aglbi6wffp9b13bcj31k6cfi53q3x"))
(patches (search-patches (patches (search-patches
"webkitgtk-adjust-bubblewrap-paths.patch")))) "webkitgtk-adjust-bubblewrap-paths.patch"))))
(build-system cmake-build-system) (build-system cmake-build-system)

View File

@ -21,16 +21,23 @@
(define-module (gnu services admin) (define-module (gnu services admin)
#:use-module (gnu packages admin) #:use-module (gnu packages admin)
#:use-module ((gnu packages base)
#:select (canonical-package findutils))
#:use-module (gnu packages certs) #:use-module (gnu packages certs)
#:use-module (gnu packages package-management) #:use-module (gnu packages package-management)
#:use-module (gnu services) #:use-module (gnu services)
#:use-module (gnu services configuration)
#:use-module (gnu services mcron) #:use-module (gnu services mcron)
#:use-module (gnu services shepherd) #:use-module (gnu services shepherd)
#:use-module (gnu system accounts)
#:use-module ((gnu system shadow) #:select (account-service-type))
#:use-module ((guix store) #:select (%store-prefix))
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix modules) #:use-module (guix modules)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix records) #:use-module (guix records)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (ice-9 match)
#:use-module (ice-9 vlist) #:use-module (ice-9 vlist)
#:export (%default-rotations #:export (%default-rotations
%rotated-files %rotated-files
@ -55,6 +62,23 @@
log-cleanup-configuration-expiry log-cleanup-configuration-expiry
log-cleanup-configuration-schedule log-cleanup-configuration-schedule
file-database-service-type
file-database-configuration
file-database-configuration?
file-database-configuration-package
file-database-configuration-schedule
file-database-configuration-excluded-directories
%default-file-database-update-schedule
%default-file-database-excluded-directories
package-database-service-type
package-database-configuration
package-database-configuration?
package-database-configuration-package
package-database-configuration-schedule
package-database-configuration-method
package-database-configuration-channels
unattended-upgrade-service-type unattended-upgrade-service-type
unattended-upgrade-configuration unattended-upgrade-configuration
unattended-upgrade-configuration? unattended-upgrade-configuration?
@ -255,6 +279,118 @@ Old log files are removed or compressed according to the configuration.")
(description (description
"Periodically delete old log files."))) "Periodically delete old log files.")))
;;;
;;; File databases.
;;;
(define %default-file-database-update-schedule
;; Default mcron schedule for the periodic 'updatedb' job: once every
;; Sunday.
"10 23 * * 0")
(define %default-file-database-excluded-directories
;; Directories excluded from the 'locate' database.
(list (%store-prefix)
"/tmp" "/var/tmp" "/var/cache" ".*/\\.cache"
"/run/udev"))
(define (string-or-gexp? obj)
(or (string? obj) (gexp? obj)))
(define string-list?
(match-lambda
(((? string?) ...) #t)
(_ #f)))
(define-configuration/no-serialization file-database-configuration
(package
(file-like (let-system (system target)
;; Unless we're cross-compiling, avoid pulling a second copy
;; of findutils.
(if target
findutils
(canonical-package findutils))))
"The GNU@tie{}Findutils package from which the @command{updatedb} command
is taken.")
(schedule
(string-or-gexp %default-file-database-update-schedule)
"String or G-exp denoting an mcron schedule for the periodic
@command{updatedb} job (@pxref{Guile Syntax,,, mcron, GNU@tie{}mcron}).")
(excluded-directories
(string-list %default-file-database-excluded-directories)
"List of directories to ignore when building the file database. By
default, this includes @file{/tmp} and @file{/gnu/store}, which should instead
be indexed by @command{guix locate} (@pxref{Invoking guix locate}). This list
is passed to the @option{--prunepaths} option of
@command{updatedb} (@pxref{Invoking updatedb,,, find, GNU@tie{}Findutils})."))
(define (file-database-mcron-jobs configuration)
(match-record configuration <file-database-configuration>
(package schedule excluded-directories)
(let ((updatedb (program-file
"updatedb"
#~(execl #$(file-append package "/bin/updatedb")
"updatedb"
#$(string-append "--prunepaths="
(string-join
excluded-directories))))))
(list #~(job #$schedule #$updatedb)))))
(define file-database-service-type
(service-type
(name 'file-database)
(extensions (list (service-extension mcron-service-type
file-database-mcron-jobs)))
(description
"Periodically update the file database used by the @command{locate} command,
which lets you search for files by name. The database is created by running
the @command{updatedb} command.")
(default-value (file-database-configuration))))
(define %default-package-database-update-schedule
;; Default mcron schedule for the periodic 'guix locate --update' job: once
;; every Monday.
"10 23 * * 1")
(define-configuration/no-serialization package-database-configuration
(package (file-like guix)
"The Guix package to use.")
(schedule (string-or-gexp
%default-package-database-update-schedule)
"String or G-exp denoting an mcron schedule for the periodic
@command{guix locate --update} job (@pxref{Guile Syntax,,, mcron,
GNU@tie{}mcron}).")
(method (symbol 'store)
"Indexing method for @command{guix locate}. The default value,
@code{'store}, yields a more complete database but is relatively expensive in
terms of CPU and input/output.")
(channels (gexp #~%default-channels)
"G-exp denoting the channels to use when updating the database
(@pxref{Channels})."))
(define (package-database-mcron-jobs configuration)
(match-record configuration <package-database-configuration>
(package schedule method channels)
(let ((channels (scheme-file "channels.scm" channels)))
(list #~(job #$schedule
;; XXX: The whole thing's running as "root" just because it
;; needs write access to /var/cache/guix/locate.
(string-append #$(file-append package "/bin/guix")
" time-machine -C " #$channels
" -- locate --update --method="
#$(symbol->string method)))))))
(define package-database-service-type
(service-type
(name 'package-database)
(extensions (list (service-extension mcron-service-type
package-database-mcron-jobs)))
(description
"Periodically update the package database used by the @code{guix locate} command,
which lets you search for packages that provide a given file.")
(default-value (package-database-configuration))))
;;; ;;;
;;; Unattended upgrade. ;;; Unattended upgrade.

View File

@ -363,7 +363,15 @@ and stores the database cluster in @var{data-directory}."
(permissions postgresql-role-permissions (permissions postgresql-role-permissions
(default '(createdb login))) ;list (default '(createdb login))) ;list
(create-database? postgresql-role-create-database? ;boolean (create-database? postgresql-role-create-database? ;boolean
(default #f))) (default #f))
(encoding postgresql-role-encoding ;string
(default "UTF8"))
(collation postgresql-role-collation ;string
(default "en_US.utf8"))
(ctype postgresql-role-ctype ;string
(default "en_US.utf8"))
(template postgresql-role-template ;string
(default "template1")))
(define-record-type* <postgresql-role-configuration> (define-record-type* <postgresql-role-configuration>
postgresql-role-configuration make-postgresql-role-configuration postgresql-role-configuration make-postgresql-role-configuration
@ -392,7 +400,8 @@ and stores the database cluster in @var{data-directory}."
(append-map (append-map
(lambda (role) (lambda (role)
(match-record role <postgresql-role> (match-record role <postgresql-role>
(name permissions create-database?) (name permissions create-database? encoding collation ctype
template)
`("SELECT NOT(EXISTS(SELECT 1 FROM pg_catalog.pg_roles WHERE \ `("SELECT NOT(EXISTS(SELECT 1 FROM pg_catalog.pg_roles WHERE \
rolname = '" ,name "')) as not_exists;\n" rolname = '" ,name "')) as not_exists;\n"
"\\gset\n" "\\gset\n"
@ -402,7 +411,11 @@ rolname = '" ,name "')) as not_exists;\n"
";\n" ";\n"
,@(if create-database? ,@(if create-database?
`("CREATE DATABASE \"" ,name "\"" `("CREATE DATABASE \"" ,name "\""
" OWNER \"" ,name "\";\n") " OWNER \"" ,name "\"\n"
" ENCODING '" ,encoding "'\n"
" LC_COLLATE '" ,collation "'\n"
" LC_CTYPE '" ,ctype "'\n"
" TEMPLATE " ,template ";")
'()) '())
"\\endif\n"))) "\\endif\n")))
roles))) roles)))

View File

@ -116,12 +116,7 @@ loop-back communications.")
(requirement '(containerd (requirement '(containerd
dbus-system dbus-system
elogind elogind
file-system-/sys/fs/cgroup/blkio file-system-/sys/fs/cgroup
file-system-/sys/fs/cgroup/cpu
file-system-/sys/fs/cgroup/cpuset
file-system-/sys/fs/cgroup/devices
file-system-/sys/fs/cgroup/memory
file-system-/sys/fs/cgroup/pids
networking networking
udev)) udev))
(start #~(make-forkexec-constructor (start #~(make-forkexec-constructor

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2023 Brian Cully <bjc@spork.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -23,9 +24,15 @@
#:use-module (gnu system pam) #:use-module (gnu system pam)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix records) #:use-module (guix records)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1)
#:export (pam-mount-configuration #:export (pam-mount-configuration
pam-mount-configuration? pam-mount-configuration?
pam-mount-service-type)) pam-mount-service-type
pam-mount-volume
pam-mount-volume?
pam-mount-volume-service-type))
(define %pam-mount-default-configuration (define %pam-mount-default-configuration
`((debug (@ (enable "0"))) `((debug (@ (enable "0")))
@ -102,6 +109,11 @@
(list optional-pam-mount)))) (list optional-pam-mount))))
pam)))))) pam))))))
(define (extend-pam-mount-configuration initial extensions)
"Extends INITIAL with EXTENSIONS."
(pam-mount-configuration (rules (append (pam-mount-configuration-rules
initial) extensions))))
(define pam-mount-service-type (define pam-mount-service-type
(service-type (service-type
(name 'pam-mount) (name 'pam-mount)
@ -109,6 +121,106 @@
pam-mount-etc-service) pam-mount-etc-service)
(service-extension pam-root-service-type (service-extension pam-root-service-type
pam-mount-pam-service))) pam-mount-pam-service)))
(compose concatenate)
(extend extend-pam-mount-configuration)
(default-value (pam-mount-configuration)) (default-value (pam-mount-configuration))
(description "Activate PAM-Mount support. It allows mounting volumes for (description "Activate PAM-Mount support. It allows mounting volumes for
specific users when they log in."))) specific users when they log in.")))
(define (field-name->tag field-name)
"Convert FIELD-NAME to its tag used by the configuration XML."
(match field-name
('user-name 'user)
('user-id 'uid)
('primary-group 'pgrp)
('group-id 'gid)
('secondary-group 'sgrp)
('file-system-type 'fstype)
('no-mount-as-root? 'noroot)
('file-name 'path)
('mount-point 'mountpoint)
('ssh? 'ssh)
('file-system-key-cipher 'fskeycipher)
('file-system-key-hash 'fskeyhash)
('file-system-key-file-name 'fskeypath)
(_ field-name)))
(define-maybe string)
(define (serialize-string field-name value)
(list (field-name->tag field-name) value))
(define (integer-or-range? value)
(match value
((start . end) (and (integer? start)
(integer? end)))
(_ (number? value))))
(define-maybe integer-or-range)
(define (serialize-integer-or-range field-name value)
(let ((value-string (match value
((start . end) (format #f "~a-~a" start end))
(_ (number->string value)))))
(list (field-name->tag field-name) value-string)))
(define-maybe boolean)
(define (serialize-boolean field-name value)
(let ((value-string (if value "1" "0")))
(list (field-name->tag field-name) value-string)))
(define-configuration pam-mount-volume
(user-name maybe-string "User name to match.")
(user-id maybe-integer-or-range
"User ID, or range of user IDs, in the form of @code{(start . end)} to\nmatch.")
(primary-group maybe-string "Primary group name to match.")
(group-id maybe-integer-or-range
"Group ID, or range of group IDs, in the form of @code{(start . end)} to\nmatch.")
(secondary-group maybe-string
"Match users who belong to this group name as either a primary or secondary\ngroup.")
(file-system-type maybe-string "File system type of volume being mounted.")
(no-mount-as-root? maybe-boolean
"Do not use super user privileges to mount this volume.")
(server maybe-string "Remote server this volume resides on.")
(file-name maybe-string "Location of the volume to be mounted.")
(mount-point maybe-string
"Where to mount the volume in the local file system.")
(options maybe-string "Options to pass to the underlying mount program.")
(ssh? maybe-boolean "Whether to pass the login password to SSH.")
(cipher maybe-string "Cryptsetup cipher named used by volume.")
(file-system-key-cipher maybe-string
"Cipher name used by the target volume.")
(file-system-key-hash maybe-string
"SSL hash name used by the target volume.")
(file-system-key-file-name maybe-string
"File name for the file system key used by the target volume."))
(define (pam-mount-volume->sxml volume)
;; Convert a list of configuration fields into an SXML-compatible attribute
;; list.
(define xml-attrs
(filter-map (lambda (field)
(let* ((accessor (configuration-field-getter field))
(value (accessor volume)))
(and (not (eq? value %unset-value))
(list (field-name->tag (configuration-field-name
field)) value))))
pam-mount-volume-fields))
`(volume (@ ,@xml-attrs)))
(define (pam-mount-volume-rules volumes)
(map pam-mount-volume->sxml volumes))
(define pam-mount-volume-service-type
(service-type (name 'pam-mount-volume)
(extensions (list (service-extension pam-mount-service-type
pam-mount-volume-rules)))
(compose concatenate)
(extend append)
(default-value '())
(description
"Mount remote volumes such as CIFS shares @i{via}
@acronym{PAM, Pluggable Authentication Modules} when logging in, using login
credentials.")))

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2021 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2021 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2023 Justin Veilleux <terramorpha@cock.li>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -60,9 +61,9 @@
(requirement '(loopback)) (requirement '(loopback))
(start #~(make-forkexec-constructor (start #~(make-forkexec-constructor
(append (list (string-append #$syncthing "/bin/syncthing") (append (list (string-append #$syncthing "/bin/syncthing")
"-no-browser" "--no-browser"
"-no-restart" "--no-restart"
(string-append "-logflags=" (number->string #$logflags))) (string-append "--logflags=" (number->string #$logflags)))
'#$arguments) '#$arguments)
#:user #$user #:user #$user
#:group #$group #:group #$group

View File

@ -445,26 +445,13 @@ TARGET in the other system."
(flags '(read-only bind-mount no-atime)))) (flags '(read-only bind-mount no-atime))))
(define %control-groups (define %control-groups
(let ((parent (file-system ;; The cgroup2 file system.
(device "cgroup") (list (file-system
(mount-point "/sys/fs/cgroup") (device "none")
(type "tmpfs") (mount-point "/sys/fs/cgroup")
(check? #f)))) (type "cgroup2")
(cons parent (check? #f)
(map (lambda (subsystem) (create-mount-point? #f))))
(file-system
(device "cgroup")
(mount-point (string-append "/sys/fs/cgroup/" subsystem))
(type "cgroup")
(check? #f)
(options subsystem)
(create-mount-point? #t)
;; This must be mounted after, and unmounted before the
;; parent directory.
(dependencies (list parent))))
'("cpuset" "cpu" "cpuacct" "memory" "devices" "freezer"
"blkio" "perf_event" "pids")))))
(define %elogind-file-systems (define %elogind-file-systems
;; We don't use systemd, but these file systems are needed for elogind, ;; We don't use systemd, but these file systems are needed for elogind,

View File

@ -1787,6 +1787,11 @@ MANIFEST."
(cons (gexp-input thing output) (cons (gexp-input thing output)
(append-map entry->texlive-input deps)) (append-map entry->texlive-input deps))
'())))) '()))))
(define texlive-scripts-entry?
(match-lambda
(($ <manifest-entry> name version output thing deps)
(or (string=? "texlive-scripts" name)
(any texlive-scripts-entry? deps)))))
(define texlive-inputs (define texlive-inputs
(append-map entry->texlive-input (manifest-entries manifest))) (append-map entry->texlive-input (manifest-entries manifest)))
(define texlive-scripts (define texlive-scripts
@ -1887,9 +1892,11 @@ MANIFEST."
(copy-recursively a b) (copy-recursively a b)
(invoke mktexlsr b) (invoke mktexlsr b)
(install-file (string-append b "/ls-R") a)))))) (install-file (string-append b "/ls-R") a))))))
(with-monad %store-monad (with-monad %store-monad
(if (pair? texlive-inputs) ;; `texlive-scripts' brings essential files to generate font maps.
;; Therefore, it must be present in the profile. This check prevents
;; incomplete modular TeX Live installations to generate errors.
(if (any texlive-scripts-entry? (manifest-entries manifest))
(gexp->derivation "texlive-font-maps" build (gexp->derivation "texlive-font-maps" build
#:substitutable? #f #:substitutable? #f
#:local-build? #t #:local-build? #t

View File

@ -686,7 +686,10 @@ checking this by themselves in their 'check' procedure."
(find-partition-by-label (file-system-label->string device)))))) (find-partition-by-label (file-system-label->string device))))))
(define file-systems (define file-systems
(filter file-system-needed-for-boot? (filter (lambda (file-system)
(and (file-system-needed-for-boot? file-system)
(not (member (file-system-type file-system)
%pseudo-file-system-types))))
(operating-system-file-systems os))) (operating-system-file-systems os)))
(for-each (lambda (fs) (for-each (lambda (fs)

View File

@ -0,0 +1,83 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2023 Brian Cully <bjc@spork.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (tests services pam-mount)
#:use-module (gnu services pam-mount)
#:use-module (gnu system pam)
#:use-module (gnu services)
#:use-module (gnu services configuration)
#:use-module (guix derivations)
#:use-module (guix gexp)
#:use-module (guix grafts)
#:use-module (guix store)
#:use-module (guix tests)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-64))
(define pam-mount-volume-fields (@@ (gnu services pam-mount)
pam-mount-volume-fields))
(define field-name->tag (@@ (gnu services pam-mount)
field-name->tag))
(define pam-mount-volume->sxml (@@ (gnu services pam-mount)
pam-mount-volume->sxml))
(test-begin "services-pam-mount")
(test-group "field-name->tag"
(let ((field-map '((user-name user)
(user-id uid)
(primary-group pgrp)
(group-id gid)
(secondary-group sgrp)
(file-system-type fstype)
(no-mount-as-root? noroot)
(server server)
(file-name path)
(mount-point mountpoint)
(options options)
(ssh? ssh)
(cipher cipher)
(file-system-key-cipher fskeycipher)
(file-system-key-hash fskeyhash)
(file-system-key-file-name fskeypath))))
(test-equal "all fields accounted for"
(map car field-map)
(map configuration-field-name pam-mount-volume-fields))
(for-each (match-lambda
((field-name tag-name)
(test-eq (format #f "~a -> ~a" field-name tag-name)
(field-name->tag field-name) tag-name)))
field-map)))
(let ((tmpfs-volume (pam-mount-volume
(secondary-group "users")
(file-system-type "tmpfs")
(mount-point "/run/user/%(USERUID)")
(options "someoptions"))))
(test-equal "tmpfs"
'(volume (@ (sgrp "users")
(fstype "tmpfs")
(mountpoint "/run/user/%(USERUID)")
(options "someoptions")))
(pam-mount-volume->sxml tmpfs-volume)))
(test-end "services-pam-mount")