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/emacs/guix-emacs.el \
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-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-arm64.conf \
gnu/packages/aux-files/linux-libre/6.1-i686.conf \
@ -558,6 +556,7 @@ SCM_TESTS = \
tests/services/configuration.scm \
tests/services/lightdm.scm \
tests/services/linux.scm \
tests/services/pam-mount.scm \
tests/services/telephony.scm \
tests/services/vpn.scm \
tests/sets.scm \

View File

@ -117,6 +117,7 @@ Copyright @copyright{} 2023 Karl Hallsby@*
Copyright @copyright{} 2023 Nathaniel Nicandro@*
Copyright @copyright{} 2023 Tanguy Le Carrour@*
Copyright @copyright{} 2023 Zheng Junjie@*
Copyright @copyright{} 2023 Brian Cully@*
Permission is granted to copy, distribute and/or modify this document
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.
* Desktop Services:: D-Bus and desktop services.
* Sound Services:: ALSA and Pulseaudio services.
* File Search Services:: Tools to search for files.
* Database Services:: SQL databases, key-value stores, etc.
* Mail Services:: IMAP, POP3, SMTP, and all that.
* 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
under @file{~/.cache/guix/locate}. On a multi-user system,
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:
@ -18429,6 +18433,7 @@ declaration.
* Printing Services:: Local and remote printer support.
* Desktop Services:: D-Bus and desktop services.
* Sound Services:: ALSA and Pulseaudio services.
* File Search Services:: Tools to search for files.
* Database Services:: SQL databases, key-value stores, etc.
* Mail Services:: IMAP, POP3, SMTP, and all that.
* Messaging Services:: Messaging services.
@ -24956,6 +24961,111 @@ details.
@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
@subsection Database Services
@ -25166,7 +25276,21 @@ The role permissions list. Supported permissions are @code{bypassrls},
@code{superuser}.
@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 deftp
@ -37836,6 +37960,104 @@ The complete list of possible options can be found in the man page for
@end table
@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
@subsection Guix Services

View File

@ -10,7 +10,7 @@
;; Copyright © 2020, 2021 Mathieu Othacehe <m.othacehe@gmail.com>
;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;; 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 Chris Marusich <cmmarusich@gmail.com>
;; Copyright © 2021, 2022 Maxime Devos <maximedevos@telenet.be>
@ -26,6 +26,34 @@
(channel-news
(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")
(title
(en "New @command{guix locate} command")

View File

@ -899,11 +899,13 @@ dist_patch_DATA = \
%D%/packages/patches/akonadi-timestamps.patch \
%D%/packages/patches/allegro-mesa-18.2.5-and-later.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/antiword-CVE-2014-8123.patch \
%D%/packages/patches/antlr3-3_1-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/apr-fix-atomics.patch \
%D%/packages/patches/apr-skip-getservbyname-test.patch \
%D%/packages/patches/ark-skip-xar-test.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/linux-libre-infodocs-target.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-unix_chkpwd.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/openbox-python3.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-setsignalhandler.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/qtbase-absolute-runpath.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/qtscript-disable-tests.patch \
%D%/packages/patches/quagga-reproducible-build.patch \

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; 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.
;;;
@ -291,7 +291,10 @@ exist on the machine."
if any of the modules needed by 'needed-for-boot' file systems in MACHINE are
not available in the initrd."
(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))))
(define (missing-modules fs)

View File

@ -1960,7 +1960,7 @@ system administrator.")
(define-public sudo
(package
(name "sudo")
(version "1.9.14p1")
(version "1.9.14p3")
(source (origin
(method url-fetch)
(uri
@ -1970,7 +1970,7 @@ system administrator.")
version ".tar.gz")))
(sha256
(base32
"1bwg2bn1sbc6l2gx2r9vfqyf8dyvgp7nad0wj3p5gn095vpza6z9"))
"0qibg30d30gy85g83fj6gsg59g1sj3i9mkfl0k0851dwqjqii0x0"))
(modules '((guix build utils)))
(snippet
'(begin
@ -2419,15 +2419,15 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
(define-public acpica
(package
(name "acpica")
(version "20220331")
(version "20230628")
(source (origin
(method url-fetch)
(uri (string-append
"https://acpica.org/sites/acpica/files/acpica-unix2-"
"https://downloadmirror.intel.com/783536/acpica-unix2-"
version ".tar.gz"))
(sha256
(base32
"0yjcl00nnnlw01sz6a1i5d3v75gr17mkbxkxfx2v344al33abk8w"))))
"1fmkng72zb0yqp4hfl8a6pqmylixqbpjd43xmi6k3p74x5qiq0h6"))))
(build-system gnu-build-system)
(native-inputs (list flex bison))
(arguments
@ -4023,11 +4023,15 @@ you are running, what theme or icon set you are using, etc.")
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(add-before 'build 'path-source-paths
(add-before 'build 'patch-source-paths
(lambda _
(substitute* "uwufetch.c"
(("(/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
;; viu XXX not yet packaged in Guix
xwininfo))
@ -4652,7 +4656,7 @@ Logitech Unifying Receiver.")
(package
(name "lynis")
;; Also update the lynis-sdk input to the commit matching this release.
(version "3.0.8")
(version "3.0.9")
(source
(origin
(method git-fetch)
@ -4661,7 +4665,7 @@ Logitech Unifying Receiver.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "19kz1ffbbd431cdfw7fjcl5hjkks3gfkwk3w2zkwsxgyiky1gx3w"))
(base32 "1rgiifbzlk9lfjhbgxy6pqza5kxpr5rsr8vj9fcqvqihzdb5izj1"))
(modules '((guix build utils)))
(snippet
'(begin
@ -4677,50 +4681,53 @@ Logitech Unifying Receiver.")
(method git-fetch)
(uri (git-reference
(url "https://github.com/CISOfy/lynis-sdk")
(commit "dffe5d352e4d6029ea95a84d50604ccd97cb8999")))
(commit "92522b3ec39ad4cdef4756dc303d99741ec7fe20")))
(file-name (git-file-name "lynis-sdk" version))
(sha256
(base32 "05qq4395x8f0kyl1ppm74npsf8sb3hhgz0ck4fya91sy6a26b4ja"))))))
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'unpack
;; XXX Remove after fixing <https://issues.guix.gnu.org/55287>.
(lambda* (#:key source #:allow-other-keys)
(mkdir "source")
(chdir "source")
(copy-recursively source "."
#:keep-mtime? #t)))
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "lynis"
(("/usr/share/lynis")
(string-append (assoc-ref outputs "out") "/share/lynis")))
(substitute* "include/functions"
(("/usr/local/etc/lynis")
(string-append (assoc-ref outputs "out") "/etc/lynis")))))
(delete 'build)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(install-file "lynis" (string-append out "/bin/"))
(install-file "default.prf" (string-append out "/etc/lynis"))
(for-each
(lambda (dir)
(copy-recursively dir (string-append out "/share/lynis/" dir)))
(list "db" "include" "plugins"))
(install-file "lynis.8" (string-append out "/share/man/man8")))))
(replace 'check
(lambda* (#:key inputs #:allow-other-keys)
(copy-recursively (assoc-ref inputs "lynis-sdk") "../lynis-sdk")
(setenv "LANG" "en_US.UTF-8")
(let ((lynis-dir (getcwd)))
(with-directory-excursion "../lynis-sdk"
(substitute* "config"
(("\\.\\./lynis") lynis-dir))
(substitute* "unit-tests/tests-language-translations.sh"
(("\\.\\./lynis") lynis-dir))
(invoke "sh" "lynis-devkit" "run" "unit-tests"))))))))
(list
#:phases
#~(modify-phases %standard-phases
(replace 'unpack
;; XXX Remove after fixing <https://issues.guix.gnu.org/55287>.
(lambda* (#:key source #:allow-other-keys)
(mkdir "source")
(chdir "source")
(copy-recursively source "."
#:keep-mtime? #t)))
(replace 'configure
(lambda _
(substitute* "lynis"
(("/usr/share/lynis")
(string-append #$output "/share/lynis")))
(substitute* "include/functions"
(("/usr/local/etc/lynis")
(string-append #$output "/etc/lynis")))))
(delete 'build)
(replace 'install
(lambda _
(install-file "lynis" (string-append #$output "/bin/"))
(install-file "default.prf" (string-append #$output "/etc/lynis"))
(for-each
(lambda (dir)
(copy-recursively
dir (string-append #$output "/share/lynis/" dir)))
(list "db" "include" "plugins"))
(install-file "lynis.8"
(string-append #$output "/share/man/man8"))))
(replace 'check
(lambda _
(copy-recursively #$(this-package-native-input "lynis-sdk")
"../lynis-sdk")
(setenv "LANG" "en_US.UTF-8")
(let ((lynis-dir (getcwd)))
(with-directory-excursion "../lynis-sdk"
(substitute* "config"
(("\\.\\./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/")
(synopsis "Security auditing tool")
(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
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; 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.
;;;
@ -21,6 +22,8 @@
#:use-module ((guix licenses) #:prefix l:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages perl)
@ -46,9 +49,23 @@
;; Sometimes we end up with two processes concurrently trying to make
;; 'libmod_test.la': <http://hydra.gnu.org/build/60266/nixlog/2/raw>.
;; Thus, build sequentially.
'(#:parallel-build? #f
#:parallel-tests? #f))
`(#:parallel-build? #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))
(native-inputs
`(,@(if (target-ppc32?)
`(("atomics-patch"
,(local-file (search-patch "apr-fix-atomics.patch"))))
'())))
(home-page "https://apr.apache.org/")
(synopsis "The Apache Portable Runtime Library")
(description

View File

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

View File

@ -275,7 +275,7 @@ exec ~a --no-auto-compile \"$0\" \"$@\"
(define-public autoconf-archive
(package
(name "autoconf-archive")
(version "2022.09.03")
(version "2023.02.20")
(source
(origin
(method url-fetch)
@ -283,7 +283,7 @@ exec ~a --no-auto-compile \"$0\" \"$@\"
version ".tar.xz"))
(sha256
(base32
"08zl68xdd907fb1r8kb88ycq09w9g53hfbflpq3pkblc1pq58x70"))))
"0cqsqdnmjdyybzw8wqhwkgs1vh7r5pbw66a6g7sz2a5fg6209m3i"))))
(build-system gnu-build-system)
(home-page "https://www.gnu.org/software/autoconf-archive/")
(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
(list zlib lapack))
(native-inputs
(list unzip))
(list unzip gcc-8))
(home-page "http://pngu.mgh.harvard.edu/~purcell/plink/")
(synopsis "Whole genome association analysis toolset")
(description
@ -15057,11 +15057,11 @@ activity prediction from transcriptomics data, and its R implementation
(license license:expat))))
(define-public r-liana
(let ((commit "efb1249af46f576d1d620956053cfa93b2cee961")
(let ((commit "10d81773e0874de676eb106ce56e3cf9d4fe01d3")
(revision "1"))
(package
(name "r-liana")
(version (git-version "0.1.5" revision commit))
(version (git-version "0.1.11" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
@ -15070,13 +15070,13 @@ activity prediction from transcriptomics data, and its R implementation
(file-name (git-file-name name version))
(sha256
(base32
"0z645k26kqrfj5f1s412vwclw1q47h1zfxxrh9ijr30pxhpv6cv0"))))
"0b0m8i9kava36s3cn6vnn5vmiwvqwxmcq8jacy6ccshsji3kgp09"))))
(properties `((upstream-name . "liana")))
(build-system r-build-system)
(arguments
(list
#:phases
`(modify-phases %standard-phases
'(modify-phases %standard-phases
;; This is needed to find ~/.config/OmnipathR/omnipathr.yml
(add-after 'unpack 'set-HOME
(lambda _ (setenv "HOME" "/tmp"))))))

View File

@ -785,7 +785,7 @@ favourite continuous integration framework. Among Cukinia features are:
#t))))))
(propagated-inputs
(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++")
(description "CxxTest is a unit testing framework for C++ that is similar
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.")
(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
(package
(name "r-pscl")

View File

@ -224,7 +224,9 @@ communication, encryption, decryption, signatures, etc.")
"/download/v" version "/signify-" version ".tar.xz"))
(sha256
(base32
"0x1bipfphnyvf2kl7n9q4gawaglma79368vb8whama6lxsggsm8i"))))
"0x1bipfphnyvf2kl7n9q4gawaglma79368vb8whama6lxsggsm8i"))
(modules '((guix build utils)))
(snippet '(delete-file-recursively "libbsd"))))
(build-system gnu-build-system)
;; TODO Build with libwaive (described in README.md), to implement something
;; 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.")
;; This package includes third-party code that was originally released under
;; 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
"file://base64.c"
"See base64.c in the distribution for

View File

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

View File

@ -86,10 +86,7 @@
(method url-fetch)
(uri (list
(string-append "mirror://debian/pool/main/d/delta/"
"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")))
"delta_" version ".orig.tar.gz")))
(sha256
(base32
"184wh35pf2ddx97319s6sgkzpz48xxkbwzcjpycv009bm53lh61q"))))
@ -114,7 +111,8 @@
`("delta" "multidelta" "topformflat"))))
#t))
(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")
(description
"Delta assists you in minimizing \"interesting\" files subject to a test

View File

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

View File

@ -968,7 +968,7 @@ passphrases.")
(define-public ndctl
(package
(name "ndctl")
(version "75")
(version "78")
(source (origin
(method git-fetch)
(uri (git-reference
@ -977,7 +977,7 @@ passphrases.")
(file-name (git-file-name name version))
(sha256
(base32
"0i3fmda285qnwnmkxzwji5ffz123yrq9dpcwzg922qpysir7zq40"))))
"0rhmxjajxxslsikixlf9cdg5vcn42h7zzqkqj5p5pshxch368kn0"))))
(build-system meson-build-system)
(arguments
;; The test suite runs but SKIPs all tests: do not consider this tested!
@ -1020,6 +1020,8 @@ passphrases.")
json-c
keyutils
kmod
libtraceevent
libtracefs
`(,util-linux "lib")))
(home-page "https://github.com/pmem/ndctl")
(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")
(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
(let ((commit "78f741806ecebe01224bf54d09ad80e306652508")
(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.")
(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
(let ((commit "d79e158f9ed3065ab692cd0d4048aac985c4fecd")
(revision "0"))

View File

@ -3,7 +3,7 @@
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2016, 2018, 2020-2023 Efraim Flashner <efraim@flashner.co.il>
;;; 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 © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
@ -37,6 +37,7 @@
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022, 2023 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2023 Theofilos Pechlivanis <theofilos.pechlivanis@gmail.com>
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -54,24 +55,24 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(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 build-system ant)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system emacs)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#: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 algebra)
#:use-module (gnu packages autotools)
@ -84,12 +85,10 @@
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages code)
#:use-module (gnu packages commencement)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages gawk)
#:use-module (gnu packages dejagnu)
#:use-module (gnu packages digest)
#:use-module (gnu packages docbook)
@ -99,6 +98,7 @@
#:use-module (gnu packages fontutils)
#:use-module (gnu packages fpga)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gd)
#:use-module (gnu packages geo)
@ -114,19 +114,21 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages image)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux) ;FIXME: for pcb
#:use-module (gnu packages lisp)
#:use-module (gnu packages m4)
#:use-module (gnu packages maths)
#:use-module (gnu packages man)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages openkinect)
#:use-module (gnu packages openkinect)
#:use-module (gnu packages parallel)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
@ -150,20 +152,20 @@
#:use-module (gnu packages swig)
#:use-module (gnu packages tbb)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tex)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages text-editors)
#:use-module (gnu packages time)
#:use-module (gnu packages tree-sitter)
#: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 web)
#: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 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
(package
@ -713,58 +715,58 @@ multipole-accelerated algorithm.")
(package
(name "fritzing")
(version "0.9.6")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/fritzing/fritzing-app")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"083nz7vj7a334575smjry6257535h68gglh8a381xxa36dw96aqs"))))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/fritzing/fritzing-app")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "083nz7vj7a334575smjry6257535h68gglh8a381xxa36dw96aqs"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(copy-recursively (assoc-ref inputs "fritzing-parts-db")
"parts")
;; Use system libgit2 and boost.
(substitute* "phoenix.pro"
(("^LIBGIT_STATIC.*")
(string-append "LIBGIT2INCLUDE=" (assoc-ref inputs "libgit2") "/include\n"
"LIBGIT2LIB=" (assoc-ref inputs "libgit2") "/lib\n"
"INCLUDEPATH += $$LIBGIT2INCLUDE\n"
"LIBS += -L$$LIBGIT2LIB -lgit2\n"))
(("^.*pri/libgit2detect.pri.") ""))
;; Trick the internal mechanism to load the parts
(substitute* "src/version/partschecker.cpp"
((".*git_libgit2_init.*")
"return \"083nz7vj7a334575smjry6257535h68gglh8a381xxa36dw96aqs\";"))
(let ((out (assoc-ref outputs "out")))
(invoke "qmake"
(string-append "QMAKE_LFLAGS_RPATH=-Wl,-rpath," out "/lib")
(string-append "PREFIX=" out)
"phoenix.pro")))))))
(list
#:phases
#~(modify-phases %standard-phases
(replace 'configure
(lambda _
;; Integrate parts library
(copy-recursively
(string-append #$(this-package-native-input "fritzing-parts")
"/share/library")
"parts")
;; Use system libgit2 and boost.
(substitute* "phoenix.pro"
(("^LIBGIT_STATIC.*")
(string-append
"LIBGIT2INCLUDE=" #$(this-package-input "libgit2") "/include\n"
"LIBGIT2LIB=" #$(this-package-input "libgit2") "/lib\n"
"INCLUDEPATH += $$LIBGIT2INCLUDE\n"
"LIBS += -L$$LIBGIT2LIB -lgit2\n"))
(("^.*pri/libgit2detect.pri.") ""))
;; Trick the internal mechanism to load the parts
(substitute* "src/version/partschecker.cpp"
((".*git_libgit2_init.*")
"return \"083nz7vj7a334575smjry6257535h68gglh8a381xxa36dw96aqs\";"))
;; 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
`(("qtbase" ,qtbase-5)
("qtserialport" ,qtserialport)
("qtsvg-5" ,qtsvg-5)
("libgit2" ,libgit2)
("boost" ,boost)
("zlib" ,zlib)
("fritzing-parts-db"
,(origin
(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"))))))
(list boost
libgit2
qtbase-5
;; TODO: Needs to be renamed to qtserialport-5. when version 6 is
;; packed.
qtserialport
qtsvg-5
zlib))
(home-page "https://fritzing.org")
(synopsis "Electronic circuit design")
(description
@ -778,6 +780,43 @@ ready for production.")
;; released under GPLv3+.
(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
(package
(name "qelectrotech")
@ -2242,7 +2281,11 @@ parallel computing platforms. It also supports serial execution.")
#t)))))
(inputs
(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
perl
pkg-config
@ -2406,7 +2449,7 @@ simulation.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/radareorg/cutter")
(url "https://github.com/rizinorg/cutter")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@ -2436,7 +2479,7 @@ simulation.")
;; 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-for-cutter))
(home-page "https://github.com/radareorg/cutter")
(home-page "https://cutter.re")
(synopsis "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
@ -2687,7 +2730,7 @@ comments.")))
(define-public freecad
(package
(name "freecad")
(version "0.20.2")
(version "0.21.0")
(source
(origin
(method git-fetch)
@ -2696,7 +2739,7 @@ comments.")))
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0wsfz2jqfhmqshyr1n4qxcc3c6a96gyll4h34vn2zzvvcnncn9rb"))))
(base32 "1i1wv3swnnimmn3kwphb2fcmsc64z96rcg7fhfsgqxcbyrygw6w7"))))
(build-system qt-build-system)
(native-inputs
(list doxygen
@ -2710,6 +2753,7 @@ comments.")))
coin3D
double-conversion
eigen
fmt
fontconfig
freetype
gl2ps

View File

@ -2,7 +2,7 @@
;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
;;; 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 © 2021 Solene Rapenne <solene@perso.pw>
;;; Copyright © 2022 jgart <jgart@dismail.de>
@ -35,14 +35,14 @@
(define-public entr
(package
(name "entr")
(version "5.2")
(version "5.4")
(source (origin
(method url-fetch)
(uri (string-append "https://eradman.com/entrproject/code/entr-"
version ".tar.gz"))
(sha256
(base32
"1063b33bqggyqd0h7cvcvznpgiy9s2zqkdsc1q622xdh8sfk0zi3"))))
"17hz4aca6dsh6z58625jg8fbk5m9ng3s95pl4s6ws79zrk9dw7a9"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@ -64,18 +64,19 @@
(("/bin/cat" command)
(search-input-file inputs command))
(("/usr(/bin/clear)" _ command)
(search-input-file inputs command)))
#t)))))
(search-input-file inputs command))))))))
(inputs
(list bash coreutils ncurses))
(home-page "https://eradman.com/entrproject/")
(synopsis "Run arbitrary commands when files change")
(description
"entr is a zero-configuration tool with no external build or run-time
dependencies. The interface to entr is not only minimal, it aims to be simple
enough to create a new category of ad hoc automation. These micro-tests
reduce keystrokes, but more importantly they emphasize the utility of
automated checks.")
"@acronym{entr, event notify test runner} reads a list of file names from
standard input and executes a given command (including arguments) whenever any
of them change. It aims to facilitate rapid feedback and automated testing.
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.
(license isc)))

View File

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

View File

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

View File

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

View File

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

View File

@ -4689,7 +4689,7 @@ and RDP protocols.")
(propagated-inputs
;; In Requires of dconf.pc.
(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")
(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

View File

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

View File

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

View File

@ -243,13 +243,20 @@ may also simplify input method development.")
#~(modify-phases #$phases
(replace 'wrap-with-additional-paths
(lambda* (#:key outputs #:allow-other-keys)
;; Make sure 'ibus-setup' runs with the correct
;; GUIX_PYTHONPATH and GI_TYPELIB_PATH.
(wrap-program (search-input-file outputs "bin/ibus-setup")
`("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))
`("GI_TYPELIB_PATH" ":" prefix
(,(getenv "GI_TYPELIB_PATH")
,(string-append #$output "/lib/girepository-1.0"))))))))))
;; Make sure 'ibus-setup' and 'ibus-daemon' runs with the
;; correct GUIX_PYTHONPATH and GI_TYPELIB_PATH. Wrap
;; 'ibus-daemon' is needed because engines spawned by
;; the daemon need access to those libraries.
(for-each
(lambda (prog)
(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)
(prepend gtk
pango
@ -899,6 +906,99 @@ hanja dictionary and small hangul character classification.")
"ibus-hangul is a Korean input method engine for IBus.")
(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
(package
(name "ibus-speech-to-text")

View File

@ -409,19 +409,23 @@ for the IRCv3 protocol.")
(define-public catgirl
(package
(name "catgirl")
(version "2.1")
(source (origin
(method url-fetch)
(uri (string-append "https://git.causal.agency/catgirl/snapshot/"
name "-" version ".tar.gz"))
(sha256
(base32
"13pfphcfkdzqfb4x7w21xp6rnmg3ix9f39mpqmxxzg15ys1gp2x6"))))
(version "2.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.causal.agency/catgirl")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0r1h10qdhhgy3359ndbjh269daivm126qc0c23db7bffv0xs4bff"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
#:make-flags (list (string-append "PREFIX=" %output)
,(string-append "CC=" (cc-for-target)))))
(list
#:tests? #f ; no tests
#:make-flags
#~(list (string-append "prefix=" #$output)
(string-append "CC=" #$(cc-for-target)))))
(native-inputs
(list universal-ctags pkg-config))
(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)
;; 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
(package
(inherit openjdk17)
@ -1589,14 +1626,14 @@ OpenJDK.")
(define-public ant/java8
(package
(name "ant")
(version "1.10.10")
(version "1.10.13")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/ant/source/apache-ant-"
version "-src.tar.gz"))
(sha256
(base32
"1dhkk9ajc378cln6sj9q0ya8bl9dpyji5xcrl1zq41zx1k6j54g5"))
"01l4g9b1xnnq450ljvhrlvcf8wzzmr45wmhkybrx0hcdi166y06s"))
(modules '((guix build utils)))
(snippet
'(begin
@ -5019,6 +5056,68 @@ constructor on object instantiation.")
mock objects in unit testing.")
(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
(package
(name "java-jmock")
@ -6180,6 +6279,32 @@ NIO.")))
(description "This package provides the HttpCore benchmarking tool. It is
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
(package
(name "java-httpcomponents-httpclient")
@ -6216,6 +6341,51 @@ feature-rich package implementing the client side of the most recent HTTP
standards and recommendations.")
(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
(package (inherit java-httpcomponents-httpclient)
(name "java-httpcomponents-httpmime")
@ -11147,6 +11317,38 @@ protocol-independent framework to build mail and messaging applications.")
(license (list license:cddl1.1
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
(package
(name "java-jeromq")

View File

@ -854,42 +854,46 @@ noun phrases, verb phrases, etc.).")
(define-public praat
(package
(name "praat")
(version "6.1.30")
(version "6.3.10")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/praat/praat")
(commit (string-append "v" version))))
(url "https://github.com/praat/praat")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1pjfifyv3wjn68l3i2dr83xm75nf2kxvfxrk9qqbmwz58p183jw4"))))
"0kwv0p2bn2x5h0c61rymm87icqqwnbj699awgc5afl4qp53azci8"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no test target
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda _
(copy-file "makefiles/makefile.defs.linux.pulse" "makefile.defs")
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(mkdir-p bin)
(copy-file "praat" (string-append bin "/praat")))
#t)))))
(inputs
`(("alsa-lib" ,alsa-lib)
("gtk" ,gtk+-2)
("jack" ,jack-1)
("publesaudio" ,pulseaudio)))
(native-inputs
(list pkg-config))
(list #:make-flags #~(list (string-append "CC="
#$(cc-for-target)))
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'delete-failing-tests
(lambda _
(delete-file "test/sys/graphicsText.praat")))
(replace 'configure
(lambda _
(copy-file "makefiles/makefile.defs.linux.pulse"
"makefile.defs")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "./praat" "--run"
"test/runAllTests_batch.praat"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(mkdir-p bin)
(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/")
(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
and manipulation.")
(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
;; 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 deblob-scripts-6.4
(linux-libre-deblob-scripts
linux-libre-6.4-version
linux-libre-6.4-gnu-revision
(base32 "1hfircard99kmf81416xnln0chs6hskpjqz0p55ic8alm4rdlljs")
(base32 "1566506bmci15i80y0l0s93dgpgima0lqfmkg5ql7gd671aawkra")))
(base32 "012d16rjprxdv9frf7kcakpikvw7l0s3kvj4kkp9flzdg3j8wxpz")
(base32 "1rwm09anyn4py1g877f9vh6ya86y2hfvlqx51bpa53dci5k0b0ds")))
(define-public linux-libre-6.4-pristine-source
(let ((version linux-libre-6.4-version)
(hash (base32 "18c8ikghvlr6h9jajy11dldck4h57wl301j14rxg7xhd6qlysd3i")))
(hash (base32 "17ycanx738bgxg5wn536kbad4zzvj5ngygp9qhvz76draaca5f5q")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
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.
;; Here are the support timelines:
;; <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 deblob-scripts-6.1
(linux-libre-deblob-scripts
linux-libre-6.1-version
linux-libre-6.1-gnu-revision
(base32 "1b96867b46m36l88qnq2d4i9y43ghw97z9jajrh11cvb6kq4xi67")
(base32 "1qq3nsznblz5fkwahxwq26csmrmjbxh8xknm2z4zw6b6k9svzb1b")))
(base32 "1sf80f2i4vf888xjcn84ymn4w5ynn30ib9033zwmv7f09yvfhapy")
(base32 "1c73516nbhnz0cxjz38b5794dxygb8sznv9idiibw7ablmjbhd11")))
(define-public linux-libre-6.1-pristine-source
(let ((version linux-libre-6.1-version)
(hash (base32 "0hrdh1w9z8bgy4cxqsxfkwa01yincfw1mq1bbwm36zczc0dzk97r")))
(hash (base32 "19d1fdvdp8lc5mvlcawd8hcpzjh7pdr5gq6fczhjl20xw4gx8l9f")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
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 deblob-scripts-5.15
(linux-libre-deblob-scripts
linux-libre-5.15-version
linux-libre-5.15-gnu-revision
(base32 "0w5wyw8zp124nwydjvpnih7q3lp7gadlgsw60syw45nqq0afvlz3")
(base32 "1zljgvzr8irs3acq436i2iyana9vgx4k1pm3id4rz0fbaqfma602")))
(base32 "18ac30kxg2mf2f6gk3p935hzhz2qs110jy4xwk21kblnnkskbxj8")
(base32 "1c3lm0j401lv2lk39dmr4mlf5ic173snm7cc0cckl6czyvxr5ysy")))
(define-public linux-libre-5.15-pristine-source
(let ((version linux-libre-5.15-version)
(hash (base32 "1xl3nrykbxdwv5a9rk0xnb7l61dsyjvkm1ryrdii09vbmsg0i6b4")))
(hash (base32 "1izyv1ibiy4dapwb8745dshfbb9b6xqyz77l6mhkmlkcnx33h3qm")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
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 deblob-scripts-5.10
(linux-libre-deblob-scripts
linux-libre-5.10-version
linux-libre-5.10-gnu-revision
(base32 "0mw7qn77y9c6wrnw4rjvf75cpm1w6n1aqqhf8cnghcb97p2yxxrf")
(base32 "1739xvyzi3i7d12mvsvnqa7208pvwfss43kzin71l9svw0405vp5")))
(base32 "0hirc87hgyy9qhgiipp5iahmdk4wwhiml6rp1naphz9d1vw3kb35")
(base32 "0nnp46mn32yk436swd2qh34igmzinfgkwvbzp3lqyy45f06hbc2j")))
(define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version)
(hash (base32 "1qqv91r13akgik1q4jybf8czskxxizk6lpv4rsvjn9sx2dm2jq0y")))
(hash (base32 "1jcqj0yh8k81a02y8wq1psy109w9s0r5j5zgm8gmf5ylw5m520sc")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
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 deblob-scripts-5.4
(linux-libre-deblob-scripts
linux-libre-5.4-version
linux-libre-5.4-gnu-revision
(base32 "1nlgk8ajb5wl3aa96h9a0pb9j5a5wmrbpk63varn557x1d00r7wj")
(base32 "0ll19zlgx5sbr7gvi93lgavrnzlgv6dpj2yp2x63fj6vdba5iwgc")))
(base32 "0xg5cz82k2cb0ikxvwv1hp5c3h377jkb5sd6aszvsk7hnabhk62v")
(base32 "0sw67b2pk3lng4y67diqqnhxaggnp3nbkx8dxc5fs27rinfxr4m1")))
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
(hash (base32 "079mylc5j7hk5xn59q3z2xydyh88pq7yipn67x3y7nvf5i35hm6w")))
(hash (base32 "0rw2b1rr3rb5498rv1zmj0ml3p67awrvd2ch66kp80wl4dsmhy1s")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
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 deblob-scripts-4.19
(linux-libre-deblob-scripts
linux-libre-4.19-version
linux-libre-4.19-gnu-revision
(base32 "06pqv050bkii0hc2v7ymny5264w1bca8db0dp1pw9mfmjg865am5")
(base32 "05yqb59gj7mq5ha9xg045bz517sdg6janfa2yjq70qa6ahpc5fac")))
(base32 "0ghdizzs6969872rnjcv9p6sl9rcbs29v3ismk125yyvjaczd428")
(base32 "1425mhkfxn18vxn05bb4h3li7x1jl7l1hf1zi8xhnqv3wa31h9wl")))
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
(hash (base32 "1sz3jp6kx0axdwp0wsq903q1090rbav9d12m5128335m8p2d1srk")))
(hash (base32 "1kqflbf78aamnbdc2v973qk9ymignl1cy6q0rpw865brgm5y59cz")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
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 deblob-scripts-4.14
(linux-libre-deblob-scripts
linux-libre-4.14-version
linux-libre-4.14-gnu-revision
(base32 "02rxvr0gmxb3zfsyyzdmzgfq04gkdkv1cc38md0xfl0mxzdzdfyk")
(base32 "1ccggm19nl7pdcxmsm08fkqy8phz8rqfmww5ypizibdmnrmpn2v9")))
(base32 "1vbgykwzf7j0yjqcwn747cfhwj0rgw3s9h627q94wb9a19x9p0fr")
(base32 "1faagsj4i31z2bp83hflx3q9vrddjnn37a3ah2b47iaplva7z1nd")))
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
(hash (base32 "09bn18jvazkc55bqdjbxy8fbca7vjhi9xl2h02w0sq3f1jf6g0pd")))
(hash (base32 "058p6ba24gx0q1fxyf5gnbnl49r82iaz97z01h7c4z2lgba2pqyh")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
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
(source-with-patches linux-libre-6.4-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.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"))))
%linux-libre-arm-export-__sync_icache_dcache-patch)))
(define-public linux-libre-6.1-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
%linux-libre-arm-export-__sync_icache_dcache-patch)
(search-patches
"linux-libre-infodocs-target.patch"
"linux-libre-wireguard-postup-privkey.patch"))))
"linux-libre-infodocs-target.patch"))))
(define-public linux-libre-5.15-source
(source-with-patches linux-libre-5.15-pristine-source
(list %boot-logo-patch
%linux-libre-arm-export-__sync_icache_dcache-patch
(search-patch
"linux-libre-wireguard-postup-privkey.patch"))))
%linux-libre-arm-export-__sync_icache_dcache-patch)))
(define-public linux-libre-5.10-source
(source-with-patches linux-libre-5.10-pristine-source
(list %boot-logo-patch
%linux-libre-arm-export-__sync_icache_dcache-patch
(search-patch
"linux-libre-wireguard-postup-privkey.patch"))))
%linux-libre-arm-export-__sync_icache_dcache-patch)))
(define-public linux-libre-5.4-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-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
(make-linux-libre-headers* linux-libre-6.1-version
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")
#:configuration-file kernel-config))
(define-public linux-libre-6.3
(make-linux-libre* linux-libre-6.3-version
linux-libre-6.3-gnu-revision
linux-libre-6.3-source
'("x86_64-linux" "i686-linux" "armhf-linux"
"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-version linux-libre-6.4-version)
(define-public linux-libre-gnu-revision linux-libre-6.4-gnu-revision)
(define-public linux-libre-pristine-source linux-libre-6.4-pristine-source)
(define-public linux-libre-source linux-libre-6.4-source)
(define-public linux-libre linux-libre-6.4)
(define-public linux-libre-6.1
(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
(let ((base-linux-libre
(make-linux-libre*
linux-libre-6.3-version
linux-libre-6.3-gnu-revision
linux-libre-6.3-source
linux-libre-6.4-version
linux-libre-6.4-gnu-revision
linux-libre-6.4-source
'("x86_64-linux" "i686-linux" "armhf-linux"
"aarch64-linux" "powerpc64le-linux" "riscv64-linux")
#:extra-version "bpf"
@ -4469,7 +4427,7 @@ one to send arbitrary keycodes when a given key is tapped or held.")
(define-public lvm2
(package
(name "lvm2")
(version "2.03.21")
(version "2.03.22")
(source (origin
(method url-fetch)
(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")))
(sha256
(base32
"0zksqsz8y47kh6vq0ykkgxf19il4wxfn234n6zf8m691sqhij9hy"))
"0z6w6bknhwh1n3qfkb5ij6x57q3wjf28lq3l8kh7rkhsplinjnjc"))
(modules '((guix build utils)))
(snippet
'(begin
@ -7762,7 +7720,7 @@ every time the power supply source is changed.")
(lambda* (#:key inputs #:allow-other-keys)
(let ((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"))
(tlp-stat (search-input-file inputs "/bin/tlp-stat")))
(with-directory-excursion "tlpui"
@ -9970,8 +9928,48 @@ older system-wide @file{/sys} interface.")
(delete 'configure)))) ; no configure script
(home-page "https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/")
(synopsis "Linux kernel trace event library")
(description "This package provides library to parse raw trace event
formats.")
(description
"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:lgpl2.1))))

View File

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

View File

@ -24,7 +24,7 @@
;;; Copyright © 2021, 2022 Aurora <rind38@disroot.org>
;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org>
;;; 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 Charles Jackson <charles.b.jackson@protonmail.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))
(define-public sbcl-cl-colors2
(let ((commit "cc03badf5f69be65ae7e13c2f9a7c16838ab8241")
(revision "3"))
(let ((commit "7a1410765e5186625df19a875cebba685e9e51bd")
(revision "4"))
(package
(name "sbcl-cl-colors2")
(version (git-version "0.5.4" revision commit))
@ -11764,11 +11764,11 @@ be used with @code{cl-yacc}.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://notabug.org/cage/cl-colors2.git")
(url "https://codeberg.org/cage/cl-colors2.git")
(commit commit)))
(file-name (git-file-name "cl-colors2" version))
(sha256
(base32 "1l7sl7nnvq13xmss9wwkhcq123bsylskxjrijwfkqp6sm02gbd15"))))
(base32 "1xk3wshp21v193wbj1gs0czxaci00wwm957vmqi2dvlv0wgb2hfr"))))
(build-system asdf-build-system/sbcl)
(native-inputs
(list sbcl-clunit2))
@ -11784,7 +11784,7 @@ be used with @code{cl-yacc}.")
@item Function printing colors to HEX, RGB, RGBA, and HSL.
@item Predefined colors from X11, SVG, and GDK.
@end itemize\n")
(home-page "https://notabug.org/cage/cl-colors2")
(home-page "https://codeberg.org/cage/cl-colors2")
(license license:boost1.0))))
(define-public cl-colors2
@ -11929,44 +11929,44 @@ Scalable Vector Graphics files.")
(sbcl-package->cl-source-package sbcl-cl-svg))
(define-public sbcl-nodgui
(let ((commit "4a9c2e7714b278fbe97d198c56f54ea87290001d")
(revision "1"))
(let ((commit "b1d15fa9cca8550926f7823dbdd8be3b34387f1a")
(revision "2"))
(package
(name "sbcl-nodgui")
(version (git-version "0.1.1" revision commit))
(version (git-version "0.4.8.5" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://notabug.org/cage/nodgui.git")
(url "https://codeberg.org/cage/nodgui.git")
(commit commit)))
(file-name (git-file-name "nodgui" version))
(file-name (git-file-name "cl-nodgui" version))
(sha256
(base32 "1vgzzw459h32v2mi41cia6i940jqmvxlc8w3xj3516hbc2mqkaib"))))
(base32 "1gsxg8igiavs8fr39vgw8ypa42wjqaq9sszwqiifpm7yvq54lls7"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("alexandria" ,sbcl-alexandria)
("bordeaux-threads" ,sbcl-bordeaux-threads)
("cl-colors2" ,sbcl-cl-colors2)
("cl-jpeg" ,sbcl-cl-jpeg)
("cl-lex" ,sbcl-cl-lex)
("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
("cl-unicode" ,sbcl-cl-unicode)
("cl-yacc" ,sbcl-cl-yacc)
("clunit2" ,sbcl-clunit2)
("named-readtables" ,sbcl-named-readtables)
("parse-number" ,sbcl-parse-number)
("tk" ,tk)))
(list sbcl-alexandria
sbcl-bordeaux-threads
sbcl-cl-colors2
sbcl-cl-jpeg
sbcl-cl-ppcre-unicode
sbcl-cl-unicode
sbcl-clunit2
sbcl-esrap
sbcl-named-readtables
sbcl-parse-number
tk
tklib))
(arguments
`(#:phases (modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/wish-communication.lisp"
(("#-freebsd \"wish\"")
(string-append "#-freebsd \""
(assoc-ref inputs "tk")
"/bin/wish\"")))
#t)))))
(list #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/wish-communication.lisp"
(("#-freebsd \"wish\"")
(string-append "#-freebsd \""
(search-input-file inputs "/bin/wish")
"\""))))))))
(synopsis "Common Lisp bindings for the Tk GUI toolkit")
(description
"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))
(define-public sbcl-tooter
(let ((commit "ec97bee3431c55913078e532daae81eb0fd90372")
(revision "3"))
(let ((commit "2e1b22f0993419c1e7e6d10ead45d7bcafb5b6cb")
(revision "4"))
(package
(name "sbcl-tooter")
(version (git-version "1.0.0" revision commit))
@ -18563,9 +18563,9 @@ HTML documents.")
(uri (git-reference
(url "https://github.com/Shinmera/tooter")
(commit commit)))
(file-name (git-file-name "tooter" version))
(file-name (git-file-name "cl-tooter" version))
(sha256
(base32 "02vpjaq38d6laaqmsana9f13c38xzr0xwy05fcfkmzdhh0kllpkv"))))
(base32 "02ys58gzasvk7r84jmz6k522qcw2hkbgv8p0ax5i8dggjhr04cz2"))))
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-cl-ppcre sbcl-documentation-utils sbcl-drakma
@ -18719,20 +18719,20 @@ dynamically.")
(sbcl-package->cl-source-package sbcl-sxql-composer))
(define-public sbcl-cl-i18n
(let ((commit "66b02dc2cff3ab97f924329aaf965807fe18aa20")
(revision "2"))
(let ((commit "acb162a12dac50fc46d83da8934fce85d19e31c4")
(revision "3"))
(package
(name "sbcl-cl-i18n")
(version (git-version "0.5.3" revision commit))
(version (git-version "0.5.5" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://notabug.org/cage/cl-i18n")
(url "https://codeberg.org/cage/cl-i18n")
(commit commit)))
(file-name (git-file-name "cl-i18n" version))
(sha256
(base32 "06ij1wxancsym87gg63nvjh7vfzjipi1f02h4fb2ypip60vw06lc"))))
(base32 "1y29cirmlyc406a45sdx39spvnjzbs772c977075ccicz46qaxz7"))))
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-alexandria sbcl-babel sbcl-cl-ppcre-unicode))
@ -18740,7 +18740,7 @@ dynamically.")
(description
"This is a Gettext-style internationalisation framework for Common
Lisp.")
(home-page "https://notabug.org/cage/cl-i18n")
(home-page "https://codeberg.org/cage/cl-i18n")
(license license:llgpl))))
(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))
(native-inputs
(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")
(description
"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
(package
(name "txr")
(version "289")
(version "291")
(source
(origin
(method git-fetch)
@ -1003,7 +1003,7 @@ the HTML documentation of TXR.")
(commit (string-append "txr-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1jcz5iggp4mz5bzgnifr4xdpvz0sxa8cminynhdcs2jqr073xy8b"))))
(base32 "0nsb302arpd2mw2z2l12j6yg9pp94lfb79h3sym72ih7rmklnfx7"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags

View File

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

View File

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

View File

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

View File

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

View File

@ -256,7 +256,7 @@ protocols.")
(define-public lcrq
(package
(name "lcrq")
(version "0.0.1")
(version "0.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -265,7 +265,7 @@ protocols.")
(file-name (git-file-name name version))
(sha256
(base32
"0jf7x3zcdbz5b99qz7liw4i90hn9s457zr82n0r8g9qsi81a1d8c"))))
"13mfg866scvy557zrvjxjhkzam39h8d07s2w3fqbwhw6br6axkxk"))))
(build-system gnu-build-system)
(arguments
`(#: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
(package
(name "asymptote")
(version "2.85")
(version "2.86")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/asymptote/"
version "/asymptote-" version ".src.tgz"))
(sha256
(base32 "11zcfnc80sbh10w53j4rwnmz0g5xj78b8i7hzfslgya15jv5j1ac"))
(base32 "07y9yg7kdkgmz024qzny8xhjw3c367kxfpwzv19cxcy7qcgsvsy4"))
(modules '((guix build utils)))
(snippet
;; 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
(package
(name "python-pytensor")
(version "2.12.3")
(version "2.14.2")
(source (origin
(method git-fetch)
(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))
(sha256
(base32
"1445fwbmzkdbndkq9hxiagdkfclgrnmpfzad40zqn6m5ry8192x8"))))
"1428l1v7yrnls8875xjx1svn48cmz0q83sv7sg0xdqghkfnyi7xx"))))
(build-system pyproject-build-system)
(arguments
(list
@ -840,7 +840,10 @@ parentdir_prefix = pytensor-
"--ignore" "tests/tensor/"
"--ignore" "tests/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
python-etuples
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
;; used for the tools.
(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)
(arguments
(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
"/share/doc/qt6/examples")
(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.
"-DINPUT_dbus=linked"
"-DINPUT_openssl=linked"
@ -742,6 +751,11 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(string-append #$output
":" (getenv "CMAKE_PREFIX_PATH")))
(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"
(string-append #$output "/lib/qt6/qml"))
(setenv "QT_PLUGIN_PATH"
@ -3271,6 +3285,78 @@ instances and can send data to the primary instance from secondary
instances.")
(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
(package
(name "python-sip")

View File

@ -30,14 +30,14 @@
(define-public sg3-utils
(package
(name "sg3-utils")
(version "1.47")
(version "1.48")
(source (origin
(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"))
(sha256
(base32
"1ckj2kjcs23lbjfyl5mz2rb0aylnyq13yghg0bdv1n7dbywcmc6x"))))
"1ynv6kijzjj8xab3z87nks26qcrpvg46mhlr3s6yah6mj0ba9ffn"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags

View File

@ -51,6 +51,7 @@
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#: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.")
(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
(package
(name "libnitrokey")

View File

@ -3,6 +3,7 @@
;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2022 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2023 Reza Housseini <reza@housseini.me>
;;;
;;; This file is part of GNU Guix.
;;;
@ -31,6 +32,8 @@
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages curl)
#:use-module (gnu packages engineering)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gettext)
@ -41,22 +44,31 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages iso-codes)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages linux)
#:use-module (gnu packages m4)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pdf)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#: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 version-control)
#:use-module (gnu packages video)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (guix download)
@ -72,178 +84,325 @@
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (ice-9 ftw)
#:use-module (ice-9 match)
#:use-module (ice-9 regex)
#:use-module (srfi srfi-1))
(define-public openfoam
(define-public openfoam-org
(package
(name "openfoam")
(version "4.1")
(source
(origin
(method url-fetch)
(uri (string-append
"http://dl.openfoam.org/source/"
(string-map (lambda (x) (if (eq? x #\.) #\- x)) version)))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0cgxh4h2hf50qbvvdg5miwc2nympb0nrv3md96vb3gbs9vk8vq9d"))
(patches (search-patches "openfoam-4.1-cleanup.patch"))
(modules '((guix build utils)))
(snippet
'(begin
;; Include <sys/sysmacros.h>, which is where glibc >= 2.28 provides
;; 'major' and 'minor'.
(substitute* "src/OSspecific/POSIX/fileStat.C"
(("#include <unistd\\.h>")
"#include <unistd.h>\n#include <sys/sysmacros.h>\n"))
#t))))
(name "openfoam-org")
(version "10.20230119")
(source (origin
(method git-fetch)
(uri (git-reference
(url (string-append "https://github.com/OpenFOAM/OpenFOAM-"
(version-major version)))
(commit (second (string-split version #\.)))))
(sha256
(base32
"0icvwg7s6vnkgmdiczivia9pbrgx8nanw9a4j080fzfvdv9vxhzp"))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet `(begin
;; patch shell paths
(substitute* (list "wmake/src/Makefile"
"wmake/makefiles/general")
(("/bin/sh")
"sh"))
(substitute* "etc/bashrc"
;; 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)
(inputs
`(("boost" ,boost)
("cgal" ,cgal)
("flex" ,flex)
("git" ,git)
("gmp" ,gmp)
("libxt" ,libxt)
("metis" ,metis)
("mpfr" ,mpfr)
("ncurses" ,ncurses)
("readline" ,readline)
("scotch" ,pt-scotch32)
("zlib" ,zlib)))
(native-inputs
(list bison))
(propagated-inputs
(list gzip gnuplot openmpi))
(outputs '("debug" ;~60MB
(inputs (list boost
cgal
git
gmp
libxt
metis
mpfr
ncurses
openmpi
openssh
paraview
pt-scotch32
readline
zlib))
(native-inputs (list bison
flex
;; paraview plugin dependencies
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"))
(arguments
`( ;; Executable files and shared libraries are located in the 'platforms'
;; subdirectory.
#:strip-directories (list (string-append
"lib/OpenFOAM-" ,version
"/platforms/linux64GccDPInt32Opt/bin")
(string-append
"lib/OpenFOAM-" ,version
"/platforms/linux64GccDPInt32Opt/lib"))
#:tests? #f ; no tests to run
(list
;; Executable files and shared libraries are located in the 'platforms'
;; subdirectory.
#:strip-directories
#~(list "share/OpenFOAM/platforms/linux64GccDPInt32Opt/bin"
"share/OpenFOAM/platforms/linux64GccDPInt32Opt/lib")
#:modules ((ice-9 ftw)
(ice-9 regex)
(guix build gnu-build-system)
(guix build utils))
#:modules
'((ice-9 ftw)
(ice-9 regex)
(ice-9 string-fun)
(srfi srfi-1)
(guix build gnu-build-system)
(guix build utils))
#:phases (modify-phases %standard-phases
(add-after 'unpack 'rename-build-directory
(lambda _
(chdir "..")
;; Use 'OpenFOAM-version' convention to match the file
;; name expectations in the build phase.
(let ((unpack-dir (string-append
(getcwd) "/"
(list-ref (scandir (getcwd) (lambda (name)
(string-match "^OpenFOAM" name))) 0)))
(build-dir (string-append
(getcwd) "/OpenFOAM-" ,version)))
(rename-file unpack-dir build-dir) ; rename build directory
(chdir (basename build-dir))) ; move to build directory
#t))
(delete 'configure) ; no configure phase
(replace 'build
(lambda _
(let ((libraries '("boost" "cgal" "gmp" "metis" "mpfr" "scotch")))
;; set variables to define store paths
(for-each (lambda (library)
(setenv (string-append
(string-upcase library) "_ROOT")
(assoc-ref %build-inputs library))) libraries))
;; set variables to define package versions
(setenv "SCOTCHVERSION" ,(package-version scotch))
(setenv "METISVERSION" ,(package-version metis))
;; set variable to pass extra 'rpath' arguments to linker
(setenv "LDFLAGS"
(string-append
"-Wl,"
"-rpath=" %output "/lib/OpenFOAM-" ,version
"/platforms/linux64GccDPInt32Opt/lib,"
"-rpath=" %output "/lib/OpenFOAM-" ,version
"/platforms/linux64GccDPInt32Opt/lib/dummy"))
;; compile OpenFOAM libraries and applications
(zero? (system (format #f
"source ./etc/bashrc && ./Allwmake -j~a"
(parallel-job-count))))))
(add-after 'build 'update-configuration-files
(lambda _
;; record store paths and package versions in
;; configuration files
(substitute* "etc/config.sh/CGAL"
(("$BOOST_ROOT") (getenv "BOOST_ROOT")))
(substitute* "etc/config.sh/CGAL"
(("$CGAL_ROOT") (getenv "CGAL_ROOT")))
(substitute* "etc/config.sh/metis"
(("$METIS_ROOT") (getenv "METIS_ROOT")))
(substitute* "etc/config.sh/metis"
(("$METISVERSION") (getenv "METISVERSION")))
(substitute* "etc/config.sh/scotch"
(("$SCOTCH_ROOT") (getenv "SCOTCH_ROOT")))
(substitute* "etc/config.sh/scotch"
(("$SCOTCHVERSION") (getenv "SCOTCHVERSION")))
(substitute* "etc/config.sh/settings"
(("$GMP_ROOT") (getenv "GMP_ROOT")))
(substitute* "etc/config.sh/settings"
(("$MPFR_ROOT") (getenv "MPFR_ROOT")))
;; reset lockDir variable to refer to write-enabled
;; directory
(substitute* "wmake/wmake"
((" lockDir=.*$")
" lockDir=$HOME/.$WM_PROJECT/.wmake\n"))
(substitute* "wmake/wmakeScheduler"
(("lockDir=.*$")
"lockDir=$HOME/.$WM_PROJECT/.wmake\n"))
(substitute* "wmake/wmakeSchedulerUptime"
(("lockDir=.*$")
"lockDir=$HOME/.$WM_PROJECT/.wmake\n"))
#t))
(add-after 'build 'cleanup
;; Avoid unncessary, voluminous object and dep files.
(lambda _
(delete-file-recursively
"platforms/linux64GccDPInt32Opt/src")
(delete-file-recursively
"platforms/linux64GccDPInt32OptSYSTEMOPENMPI")
(for-each delete-file (find-files "." "\\.o$"))
#t))
(replace 'install
(lambda _
;; use 'OpenFOAM-version' convention
(let ((install-dir (string-append
%output "/lib/OpenFOAM-" ,version)))
(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 _
;; add symbolic link for standard 'bin' directory
(symlink
(string-append "./lib/OpenFOAM-" ,version
"/platforms/linux64GccDPInt32Opt/bin")
(string-append %output "/bin"))
#t)))))
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'patch-HOME-path
(lambda _
(setenv "HOME" "/tmp")))
(add-before 'build 'rename-self
(lambda _
;; The script 'bin/foamEtcFile' derives the version name based
;; on the current directory name (!), so make sure to follow the
;; expected naming convention.
(let ((here (canonicalize-path "."))
(target #$(string-append
"OpenFOAM-"
(string-map (match-lambda
(#\. #\-)
(chr chr))
(package-version this-package)))))
(chdir "..")
(format #t "renaming '~a' to '~a'~%"
here target)
(rename-file here target)
(chdir target))))
(add-before 'build 'patch-scotch
(lambda _
(substitute* "etc/config.sh/scotch"
(("^export SCOTCH_VERSION=scotch_.*$")
(string-append "export SCOTCH_VERSION=scotch_"
#$(package-version pt-scotch32) "\n"))
(("^export SCOTCH_ARCH_PATH=.*$")
(string-append "export SCOTCH_ARCH_PATH="
(assoc-ref %build-inputs "pt-scotch32")
"\n"))) #t))
(add-before 'build 'patch-mpi
(lambda _
(let* ((mpi-path (assoc-ref %build-inputs "openmpi"))
(mpi-version #$(package-version openmpi)))
;; specify openmpi type
(substitute* "etc/bashrc"
(("WM_MPLIB=SYSTEMOPENMPI")
"WM_MPLIB=OPENMPI"))
(substitute* "etc/config.sh/mpi"
(("export FOAM_MPI=openmpi-.*$")
(string-append "export FOAM_MPI=openmpi-"
mpi-version "\n"))
(("export MPI_ARCH_PATH=.*\\$FOAM_MPI.*$")
(string-append "export MPI_ARCH_PATH=" mpi-path
"\n")))) #t))
(add-before 'build 'patch-paraview
(lambda _
(substitute* "etc/config.sh/paraview"
(("^export ParaView_VERSION=.*$")
(string-append "export ParaView_VERSION="
#$(package-version paraview) "\n"))
(("^export ParaView_DIR=.*$")
(string-append "export ParaView_DIR="
(assoc-ref %build-inputs "paraview")
"\n"))) #t))
(add-before 'build 'add-rpaths
(lambda _
(letrec* ((libraries '("boost" "cgal"
"gmp"
"metis"
"mpfr"
"pt-scotch32"
"openmpi"
"zlib"
"paraview"))
(rpaths
(fold-right (lambda (library rpaths)
(string-append rpaths
"-rpath="
(assoc-ref
%build-inputs library)
"/lib,")) "" libraries))
(openfoam-lib
(string-append #$output
"/share/OpenFOAM/platforms/linux64GccDPInt32Opt/lib"))
(ldflags
(string-append "-Wl,"
rpaths
"-rpath="
openfoam-lib
","
"-rpath="
openfoam-lib
"/dummy,"
"-rpath="
openfoam-lib
"/paraview-"
#$(version-major+minor (package-version
paraview)))))
(substitute* "wmake/rules/linux64Gcc/c++"
(("\\$\\(LIB_HEADER_DIRS\\) -fPIC" all)
(string-append all " " ldflags)))) #t))
(add-before 'build 'add-vtk-include-path
(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:
;; Tutorial files are installed read-only in /gnu/store.
;; To allow write permissions on files copied from the store a
;; 'chmod' step is needed before running the applications. For
;; example, from a user's login:
;; $ source $GUIX_PROFILE/lib/OpenFOAM-4.1/etc/bashrc
;; $ mkdir -p $FOAM_RUN
;; $ cd $FOAM_RUN
;; $ cp -r $FOAM_TUTORIALS/incompressible/simpleFoam/pitzDaily .
;; $ cd pitzDaily
;; $ chmod -R u+w .
;; $ blockMesh
;; Tutorial files are installed read-only in /gnu/store.
;; To allow write permissions on files copied from the store a
;; 'chmod' step is needed before running the applications. For
;; example, from a user's login:
;; $ source $(dirname $(which blockMesh))/../../../etc/bashrc
;; $ mkdir -p $FOAM_RUN
;; $ cd $FOAM_RUN
;; $ cp -r $FOAM_TUTORIALS/incompressible/simpleFoam/pitzDaily .
;; $ cd pitzDaily
;; $ chmod -R u+w .
;; $ blockMesh
(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
C++. Governing equations such as the Navier-Stokes equations can be solved in
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+)
(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
(package
(name "open-simulation-interface")

View File

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

View File

@ -2,6 +2,7 @@
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
;;; Copyright © 2022 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2023 Saku Laesvuori <saku@laesvuori.fi>
;;; Copyright © 2023 Lu Hui <luhux76@gmail.com>
;;;
;;; 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")
(description "TgCli is a telegram client to automate repetitive tasks.")
(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 cook)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages docbook)
#:use-module (gnu packages ed)
#:use-module (gnu packages file)
@ -105,6 +106,7 @@
#:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages linux)
#:use-module (gnu packages mail)
#:use-module (gnu packages man)
@ -117,6 +119,7 @@
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
#:use-module (gnu packages php)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#: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,
and additionally allows you to access the Git repository more directly using
either a pure Python implementation, or the faster, but more resource intensive
@command{git} command implementation.")
(license license:bsd-3)))
(define-public shflags
@command{git} command implementation.")
(license license:bsd-3)))
(define-public savane
(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")
(source (origin
(method git-fetch)

View File

@ -34,7 +34,7 @@
;;; Copyright © 2019 Timo Eisenmann <eisenmann@fn.de>
;;; Copyright © 2019 Arne Babenhauserheide <arne_bab@web.de>
;;; 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, 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
@ -138,6 +138,7 @@
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages fribidi)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
@ -164,7 +165,9 @@
#:use-module (gnu packages maths)
#:use-module (gnu packages music)
#:use-module (gnu packages mp3)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages nettle)
#:use-module (gnu packages networking)
#:use-module (gnu packages ocr)
#:use-module (gnu packages pcre)
@ -193,6 +196,7 @@
#:use-module (gnu packages sdl)
#:use-module (gnu packages serialization)
#:use-module (gnu packages shells)
#:use-module (gnu packages spice)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages ssh)
#:use-module (gnu packages swig)
@ -3524,6 +3528,81 @@ and JACK.")
(home-page "https://obsproject.com")
(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
;; Functionality was merged into OBS.
(deprecated-package "obs-websocket" obs))

View File

@ -67,6 +67,7 @@
#:use-module (gnu packages gettext)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
#:use-module (gnu packages guile)
@ -86,6 +87,7 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages samba)
#:use-module (gnu packages tls)
#:use-module (gnu packages webkit)
#:use-module (gnu packages xml))
(define-public bitmask
@ -279,6 +281,48 @@ Networks and The Calyx Institute, where the former is default.")
(home-page "https://bitmask.net/")
(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
(package
(name "gvpe")

View File

@ -62,6 +62,7 @@
;;; Copyright © 2023 Paul A. Patience <paul@apatience.com>
;;; Copyright © 2022 Bruno Victal <mirai@makinata.eu>
;;; Copyright © 2023 David Thompson <dthompson2@worcester.edu>
;;; Copyright © 2023 Christopher Howard <christopher@librehacker.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -130,6 +131,7 @@
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gd)
#:use-module (gnu packages geo)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
@ -188,6 +190,7 @@
#:use-module (gnu packages syncthing)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages textutils)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages version-control)
@ -5914,23 +5917,27 @@ config files---you only have to specify the www root.")
(define-public goaccess
(package
(name "goaccess")
(version "1.5.2")
(version "1.7.2")
(source (origin
(method url-fetch)
(uri (string-append "http://tar.goaccess.io/goaccess-"
version ".tar.gz"))
(sha256
(base32
"12hwmd9cn7yy7vj92110skjaslpxkn05msb9wj228qmjjf9jzkm0"))
"0sqjkla4fjw5h49x675qibp860bk0haajc3i31m1q782kjiap6hf"))
(modules '((guix build utils)))
(snippet '(begin
(substitute* "src/error.h"
(("__DATE__") "\"1970-01-01\"")
(("__TIME__") "\"00:00:00\""))))))
(snippet '(substitute* '("src/error.h"
"src/parser.c")
(("__DATE__") "\"1970-01-01\"")
(("__TIME__") "\"00:00:00\"")))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags
'(list "--enable-geoip=mmdb"
"--enable-utf8")))
(inputs
;; TODO: Add dependency on geoip-tools.
(list glib ncurses))
(list glib ncurses libmaxminddb openssl))
(native-inputs
(list pkg-config))
(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}.")
(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
(package
(name "libzim")
@ -8856,6 +8891,45 @@ snapshots of the URLs you feed it in several formats.")
(home-page "https://archivebox.io/")
(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
(package
(name "orcania")

View File

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

View File

@ -21,16 +21,23 @@
(define-module (gnu services admin)
#:use-module (gnu packages admin)
#:use-module ((gnu packages base)
#:select (canonical-package findutils))
#:use-module (gnu packages certs)
#:use-module (gnu packages package-management)
#:use-module (gnu services)
#:use-module (gnu services configuration)
#:use-module (gnu services mcron)
#: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 modules)
#:use-module (guix packages)
#:use-module (guix records)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match)
#:use-module (ice-9 vlist)
#:export (%default-rotations
%rotated-files
@ -55,6 +62,23 @@
log-cleanup-configuration-expiry
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-configuration
unattended-upgrade-configuration?
@ -255,6 +279,118 @@ Old log files are removed or compressed according to the configuration.")
(description
"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.

View File

@ -363,7 +363,15 @@ and stores the database cluster in @var{data-directory}."
(permissions postgresql-role-permissions
(default '(createdb login))) ;list
(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>
postgresql-role-configuration make-postgresql-role-configuration
@ -392,7 +400,8 @@ and stores the database cluster in @var{data-directory}."
(append-map
(lambda (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 \
rolname = '" ,name "')) as not_exists;\n"
"\\gset\n"
@ -402,7 +411,11 @@ rolname = '" ,name "')) as not_exists;\n"
";\n"
,@(if create-database?
`("CREATE DATABASE \"" ,name "\""
" OWNER \"" ,name "\";\n")
" OWNER \"" ,name "\"\n"
" ENCODING '" ,encoding "'\n"
" LC_COLLATE '" ,collation "'\n"
" LC_CTYPE '" ,ctype "'\n"
" TEMPLATE " ,template ";")
'())
"\\endif\n")))
roles)))

View File

@ -116,12 +116,7 @@ loop-back communications.")
(requirement '(containerd
dbus-system
elogind
file-system-/sys/fs/cgroup/blkio
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
file-system-/sys/fs/cgroup
networking
udev))
(start #~(make-forkexec-constructor

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2023 Brian Cully <bjc@spork.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -23,9 +24,15 @@
#:use-module (gnu system pam)
#:use-module (guix gexp)
#:use-module (guix records)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1)
#:export (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
`((debug (@ (enable "0")))
@ -102,6 +109,11 @@
(list optional-pam-mount))))
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
(service-type
(name 'pam-mount)
@ -109,6 +121,106 @@
pam-mount-etc-service)
(service-extension pam-root-service-type
pam-mount-pam-service)))
(compose concatenate)
(extend extend-pam-mount-configuration)
(default-value (pam-mount-configuration))
(description "Activate PAM-Mount support. It allows mounting volumes for
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
;;; Copyright © 2021 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2023 Justin Veilleux <terramorpha@cock.li>
;;;
;;; This file is part of GNU Guix.
;;;
@ -60,9 +61,9 @@
(requirement '(loopback))
(start #~(make-forkexec-constructor
(append (list (string-append #$syncthing "/bin/syncthing")
"-no-browser"
"-no-restart"
(string-append "-logflags=" (number->string #$logflags)))
"--no-browser"
"--no-restart"
(string-append "--logflags=" (number->string #$logflags)))
'#$arguments)
#:user #$user
#:group #$group

View File

@ -445,26 +445,13 @@ TARGET in the other system."
(flags '(read-only bind-mount no-atime))))
(define %control-groups
(let ((parent (file-system
(device "cgroup")
(mount-point "/sys/fs/cgroup")
(type "tmpfs")
(check? #f))))
(cons parent
(map (lambda (subsystem)
(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")))))
;; The cgroup2 file system.
(list (file-system
(device "none")
(mount-point "/sys/fs/cgroup")
(type "cgroup2")
(check? #f)
(create-mount-point? #f))))
(define %elogind-file-systems
;; 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)
(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
(append-map entry->texlive-input (manifest-entries manifest)))
(define texlive-scripts
@ -1887,9 +1892,11 @@ MANIFEST."
(copy-recursively a b)
(invoke mktexlsr b)
(install-file (string-append b "/ls-R") a))))))
(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
#:substitutable? #f
#: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))))))
(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)))
(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")