Merge remote-tracking branch 'origin/master' into rust-team

Change-Id: Ic45f7071abd6a02c2ccad411500e5103c8272ffb
This commit is contained in:
Efraim Flashner 2023-12-10 13:25:47 +02:00
commit 34eaf5714e
Signed by untrusted user: efraim
GPG Key ID: 41AAE7DCCA3D8351
111 changed files with 26194 additions and 14746 deletions

View File

@ -76,15 +76,17 @@ all the dependencies and appropriate environment variables are set up to
hack on Guix:
@example
guix shell -D guix --pure
guix shell -D guix -CPW
@end example
or even, from within a Git worktree for Guix:
@example
guix shell --pure
guix shell -CPW
@end example
If @option{-C} (short for @option{--container}) is not supported on your
system, try @command{--pure} instead of @option{-CPW}.
@xref{Invoking guix shell}, for more information on that command.
If you are unable to use Guix when building Guix from a checkout, the

View File

@ -7975,6 +7975,10 @@ The exact set of supported keywords depends on the build system
@code{#:phases}. The @code{#:phases} keyword in particular lets you
modify the set of build phases for your package (@pxref{Build Phases}).
The REPL has dedicated commands to interactively inspect values of some
of these arguments, as a convenient debugging aid (@pxref{Using Guix
Interactively}).
@quotation Compatibility Note
Until version 1.3.0, the @code{arguments} field would typically use
@code{quote} (@code{'}) or @code{quasiquote} (@code{`}) and no
@ -8774,6 +8778,23 @@ when @var{cut?} returns true for a given package. When @var{deep?} is true, @va
applied to implicit inputs as well.
@end deffn
@quotation Tips
Understanding what a variant really looks like can be difficult as one
starts combining the tools shown above. There are several ways to
inspect a package before attempting to build it that can prove handy:
@itemize
@item
You can inspect the package interactively at the REPL, for instance to
view its inputs, the code of its build phases, or its configure flags
(@pxref{Using Guix Interactively}).
@item
When rewriting dependencies, @command{guix graph} can often help
visualize the changes that are made (@pxref{Invoking guix graph}).
@end itemize
@end quotation
@node Writing Manifests
@section Writing Manifests
@ -10585,6 +10606,11 @@ we have seen before. @xref{Build Utilities}, for more about
the helpers used by this phase, and for more examples of
@code{modify-phases}.
@quotation Tip
You can inspect the code associated with a package's @code{#:phases}
argument interactively, at the REPL (@pxref{Using Guix Interactively}).
@end quotation
@cindex code staging
@cindex staging, of code
Keep in mind that build phases are code evaluated at the time the
@ -12763,6 +12789,30 @@ scheme@@(guix-user)> (scandir (string-append $3 "/bin"))
$5 = ("." ".." "egrep" "fgrep" "grep")
@end example
As a packager, you may be willing to inspect the build phases or flags
of a given package; this is particularly useful when relying a lot on
inheritance to define package variants (@pxref{Defining Package
Variants}) or when package arguments are a result of some computation,
both of which can make it harder to foresee what ends up in the package
arguments. Additional commands let you inspect those package arguments:
@example
scheme@@(guix-user)> ,phases grep
$1 = (modify-phases %standard-phases
(add-after 'install 'fix-egrep-and-fgrep
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(substitute* (list (string-append bin "/egrep")
(string-append bin "/fgrep"))
(("^exec grep")
(string-append "exec " bin "/grep")))))))
scheme@@(guix-user)> ,configure-flags findutils
$2 = (list "--localstatedir=/var")
scheme@@(guix-user)> ,make-flags binutils
$3 = '("MAKEINFO=true")
@end example
At a lower-level, a useful command is @code{lower}: it takes a file-like
object and ``lowers'' it into a derivation (@pxref{Derivations}) or a
store file:
@ -12794,6 +12844,17 @@ This is similar to the @option{--verbosity} command-line option
shows build events only, and higher levels print build logs.
@end deffn
@deffn {REPL command} phases @var{package}
@deffnx {REPL command} configure-flags @var{package}
@deffnx {REPL command} make-flags @var{package}
These REPL commands return the value of one element of the
@code{arguments} field of @var{package} (@pxref{package Reference}): the
first one show the staged code associated with @code{#:phases}
(@pxref{Build Phases}), the second shows the code for
@code{#:configure-flags}, and @code{,make-flags} returns the code for
@code{#:make-flags}.
@end deffn
@deffn {REPL command} run-in-store @var{exp}
Run @var{exp}, a monadic expression, through the store monad.
@xref{The Store Monad}, for more information.

View File

@ -25,6 +25,7 @@
#:use-module (guix deprecation)
#:use-module (guix diagnostics)
#:use-module (guix i18n)
#:use-module ((guix utils) #:select (%current-system))
#:use-module (gnu services)
#:use-module (gnu services configuration)
#:use-module (guix modules)
@ -32,7 +33,7 @@
#:use-module (gnu home services shepherd)
#:use-module ((gnu home services utils)
#:select (object->camel-case-string))
#:autoload (gnu packages base) (glibc-utf8-locales)
#:autoload (gnu packages base) (libc-utf8-locales-for-target)
#:use-module (gnu packages ssh)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-9)
@ -357,8 +358,9 @@ inserted after each of them."
;; Support non-ASCII file names.
(setenv "GUIX_LOCPATH"
#+(file-append glibc-utf8-locales
"/lib/locale"))
#+(file-append
(libc-utf8-locales-for-target (%current-system))
"/lib/locale"))
(setlocale LC_ALL "en_US.utf8")
(call-with-output-file #$output

View File

@ -85,9 +85,10 @@ version of this file."
(define set-utf8-locale
#~(begin
(setenv "LOCPATH"
#$(file-append glibc-utf8-locales "/lib/locale/"
(version-major+minor
(package-version glibc-utf8-locales))))
#$(file-append
(libc-utf8-locales-for-target) "/lib/locale/"
(version-major+minor
(package-version (libc-utf8-locales-for-target)))))
(setlocale LC_ALL "en_US.utf8")))
(define builder

View File

@ -31,7 +31,7 @@
# Copyright © 2020 R Veera Kumar <vkor@vkten.in>
# Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
# Copyright © 2020 Michael Rohleder <mike@rohleder.de>
# Copyright © 2020, 2021, 2022 Felix Gruber <felgru@posteo.net>
# Copyright © 2020, 2021, 2022, 2023 Felix Gruber <felgru@posteo.net>
# Copyright © 2020 Ryan Prior <rprior@protonmail.com>
# Copyright © 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
# Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re>
@ -1435,7 +1435,7 @@ dist_patch_DATA = \
%D%/packages/patches/id3lib-CVE-2007-4460.patch \
%D%/packages/patches/id3lib-UTF16-writing-bug.patch \
%D%/packages/patches/idris-test-ffi008.patch \
%D%/packages/patches/igt-gpu-tools-Use-libproc2.patch \
%D%/packages/patches/igraph-fix-varargs-integer-size.patch \
%D%/packages/patches/ilmbase-fix-tests.patch \
%D%/packages/patches/imagemagick-CVE-2020-27829.patch \
%D%/packages/patches/imagemagick-ReadDCMImage-fix.patch \
@ -1751,6 +1751,8 @@ dist_patch_DATA = \
%D%/packages/patches/password-store-tree-compat.patch \
%D%/packages/patches/petri-foo-0.1.87-fix-recent-file-not-exist.patch \
%D%/packages/patches/plasma-framework-fix-KF5PlasmaMacros.cmake.patch \
%D%/packages/patches/plasp-fix-normalization.patch \
%D%/packages/patches/plasp-include-iostream.patch \
%D%/packages/patches/pocketfft-cpp-prefer-preprocessor-if.patch \
%D%/packages/patches/pokerth-boost.patch \
%D%/packages/patches/ppsspp-disable-upgrade-and-gold.patch \
@ -1759,6 +1761,8 @@ dist_patch_DATA = \
%D%/packages/patches/prusa-slicer-fix-tests.patch \
%D%/packages/patches/prusa-slicer-with-cereal-1.3.1.patch \
%D%/packages/patches/pthreadpool-system-libraries.patch \
%D%/packages/patches/python-accupy-use-matplotx.patch \
%D%/packages/patches/python-accupy-fix-use-of-perfplot.patch \
%D%/packages/patches/python-chai-drop-python2.patch \
%D%/packages/patches/python-docrepr-fix-tests.patch \
%D%/packages/patches/python-feedparser-missing-import.patch \
@ -1768,6 +1772,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-pypdf-annotate-tests-appropriately.patch \
%D%/packages/patches/python-sip-include-dirs.patch \
%D%/packages/patches/python-sgmllib3k-assertions.patch \
%D%/packages/patches/python-sphinx-prompt-docutils-0.19.patch \
%D%/packages/patches/python-telingo-fix-comparison.patch \
%D%/packages/patches/python-typeguard-python3.10.patch \
%D%/packages/patches/python-wxwidgets-type-errors.patch \
@ -2173,6 +2178,7 @@ dist_patch_DATA = \
%D%/packages/patches/yggdrasil-extra-config.patch \
%D%/packages/patches/zig-0.9-riscv-support.patch \
%D%/packages/patches/zig-do-not-link-against-librt.patch \
%D%/packages/patches/zig-use-baseline-cpu-by-default.patch \
%D%/packages/patches/zig-use-system-paths.patch \
%D%/packages/patches/zsh-egrep-failing-test.patch

View File

@ -3942,7 +3942,7 @@ buffers.")
(define-public igt-gpu-tools
(package
(name "igt-gpu-tools")
(version "1.27.1")
(version "1.28")
(source
(origin
(method git-fetch)
@ -3951,9 +3951,7 @@ buffers.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0d6jsj77qddccv0vfmqmbw3k2prvxzvmgc8zdi83gdi3wpp5i7zd"))
(patches
(search-patches "igt-gpu-tools-Use-libproc2.patch"))))
(base32 "15mnsgzlpd4jkr2zy3jzx0b021g89fa61b8sdm8rjp27gxqkl8mm"))))
(build-system meson-build-system)
(arguments
`(#:tests? #f ; many of the tests try to load kernel modules
@ -3971,7 +3969,8 @@ buffers.")
libdrm
libpciaccess
libunwind
procps))
procps
python))
(native-inputs
(list bison flex pkg-config python-docutils))
(home-page "https://gitlab.freedesktop.org/drm/igt-gpu-tools")

View File

@ -1807,7 +1807,10 @@ bad pixel tracking throughout the reduction process.")
(base32 "0vpgcbc9pmx0qqfia1frnwq3jkgfp8y3ikqdnzs5bs1sr13p9p3w"))))
(build-system pyproject-build-system)
(arguments
(list #:phases
;; Disable shaky test.
;; See https://github.com/MAVENSDC/cdflib/issues/234
(list #:test-flags #~(list "-k" "not test_compute_cdfepoch16")
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'set-env-version
(lambda _

View File

@ -76,6 +76,8 @@
#:use-module (srfi srfi-26)
#:export (glibc
libc-for-target
libc-locales-for-target
libc-utf8-locales-for-target
make-ld-wrapper
libiconv-if-needed
%final-inputs))
@ -1526,6 +1528,26 @@ command.")
(_
glibc)))
(define-public glibc-locales/hurd
;; Locales again; hide them because their 'supported-systems' field suggests
;; they're Hurd-only, making them non-installable on GNU/Linux.
(hidden-package
(make-glibc-locales glibc/hurd)))
(define* (libc-locales-for-target #:optional
(target (or (%current-target-system)
(%current-system))))
(if (target-hurd? target)
glibc-locales/hurd
glibc-locales))
(define* (libc-utf8-locales-for-target #:optional
(target (or (%current-target-system)
(%current-system))))
(if (target-hurd? target)
glibc-utf8-locales/hurd
glibc-utf8-locales))
(define-public tzdata
(package
(name "tzdata")

View File

@ -46,11 +46,13 @@
#:use-module ((guix licenses) #:prefix l:)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE))
#:use-module (gnu packages)
#:use-module (gnu packages adns)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bash)
#:use-module (gnu packages boost)
#:use-module (gnu packages certs)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
@ -78,6 +80,7 @@
#:use-module (gnu packages sqlite)
#:use-module (gnu packages ssh)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
#:use-module (gnu packages web)
#:use-module (gnu packages xml))
@ -414,10 +417,16 @@ and will take advantage of multiple processor cores where possible.")
(license (list l:public-domain ; sha1.*, used to build without OpenSSL
l:gpl2+)))) ; with permission to link with OpenSSL
(define %v2_empty_file.torrent
(origin (method url-fetch)
(uri "https://github.com/arvidn/libtorrent/raw/v2.0.9/test/test_torrents/v2_empty_file.torrent")
(sha256
(base32 "1hydgf0m9193hy9010wl0wrbz4k4cgrqg70jakx68pgi79jcqnrn"))))
(define-public libtorrent-rasterbar
(package
(name "libtorrent-rasterbar")
(version "1.2.18")
(version "2.0.9")
(source
(origin
(method url-fetch)
@ -426,41 +435,70 @@ and will take advantage of multiple processor cores where possible.")
"releases/download/v" version "/"
"libtorrent-rasterbar-" version ".tar.gz"))
(sha256
(base32 "0wpsaqadcicxl4lf1nc1i93c4yzjv8hpzhhrw1hdkrp4gn0vdwpy"))))
(base32 "13kry578ifzz4m2f291bbd7v5v9zsi8y3mf38146cnqw0sv95kch"))
;; https://github.com/arvidn/libtorrent/issues/7566
;; Remove when resolved. I would hope this to be fixed in 2.0.10.
(modules '((guix build utils)))
(snippet
#~(substitute* "test/test_copy_file.cpp"
(("EXT4_SUPER_MAGIC, EXT3_SUPER_MAGIC, XFS_SUPER_MAGIC" all)
(string-append all ", TMPFS_MAGIC\n"))))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-Dpython-bindings=ON"
"-Dbuild_tests=ON")
;; Tests do not reliably work when executed in parallel.
#:parallel-tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'extend-test-timeout
(lambda _
(substitute* "test/test_remove_torrent.cpp"
;; Extend the test timeout from 3 seconds to 10.
(("i > 30") "i > 100"))))
;; https://github.com/arvidn/libtorrent/issues/7567
;; Remove when resolved. I would hope this to be fixed in 2.0.10.
;; Do not forget to remove the %v2_empty_file.torrent variable.
(add-before 'configure 'copy-v2_empty_file.torrent
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(copy-file (assoc-ref (or native-inputs inputs)
"%v2_empty_file.torrent")
"test/test_torrents/v2_empty_file.torrent")))
(replace 'check
(lambda* (#:key tests? parallel-tests? #:allow-other-keys)
(let ((disabled-tests
;; test_upnp requires a non-localhost IPv4 interface.
'("test_upnp")))
(let* ((disabled-tests
'(
;; Requires a non-localhost IPv4 interface.
"test_upnp"
;; test_ssl needs to be run separately.
"test_ssl"))
(exclude-regex (string-append "^("
(string-join disabled-tests "|")
")$"))
(timeout "600")
(jobs (if parallel-tests?
(number->string (parallel-job-count))
"1")))
(when tests?
(invoke "ctest"
"-E" exclude-regex
"-j" jobs
"--timeout" timeout
"--output-on-failure")
;; test_ssl relies on bundled TLS certificates with a fixed
;; expiry date. To ensure succesful builds in the future,
;; fake the time to be roughly that of the release.
(setenv "FAKETIME_ONLY_CMDS" "test_ssl")
;;
;; At the same time, faketime happens to cause
;; test_fast_extension, test_privacy and test_resolve_links
;; to hang, even with FAKETIME_ONLY_CMDS. Not sure why. So
;; execute only test_ssl under faketime.
(invoke "faketime" "2022-10-24"
"ctest"
"--exclude-regex" (string-join disabled-tests "|")
"-j" (if parallel-tests?
(number->string (parallel-job-count))
"1")
"--rerun-failed"
"-R" "^test_ssl$"
"-j" jobs
"--timeout" timeout
"--output-on-failure"))))))))
(inputs (list boost openssl))
(native-inputs
(list libfaketime
python-wrapper
pkg-config))
(native-inputs `(("libfaketime" ,libfaketime)
("python-wrapper" ,python-wrapper)
("pkg-config" ,pkg-config)
("%v2_empty_file.torrent" ,%v2_empty_file.torrent)))
(home-page "https://www.libtorrent.org/")
(synopsis "Feature-complete BitTorrent implementation")
(description
@ -469,10 +507,24 @@ focusing on efficiency and scalability. It runs on embedded devices as well as
desktops.")
(license l:bsd-2)))
(define-public libtorrent-rasterbar-1.2
(package
(inherit libtorrent-rasterbar)
(version "1.2.19")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/arvidn/libtorrent/"
"releases/download/v" version "/"
"libtorrent-rasterbar-" version ".tar.gz"))
(sha256
(base32 "03p4nvsll568zlyqifid0cn135sg5whbk7g48gkbapnw92ayks7f"))))))
(define-public qbittorrent
(package
(name "qbittorrent")
(version "4.5.5")
(version "4.6.2")
(source
(origin
(method git-fetch)
@ -481,7 +533,7 @@ desktops.")
(commit (string-append "release-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1ngvvwhafi9mi05r2l9dk9x05za8x35y12p230wpzprydhlgwsxd"))))
(base32 "1wps17iv4gj7y751fibvcxk51v09wyniv6xm2yx429dj7z8rfmzs"))))
(build-system qt-build-system)
(arguments
(list #:configure-flags #~(list "-DTESTING=ON")
@ -490,7 +542,7 @@ desktops.")
(list qttools-5))
(inputs
(list boost
libtorrent-rasterbar
libtorrent-rasterbar-1.2
openssl
python-wrapper
qtsvg-5
@ -526,7 +578,7 @@ features.")
(package
(inherit qbittorrent)
(name "qbittorrent-enhanced")
(version "4.5.5.10")
(version "4.6.1.10")
(source
(origin
(method git-fetch)
@ -536,7 +588,7 @@ features.")
(file-name (git-file-name name version))
(sha256
(base32
"029crx8yd8apssg2k4alnc0py5i2sp3bhjkwki5fvvnpgkrhfqf0"))))
"101a9n2vk9d6b4vc3schkmpc56l0i0i60fcjh8hwadc6amc2ymvy"))))
(home-page "https://github.com/c0re100/qBittorrent-Enhanced-Edition")
(description
"qBittorrent Enhanced is a bittorrent client based on qBittorrent with
@ -560,7 +612,7 @@ the following features:
(define-public deluge
(package
(name "deluge")
(version "2.0.5")
(version "2.1.1")
(source
(origin
(method url-fetch)
@ -569,12 +621,13 @@ the following features:
(version-major+minor version) "/deluge-" version ".tar.xz"))
(sha256
(base32
"1n15dzfnz1gvb4cf046yhi404i3gs933qgz0ichna6r1znmh9gf4"))))
"1xyz8bscwqmd7d8b43svxl42w54pnisvwkkrndx46hifh0cx73bn"))))
(build-system python-build-system)
(inputs (list bash-minimal))
(propagated-inputs
(list gtk+
libtorrent-rasterbar
nss-certs
python-pycairo
python-chardet
python-dbus
@ -592,6 +645,9 @@ the following features:
(native-inputs
(list intltool python-wheel
(librsvg-for-system)))
(native-search-paths
(list $SSL_CERT_DIR
$SSL_CERT_FILE))
;; TODO: Enable tests.
;; After "pytest-twisted" is packaged, HOME is set, and an X server is
;; started, some of the tests still fail. There are likely some tests

View File

@ -20,6 +20,7 @@
;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
;;; Copyright © 2023 zamfofex <zamfofex@twdb.moe>
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
;;; Copyright © 2023 David Elsing <david.elsing@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1588,3 +1589,57 @@ serial program, though the execution model is actually that a number of
program instances execute in parallel on the hardware.")
(home-page "https://github.com/ispc/ispc")
(license license:bsd-3)))
(define-public pcg-c
(let ((commit "83252d9c23df9c82ecb42210afed61a7b42402d7")
(revision "1"))
(package
(name "pcg-c")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/imneme/pcg-c")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0768h0vw75a3smk39qsz1504v04a43s5w1ili1ijbixxv8gm42nf"))
(modules '((guix build utils)))
;; Autogenerated files with some tests from test-high. If
;; 128-bit integers are not supported, the build fails, but
;; this is checked when building the tests.
(snippet #~(delete-file-recursively "sample"))))
(build-system gnu-build-system)
(arguments
(list
#:test-target "test"
#:make-flags
#~(list
"CC=gcc"
(string-append "PREFIX=" #$output))
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'disable-sample
(lambda _
(substitute* "Makefile"
((".*cd sample.*") ""))))
(add-after 'unpack 'set-shared-library
(lambda _
(substitute* '("Makefile" "src/Makefile")
(("\\.a") "\\.so")
((".*ar .*") "\t$(CC) $(CFLAGS) -o $@ $(LDFLAGS) -shared $^")
((".*ranlib.*") "")
((".*CFLAGS \\+=.*O3.*" orig)
(string-append orig "CFLAGS += -fPIC\n")))))
(add-before 'install 'make-dirs
(lambda _
(mkdir-p (string-append #$output "/lib"))
(mkdir-p (string-append #$output "/include")))))))
(home-page "https://www.pcg-random.org")
(synopsis "C implementation of the PCG random generators")
(description "The Permuted Congruential Generator (PCG) extends the
Linear Congruential Generator (LCG) with a permutation function to increase
output randomness while retaining speed, simplicity, and conciseness.")
(license (list license:expat license:asl2.0))))) ; dual licensed

View File

@ -952,7 +952,7 @@ CD data, and more. It's mostly compatible with @code{cdrtools}.")
(define-public libmirage
(package
(name "libmirage")
(version "3.2.6")
(version "3.2.7")
(source (origin
(method url-fetch)
(uri (string-append
@ -960,7 +960,7 @@ CD data, and more. It's mostly compatible with @code{cdrtools}.")
version ".tar.xz"))
(sha256
(base32
"19pjdmxhzl8y3brhg8fsv99b6jg4lfnl8jvcjgm4jmqrr684czr5"))))
"1lxkpmad8l2wl0afp26jahzf5cxp10p0zl1a56lcqjwmsy0292gs"))))
(build-system cmake-build-system)
(native-inputs
(list pkg-config intltool))

View File

@ -2358,14 +2358,14 @@ programs, something like CSmith, a random generator of C programs.")
(define-public python-lit
(package
(name "python-lit")
(version "16.0.0")
(version "17.0.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "lit" version))
(sha256
(base32
"04dyv8b2nbdbn61zdgm042a21dwidyapn9zbinlf879a29rc6jiw"))))
"06z3p85gsy5hw3rbk0ym8aig9mvry1327gz7dfjhjigwandszafz"))))
(build-system python-build-system)
(arguments
`(#:phases
@ -2374,8 +2374,8 @@ programs, something like CSmith, a random generator of C programs.")
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "python" "lit.py" "tests")))))))
(native-inputs
(list llvm-14))
;; This can be built with any version of llvm.
(native-inputs (list llvm))
(home-page "https://llvm.org/")
(synopsis "LLVM Software Testing Tool")
(description "@code{lit} is a portable tool for executing LLVM and Clang
@ -2721,7 +2721,7 @@ possible to write plugins to add your own checks.")
(base32
"16a1ac5n7k7sx15cnk03gw3fmslab3a7m74dc45rgpldgiff3577"))))
(build-system python-build-system)
(propagated-inputs (list python-pylint))
(propagated-inputs (list python-tomli python-pylint))
(home-page "https://github.com/johnnoone/setuptools-pylint")
(synopsis "Run pylint with @command{python setup.py lint}")
(description "This package expose pylint as a lint command into

View File

@ -967,7 +967,7 @@ testing.")
(name "ungoogled-chromium-wayland")
(native-inputs '())
(inputs
(list bash-minimal glibc-utf8-locales ungoogled-chromium))
(list bash-minimal (libc-utf8-locales-for-target) ungoogled-chromium))
(build-system trivial-build-system)
(arguments
(list

View File

@ -1263,7 +1263,7 @@ Google's C++ code base.")
((#:configure-flags flags)
#~(cons* "-DCMAKE_CXX_STANDARD=11" #$flags)))))))
(define-public abseil-cpp
(define-public abseil-cpp-20220623.1
(let ((base abseil-cpp-20200923.3))
(package
(inherit base)
@ -1284,16 +1284,40 @@ Google's C++ code base.")
`(cons* "-DABSL_BUILD_TESTING=ON"
(delete "-DABSL_RUN_TESTS=ON" ,flags))))))))
(define (abseil-cpp-for-c++-standard version)
(let ((base abseil-cpp))
(hidden-package
(package/inherit base
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:configure-flags flags)
#~(cons* #$(string-append "-DCMAKE_CXX_STANDARD="
(number->string version))
#$flags))))))))
(define-public abseil-cpp
(let ((base abseil-cpp-20220623.1))
(package
(inherit base)
(name "abseil-cpp")
(version "20230802.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/abseil/abseil-cpp")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1ydkkbanrpkp5i814arzsk973kyzhhjhagnp392rq6rrv16apldq"))))
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:phases phases)
#~(modify-phases #$phases
(add-before 'check 'set-env-vars
(lambda* (#:key inputs #:allow-other-keys)
;; absl_time_test requires this environment variable.
(setenv "TZDIR" (string-append #$(package-source base)
"/absl/time/internal/cctz/testdata/zoneinfo")))))))))))
(define (abseil-cpp-for-c++-standard base version)
(hidden-package
(package/inherit base
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:configure-flags flags)
#~(cons* #$(string-append "-DCMAKE_CXX_STANDARD="
(number->string version))
#$flags)))))))
(define (make-static-abseil-cpp version)
(let ((base abseil-cpp))
@ -1306,10 +1330,10 @@ Google's C++ code base.")
(delete "-DBUILD_SHARED_LIBS=ON" #$flags)))))))))
(define-public abseil-cpp-cxxstd17
(abseil-cpp-for-c++-standard 17)) ;XXX: the default with GCC 11?
(abseil-cpp-for-c++-standard abseil-cpp 17)) ;XXX: the default with GCC 11?
(define-public abseil-cpp-cxxstd11
(abseil-cpp-for-c++-standard 11))
(abseil-cpp-for-c++-standard abseil-cpp-20220623.1 11)) ;last version on C++11
(define-public static-abseil-cpp
(make-static-abseil-cpp abseil-cpp))
@ -2802,6 +2826,43 @@ Main features:
@end itemize")
(license license:expat)))
(define-public mapbox-variant
(package
(name "mapbox-variant")
(version "1.2.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mapbox/variant")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "03cmxm34ralh8y07bs80gz3v4pql51206dn5h7lcnm7vishkk241"))
(modules '((guix build utils)))
(snippet #~(begin
(delete-file "test/include/catch.hpp")
(substitute* (find-files "test" "\\.[ch]pp")
(("\"catch.hpp\"") "<catch/catch.hpp>"))))))
(build-system gnu-build-system)
(arguments
(list #:test-target "test"
#:phases
#~(modify-phases %standard-phases
(delete 'bootstrap)
(delete 'configure)
(delete 'build)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(copy-recursively "include"
(string-append (assoc-ref outputs "out")
"/include")))))))
(native-inputs (list catch2-1))
(home-page "https://github.com/mapbox/variant")
(synopsis "Implementation of std::variant for C++11/14")
(description "This package provides a header-only implementation of
std::variant (formerly boost::variant) for C++11/14.")
(license license:bsd-3)))
(define-public mpark-variant
(package
(name "mpark-variant")

View File

@ -343,7 +343,7 @@ applications''. These must be installed separately.")
(define cups-minimal/fixed
(package
(inherit cups-minimal)
(version "2.4.6")
(version "2.4.7")
(source
(origin
(method git-fetch)
@ -352,7 +352,7 @@ applications''. These must be installed separately.")
(commit (string-append "v" version))))
(file-name (git-file-name "cups" version))
(sha256
(base32 "0z70rhfd96qmdx82gdhh2nqjiia0lnvfdwpngjkag2sidw4cm3c1"))))))
(base32 "0cj3gs7ki9v0drj19l326s8f1kxrpq7jkzrdfdk7ykrlk7sj645f"))))))
(define-public cups
(package/inherit cups-minimal
@ -521,14 +521,14 @@ should only be used as part of the Guix cups-pk-helper service.")
(define-public hplip
(package
(name "hplip")
(version "3.23.8")
(version "3.23.12")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/hplip/hplip/" version
"/hplip-" version ".tar.gz"))
(sha256
(base32
"0ihv9ddjrjx5bdf8pwc2fvljkpfzq4qi9r2awm8dgky053v0bk7p"))
"1vb9irqsm3d4c2qdr4h6ia940x65bb99h4x31mgxn7dkvv42lv57"))
(patches (search-patches "hplip-usb-timeout.patch"))
(modules '((guix build utils)))
(snippet

View File

@ -150,6 +150,7 @@
(display "533\n" port)
(display "537\n" port)
(display "546\n" port)
(display "564\n" port)
(display "575\n" port)
(display "1021\n" port)
(display "1501\n" port)

View File

@ -3596,7 +3596,11 @@ You might also want to install the following optional dependencies:
(uri (pypi-uri "alchemy-mock" version))
(sha256
(base32
"0ylxygl3bcdapzz529n8wgk7vx9gjwb3ism564ypkpd7dbsw653r"))))
"0ylxygl3bcdapzz529n8wgk7vx9gjwb3ism564ypkpd7dbsw653r"))
(snippet
#~(begin (use-modules (guix build utils))
(substitute* "alchemy_mock/comparison.py"
(("collections\\.Mapping") "collections.abc.Mapping"))))))
(build-system python-build-system)
(arguments
'(#:phases (modify-phases %standard-phases

View File

@ -149,15 +149,15 @@ contains the archive keys used for that.")
(define-public ubuntu-keyring
(package
(name "ubuntu-keyring")
(version "2021.03.26")
(version "2023.11.28.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://launchpad.net/ubuntu/+archive/primary/"
"+files/" name "_" version ".tar.gz"))
"+files/" name "_" version ".tar.xz"))
(sha256
(base32
"1ccvwh4s51viyhcg8gh189jmvbrhc5wv1bbp4minz3200rffsbj9"))))
"0bmafky67hrb79baaydmw7al21lz0wgi4ks5dqfkfqamw5d4bkdf"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -167,7 +167,7 @@ contains the archive keys used for that.")
(apt (string-append out "/etc/apt/trusted.gpg.d/"))
(key (string-append out "/share/keyrings/")))
(setenv "PATH" (string-append
(assoc-ref %build-inputs "gzip") "/bin:"
(assoc-ref %build-inputs "xz") "/bin:"
(assoc-ref %build-inputs "tar") "/bin"))
(invoke "tar" "xvf" (assoc-ref %build-inputs "source"))
(for-each (lambda (file)
@ -175,10 +175,9 @@ contains the archive keys used for that.")
(find-files "." "ubuntu-[^am].*\\.gpg$"))
(for-each (lambda (file)
(install-file file key))
(find-files "." "ubuntu-[am].*\\.gpg$")))
#t)))
(find-files "." "ubuntu-[am].*\\.gpg$"))))))
(native-inputs
(list tar gzip))
(list tar xz))
(home-page "https://launchpad.net/ubuntu/+source/ubuntu-keyring")
(synopsis "GnuPG keys of the Ubuntu archive")
(description

View File

@ -57,7 +57,7 @@
(define-public d-tools
(package
(name "d-tools")
(version "2.100.0")
(version "2.105.3")
(source
(origin
(method git-fetch)
@ -66,7 +66,7 @@
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1jbn0hyskv4ykcckw0iganpyrm0bq2lggswspw21r4hgnxkmjbyw"))))
(base32 "0hvz786k0pi8697x1vk9x5bx52jiy7pvi13wmfkx15ddvv0x5j33"))))
(build-system gnu-build-system)
(arguments
(list #:phases
@ -149,21 +149,23 @@ to a minimal test case.")
(define ldc-bootstrap
(package
(name "ldc")
(version "1.32.2")
(version "1.35.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/ldc-developers/ldc/releases"
"/download/v" version "/ldc-" version "-src.tar.gz"))
(sha256
(base32 "15fdl7fy1ssjxpyb9g54ac4xzcirycly521whil142ijfkpam95z"))))
(base32 "186z4r1d8y4dfpv5cdqgz9al6w7qnfh9l4q9ws9w0xkcf29njabf"))))
(build-system cmake-build-system)
(arguments
`(#:disallowed-references (,tzdata-for-tests)
#:tests? #f ;skip in the bootstrap
#:build-type "Release"
#:configure-flags
(list "-GNinja")
(list "-GNinja"
;; see .github/actions/2-build-bootstrap/action.yml
"-DBUILD_SHARED_LIBS=OFF")
#:make-flags ;used as build targets
(list "all")
#:phases
@ -224,10 +226,9 @@ bootstrapping more recent compilers written in D.")
'(list "all"
;; Also build the test runner binaries.
"ldc2-unittest" "all-test-runners"))
((#:configure-flags flags)
`(,@flags "-DBUILD_SHARED_LIBS=ON"
"-DLDC_LINK_MANUALLY=OFF"
"-DLDC_DYNAMIC_COMPILE=OFF"))
((#:configure-flags _ #~'())
`(list "-GNinja"
"-DBUILD_SHARED_LIBS=ON"))
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'fix-compiler-rt-library-discovery
@ -236,19 +237,12 @@ bootstrapping more recent compilers written in D.")
(system ,(or (%current-target-system)
(%current-system))))
(define (gnu-triplet->clang-arch system)
(letrec-syntax
((matches (syntax-rules (=>)
((_ (system-prefix => target) rest ...)
(if (string-prefix? system-prefix system)
target
(matches rest ...)))
((_)
(error "Clang target for system is unknown"
system)))))
(matches ("x86_64" => "x86_64")
("i686" => "i386")
("armhf" => "armhf")
("aarch64" => "aarch64"))))
(let ((system-prefix
(car (string-tokenize
system (char-set-complement (char-set #\-))))))
(cond
((equal? system-prefix "i686") "i386")
(#t system-prefix))))
;; Coax LLVM into agreeing with Clang about system target
;; naming.
(substitute* "driver/linker-gcc.cpp"
@ -264,7 +258,8 @@ bootstrapping more recent compilers written in D.")
"/lib/linux\",\n"))))))
(add-after 'unpack 'patch-paths-in-tests
(lambda _
(substitute* "tests/dmd/Makefile"
(substitute* '("tests/dmd/Makefile"
"runtime/druntime/test/profile/Makefile")
(("/bin/bash") (which "bash")))
(substitute* "tests/linking/linker_switches.d"
(("echo") (which "echo")))
@ -299,6 +294,8 @@ bootstrapping more recent compilers written in D.")
(substitute* "runtime/druntime/test/exceptions/Makefile"
((".*TESTS\\+=rt_trap_exceptions_drt_gdb.*")
""))
;; Unsupported with glibc-2.35.
(delete-file "tests/dmd/compilable/stdcheaders.c")
;; Drop gdb_dflags from the test suite.
(substitute* "tests/dmd/CMakeLists.txt"
(("\\$\\{gdb_dflags\\}") ""))
@ -365,7 +362,7 @@ integration tests...\n")
(define-public dub
(package
(name "dub")
(version "1.23.0")
(version "1.33.0")
(source
(origin
(method git-fetch)
@ -374,7 +371,7 @@ integration tests...\n")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "06a4whsl1m600k096nwif83n7za3vr7pj1xwapncy5fcad1gmady"))))
(base32 "09p3rvsv11f8lgqgxgz2zj0szsw5lzrsc7y7471hswksc7nmmj70"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ; tests try to install packages

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019, 2020, 2021, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
@ -299,7 +299,10 @@ the required network abstractions for applications.")
(inherit docker-libnetwork)
(name "docker-libnetwork-cmd-proxy")
(arguments
`(#:import-path "github.com/docker/libnetwork/cmd/proxy"
;; The tests are unsupported on all architectures except x86_64-linux.
`(#:tests? ,(and (not (%current-target-system))
(target-x86-64?))
#:import-path "github.com/docker/libnetwork/cmd/proxy"
#:unpack-path "github.com/docker/libnetwork"
#:install-source? #f))
(native-inputs

View File

@ -411,6 +411,27 @@ reading the extensive documentation about BookmarkPlus on the Emacs Wiki.")
input via a small child-frame spawned at the position of the cursor.")
(license license:gpl3+)))
(define-public emacs-arei
(package
(name "emacs-arei")
(version "0.9.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~abcdw/emacs-arei")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"12vfv7l8krsfv7m03p41jakh4xrfm21w85kvghz0q5hq63w9l3f7"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-eros emacs-sesman emacs-queue))
(home-page "https://git.sr.ht/~abcdw/emacs-arei")
(synopsis "Asyncronous Reliable Extensible IDE")
(description "Sleek Guile IDE for Emacs.")
(license license:gpl3+)))
(define-public emacs-geiser
(package
(name "emacs-geiser")
@ -1512,8 +1533,8 @@ libgit2 bindings for Emacs, intended to boost the performance of Magit.")
(define-public emacs-magit
;; Use this unreleased commit to benefit from a recent improvements with
;; regard to adding git trailers such as "Reviewed-by".
(let ((commit "7a1d50347086678217cf90a32dda277b76ea3081")
(revision "6"))
(let ((commit "dda332b2a41569f5fd8c0c2c3c2dab902d48ceb4")
(revision "7"))
(package
(name "emacs-magit")
(version (git-version "3.3.0" revision commit))
@ -1525,7 +1546,7 @@ libgit2 bindings for Emacs, intended to boost the performance of Magit.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1yn3v24w0sx6r8jqw8blfvyjdjfz5xa7c3x8p6xw1lj7b81l8i0l"))))
(base32 "14vqfykfzddpfka7s3pmlh3yvbfd1rpjhab4g9dinz9hn48dwb06"))))
(build-system emacs-build-system)
(arguments
(list
@ -5590,8 +5611,8 @@ type, for example: packages, buffers, files, etc.")
(license license:gpl3+)))
(define-public emacs-guix
(let ((commit "cf5b7a402ea503c3dcda85a86b9a6c6dd01896e0")
(revision "6"))
(let ((commit "455272c5cc72ed4ba5bad13c669f024f51479a58")
(revision "7"))
(package
(name "emacs-guix")
(version (git-version "0.5.2" revision commit))
@ -5603,7 +5624,7 @@ type, for example: packages, buffers, files, etc.")
(file-name (git-file-name name version))
(sha256
(base32
"0wxiipgv91rlk9bhspx370rykywi52rxg5m1f7680vzs3ckc7nyd"))))
"1ihrd7f92p9xidh1mbjk1piykzg46xypnzf1rlxxsymmddlq4jpn"))))
(build-system gnu-build-system)
(arguments
(list

View File

@ -2447,16 +2447,16 @@ system.")
(define-public exomizer
(package
(name "exomizer")
(version "3.1.1")
(version "3.1.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://bitbucket.org/magli143/exomizer.git")
(commit "6a152b5605648f7a41eadd4b011a93ec92f74dd8")))
(commit version)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1ynhkb5p2dypkikipc3krzif264l9rmx1wnjzzgw8n88i4zkymzg"))))
"04795l75nlbz0g5gp1xx8kiwbrm5pv5pj24ja02cnan6mglj7j0w"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; No target exists

View File

@ -860,25 +860,30 @@ and others.")
(define-public gerbv
(package
(name "gerbv")
(version "2.7.0")
(version "2.10.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gerbv/gerbv/gerbv-"
version "/gerbv-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/gerbv/gerbv")
(commit (string-append "v" version))))
(sha256
(base32
"1d2k43k7i4yvbpi4sw1263a8d0q98z2n7aqhmpinpkih8a681vn5"))))
"06bcm5zw7whsnnmfld3gl2j907lxc68gnsbzr2pc4w6qc923rgmj"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("CFLAGS=-fcommon")))
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
("desktop-file-utils" ,desktop-file-utils)
("pkg-config" ,pkg-config)))
(inputs
`(("cairo" ,cairo)
("gtk" ,gtk+-2)))
(home-page "http://gerbv.geda-project.org/")
(native-inputs (list autoconf
automake
desktop-file-utils
gettext-minimal
`(,glib "bin")
libtool
pkg-config))
(inputs (list cairo
;; As of 2.10.0 gerbv is still GTK+2 only. GTK 3/4 porting
;; issue: https://github.com/gerbv/gerbv/issues/71.
gtk+-2))
(home-page "https://gerbv.github.io/")
(synopsis "Gerber file viewer")
(description
"Gerbv is a viewer for files in the Gerber format (RS-274X only), which
@ -2675,7 +2680,7 @@ measurement devices and test equipment via GPIB, RS232, Ethernet or USB.")
(define-public python-scikit-rf
(package
(name "python-scikit-rf")
(version "0.29.1")
(version "0.30.0")
(source (origin
(method git-fetch) ;PyPI misses some files required for tests
(uri (git-reference
@ -2683,7 +2688,7 @@ measurement devices and test equipment via GPIB, RS232, Ethernet or USB.")
(commit (string-append "v" version))))
(sha256
(base32
"11pbcgbq34xyjv5gjwi3a8cpgqqwmd73ps1fwyjajl26q2nkmcdh"))
"1fbws80glrakd08xzhifna831yk0bd8b0cizhfcjkg4km2nyx65c"))
(file-name (git-file-name name version))))
(build-system pyproject-build-system)
(propagated-inputs (list python-matplotlib
@ -2820,7 +2825,7 @@ comments.")))
(define-public freecad
(package
(name "freecad")
(version "0.21.1")
(version "0.21.2")
(source
(origin
(method git-fetch)
@ -2829,7 +2834,7 @@ comments.")))
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0qwh6b1s432j5piwgfkphvz0slmxf0m8m8pdr3ny9zna9mghz42k"))))
(base32 "0s720q6vxlh78jzahqp69nl8wagb42l05dym5aqhfnr31dx666hc"))))
(build-system qt-build-system)
(native-inputs
(list doxygen

View File

@ -585,7 +585,7 @@ directories.
(native-inputs
(list intltool python-distutils-extra))
(inputs
(list libtorrent-rasterbar python-dbus python-efl python-pyxdg))
(list libtorrent-rasterbar-1.2 python-dbus python-efl python-pyxdg))
(home-page "https://www.enlightenment.org")
(synopsis "EFL Bittorrent client")
(description "Epour is a BitTorrent client based on the @dfn{Enlightenment

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2023 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016-2018, 2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2016, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
@ -952,7 +952,9 @@ Bech32 and segwit addresses.")
(when tests?
(invoke "pytest" "-v")))))))
(propagated-inputs
(list python-configargparse
(list python-bech32
python-configargparse
python-cryptography
python-daemon
python-docutils
python-ecdsa
@ -965,8 +967,6 @@ Bech32 and segwit addresses.")
python-wheel))
(native-inputs ; Only needed for running the tests
(list gnupg
python-bech32
python-cryptography
python-mock
python-pytest))
(home-page "https://github.com/romanz/trezor-agent")

View File

@ -1970,7 +1970,8 @@ to the OSM opening hours specification.")
java-openjfx-media
java-parsson ; runtime dependency
java-signpost-core
java-svg-salamander))
java-svg-salamander
openjdk11))
(arguments
`(#:tests? #f
#:jar-name "josm.jar"
@ -2070,9 +2071,16 @@ to the OSM opening hours specification.")
(lambda _
(display
(string-append "#!/bin/sh\n"
(assoc-ref inputs "jdk") "/bin/java"
(assoc-ref inputs "openjdk") "/bin/java"
" -cp " out "/share/java/josm.jar:"
(getenv "CLASSPATH")
;; CLASSPATH, but remove native inputs
(string-join
(filter
(lambda (jar)
(and (not (string-contains jar "-jdk/"))
(not (string-contains jar "-javacc-"))))
(string-split (getenv "CLASSPATH") #\:))
":")
" org.openstreetmap.josm.gui.MainApplication"))))
(chmod (string-append bin "/josm") #o755))
#t)))))

View File

@ -51,7 +51,7 @@
;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Naga Malleswari <nagamalli@riseup.net>
;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020, 2021, 2022, 2023 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2020, 2022 Michael Rohleder <mike@rohleder.de>
@ -1894,7 +1894,7 @@ either on a local, or remote machine via a number of methods.")
(define-public gnome-commander
(package
(name "gnome-commander")
(version "1.14.3")
(version "1.16.1")
(source
(origin
(method url-fetch)
@ -1902,8 +1902,10 @@ either on a local, or remote machine via a number of methods.")
(version-major+minor version) "/"
"gnome-commander-" version ".tar.xz"))
(sha256
(base32 "0yzx9slg632iflw9p96nlh9i50dhacq7hrzpkj8b48mr1zkxrn3q"))))
(build-system glib-or-gtk-build-system)
(base32 "1cyh20nz2f81rb6di99idvw4xjn969mjhj3n2q17kzjhlv20079z"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t))
(native-inputs
(list desktop-file-utils
flex
@ -1911,6 +1913,7 @@ either on a local, or remote machine via a number of methods.")
`(,glib "bin")
gobject-introspection
googletest
`(,gtk+-2 "bin")
intltool
itstool
libtool
@ -5935,7 +5938,7 @@ services for numerous locations.")
gi-docgen
`(,glib "bin") ;for glib-mkenums
gobject-introspection
glibc-utf8-locales
(libc-utf8-locales-for-target)
gsettings-desktop-schemas
pkg-config
python
@ -9489,7 +9492,7 @@ easy, safe, and automatic.")
(native-inputs
(list gettext-minimal
`(,glib "bin")
glibc-utf8-locales
(libc-utf8-locales-for-target)
gobject-introspection
docbook-xsl
docbook-xml

View File

@ -8568,6 +8568,17 @@ with gotest-tools.")))
(define-public go-gotest-tools-internal-source
(package (inherit (go-gotest-tools-package "internal/source"))
(arguments
(substitute-keyword-arguments
(package-arguments (go-gotest-tools-package "internal/source"))
((#:phases phases #~%standard-phases)
#~(modify-phases #$phases
(replace 'check
(lambda* (#:key inputs #:allow-other-keys #:rest args)
(unless
;; failed to parse source file: : open : no such file or directory
(false-if-exception (search-input-file inputs "/bin/gccgo"))
(apply (assoc-ref %standard-phases 'check) args))))))))
(native-inputs
(list go-github-com-pkg-errors go-github-com-google-go-cmp-cmp))
(synopsis "Source code AST formatters for gotest-tools")
@ -12825,7 +12836,7 @@ is undetermined, a customizable spinner is shown.")
(define-public go-git-sr-ht-emersion-gqlclient
(package
(name "go-git-sr-ht-emersion-gqlclient")
(version "0.0.0-20220202181617-4e6e9c763dd2")
(version "0.0.0-20230820050442-8873fe0204b9")
(source
(origin
(method git-fetch)
@ -12834,7 +12845,7 @@ is undetermined, a customizable spinner is shown.")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "1d9hmaz7yy02bk455gmaav818xi49sw69jyx6dxzymv6ln7r1cv1"))))
(base32 "0x64kcryawdr0daq1w6fada60zqrddw75yi397835b9ij7wb5gmh"))))
(build-system go-build-system)
(arguments (list #:import-path "git.sr.ht/~emersion/gqlclient"))
(home-page "https://git.sr.ht/~emersion/gqlclient")

View File

@ -139,7 +139,7 @@ between two other data points.")
(define-public gama
(package
(name "gama")
(version "2.26")
(version "2.27")
(source
(origin
(method url-fetch)
@ -147,7 +147,7 @@ between two other data points.")
version ".tar.gz"))
(sha256
(base32
"1mn7ma8w4spqc0p4slp1s14q45z7hzyp49ikvd1spsz9jqz8ycpk"))
"0h9kwgzz9ijzx6jcpc37qhadc41k1jdcv0s2wcpsz6zjmx63p2wk"))
(modules '((guix build utils)))
(snippet
'(begin

View File

@ -10,6 +10,7 @@
;;; Copyright © 2021 Alexandre Hannud Abdo <abdo@member.fsf.org>
;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2023 David Elsing <david.elsing@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -40,13 +41,18 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bioconductor)
#:use-module (gnu packages bioinformatics)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages c)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cran)
#:use-module (gnu packages datastructures)
#:use-module (gnu packages docbook)
#:use-module (gnu packages flex)
#:use-module (gnu packages gd)
#:use-module (gnu packages graphics)
#:use-module (gnu packages graphviz)
@ -55,6 +61,7 @@
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-compression)
@ -93,49 +100,102 @@ distributions in empirical data. SIAM Review 51, 661-703 (2009)}).")
(define-public igraph
(package
(name "igraph")
(version "0.10.4")
(version "0.10.7")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/igraph/igraph/releases/"
"download/" version "/igraph-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/igraph/igraph")
(commit version)))
(file-name (git-file-name name version))
(patches (search-patches "igraph-fix-varargs-integer-size.patch"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet '(begin
;; igraph insists on building its own copy of CxSparse
;; (see: https://github.com/igraph/igraph/commit/\
;; 334318b7dfe46501236272ca336580f4748114b0) and the build
;; has no support to use a system provided 'pcg'.
(define keep-libraries '("cs" "pcg"))
(define keep (append '("." ".." "CMakeLists.txt")
keep-libraries))
(define keep? (cut member <> keep))
(with-directory-excursion "vendor"
(for-each delete-file-recursively
(scandir "." (negate keep?))))
(call-with-output-file "vendor/CMakeLists.txt"
(cut format <> "~{add_subdirectory(~a)~%~}"
keep-libraries))
(delete-file-recursively "vendor")
(delete-file-recursively "src/isomorphism/bliss")
(substitute* '("src/CMakeLists.txt"
"etc/cmake/benchmark_helpers.cmake")
;; Remove extraneous bundling related variables.
((".*_IS_VENDORED.*")
""))))
((".*_IS_VENDORED.*") "")
((".*add_sub.*isomorphism/bliss.*") "")
(("(.*TARGETS.*)bliss(.*)cxsparse_vendored(.*)pcg(.*)"
_ part1 part2 part3 part4)
(string-append part1 part2 part3 part4))
(("cxsparse_vendored") "cxsparse")
((" pcg ") " pcg_random "))
(substitute* "CMakeLists.txt"
(("add_sub.*vendor.*") ""))))
(sha256
(base32 "1z1ay3l1h64jc2igbl2ibvi20sswy56v2yk3ykhis7jzijsh0mxa"))))
(base32
"025f9c2jsawniqkig4l5z3v9aw3ipazmnlsf80b653mns5bvj1yn"))))
(build-system cmake-build-system)
(arguments (list #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON")
#:test-target "check"))
(native-inputs (list pkg-config))
(arguments
(list
#:configure-flags
#~(list "-DBUILD_SHARED_LIBS=ON"
;; Use the same integer width as suitesparse-cxsparse, which
;; uses int64_t in SuiteSparse v6.0.0 and later.
"-DIGRAPH_INTEGER_SIZE=64")
#:test-target "check"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'version-file
(lambda _
(let ((port (open-file "IGRAPH_VERSION" "w")))
(display #$version port)
(close port))))
(add-after 'unpack 'patch-suitesparse
(lambda _
(substitute* '("src/core/sparsemat.c"
"include/igraph_sparsemat.h")
(("<cs/cs\\.h>") "<cs.h>")
(("cs_igraph") "cs_dl")
(("__BEGIN_DECLS.*" all)
(string-append all "\n#define CS_LONG\n")))))
(add-after 'unpack 'patch-pcg
(lambda _
(substitute* '("src/random/rng_pcg32.c"
"src/random/rng_pcg64.c")
(("#include \"pcg/(.*)\"" _ name)
(string-append "#include <" name ">")))))
(add-after 'unpack 'patch-bliss
(lambda _
(substitute* "src/isomorphism/bliss.cc"
(("#include \"bliss.*")
(string-append
"#include <bliss/graph.hh>\n"
"#include <bliss/digraph.hh>\n")))))
(add-after 'build 'build-doc
(lambda _
(invoke "cmake" "--build" "." "--target" "html")))
(add-after 'install 'install-doc
(lambda _
(copy-recursively
"doc/html"
(string-append #$output "/share/doc/"
#$name "-" #$version "/html")))))))
(native-inputs
(list bison
docbook-xml-4.3
docbook-xsl
flex
pcg-c
pkg-config
;; For the HTML documentation.
python
source-highlight
xmlto))
(inputs
(list arpack-ng
gmp
bliss
glpk
libxml2
lapack
openblas
plfit))
plfit
suitesparse-cxsparse))
;; libxml2 is in the 'Requires.private' of igraph.pc.
(propagated-inputs (list libxml2))
(home-page "https://igraph.org")

View File

@ -1103,6 +1103,35 @@ for calling methods on remote servers by exchanging JSON objects.")
(home-page "https://codeberg.org/rgherdt/scheme-json-rpc/")
(license license:expat)))
(define-public guile-ares-rs
(package
(name "guile-ares-rs")
(version "0.9.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~abcdw/guile-ares-rs")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0jl4k54ydi1qxdvif4di0ri5jznlfc2gg1qhs94bhk4y22k0gp8c"))))
(build-system guile-build-system)
(arguments
(list
#:source-directory "src"))
;; Remove guile-next dependency, when guile package get custom text port
(inputs `(("guile" ,guile-next)))
(propagated-inputs (list guile-fibers))
(home-page "https://git.sr.ht/~abcdw/guile-ares-rs")
(synopsis "Asyncronous Reliable Extensible Sleek RPC Server for Guile")
(description "Asynchronous Reliable Extensible Sleek RPC Server for
Guile. It's based on nREPL protocol and can be used for programmable
interactions with a running guile processes, for implementing REPLs, IDEs,
test runners or other tools.")
(license license:gpl3+)))
(define-public guile-squee
(let ((commit "9f2609563fc53466e46d37c8d8d2fbcfce67b2ba")
(revision "5"))
@ -3326,7 +3355,7 @@ from @code{tree-il}.")
(define-public guile-hoot
(package
(name "guile-hoot")
(version "0.1.0")
(version "0.2.0")
(source (origin
(method url-fetch)
(uri (string-append "https://spritely.institute/files/releases"
@ -3334,7 +3363,7 @@ from @code{tree-il}.")
version ".tar.gz"))
(sha256
(base32
"1087rcj22hk6fcbqajm268f1q2c3kbizah8wy1z0aqkfliwc309g"))))
"1byshh7092q2yzqwpi59j4xjsppvp1xqnqsv94yv541qfm0plnc2"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags '("GUILE_AUTO_COMPILE=0"

View File

@ -457,7 +457,7 @@ without requiring the source code to be rewritten.")
(define-public guile-next
(let ((version "3.0.9")
(revision "0")
(commit "79e836b8cc601a1259c934000a953a8d739ddd6f"))
(commit "d8df317bafcdd9fcfebb636433c4871f2fab28b2"))
(package
(inherit guile-3.0)
(name "guile-next")
@ -471,7 +471,7 @@ without requiring the source code to be rewritten.")
(file-name (git-file-name name version))
(sha256
(base32
"0s90khsdbvrkykp58izkvyxf8jciggdapm29dc3lzk3s1shajlgm"))))
"0g294vnc5xkaq5vqh9hkh793mybkr17yqwh0fc46alnwxgpgjy5n"))))
(arguments
(substitute-keyword-arguments (package-arguments guile-3.0)
((#:phases phases '%standard-phases)

View File

@ -481,15 +481,23 @@ RGB animations.")
(define-public ddcutil
(package
(name "ddcutil")
(version "1.4.2")
(version "1.4.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.ddcutil.com/tarballs/"
"ddcutil-" version ".tar.gz"))
(sha256
(base32 "015l13j7fp9fmlc5d7m6nfjbzjbp8vc0g5py35ljw7li2xk16v60"))))
(base32 "17zrqdz5mzwyccvc5m166yjlbbg9k2m9cwyg0y30h3184p1b2wlq"))))
(build-system gnu-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'install-missing-pkgconfig-file
(lambda _
(install-file "ddcutil.pc"
(string-append #$output "/lib/pkgconfig")))))))
(native-inputs
(list pkg-config))
(inputs

View File

@ -1690,7 +1690,13 @@ purposes.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1bm0wdv5p26i8nl4kx3145cz553v401sgbpgc96sddzjfmfiydcw"))))
(base32 "1bm0wdv5p26i8nl4kx3145cz553v401sgbpgc96sddzjfmfiydcw"))
(snippet
#~(begin (use-modules (guix build utils))
(substitute* "imgviz/draw.py"
(("collections\\.Iterable") "collections.abc.Iterable"))
(substitute* "imgviz/tile.py"
(("collections\\.Sequence") "collections.abc.Sequence"))))))
(build-system python-build-system)
(arguments
`(#:phases

View File

@ -2311,7 +2311,9 @@ distribution.")))
(string-append target new-name))))
(find-files "netbeans" "\\.so$"))))))))
(propagated-inputs
(list java-openjfx-base java-swt))
(list java-openjfx-base))
(inputs
(list java-swt))
;; XXX: for unknown reasons
;; modules/graphics/src/main/native-prism-sw/JNativeSurface.c is missing
;; in this revision.
@ -2465,8 +2467,7 @@ debugging, etc.")
(modules '((guix build utils)))
;; Delete bundled jars.
(snippet '(begin (for-each delete-file-recursively
'("bootstrap" "lib"))
#t))))
'("bootstrap" "lib"))))))
(arguments
`(#:make-flags ; bootstrap from javacc-4
,#~(list (string-append "-Dbootstrap-jar="
@ -2487,17 +2488,16 @@ debugging, etc.")
(lambda _
(display
(string-append "#!/bin/sh\n"
(assoc-ref inputs "jdk") "/bin/java"
(assoc-ref inputs "icedtea") "/bin/java"
" -cp " dir "/javacc.jar" " `basename $0`" " $*"))))
(chmod javacc #o755)
;; symlink to different names to affect the first argument and
;; change the behavior of the jar file.
(symlink javacc (string-append bin "/jjdoc"))
(symlink javacc (string-append bin "/jjtree"))
#t))))))
(symlink javacc (string-append bin "/jjtree"))))))))
(native-inputs
(list javacc-4))))
(list javacc-4))
(inputs (list icedtea-8))))
(define-public java-ecj
(package

View File

@ -184,7 +184,7 @@ context menu in TypeScript.")
#t))))
(native-inputs
`(("font-mathjax" ,font-mathjax)
("glibc-utf8-locales" ,glibc-utf8-locales)
("glibc-utf8-locales" ,(libc-utf8-locales-for-target))
("uglifyjs" ,node-uglify-js)
,@(package-native-inputs font-mathjax)))
(synopsis "JavaScript display engine for LaTeX, MathML, and AsciiMath")

View File

@ -265,6 +265,28 @@ appropriate BLAS or optimised Julia linear algebra routines. This supports a
much wider class of matrix types than Julia's in-built @code{StridedArray}.")
(license license:expat)))
(define-public julia-astrolib
(package
(name "julia-astrolib")
(version "0.4.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JuliaAstro/AstroLib.jl")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1zbivs79cw7qazrl9c8rz2n2kifxw3adwjf22nn24dp5i34fkw5d"))))
(build-system julia-build-system)
(native-inputs (list julia-staticarrays))
(home-page "https://github.com/JuliaAstro/AstroLib.jl")
(synopsis "Bundle of small astronomical and astrophysical routines")
(description "The aim of this package is to provide users with a set of small
generic routines useful above all in astronomical and astrophysical context,
written in Julia.")
(license license:expat)))
(define-public julia-astrotime
(package
(name "julia-astrotime")

View File

@ -2028,6 +2028,9 @@ covers feedback and persistent events.")
qtbase-5))
(arguments
(list
;; The `plasma-querytest' test is known to fail when tests are run in parallel:
;; <https://sources.debian.org/src/kpackage/5.107.0-1/debian/changelog/#L92>
#:parallel-tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch

View File

@ -283,7 +283,7 @@ annotating features.")
(define-public kdenlive
(package
(name "kdenlive")
(version "23.04.2")
(version "23.08.3")
(source
(origin
(method git-fetch)
@ -292,7 +292,7 @@ annotating features.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0dgrgnnq38nphfzbapr7dkb21lv4idqynxqmzv9x3maijmp1jjfr"))))
(base32 "0qwnz99wdlfkc08imf18wdvms9lzsph4nyjh2845145sl322yans"))))
(build-system qt-build-system)
(arguments
;; XXX: there is a single test that spawns other tests and

View File

@ -493,7 +493,7 @@ 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.6-version "6.6.2")
(define-public linux-libre-6.6-version "6.6.3")
(define-public linux-libre-6.6-gnu-revision "gnu")
(define deblob-scripts-6.6
(linux-libre-deblob-scripts
@ -503,12 +503,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1hg3ck1j8288fhlhcvhgs1zzwh3i62nfvphw7x3vsaqr75kiwbjp")))
(define-public linux-libre-6.6-pristine-source
(let ((version linux-libre-6.6-version)
(hash (base32 "0zmpk5ls6282j88xpnymkr8z5hxpk2495hjjxm0jmb6ninnzdm3k")))
(hash (base32 "19wmjkyyv5glv1w647qisrv829hhhpba5x905a7p7kch9wyzrv98")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.6)))
(define-public linux-libre-6.5-version "6.5.12")
(define-public linux-libre-6.5-version "6.5.13")
(define-public linux-libre-6.5-gnu-revision "gnu")
(define deblob-scripts-6.5
(linux-libre-deblob-scripts
@ -518,7 +518,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "066z5lw5vrfayhv23hpfcm6fh6b7zmn2v13kfv1g3z3jl1wblhfh")))
(define-public linux-libre-6.5-pristine-source
(let ((version linux-libre-6.5-version)
(hash (base32 "17rmkzxszp2jg1zx2mmdcy30ffrsd0qms513sxd14klp5k9w2saa")))
(hash (base32 "1dfbbydmayfj9npx3z0g38p574pmcx3qgs49dv0npigl48wd9yvq")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.5)))
@ -526,7 +526,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; 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.63")
(define-public linux-libre-6.1-version "6.1.64")
(define-public linux-libre-6.1-gnu-revision "gnu")
(define deblob-scripts-6.1
(linux-libre-deblob-scripts
@ -536,12 +536,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1hdibv43xbn1lv83i6qjgfmf1bvqxvq17fryfsq4r4sjgs9212js")))
(define-public linux-libre-6.1-pristine-source
(let ((version linux-libre-6.1-version)
(hash (base32 "13bmy22mi4ybl21kr3hdy6qiaawiqz2jgl2gl9hwqkyx04xh97f2")))
(hash (base32 "1ry7dp39010hfja1wial6r6q6ilgygwm7gdz22bg4rzaycwam7b2")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.1)))
(define-public linux-libre-5.15-version "5.15.139")
(define-public linux-libre-5.15-version "5.15.140")
(define-public linux-libre-5.15-gnu-revision "gnu")
(define deblob-scripts-5.15
(linux-libre-deblob-scripts
@ -551,12 +551,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1idjrn2w8jrixj8ifkk1awxyyq5042nc4p2mld4rda96azlnp948")))
(define-public linux-libre-5.15-pristine-source
(let ((version linux-libre-5.15-version)
(hash (base32 "0kh4v1224a7p7ib64pnmc1qid3d1lvg3c14l5s4rpr8qzq6w2s4w")))
(hash (base32 "0isa9si9wjn10lw41431wdqsbp9y685ch5lzhwswng3g6j5ywaxy")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.15)))
(define-public linux-libre-5.10-version "5.10.201")
(define-public linux-libre-5.10-version "5.10.202")
(define-public linux-libre-5.10-gnu-revision "gnu1")
(define deblob-scripts-5.10
(linux-libre-deblob-scripts
@ -566,12 +566,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0xrrnmb5kcc5r21bdm24aq0fnkk1imn367c1cxlj78b6l6gigx4b")))
(define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version)
(hash (base32 "0642y6qj2d4aww6jcki81ba53pvjyfazjxgzgj8brqx8ixchdz3a")))
(hash (base32 "12zs2bz2plps6xp80sdg36zkyr00rf5l5c85jl4dd7b9klly04ij")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.10)))
(define-public linux-libre-5.4-version "5.4.261")
(define-public linux-libre-5.4-version "5.4.262")
(define-public linux-libre-5.4-gnu-revision "gnu1")
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
@ -581,12 +581,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0sw67b2pk3lng4y67diqqnhxaggnp3nbkx8dxc5fs27rinfxr4m1")))
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
(hash (base32 "1hsgnv2vcziflhzrrxiny2yp88ybdqda48fm60xhpaphhs0cgfii")))
(hash (base32 "1p34x33gkvpv26zcrpx1i6dr7dknyxj8gnp6caqb8sj58h3slgkx")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
(define-public linux-libre-4.19-version "4.19.299")
(define-public linux-libre-4.19-version "4.19.300")
(define-public linux-libre-4.19-gnu-revision "gnu1")
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
@ -596,12 +596,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1425mhkfxn18vxn05bb4h3li7x1jl7l1hf1zi8xhnqv3wa31h9wl")))
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
(hash (base32 "12p431p2jqjfsf0all3fgn47z9fr2cdqyxipfrf4s4mlw4hpbyy6")))
(hash (base32 "0ilksl94gjpc4pzc90swfawsl8lvibpq14nkaxzl0831i219ahd8")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
(define-public linux-libre-4.14-version "4.14.330")
(define-public linux-libre-4.14-version "4.14.331")
(define-public linux-libre-4.14-gnu-revision "gnu1")
(define deblob-scripts-4.14
(linux-libre-deblob-scripts
@ -611,7 +611,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1faagsj4i31z2bp83hflx3q9vrddjnn37a3ah2b47iaplva7z1nd")))
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
(hash (base32 "0rwgzyfmrns6zir0dpxkwz2hm3z8c0af3wy11lmxamaa5i2wq3k7")))
(hash (base32 "03sk82dgvccv70i3hy8gf2hw0n4m305f7rxjw93p7jnjrbpdrp1r")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
@ -6618,17 +6618,17 @@ by hand is no trivial task: @command{tmon} aims to make it understandable.")
(source (package-source linux-libre))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no test suite
#:make-flags
(list (string-append "CC=" ,(cc-for-target))
(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'enter-subdirectory
(lambda _
(chdir "tools/power/x86/turbostat")
#t))
(delete 'configure)))) ; no configure script
(list
#:tests? #f ;no test suite
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
(string-append "PREFIX=" #$output))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'enter-subdirectory
(lambda _
(chdir "tools/power/x86/turbostat")))
(delete 'configure)))) ;no configure script
(inputs
(list libcap))
(supported-systems '("i686-linux" "x86_64-linux"))
@ -8990,7 +8990,8 @@ management tools in userspace.")
"0hpzghf1a4cwawzhkiwdzin80h6hd09fskl77d5ppgc084yvj8x0"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/vishvananda/netlink"))
`(#:tests? #f ; Tests depend on specific kernel modules.
#:import-path "github.com/vishvananda/netlink"))
(native-inputs
(list go-golang-org-x-sys go-netns))
(home-page "https://github.com/vishvananda/netlink")
@ -9356,7 +9357,7 @@ types and interfaces and translates so that the X server can use them.")
(define-public pipewire
(package
(name "pipewire")
(version "0.3.77")
(version "1.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -9365,7 +9366,7 @@ types and interfaces and translates so that the X server can use them.")
(file-name (git-file-name name version))
(sha256
(base32
"11jdd9ljm6967cdp97qqf5fa02ad69kdgk3212ap5gfndky2h43m"))))
"0a8wvsnbgqanp2vjdpkaxpny0k17hz720rd20zdi00s9xjbcrycr"))))
(build-system meson-build-system)
(arguments
(list
@ -9379,6 +9380,8 @@ types and interfaces and translates so that the X server can use them.")
(native-inputs
(list `(,glib "bin")
pkg-config
doxygen
python
python-docutils))
(inputs (list alsa-lib
avahi

View File

@ -2971,7 +2971,16 @@ pure Common Lisp.")
(license license:expat))))
(define-public ecl-cl-pcg
(sbcl-package->ecl-package sbcl-cl-pcg))
(let ((pkg (sbcl-package->ecl-package sbcl-cl-pcg)))
(package
(inherit pkg)
(arguments
(substitute-keyword-arguments (package-arguments pkg)
;; Tests are failing on ECL with:
;; PCG.TEST::TEST-REWINDAn error occurred during initialization:
;; 40502229875678917802724098623316930025 is not of type
;; (INTEGER 0 2305843009213693951)
((#:tests? _ #f) #f))))))
(define-public cl-pcg
(sbcl-package->cl-source-package sbcl-cl-pcg))
@ -12626,7 +12635,7 @@ them as PNG files.")
(define-public sbcl-history-tree
(package
(name "sbcl-history-tree")
(version "0.1.1")
(version "0.1.2")
(source
(origin
(method git-fetch)
@ -12635,12 +12644,7 @@ them as PNG files.")
(commit version)))
(file-name (git-file-name "cl-history-tree" version))
(sha256
(base32 "16fynij438zs4g29m7c0vmkfb0sbaz8gj7zjnxpbgjckbim93qwl"))
(modules '((guix build utils)))
(snippet
`(begin
(delete-file-recursively "nasdf")
#t))))
(base32 "1n3q6aqh0wm24pksj8371j5iinxpzy2kcnz97kmpndm1yhv4x5f2"))))
(build-system asdf-build-system/sbcl)
(inputs
(list
@ -12649,7 +12653,7 @@ them as PNG files.")
sbcl-local-time
sbcl-nclasses
sbcl-trivial-package-local-nicknames))
(native-inputs (list sbcl-nasdf sbcl-lisp-unit2))
(native-inputs (list sbcl-lisp-unit2))
(home-page "https://github.com/atlas-engineer/history-tree")
(synopsis "Store the history of a browser's visited paths")
(description
@ -18577,8 +18581,8 @@ building Jupyter kernels, based on Maxima-Jupyter which was based on
(sbcl-package->cl-source-package sbcl-common-lisp-jupyter))
(define-public sbcl-radiance
(let ((commit "a7237831970edfd330dddd5b347d3d1277853bf0")
(revision "2"))
(let ((commit "8d826c7fe1935338565580931db43f46181e0e85")
(revision "3"))
(package
(name "sbcl-radiance")
(version (git-version "2.1.2" revision commit))
@ -18590,7 +18594,7 @@ building Jupyter kernels, based on Maxima-Jupyter which was based on
(commit commit)))
(file-name (git-file-name "radiance" version))
(sha256
(base32 "1q4x9mswiizwgr7acl5zi6lkssfg2zajqbdq7xhw1kq6xfnq37j2"))))
(base32 "1j823dgp87www0sjbcbv9j025bfxlkwhjd7kz6635mrqwmmlki4l"))))
(build-system asdf-build-system/sbcl)
(arguments
`(#:tests? #f ; TODO: The tests require some configuration.
@ -25895,7 +25899,7 @@ JavaScript code.")
(define-public sbcl-nhooks
(package
(name "sbcl-nhooks")
(version "1.2.1")
(version "1.2.2")
(source
(origin
(method git-fetch)
@ -25905,7 +25909,7 @@ JavaScript code.")
(file-name (git-file-name "cl-nhooks" version))
(sha256
(base32
"10ym4ybda2l426flicqz0f4yg7fbw7yjk1k0wqpf4wfk24gm1b8g"))))
"1m9dfp7wjm8k16x45qnw258ca8gnic3k2ik79sdn5gxcx6qxy3g8"))))
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-serapeum))
@ -25981,7 +25985,7 @@ access lexicographic data from WordNet.")
(define-public sbcl-nfiles
(package
(name "sbcl-nfiles")
(version "1.1.3")
(version "1.1.4")
(source
(origin
(method git-fetch)
@ -25991,12 +25995,7 @@ access lexicographic data from WordNet.")
(file-name (git-file-name "cl-nfiles" version))
(sha256
(base32
"1rndrxqb16wfbi5zkg8gbqm163xhs31ka0algsxvrhb9kf2j8c4q"))
(modules '((guix build utils)))
(snippet
`(begin
(delete-file-recursively "nasdf")
#t))))
"1a8zsphbbl9r4sdm95kgm4ljd9b148c9fnwlq7f930fh9826kf72"))))
(build-system asdf-build-system/sbcl)
(inputs
(list gnupg
@ -26008,8 +26007,7 @@ access lexicographic data from WordNet.")
sbcl-trivial-package-local-nicknames
sbcl-trivial-types))
(native-inputs
(list sbcl-lisp-unit2
sbcl-nasdf))
(list sbcl-lisp-unit2))
(arguments
`(#:phases
(modify-phases %standard-phases
@ -26106,7 +26104,7 @@ desktop files to the right directories.
(define-public sbcl-nclasses
(package
(name "sbcl-nclasses")
(version "0.6.0")
(version "0.6.1")
(source
(origin
(method git-fetch)
@ -26116,18 +26114,12 @@ desktop files to the right directories.
(file-name (git-file-name "cl-nclasses" version))
(sha256
(base32
"0kp5wim5frr4l52rgchaz1cj74daqngagrz3r0lgasii6bwlzsi6"))
(modules '((guix build utils)))
(snippet
`(begin
(delete-file-recursively "nasdf")
#t))))
"00is7fg1jsj9r3jawphbk5gh8kmiixl7g60xg1ic2q2cpilfd1by"))))
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-moptilities))
(native-inputs
(list sbcl-lisp-unit2
sbcl-nasdf))
(list sbcl-lisp-unit2))
(home-page "https://github.com/atlas-engineer/nclasses")
(synopsis "Simplify class, condition, and generic function definitions.")
(description
@ -26145,55 +26137,50 @@ extra features like type inference.")
(sbcl-package->cl-source-package sbcl-nclasses))
(define-public sbcl-prompter
(let ((commit "b40a13af6ba4bd5c73c17e94dd2cbc2901bbd02f")
(revision "0"))
(package
(name "sbcl-prompter")
(version (git-version "0.1.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/atlas-engineer/prompter")
(commit commit)))
(file-name (git-file-name "cl-prompter" version))
(sha256
(base32
"1gg69rq2v9wcr7kj9fvd2i38r28fsgqqw6zs71m46krmr1gmfh4q"))
(modules '((guix build utils)))
(snippet
`(begin
(delete-file-recursively "nasdf")
#t))))
(build-system asdf-build-system/sbcl)
(inputs
(list
sbcl-alexandria
sbcl-calispel
sbcl-cl-containers
sbcl-cl-str
sbcl-closer-mop
sbcl-lparallel
sbcl-moptilities
sbcl-nclasses
sbcl-serapeum
sbcl-trivial-package-local-nicknames))
(native-inputs
(list sbcl-lisp-unit2
sbcl-nasdf))
(home-page "https://github.com/atlas-engineer/prompter")
(synopsis "Live-narrowing, fuzzy-matching, extensible prompt framework")
(description
"This prompter library is heavily inspired by Emacs' minibuffer and
(package
(name "sbcl-prompter")
(version "0.1.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/atlas-engineer/prompter")
(commit version)))
(file-name (git-file-name "cl-prompter" version))
(sha256
(base32
"008bq36siza9qwmz6b1pvpm53lxmzryahnhy372l18gl3180in03"))))
(build-system asdf-build-system/sbcl)
(inputs
(list
sbcl-alexandria
sbcl-calispel
sbcl-cl-containers
sbcl-cl-str
sbcl-closer-mop
sbcl-lparallel
sbcl-moptilities
sbcl-nclasses
sbcl-serapeum
sbcl-trivial-package-local-nicknames))
(native-inputs
(list sbcl-lisp-unit2))
(home-page "https://github.com/atlas-engineer/prompter")
(synopsis "Live-narrowing, fuzzy-matching, extensible prompt framework")
(description
"This prompter library is heavily inspired by Emacs' minibuffer and
Helm (@url{https://emacs-helm.github.io/helm/}). It only deals with the
backend side of things, it does not handle any display. Features include
asynchronous suggestion computation, multiple sources, actions and resumable
prompters.")
(license license:bsd-3))))
(license license:bsd-3)))
(define-public cl-prompter
(sbcl-package->cl-source-package sbcl-prompter))
(define-public ecl-prompter
(sbcl-package->ecl-package sbcl-prompter))
(define-public sbcl-cl-template
(let ((commit "46193a9a389bb950530e579eae7e6e5a18184832")
(revision "0"))
@ -26748,7 +26735,7 @@ in a native template application).")
(define-public sbcl-nkeymaps
(package
(name "sbcl-nkeymaps")
(version "1.1.0")
(version "1.1.1")
(source
(origin
(method git-fetch)
@ -26757,7 +26744,7 @@ in a native template application).")
(commit version)))
(file-name (git-file-name "cl-nkeymaps" version))
(sha256
(base32 "08q3bmb3i7mjpm83msp1qgpifpzf019ggikbxwc2dk04i3c2w0vv"))))
(base32 "179hrnkn3pkwkp4ap6ax0zgp7xcr9cq7icff42r79gh43ri3kpzy"))))
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-alexandria
@ -26865,7 +26852,7 @@ instead of #'FOO.
(define-public sbcl-njson
(package
(name "sbcl-njson")
(version "1.2.1")
(version "1.2.2")
(source (origin
(method git-fetch)
(uri (git-reference
@ -26874,7 +26861,7 @@ instead of #'FOO.
(file-name (git-file-name "cl-njson" version))
(sha256
(base32
"0p3zvn3jfzcdzpvikdaw3g14wfsklq0msw0rjaxin3aa7vmqpyqk"))))
"05v5bk3l47mds4ihxs8jlqm19gqq7hb4q0161bgg99w9847l63lk"))))
(build-system asdf-build-system/sbcl)
(inputs (list sbcl-cl-json sbcl-jzon))
(native-inputs (list sbcl-lisp-unit2))
@ -26972,7 +26959,7 @@ JSON handling. Load the parser backend you prefer!
(define-public sbcl-nsymbols
(package
(name "sbcl-nsymbols")
(version "0.3.1")
(version "0.3.2")
(source
(origin
(method git-fetch)
@ -26981,7 +26968,7 @@ JSON handling. Load the parser backend you prefer!
(commit version)))
(file-name (git-file-name "cl-nsymbols" version))
(sha256
(base32 "14zdwsk2nrismj3xb54kfpgcdcsdzw3fyd7zwxlsir66lv9w9ji9"))))
(base32 "1awh793s4fwhddllfcjz4sbkxwinh5w54s3glxh7rv00c7skdjd6"))))
(build-system asdf-build-system/sbcl)
(native-inputs (list sbcl-lisp-unit2))
(inputs (list cl-closer-mop))

View File

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

View File

@ -73,11 +73,13 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages swig)
#:use-module (gnu packages vulkan)
#:use-module (gnu packages xml)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match)
#:export (make-lld-wrapper
system->llvm-target))
system->llvm-target
clang-properties))
(define* (system->llvm-target #:optional
(system (or (and=> (%current-target-system)
@ -601,13 +603,13 @@ output), and Binutils.")
'(("14.0.6" . "14f8nlvnmdkp9a9a79wv67jbmafvabczhah8rwnqrgd5g3hfxxxx")
("15.0.7" . "12sggw15sxq1krh1mfk3c1f07h895jlxbcifpwk3pznh4m1rjfy2")
("16.0.6" . "0jxmapg7shwkl88m4mqgfjv4ziqdmnppxhjz6vz51ycp2x4nmjky")
("17.0.5" . "149flpr96vcn7a1ckya6mm93m9yp85l47w156fjd0r99ydxrw5kv")))
("17.0.6" . "1a7rq3rgw5vxm8y39fyzr4kv7w97lli4a0c1qrkchwk8p0n07hgh")))
(define %llvm-patches
'(("14.0.6" . ("clang-14.0-libc-search-path.patch"))
("15.0.7" . ("clang-15.0-libc-search-path.patch"))
("16.0.6" . ("clang-16.0-libc-search-path.patch"))
("17.0.5" . ("clang-17.0-libc-search-path.patch"))))
("17.0.6" . ("clang-17.0-libc-search-path.patch"))))
(define (llvm-monorepo version)
(origin
@ -704,6 +706,10 @@ of programming tools as well as libraries with equivalent functionality.")
#$(string-append "-DLLVM_TARGETS_TO_BUILD="
(system->llvm-target)))
'())
;; undefined reference to `__atomic_fetch_add_8' in lib/libLLVMOrcJIT.so.14
#$@(if (target-ppc32?)
(list "-DCMAKE_SHARED_LINKER_FLAGS=-latomic")
`())
"-DCMAKE_SKIP_BUILD_RPATH=FALSE"
"-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"
"-DBUILD_SHARED_LIBS:BOOL=TRUE"
@ -1500,7 +1506,7 @@ Library.")
(define-public llvm-17
(package
(inherit llvm-15)
(version "17.0.5")
(version "17.0.6")
(source (llvm-monorepo version))))
(define-public clang-runtime-17
@ -1516,7 +1522,7 @@ Library.")
(package-version llvm-17)))
(sha256
(base32
"12dbp10bhq25a44qnvz978mf9y6pdycwpp7sgq8a93by0fpgb72r")))))
"1f8szx762c325916gjxb5lw7zxyidynwnvx6fxxqscsx8514cxxa")))))
(define-public libomp-17
(package
@ -1946,37 +1952,37 @@ standard C++ library.")
(define-public libclc
(package
(name "libclc")
(version "9.0.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/llvm/llvm-project")
(commit (string-append "llvmorg-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1d1qayvrvvc1di7s7jfxnjvxq2az4lwq1sw1b2gq2ic0nksvajz0"))))
(version (package-version llvm-15))
(source (llvm-monorepo version))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
(list (string-append "-DLLVM_CLANG="
(assoc-ref %build-inputs "clang")
"/bin/clang")
(string-append "-DPYTHON="
(assoc-ref %build-inputs "python")
"/bin/python3"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir "libclc") #t)))))
(list
#:configure-flags
#~(list (string-append "-DLLVM_CLANG="
(assoc-ref %build-inputs "clang")
"/bin/clang")
(string-append "-DLLVM_SPIRV="
(assoc-ref %build-inputs "spirv-llvm-translator")
"/bin/llvm-spirv"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'enter-subdirectory
(lambda _
(chdir "libclc")))
(add-after 'enter-subdirectory 'skip-clspv-tests
(lambda _
(substitute* "CMakeLists.txt"
(("ptx\\.\\*") "[ptx|clspv].*")))))))
(propagated-inputs
(list spirv-llvm-translator spirv-tools))
(native-inputs
(list clang-9 llvm-9 python))
(list clang-15 llvm-15 python))
(home-page "https://libclc.llvm.org")
(synopsis "Libraries for the OpenCL programming language")
(description
"This package provides an implementation of the OpenCL library
requirements according to version 1.1 of the OpenCL specification.")
(properties `((release-monitoring-url . ,%llvm-release-monitoring-url)))
;; Apache license 2.0 with LLVM exception
(license license:asl2.0)))

View File

@ -1532,6 +1532,54 @@ computing environments.")
data analysis.")
(license license:bsd-3)))
(define-public python-scikit-learn-extra
(package
(name "python-scikit-learn-extra")
(version "0.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/scikit-learn-contrib/scikit-learn-extra")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0yy6ka94ss88f3r7b6mpjf1l8lnv7aabhsg844pigfj8lfiv0wvl"))))
(build-system pyproject-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(add-after 'build 'build-ext
(lambda _
(invoke "python" "setup.py" "build_ext"
"--inplace")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; Restrict OpenBLAS threads to prevent segfaults while testing!
(setenv "OPENBLAS_NUM_THREADS" "1")
;; Some tests require write access to $HOME.
(setenv "HOME" "/tmp")
;; Step out of the source directory to avoid interference;
;; we want to run the installed code with extensions etc.
(with-directory-excursion "/tmp"
(invoke "pytest" "-vv" "--pyargs"
"sklearn_extra"
;; ignore tests that require network
"-k" "not test_build"))))))))
(propagated-inputs (list python-numpy python-scikit-learn python-scipy))
(native-inputs (list python-pytest python-pytest-cov python-cython))
(home-page "https://github.com/scikit-learn-contrib/scikit-learn-extra")
(synopsis "Set of tools for scikit-learn")
(description
"This package provides a Python module for machine learning that extends
scikit-learn. It includes algorithms that are useful but do not satisfy the
scikit-learn inclusion criteria, for instance due to their novelty or lower
citation number.")
(license license:bsd-3)))
(define-public python-thinc
(package
(name "python-thinc")
@ -1920,9 +1968,9 @@ Covariance Matrix Adaptation Evolution Strategy (CMA-ES) for Python.")
(license license:expat)))
(define-public python-autograd
(let* ((commit "442205dfefe407beffb33550846434baa90c4de7")
(let* ((commit "c6d81ce7eede6db801d4e9a92b27ec5d409d0eab")
(revision "0")
(version (git-version "0.0.0" revision commit)))
(version (git-version "1.5" revision commit)))
(package
(name "python-autograd")
(home-page "https://github.com/HIPS/autograd")
@ -1933,19 +1981,14 @@ Covariance Matrix Adaptation Evolution Strategy (CMA-ES) for Python.")
(commit commit)))
(sha256
(base32
"189sv2xb0mwnjawa9z7mrgdglc1miaq93pnck26r28fi1jdwg0z4"))
"04kljgydng42xlg044h6nbzxpban1ivd6jzb8ydkngfq88ppipfk"))
(file-name (git-file-name name version))))
(version version)
(build-system python-build-system)
(build-system pyproject-build-system)
(native-inputs
(list python-nose python-pytest))
(propagated-inputs
(list python-future python-numpy))
(arguments
`(#:phases (modify-phases %standard-phases
(replace 'check
(lambda _
(invoke "py.test" "-v"))))))
(synopsis "Efficiently computes derivatives of NumPy code")
(description "Autograd can automatically differentiate native Python and
NumPy code. It can handle a large subset of Python's features, including loops,

View File

@ -137,6 +137,7 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages java)
#:use-module (gnu packages less)
#:use-module (gnu packages lisp)
@ -164,6 +165,8 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
@ -173,6 +176,7 @@
#:use-module (gnu packages scheme)
#:use-module (gnu packages serialization)
#:use-module (gnu packages shells)
#:use-module (gnu packages simulation)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages swig)
@ -2917,7 +2921,7 @@ can solve two kinds of problems:
(define-public octave-cli
(package
(name "octave-cli")
(version "8.3.0")
(version "8.4.0")
(source
(origin
(method url-fetch)
@ -2925,7 +2929,7 @@ can solve two kinds of problems:
version ".tar.xz"))
(sha256
(base32
"1aav8i88y2yl11g5d44wpjngkpldvzk90ja7wghkb91cy2a9974i"))))
"1a58zyrl1lx6b6wr2jbf6w806vjxr3jzbh6n85iinag47qxdg6kg"))))
(build-system gnu-build-system)
(inputs
(list alsa-lib
@ -3650,6 +3654,146 @@ Cassowary solver with typical use cases gaining a 40x improvement. Memory
savings are consistently > 5x.")
(license license:bsd-3)))
(define-public python-accupy
(package
(name "python-accupy")
(version "0.3.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/diego-hayashi/accupy")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0sxkwpp2xy2jgakhdxr4nh1cspqv8l89kz6s832h05pbpyc0n767"))
(patches (search-patches "python-accupy-use-matplotx.patch"
"python-accupy-fix-use-of-perfplot.patch"))))
(build-system pyproject-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'set-eigen-include-dir
(lambda _
(substitute* "setup.py"
(("include_dirs=\\[\"\\/usr\\/include\\/eigen3\\/\"\\]," _)
(string-append "include_dirs=[\""
#$(file-append (this-package-input "eigen")
"/include/eigen3/")
"\"],"))))))))
(propagated-inputs (list eigen python-mpmath python-pyfma))
(native-inputs (list pybind11
python-matplotx
python-perfplot
python-pytest))
(home-page "https://github.com/diego-hayashi/accupy")
(synopsis "Accurate calculation of sums and dot products")
(description
"@code{accupy} is a Python library for accurately computing sums
and (dot) products. It implements Kahan summation, Shewchuck's
algorithm and summation in K-fold precision.")
(license license:gpl3+)))
(define-public python-ndim
(package
(name "python-ndim")
(version "0.1.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/diego-hayashi/ndim")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1hri82k7pcpw9dns8l1f2asa3dm7hjv71wnxi3752258ia2qa44v"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-sympy))
(native-inputs (list python-flit-core python-pytest))
(home-page "https://github.com/diego-hayashi/ndim")
(synopsis "Multidimensional volumes and monomial integrals")
(description
"@code{ndim} computes all kinds of volumes and integrals of
monomials over such volumes in a fast, numerically stable way, using
recurrence relations.")
(license license:gpl3+)))
(define-public python-orthopy
(package
(name "python-orthopy")
(version "0.9.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/diego-hayashi/orthopy")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "00s2rwjdlq38zkf7wl1gvm2aw057r30266lkzfxkrfzr4i705xnq"))))
(build-system pyproject-build-system)
(propagated-inputs
(list python-importlib-metadata
python-ndim
python-numpy
python-sympy))
(native-inputs (list ;python-cplot ;only used in deselected tests
python-matplotx
python-meshio
python-meshzoo
python-pytest
python-scipy))
(arguments
(list
#:test-flags
;; These tests fails with unexpected keyword arguments
;; in calls to cplot.
#~(list "--deselect" "tests/test_u3.py::test_write_single"
"--deselect" "tests/test_u3.py::test_write_tree")))
(home-page "https://github.com/diego-hayashi/orthopy")
(synopsis "Tools for orthogonal polynomials, Gaussian quadrature")
(description "@code{orthopy} provides various orthogonal polynomial
classes for lines, triangles, quadrilaterals, disks, spheres, hexahedra,
and n-cubes. All computations are done using numerically stable
recurrence schemes. Furthermore, all functions are fully vectorized and
can return results in exact arithmetic.")
(license license:gpl3+)))
(define-public python-quadpy
(package
(name "python-quadpy")
(version "0.16.10")
(source
(origin
(method url-fetch)
; Download zipfile from zenodo, because git checkout is missing
; some data files that are stored via git-lfs.
(uri (string-append
"https://zenodo.org/records/5541216/files/nschloe/quadpy-v"
version
".zip"))
(sha256
(base32
"1f989dipv7lqxvalfrvvlmhlxyl67a87lavyyqrr1mh88glhl592"))))
(build-system pyproject-build-system)
(propagated-inputs
(list python-importlib-metadata
python-numpy
python-orthopy
python-scipy
python-sympy))
(native-inputs (list python-accupy python-pytest unzip vtk))
(home-page "https://github.com/diego-hayashi/quadpy")
(synopsis "Numerical integration, quadrature for various domains")
(description
"More than 1500 numerical integration schemes for line segments, circles,
disks, triangles, quadrilaterals, spheres, balls, tetrahedra, hexahedra,
wedges, pyramids, n-spheres, n-balls, n-cubes, n-simplices, and the
1D/2D/3D/nD spaces with weight functions exp(-r) and exp(-r2) for fast
integration of real-, complex-, and vector-valued functions.")
(license license:gpl3+)))
(define-public slepc
(package
(name "slepc")
@ -4746,7 +4890,7 @@ point numbers.")
(define-public wxmaxima
(package
(name "wxmaxima")
(version "22.12.0")
(version "23.11.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -4755,7 +4899,7 @@ point numbers.")
(file-name (git-file-name name version))
(sha256
(base32
"12bjadmy2mf7d8v4iszmzckahfcwjzaba8wpbigksh4brvhb4gj5"))))
"0xj91wfkm19avwmpcfwgzdkcqjwfpkl3glhkpn4advsqc6sx3ra0"))))
(build-system cmake-build-system)
(native-inputs (list gettext-minimal))
(inputs (list bash-minimal

View File

@ -154,15 +154,15 @@ parsers to allow execution with Guile as extension languages.")))
(define-public mes
(package
(name "mes")
(version "0.25")
(version "0.26")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/mes/"
"mes-" version ".tar.gz"))
(sha256
(base32
"0h49h85m1jkppfsv95zdxdrrw1q1mwswhq81lwxj1nbyasrm0lij"))))
(supported-systems '("aarch64-linux" "armhf-linux" "i686-linux"
"1m45wcrpp3syzdniqx12nyr6v8f9hsg516pwl1k9894nb2ni08hg"))))
(supported-systems '("armhf-linux" "i686-linux"
"x86_64-linux" "riscv64-linux"))
(propagated-inputs (list mescc-tools nyacc-1.00.2))
(native-inputs
@ -213,14 +213,14 @@ Guile.")
(define-public mescc-tools
(package
(name "mescc-tools")
(version "1.5.0")
(version "1.5.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/" name "/"
name "-" version ".tar.gz"))
(sha256
(base32
"1vjczlajyrbjcx9ld35vhdqbxfdwwy3axg0jray3iwnrf70qr700"))))
"1jak61gxab8bj8ddpgwfn9lqs917szq1phadmg8y5cjsndn1hv4k"))))
(build-system gnu-build-system)
(supported-systems '("i686-linux" "x86_64-linux"
"armhf-linux" "aarch64-linux"
@ -230,11 +230,7 @@ Guile.")
#:make-flags #~(list (string-append "PREFIX=" #$output))
#:test-target "test"
#:phases #~(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'patch-Kaem/test.sh
(lambda _
(substitute* "Kaem/test.sh"
(("#/usr/") "#! /usr")))))))
(delete 'configure))))
(native-inputs (list which))
(synopsis "Tools for the full source bootstrapping process")
(description

View File

@ -33,7 +33,7 @@
(define-public moreutils
(package
(name "moreutils")
(version "0.67")
(version "0.68")
(source (origin
(method url-fetch)
(uri (string-append
@ -42,7 +42,7 @@
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"045d2dfvsd4sxxr2i2qvkpgvi912qj9vc4gpc8fb4hr9q912z1q3"))))
"1rxn01hgm5nypcpnl4s9v5zr4fxzf8vxinzbg0s781qlpk3lpcay"))))
(build-system gnu-build-system)
(arguments
(list #:phases

View File

@ -21,14 +21,14 @@
(define-module (gnu packages ncdu)
#:use-module (gnu packages)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix gexp)
#:use-module (guix build-system gnu)
#:use-module (gnu packages perl)
#:use-module (gnu packages zig))
#:use-module (guix build-system zig))
(define-public ncdu-1
;; This old version is LTS. Version 2 works fine and has more features,
@ -73,29 +73,17 @@ ncurses installed.")
#~(begin
;; Delete a pregenerated man page. We'll build it ourselves.
(delete-file "ncdu.1")))))
(build-system zig-build-system)
(arguments
(list
#:make-flags
#~(list (string-append "PREFIX=" #$output)
(string-append "CC=" #$(cc-for-target))
;; XXX By default, zig builds with -march=native!
(string-append "ZIG_FLAGS=-Drelease-fast -Dcpu=baseline"))
#:phases
#~(modify-phases %standard-phases
(delete 'configure) ; No configure script.
(add-before 'build 'pre-build
(lambda _
(setenv "ZIG_GLOBAL_CACHE_DIR"
(mkdtemp "/tmp/zig-cache-XXXXXX"))))
(delete 'validate-runpath)
(add-after 'build 'build-manpage
(lambda _
(invoke "make" "doc")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "zig" "test" "build.zig")))))))
(native-inputs
(list perl zig-0.10))))
(invoke "make" "doc"))))))
(native-inputs (list perl))
(properties `((tunable? . #t)))))
(define-public ncdu-2
(deprecated-package "ncdu2" ncdu))

View File

@ -174,8 +174,8 @@
;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this.
(let ((version "1.4.0")
(commit "a60ff4611a8814d1f33d64af07401762afbcc597")
(revision 14))
(commit "aeb494322ca9dec4a4d66a7d063239c8536bd538")
(revision 16))
(package
(name "guix")
@ -191,7 +191,7 @@
(commit commit)))
(sha256
(base32
"08czk2789y21cydg1xwwrmah8hjaprdnzvb993n7d7d70ccxk5kz"))
"1xl769lkpvkjpvq4vwkxm4dp77sr9finvr6izvf4kvyi6s3hbsys"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@ -524,7 +524,7 @@ $(prefix)/etc/openrc\n")))
("git-minimal" ,git-minimal) ;for 'guix perform-download'
("glibc-utf8-locales" ,glibc-utf8-locales)))
("glibc-utf8-locales" ,(libc-utf8-locales-for-target))))
(propagated-inputs
`(("guile-gnutls" ,guile-gnutls)
;; Avahi requires "glib" which doesn't cross-compile yet.
@ -2052,7 +2052,7 @@ cp -r /tmp/locale/*/en_US.*")))
dbus ; for dbus-daemon
gettext-minimal
`(,glib "bin") ; for glib-mkenums + gdbus-codegen
glibc-utf8-locales
(libc-utf8-locales-for-target)
gobject-introspection
libcap
pkg-config

View File

@ -131,7 +131,7 @@ and they are executed on lists of files, hosts, users or other items.")
(define-public xe
(package
(name "xe")
(version "0.11")
(version "1.0")
(source
(origin
(method git-fetch)
@ -140,7 +140,7 @@ and they are executed on lists of files, hosts, users or other items.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "04jr8f6jcijr0bsmn8ajm0aj35qh9my3xjsaq64h8lwg5bpyn29x"))))
(base32 "1ijvf7q5pxk4rlj7p9q6fmpdqiwmc28gffkk6yg390k1a1z3msf9"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f

View File

@ -0,0 +1,39 @@
If the size of int is different from IGRAPH_INTEGER_SIZE, the integer size
passed to these vararg arguments is different from the assumed one,
leading to undefined behavior.
Submitted upstream: https://github.com/igraph/igraph/pull/2423
diff -ur a/examples/simple/igraph_union.c b/examples/simple/igraph_union.c
--- a/examples/simple/igraph_union.c
+++ b/examples/simple/igraph_union.c
@@ -103,7 +103,7 @@
igraph_vector_ptr_init(&glist, 10);
for (i = 0; i < igraph_vector_ptr_size(&glist); i++) {
VECTOR(glist)[i] = calloc(1, sizeof(igraph_t));
- igraph_vector_int_init_int_end(&v, -1, i, i + 1, 1, 0, -1);
+ igraph_vector_int_init_int_end(&v, -1, (int) i, (int) i + 1, 1, 0, -1);
igraph_create(VECTOR(glist)[i], &v, 0, IGRAPH_DIRECTED);
igraph_vector_int_destroy(&v);
}
@@ -123,7 +123,7 @@
igraph_vector_ptr_init(&glist, 10);
for (i = 0; i < igraph_vector_ptr_size(&glist); i++) {
VECTOR(glist)[i] = calloc(1, sizeof(igraph_t));
- igraph_vector_int_init_int_end(&v, -1, i, i + 1, 1, 0, -1);
+ igraph_vector_int_init_int_end(&v, -1, (int) i, (int) i + 1, 1, 0, -1);
igraph_create(VECTOR(glist)[i], &v, 0, IGRAPH_UNDIRECTED);
igraph_vector_int_destroy(&v);
}
diff -ur a/src/core/matrix.pmt b/src/core/matrix.pmt
--- a/src/core/matrix.pmt
+++ b/src/core/matrix.pmt
@@ -1863,7 +1863,7 @@
#ifdef FPRINTFUNC_ALIGNED
FPRINTFUNC_ALIGNED(file, VECTOR(column_width)[j], MATRIX(*m, i, j));
#else
- fprintf(file, format, VECTOR(column_width)[j], MATRIX(*m, i, j));
+ fprintf(file, format, (int) VECTOR(column_width)[j], MATRIX(*m, i, j));
#endif
}
fprintf(file, "\n");

View File

@ -1,505 +0,0 @@
diff --git a/lib/igt_aux.c b/lib/igt_aux.c
index 672d7d4b0..4c24b0928 100644
--- a/lib/igt_aux.c
+++ b/lib/igt_aux.c
@@ -52,8 +52,16 @@
#include <assert.h>
#include <grp.h>
-#include <proc/readproc.h>
-#include <libudev.h>
+#ifdef HAVE_LIBPROCPS
+# include <proc/readproc.h>
+#else
+# include <libproc2/pids.h>
+#endif
+
+#include <dirent.h>
+#ifdef __linux__
+# include <libudev.h>
+#endif
#include "drmtest.h"
#include "i915_drm.h"
@@ -1217,6 +1225,7 @@ void igt_unlock_mem(void)
*/
int igt_is_process_running(const char *comm)
{
+#if HAVE_LIBPROCPS
PROCTAB *proc;
proc_t *proc_info;
bool found = false;
@@ -1235,6 +1244,26 @@ int igt_is_process_running(const char *comm)
closeproc(proc);
return found;
+#else
+ enum pids_item Item[] = { PIDS_CMD };
+ struct pids_info *info = NULL;
+ struct pids_stack *stack;
+ char *pid_comm;
+ bool found = false;
+
+ if (procps_pids_new(&info, Item, 1) < 0)
+ return false;
+ while ((stack = procps_pids_get(info, PIDS_FETCH_TASKS_ONLY))) {
+ pid_comm = PIDS_VAL(0, str, stack, info);
+ if (!strncasecmp(pid_comm, comm, strlen(pid_comm))) {
+ found = true;
+ break;
+ }
+ }
+
+ procps_pids_unref(&info);
+ return found;
+#endif
}
/**
@@ -1251,6 +1280,7 @@ int igt_is_process_running(const char *comm)
*/
int igt_terminate_process(int sig, const char *comm)
{
+#if HAVE_LIBPROCPS
PROCTAB *proc;
proc_t *proc_info;
int err = 0;
@@ -1272,6 +1302,28 @@ int igt_terminate_process(int sig, const char *comm)
closeproc(proc);
return err;
+#else
+ enum pids_item Items[] = { PIDS_ID_PID, PIDS_CMD };
+ struct pids_info *info = NULL;
+ struct pids_stack *stack;
+ char *pid_comm;
+ int pid;
+ int err = 0;
+
+ if (procps_pids_new(&info, Items, 2) < 0)
+ return -errno;
+ while ((stack = procps_pids_get(info, PIDS_FETCH_TASKS_ONLY))) {
+ pid = PIDS_VAL(0, s_int, stack, info);
+ pid_comm = PIDS_VAL(1, str, stack, info);
+ if (!strncasecmp(pid_comm, comm, strlen(pid_comm))) {
+ if (kill(pid, sig) < 0)
+ err = -errno;
+ break;
+ }
+ }
+ procps_pids_unref(&info);
+ return err;
+#endif
}
struct pinfo {
@@ -1341,9 +1393,9 @@ igt_show_stat_header(void)
}
static void
-igt_show_stat(proc_t *info, int *state, const char *fn)
+igt_show_stat(const pid_t tid, const char *cmd, int *state, const char *fn)
{
- struct pinfo p = { .pid = info->tid, .comm = info->cmd, .fn = fn };
+ struct pinfo p = { .pid = tid, .comm = cmd, .fn = fn };
if (!*state)
igt_show_stat_header();
@@ -1353,7 +1405,7 @@ igt_show_stat(proc_t *info, int *state, const char *fn)
}
static void
-__igt_lsof_fds(proc_t *proc_info, int *state, char *proc_path, const char *dir)
+__igt_lsof_fds(const pid_t tid, const char *cmd, int *state, char *proc_path, const char *dir)
{
struct dirent *d;
struct stat st;
@@ -1400,7 +1452,7 @@ again:
dirn = dirname(copy_fd_lnk);
if (!strncmp(dir, dirn, strlen(dir)))
- igt_show_stat(proc_info, state, fd_lnk);
+ igt_show_stat(tid, cmd, state, fd_lnk);
free(copy_fd_lnk);
free(fd_lnk);
@@ -1416,13 +1468,13 @@ again:
static void
__igt_lsof(const char *dir)
{
- PROCTAB *proc;
- proc_t *proc_info;
-
char path[30];
char *name_lnk;
struct stat st;
int state = 0;
+#ifdef HAVE_LIBPROCPS
+ PROCTAB *proc;
+ proc_t *proc_info;
proc = openproc(PROC_FILLCOM | PROC_FILLSTAT | PROC_FILLARG);
igt_assert(proc != NULL);
@@ -1443,19 +1495,56 @@ __igt_lsof(const char *dir)
name_lnk[read] = '\0';
if (!strncmp(dir, name_lnk, strlen(dir)))
- igt_show_stat(proc_info, &state, name_lnk);
+ igt_show_stat(proc_info->tid, proc_info->cmd, &state, name_lnk);
/* check also fd, seems that lsof(8) doesn't look here */
memset(path, 0, sizeof(path));
snprintf(path, sizeof(path), "/proc/%d/fd", proc_info->tid);
- __igt_lsof_fds(proc_info, &state, path, dir);
+ __igt_lsof_fds(proc_info->tid, proc_info->cmd, &state, path, dir);
free(name_lnk);
freeproc(proc_info);
}
closeproc(proc);
+#else
+ enum pids_item Items[] = { PIDS_ID_PID, PIDS_CMD };
+ struct pids_info *info = NULL;
+ struct pids_stack *stack;
+
+ if (procps_pids_new(&info, Items, 2) < 0)
+ return;
+ while ((stack = procps_pids_get(info, PIDS_FETCH_TASKS_ONLY))) {
+ ssize_t read;
+ int tid = PIDS_VAL(0, s_int, stack, info);
+ char *pid_comm = PIDS_VAL(1, str, stack, info);
+
+ /* check current working directory */
+ memset(path, 0, sizeof(path));
+ snprintf(path, sizeof(path), "/proc/%d/cwd", tid);
+
+ if (stat(path, &st) == -1)
+ continue;
+
+ name_lnk = malloc(st.st_size + 1);
+
+ igt_assert((read = readlink(path, name_lnk, st.st_size + 1)));
+ name_lnk[read] = '\0';
+
+ if (!strncmp(dir, name_lnk, strlen(dir)))
+ igt_show_stat(tid, pid_comm, &state, name_lnk);
+
+ /* check also fd, seems that lsof(8) doesn't look here */
+ memset(path, 0, sizeof(path));
+ snprintf(path, sizeof(path), "/proc/%d/fd", tid);
+
+ __igt_lsof_fds(tid, pid_comm, &state, path, dir);
+
+ free(name_lnk);
+ }
+ procps_pids_unref(&info);
+#endif
}
/**
@@ -1490,7 +1579,7 @@ igt_lsof(const char *dpath)
free(sanitized);
}
-static void pulseaudio_unload_module(proc_t *proc_info)
+static void pulseaudio_unload_module(const uid_t euid, const gid_t egid)
{
struct igt_helper_process pa_proc = {};
char xdg_dir[PATH_MAX];
@@ -1498,14 +1587,14 @@ static void pulseaudio_unload_module(proc_t *proc_info)
struct passwd *pw;
igt_fork_helper(&pa_proc) {
- pw = getpwuid(proc_info->euid);
+ pw = getpwuid(euid);
homedir = pw->pw_dir;
- snprintf(xdg_dir, sizeof(xdg_dir), "/run/user/%d", proc_info->euid);
+ snprintf(xdg_dir, sizeof(xdg_dir), "/run/user/%d", euid);
igt_info("Request pulseaudio to stop using audio device\n");
- setgid(proc_info->egid);
- setuid(proc_info->euid);
+ setgid(egid);
+ setuid(euid);
clearenv();
setenv("HOME", homedir, 1);
setenv("XDG_RUNTIME_DIR",xdg_dir, 1);
@@ -1524,10 +1613,13 @@ static void pipewire_reserve_wait(void)
char xdg_dir[PATH_MAX];
const char *homedir;
struct passwd *pw;
- proc_t *proc_info;
- PROCTAB *proc;
+ int tid = 0, euid, egid;
+#ifdef HAVE_LIBPROCPS
igt_fork_helper(&pw_reserve_proc) {
+ proc_t *proc_info;
+ PROCTAB *proc;
+
igt_info("Preventing pipewire-pulse to use the audio drivers\n");
proc = openproc(PROC_FILLCOM | PROC_FILLSTAT | PROC_FILLARG);
@@ -1540,19 +1632,45 @@ static void pipewire_reserve_wait(void)
}
closeproc(proc);
+ tid = proc_info->tid;
+ euid = proc_info->euid;
+ egid = proc_info->egid;
+ freeproc(proc_info);
+#else
+ igt_fork_helper(&pw_reserve_proc) {
+ enum pids_item Items[] = { PIDS_ID_PID, PIDS_ID_EUID, PIDS_ID_EGID };
+ enum rel_items { EU_PID, EU_EUID, EU_EGID };
+ struct pids_info *info = NULL;
+ struct pids_stack *stack;
+
+ igt_info("Preventing pipewire-pulse to use the audio drivers\n");
+
+ if (procps_pids_new(&info, Items, 3) < 0) {
+ igt_info("error getting pids: %d\n", errno);
+ exit(errno);
+ }
+ while ((stack = procps_pids_get(info, PIDS_FETCH_TASKS_ONLY))) {
+ tid = PIDS_VAL(EU_PID, s_int, stack, info);
+ if (pipewire_pulse_pid == tid)
+ break;
+ }
+ euid = PIDS_VAL(EU_EUID, s_int, stack, info);
+ egid = PIDS_VAL(EU_EGID, s_int, stack, info);
+ procps_pids_unref(&info);
+#endif
+
/* Sanity check: if it can't find the process, it means it has gone */
- if (pipewire_pulse_pid != proc_info->tid)
+ if (pipewire_pulse_pid != tid)
exit(0);
- pw = getpwuid(proc_info->euid);
+ pw = getpwuid(euid);
homedir = pw->pw_dir;
- snprintf(xdg_dir, sizeof(xdg_dir), "/run/user/%d", proc_info->euid);
- setgid(proc_info->egid);
- setuid(proc_info->euid);
+ snprintf(xdg_dir, sizeof(xdg_dir), "/run/user/%d", euid);
+ setgid(egid);
+ setuid(euid);
clearenv();
setenv("HOME", homedir, 1);
setenv("XDG_RUNTIME_DIR",xdg_dir, 1);
- freeproc(proc_info);
/*
* pw-reserve will run in background. It will only exit when
@@ -1570,9 +1688,7 @@ static void pipewire_reserve_wait(void)
int pipewire_pulse_start_reserve(void)
{
bool is_pw_reserve_running = false;
- proc_t *proc_info;
int attempts = 0;
- PROCTAB *proc;
if (!pipewire_pulse_pid)
return 0;
@@ -1584,6 +1700,10 @@ int pipewire_pulse_start_reserve(void)
* pipewire version 0.3.50 or upper.
*/
for (attempts = 0; attempts < PIPEWIRE_RESERVE_MAX_TIME; attempts++) {
+#ifdef HAVE_LIBPROCPS
+ PROCTAB *proc;
+ proc_t *proc_info;
+
usleep(1000);
proc = openproc(PROC_FILLCOM | PROC_FILLSTAT | PROC_FILLARG);
igt_assert(proc != NULL);
@@ -1598,6 +1718,24 @@ int pipewire_pulse_start_reserve(void)
freeproc(proc_info);
}
closeproc(proc);
+#else
+ enum pids_item Items[] = { PIDS_ID_PID, PIDS_CMD };
+ struct pids_info *info = NULL;
+ struct pids_stack *stack;
+
+ usleep(1000);
+
+ if (procps_pids_new(&info, Items, 2) < 0)
+ return 1;
+ while ((stack = procps_pids_get(info, PIDS_FETCH_TASKS_ONLY))) {
+ if (!strcmp(PIDS_VAL(1, str, stack, info), "pw-reserve")) {
+ is_pw_reserve_running = true;
+ pipewire_pw_reserve_pid = PIDS_VAL(0, s_int, stack, info);
+ break;
+ }
+ }
+ procps_pids_unref(&info);
+#endif
if (is_pw_reserve_running)
break;
}
@@ -1645,7 +1783,7 @@ void pipewire_pulse_stop_reserve(void)
* If the check fails, it means that the process can simply be killed.
*/
static int
-__igt_lsof_audio_and_kill_proc(proc_t *proc_info, char *proc_path)
+__igt_lsof_audio_and_kill_proc(const pid_t tid, const char *cmd, const uid_t euid, const gid_t egid, char *proc_path)
{
const char *audio_dev = "/dev/snd/";
char path[PATH_MAX * 2];
@@ -1670,10 +1808,10 @@ __igt_lsof_audio_and_kill_proc(proc_t *proc_info, char *proc_path)
* 2) unload/unbind the the audio driver(s);
* 3) stop the pw-reserve thread.
*/
- if (!strcmp(proc_info->cmd, "pipewire-pulse")) {
+ if (!strcmp(cmd, "pipewire-pulse")) {
igt_info("process %d (%s) is using audio device. Should be requested to stop using them.\n",
- proc_info->tid, proc_info->cmd);
- pipewire_pulse_pid = proc_info->tid;
+ tid, cmd);
+ pipewire_pulse_pid = tid;
return 0;
}
/*
@@ -1685,9 +1823,9 @@ __igt_lsof_audio_and_kill_proc(proc_t *proc_info, char *proc_path)
* will respawn them. So, just ignore here, they'll honor pw-reserve,
* when the time comes.
*/
- if (!strcmp(proc_info->cmd, "pipewire-media-session"))
+ if (!strcmp(cmd, "pipewire-media-session"))
return 0;
- if (!strcmp(proc_info->cmd, "wireplumber"))
+ if (!strcmp(cmd, "wireplumber"))
return 0;
dp = opendir(proc_path);
@@ -1723,22 +1861,22 @@ __igt_lsof_audio_and_kill_proc(proc_t *proc_info, char *proc_path)
* enough to unbind audio modules and won't cause race issues
* with systemd trying to reload it.
*/
- if (!strcmp(proc_info->cmd, "pulseaudio")) {
- pulseaudio_unload_module(proc_info);
+ if (!strcmp(cmd, "pulseaudio")) {
+ pulseaudio_unload_module(euid, egid);
break;
}
/* For all other processes, just kill them */
igt_info("process %d (%s) is using audio device. Should be terminated.\n",
- proc_info->tid, proc_info->cmd);
+ tid, cmd);
- if (kill(proc_info->tid, SIGTERM) < 0) {
+ if (kill(tid, SIGTERM) < 0) {
igt_info("Fail to terminate %s (pid: %d) with SIGTERM\n",
- proc_info->cmd, proc_info->tid);
- if (kill(proc_info->tid, SIGABRT) < 0) {
+ cmd, tid);
+ if (kill(tid, SIGABRT) < 0) {
fail++;
igt_info("Fail to terminate %s (pid: %d) with SIGABRT\n",
- proc_info->cmd, proc_info->tid);
+ cmd, tid);
}
}
@@ -1760,23 +1898,47 @@ int
igt_lsof_kill_audio_processes(void)
{
char path[PATH_MAX];
+ int fail = 0;
+
+#ifdef HAVE_LIBPROCPS
proc_t *proc_info;
PROCTAB *proc;
- int fail = 0;
proc = openproc(PROC_FILLCOM | PROC_FILLSTAT | PROC_FILLARG);
igt_assert(proc != NULL);
pipewire_pulse_pid = 0;
-
while ((proc_info = readproc(proc, NULL))) {
if (snprintf(path, sizeof(path), "/proc/%d/fd", proc_info->tid) < 1)
fail++;
else
- fail += __igt_lsof_audio_and_kill_proc(proc_info, path);
+ fail += __igt_lsof_audio_and_kill_proc(proc_info->tid, proc_info->cmd, proc_info->euid, proc_info->egid, path);
freeproc(proc_info);
}
closeproc(proc);
+#else
+ enum pids_item Items[] = { PIDS_ID_PID, PIDS_CMD, PIDS_ID_EUID, PIDS_ID_EGID };
+ enum rel_items { EU_PID, EU_CMD, EU_EUID, EU_EGID };
+ struct pids_info *info = NULL;
+ struct pids_stack *stack;
+ pid_t tid;
+
+ if (procps_pids_new(&info, Items, 4) < 0)
+ return 1;
+ while ((stack = procps_pids_get(info, PIDS_FETCH_TASKS_ONLY))) {
+ tid = PIDS_VAL(EU_PID, s_int, stack, info);
+
+ if (snprintf(path, sizeof(path), "/proc/%d/fd", tid) < 1)
+ fail++;
+ else
+ fail += __igt_lsof_audio_and_kill_proc(tid,
+ PIDS_VAL(EU_CMD, str, stack, info),
+ PIDS_VAL(EU_EUID, s_int, stack, info),
+ PIDS_VAL(EU_EGID, s_int, stack, info),
+ path);
+ }
+ procps_pids_unref(&info);
+#endif
return fail;
}
diff --git a/lib/meson.build b/lib/meson.build
index 85f100f75..55efdc83b 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -114,7 +114,6 @@ lib_deps = [
libdrm,
libdw,
libkmod,
- libprocps,
libudev,
math,
pciaccess,
@@ -178,6 +177,12 @@ if chamelium.found()
lib_sources += 'monitor_edids/monitor_edids_helper.c'
endif
+if libprocps.found()
+ lib_deps += libprocps
+else
+ lib_deps += libproc2
+endif
+
if get_option('srcdir') != ''
srcdir = join_paths(get_option('srcdir'), 'tests')
else
diff --git a/meson.build b/meson.build
index 1c872cc9c..0487158dc 100644
--- a/meson.build
+++ b/meson.build
@@ -125,7 +125,15 @@ build_info += 'With libdrm: ' + ','.join(libdrm_info)
pciaccess = dependency('pciaccess', version : '>=0.10')
libkmod = dependency('libkmod')
-libprocps = dependency('libprocps', required : true)
+libprocps = dependency('libprocps', required : false)
+libproc2 = dependency('libproc2', required : false)
+if libprocps.found()
+ config.set('HAVE_LIBPROCPS', 1)
+elif libproc2.found()
+ config.set('HAVE_LIBPROC2', 1)
+else
+ error('Either libprocps or libproc2 is required')
+endif
libunwind = dependency('libunwind', required : get_option('libunwind'))
build_info += 'With libunwind: @0@'.format(libunwind.found())

View File

@ -0,0 +1,51 @@
From cddbfa3ade23695dd9996f6e208615702a3a42e1 Mon Sep 17 00:00:00 2001
From: Liliana Marie Prikler <liliana.prikler@ist.tugraz.at>
Date: Thu, 23 Nov 2023 09:53:38 +0100
Subject: [PATCH 1/2] normalization: No longer work around compiler bugs in
Precondition.
To: Patrick Lühne <patrick-github@luehne.de>
Cc: Martin Gebser <martin.gebser@aau.at>
Newer versions of GCC (such as GCC 11) point out that std::move is meaningless
in this position, so remove it.
---
lib/pddl/src/pddl/detail/normalization/Precondition.cpp | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/lib/pddl/src/pddl/detail/normalization/Precondition.cpp b/lib/pddl/src/pddl/detail/normalization/Precondition.cpp
index 4eebfee..4297e52 100644
--- a/lib/pddl/src/pddl/detail/normalization/Precondition.cpp
+++ b/lib/pddl/src/pddl/detail/normalization/Precondition.cpp
@@ -83,8 +83,7 @@ normalizedAST::Literal normalizeNested(ast::AndPointer<ast::Precondition> &and_,
derivedPredicate->declaration->precondition = std::make_unique<normalizedAST::And<normalizedAST::Literal>>(std::move(normalizedArguments));
- // TODO: investigate, could be a compiler bug
- return std::move(derivedPredicate);
+ return derivedPredicate;
}
////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -112,8 +111,7 @@ normalizedAST::Literal normalizeNested(ast::ExistsPointer<ast::Precondition> &ex
return normalizeTopLevel(x, normalizationContext);
});
- // TODO: investigate, could be a compiler bug
- return std::move(derivedPredicate);
+ return derivedPredicate;
}
////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -174,8 +172,7 @@ normalizedAST::Literal normalizeNested(ast::OrPointer<ast::Precondition> &or_, d
derivedPredicate->declaration->precondition = std::make_unique<normalizedAST::Or<normalizedAST::Literal>>(std::move(normalizedArguments));
- // TODO: investigate, could be a compiler bug
- return std::move(derivedPredicate);
+ return derivedPredicate;
}
////////////////////////////////////////////////////////////////////////////////////////////////////
--
2.41.0

View File

@ -0,0 +1,26 @@
From 95c6a506e14cf248e2a3cae2ed3f41ed1eedf278 Mon Sep 17 00:00:00 2001
From: Liliana Marie Prikler <liliana.prikler@ist.tugraz.at>
Date: Thu, 23 Nov 2023 09:53:38 +0100
Subject: [PATCH 2/2] app: Add missing #include <iostream>.
To: Patrick Lühne <patrick-github@luehne.de>
Cc: Martin Gebser <martin.gebser@aau.at>
---
app/include/plasp-app/Command.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/app/include/plasp-app/Command.h b/app/include/plasp-app/Command.h
index 5755ee3..671804b 100644
--- a/app/include/plasp-app/Command.h
+++ b/app/include/plasp-app/Command.h
@@ -1,6 +1,7 @@
#ifndef __PLASP_APP__COMMAND_H
#define __PLASP_APP__COMMAND_H
+#include <iostream> // std::cout, std::endl
#include <tuple>
#include <cxxopts.hpp>
--
2.41.0

View File

@ -0,0 +1,48 @@
From 567558a4eb9b73ab30f9e469b36091eccf445f80 Mon Sep 17 00:00:00 2001
From: Felix Gruber <felgru@posteo.net>
Date: Sun, 23 Apr 2023 16:48:59 +0200
Subject: [PATCH] Fix use of perfplot.
data tuples are unpacked by perfplot before it calls the kernel
functions.
---
tests/test_dot.py | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/tests/test_dot.py b/tests/test_dot.py
index a8160fe..51307ad 100644
--- a/tests/test_dot.py
+++ b/tests/test_dot.py
@@ -76,10 +76,10 @@ def test_speed_comparison1(n_range=None):
perfplot.plot(
setup=lambda n: (np.random.rand(n, 100), np.random.rand(100, n)),
kernels=[
- lambda xy: np.dot(*xy),
- lambda xy: accupy.kdot(*xy, K=2),
- lambda xy: accupy.kdot(*xy, K=3),
- lambda xy: accupy.fdot(*xy),
+ lambda x, y: np.dot(x, y),
+ lambda x, y: accupy.kdot(x, y, K=2),
+ lambda x, y: accupy.kdot(x, y, K=3),
+ lambda x, y: accupy.fdot(x, y),
],
labels=["np.dot", "accupy.kdot[2]", "accupy.kdot[3]", "accupy.fdot"],
n_range=n_range,
@@ -96,10 +96,10 @@ def test_speed_comparison2(n_range=None):
perfplot.plot(
setup=lambda n: (np.random.rand(100, n), np.random.rand(n, 100)),
kernels=[
- lambda xy: np.dot(*xy),
- lambda xy: accupy.kdot(*xy, K=2),
- lambda xy: accupy.kdot(*xy, K=3),
- lambda xy: accupy.fdot(*xy),
+ lambda x, y: np.dot(x, y),
+ lambda x, y: accupy.kdot(x, y, K=2),
+ lambda x, y: accupy.kdot(x, y, K=3),
+ lambda x, y: accupy.fdot(x, y),
],
labels=["np.dot", "accupy.kdot[2]", "accupy.kdot[3]", "accupy.fdot"],
n_range=n_range,
--
2.39.2

View File

@ -0,0 +1,113 @@
From 1da1ed24cfba8a051b6c2f452a67ebfee77ca040 Mon Sep 17 00:00:00 2001
From: Felix Gruber <felgru@posteo.net>
Date: Sun, 23 Apr 2023 15:42:19 +0200
Subject: [PATCH] Use dufte style from matplotx.
The stand-alone dufte package has been deprecated in favor of the dufte
style that has been integrated into matplotx.
---
tests/test_dot.py | 10 +++++-----
tests/test_sums.py | 12 ++++++------
tox.ini | 2 +-
3 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/tests/test_dot.py b/tests/test_dot.py
index 0a40a0c..a8160fe 100644
--- a/tests/test_dot.py
+++ b/tests/test_dot.py
@@ -1,5 +1,5 @@
-import dufte
import matplotlib.pyplot as plt
+import matplotx
import numpy as np
import perfplot
import pytest
@@ -33,7 +33,7 @@ def test_fdot(cond):
def test_accuracy_comparison_illcond(target_cond=None):
- plt.style.use(dufte.style)
+ plt.style.use(matplotx.styles.dufte)
if target_cond is None:
target_cond = [10 ** k for k in range(2)]
@@ -61,13 +61,13 @@ def test_accuracy_comparison_illcond(target_cond=None):
for label, d in zip(labels, data.T):
plt.loglog(condition_numbers, d, label=label)
- dufte.legend()
+ matplotx.line_labels()
plt.xlabel("condition number")
- dufte.ylabel("relative error")
+ matplotx.ylabel_top("relative error")
def test_speed_comparison1(n_range=None):
- plt.style.use(dufte.style)
+ plt.style.use(matplotx.styles.dufte)
if n_range is None:
n_range = [2 ** k for k in range(2)]
diff --git a/tests/test_sums.py b/tests/test_sums.py
index 1c0f6b0..8cd9ddb 100644
--- a/tests/test_sums.py
+++ b/tests/test_sums.py
@@ -1,5 +1,5 @@
-import dufte
import matplotlib.pyplot as plt
+import matplotx
import numpy as np
import perfplot
import pytest
@@ -32,7 +32,7 @@ def test_fsum(cond):
def test_accuracy_comparison_illcond(target_conds=None):
- plt.style.use(dufte.style)
+ plt.style.use(matplotx.styles.dufte)
if target_conds is None:
target_conds = [10 ** k for k in range(1, 2)]
@@ -71,14 +71,14 @@ def test_accuracy_comparison_illcond(target_conds=None):
for label, color, d in zip(labels, colors, data.T):
plt.loglog(condition_numbers, d, label=label, color=color)
- dufte.legend()
+ matplotx.line_labels()
plt.xlabel("condition number")
- dufte.ylabel("relative error")
+ matplotx.ylabel_top("relative error")
# plt.gca().set_aspect(1.3)
def test_speed_comparison1(n_range=None):
- plt.style.use(dufte.style)
+ plt.style.use(matplotx.styles.dufte)
if n_range is None:
n_range = [2 ** k for k in range(2)]
@@ -109,7 +109,7 @@ def test_speed_comparison1(n_range=None):
def test_speed_comparison2(n_range=None):
- plt.style.use(dufte.style)
+ plt.style.use(matplotx.styles.dufte)
if n_range is None:
n_range = [2 ** k for k in range(2)]
diff --git a/tox.ini b/tox.ini
index 79a53ec..524b3bc 100644
--- a/tox.ini
+++ b/tox.ini
@@ -4,7 +4,7 @@ isolated_build = True
[testenv]
deps =
- dufte
+ matplotx
perfplot
pytest
pytest-cov
--
2.39.2

View File

@ -0,0 +1,35 @@
From a885c54d54e71a089b916502f1c222ef14a07a93 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Brunner?= <stephane.brunner@camptocamp.com>
Date: Mon, 15 Aug 2022 10:41:40 +0200
Subject: [PATCH] Fix the tests
---
tests/test_sphinx_prompt.py | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/tests/test_sphinx_prompt.py b/tests/test_sphinx_prompt.py
index 47d16c5..6a31798 100644
--- a/tests/test_sphinx_prompt.py
+++ b/tests/test_sphinx_prompt.py
@@ -1,3 +1,7 @@
+from io import StringIO
+
+import docutils.statemachine
+import docutils.utils
import pytest
sphinx_prompt = __import__("sphinx_prompt")
@@ -150,6 +154,12 @@
def test(arguments, options, content, expected):
sphinx_prompt._cache.next_index = 1
sphinx_prompt._cache.prompts.clear()
- directive = sphinx_prompt.PromptDirective("prompt", arguments, options, content, 0, 0, "", None, None)
+ stream = StringIO()
+ reporter = docutils.utils.Reporter("test data", 2, 4, stream, 1)
+ statemachine = docutils.statemachine.StateMachine([], None)
+ setattr(statemachine, "reporter", reporter)
+ directive = sphinx_prompt.PromptDirective(
+ "prompt", arguments, options, content, 0, 0, "", None, statemachine
+ )
result = directive.run()
assert result[0].astext() == expected

View File

@ -0,0 +1,36 @@
From 1dc188129950031243c5a0c80ec2562fab8ec549 Mon Sep 17 00:00:00 2001
From: Ekaitz Zarraga <ekaitz@elenq.tech>
Date: Sat, 18 Nov 2023 15:04:16 +0100
Subject: [PATCH] Use `baseline` cpu by default.
This helps Guix tune the package later. Tunning will only add
`-Dcpu=whatever` which should override the standard behaviour.
Zig by default uses `native`, which interferes with our build process.
In our previous zig-build-system we chose to add `-Dcpu=baseline` flag
in each `zig build` execution, but that doesn't allow us to tune the
package later. Tunning is only designed to add extra flags in the
command line call, and we already had one set for the baseline case.
With this patch we set the standard behavior to `baseline` so we don't
need to add the `-Dcpu=baseline` flag in the zig-build-system and we can
tune with no issues.
---
lib/std/zig/CrossTarget.zig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/std/zig/CrossTarget.zig b/lib/std/zig/CrossTarget.zig
index 6c59a4a3a..f5ec065fe 100644
--- a/lib/std/zig/CrossTarget.zig
+++ b/lib/std/zig/CrossTarget.zig
@@ -12,7 +12,7 @@ const mem = std.mem;
/// `null` means native.
cpu_arch: ?Target.Cpu.Arch = null,
-cpu_model: CpuModel = CpuModel.determined_by_cpu_arch,
+cpu_model: CpuModel = CpuModel.baseline,
/// Sparse set of CPU features to add to the set from `cpu_model`.
cpu_features_add: Target.Cpu.Feature.Set = Target.Cpu.Feature.Set.empty,
--
2.41.0

View File

@ -824,14 +824,14 @@ and based on PDF specification 1.7.")
(define-public mupdf
(package
(name "mupdf")
(version "1.23.4")
(version "1.23.7")
(source
(origin
(method url-fetch)
(uri (string-append "https://mupdf.com/downloads/archive/"
"mupdf-" version "-source.tar.lz"))
(sha256
(base32 "0068swdrlq9q7pkg3dxn4rschxm5j37pd4vz0cb2pcry75rdmxpc"))
(base32 "0d0ig1amxyy50jvfbn6rz49zd0980p6syqzcx5v7wg0c3pl2iwwm"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-1)))

View File

@ -198,6 +198,10 @@
"Zend/tests/concat_003.phpt"))
((target-x86-32?)
`(list "ext/dba/tests/dba_gdbm.phpt"))
((target-ppc32?)
`(list "sapi/phpdbg/tests/watch_001.phpt"
"sapi/phpdbg/tests/watch_003.phpt"
"sapi/phpdbg/tests/watch_004.phpt"))
((target-ppc64le?)
`(list
;; phpdbg watchpoints don't work.

View File

@ -243,6 +243,38 @@ satisfiability checking (SAT).")
over difference logic.")
(license license:expat)))
(define-public plasp
(package
(name "plasp")
(version "3.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/potassco/plasp")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "123v1bjzh7yjwgcc5k55rkfz0lfl8ish5p3z8x3pn8k1svd50xal"))
(patches (search-patches
"plasp-fix-normalization.patch"
"plasp-include-iostream.patch"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f ; No test target
#:phases
#~(modify-phases %standard-phases
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(copy-recursively "bin"
(string-append (assoc-ref outputs "out")
"/bin")))))))
(inputs (list cxxopts mapbox-variant))
(home-page "https://potassco.org/")
(synopsis "ASP planning tools for PDDL")
(description "@command{plasp} is a tool collection for planning in
answer set programming. It supports a subset of PDDL 3.1 and SAS 3.")
(license license:expat)))
(define-public emacs-pasp-mode
(let ((commit "59385eb0e8ebcfc8c11dd811fb145d4b0fa3cc92")
(revision "1"))

View File

@ -14,7 +14,7 @@
;;; Copyright © 2021 Roel Janssen <roel@gnu.org>
;;; Copyright © 2021 Paul Garlick <pgarlick@tourbillion-technology.com>
;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021, 2023 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2022 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
;;; Copyright © 2022 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
@ -420,6 +420,31 @@ manipulation and analysis, in the style of the Polygon object in the Shapely
library.")
(license license:expat)))
(define-public python-meshzoo
(package
(name "python-meshzoo")
(version "0.9.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/diego-hayashi/meshzoo")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "107byfppbq16fqyp2hw7ydcvvahspzq0hzvlvzqg2zxi1aigbr68"))))
(build-system pyproject-build-system)
(propagated-inputs
(list python-numpy))
(native-inputs (list python-flit-core python-matplotlib python-pytest))
(home-page "https://github.com/diego-hayashi/meshzoo")
(synopsis "Mesh generator for simple geometries")
(description
"@code{meshzoo} is a mesh generator for finite element or finite
volume computations for simple domains like regular polygons, disks,
spheres, cubes, etc.")
(license license:gpl3+)))
(define-public python-tspex
(package
(name "python-tspex")
@ -843,7 +868,7 @@ functions and around einops with an API and features adapted to xarray.")
(define-public python-pytensor
(package
(name "python-pytensor")
(version "2.17.3")
(version "2.18.1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -852,7 +877,7 @@ functions and around einops with an API and features adapted to xarray.")
(file-name (git-file-name name version))
(sha256
(base32
"1694apl8gjdrl6hrfly9yixmfimmmh51vacxmxx63nn4k5qnsgbg"))))
"0qa0y13xfm6w7ry7gp0lv84c8blyg34a9ns7ynwqyhf9majq08s5"))))
(build-system pyproject-build-system)
(arguments
(list
@ -1847,7 +1872,11 @@ for parameterized model creation and handling. Its features include:
(uri (pypi-uri "GPy" version))
(sha256
(base32
"1yx65ajrmqp02ykclhlb0n8s3bx5r0xj075swwwigiqaippr7dx2"))))
"1yx65ajrmqp02ykclhlb0n8s3bx5r0xj075swwwigiqaippr7dx2"))
(snippet
#~(begin (use-modules (guix build utils))
(substitute* "GPy/models/state_space_main.py"
(("collections\\.Iterable") "collections.abc.Iterable"))))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@ -1866,6 +1895,31 @@ Python, from the Sheffield machine learning group. GPy implements a range of
machine learning algorithms based on GPs.")
(license license:bsd-3)))
(define-public python-pyfma
(package
(name "python-pyfma")
(version "0.1.6")
(source (origin
(method git-fetch) ;for tests
(uri (git-reference
(url "https://github.com/nschloe/pyfma")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"12i68jj9n1qj9phjnj6f0kmfhlsd3fqjlk9p6d4gs008azw5m8yn"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-numpy))
(native-inputs (list pybind11 python-pytest))
(home-page "https://github.com/nschloe/pyfma")
(synopsis "Fused multiply-add for Python")
(description "@code{pyfma} provides an implementation of fused
multiply-add which computes @code{(x*y) + z} with a single rounding.
This is useful for dot products, matrix multiplications, polynomial
evaluations (e.g., with Horner's rule), Newton's method for evaluating
functions, convolutions, artificial neural networks etc.")
(license license:expat)))
(define-public python-pydicom
(package
(name "python-pydicom")

View File

@ -1330,7 +1330,12 @@ Encryption} (JOSE) Web Standards.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0701hziiiw67blafgpmjhzspmrss8mfvif7fw0rs8fikddwwc9g6"))))
(base32 "0701hziiiw67blafgpmjhzspmrss8mfvif7fw0rs8fikddwwc9g6"))
(snippet
#~(begin (use-modules (guix build utils))
(substitute* "scss/types.py"
(("from collections import Iterable")
"from collections.abc import Iterable"))))))
(build-system python-build-system)
(arguments
;; XXX: error in test collection, possible incompatibility with Pytest 6.

View File

@ -108,7 +108,7 @@
;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
;;; Copyright © 2021, 2022, 2023 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
;;; Copyright © 2021, 2022 Pradana Aumars <paumars@courrier.dev>
;;; Copyright © 2021, 2022 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021, 2022, 2023 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021 Sébastien Lerique <sl@eauchat.org>
;;; Copyright © 2021 Raphaël Mélotte <raphael.melotte@mind.be>
;;; Copyright © 2021 ZmnSCPxj <ZmnSCPxj@protonmail.com>
@ -2567,13 +2567,13 @@ conventions and aliases in the same expression.")
(define-public python-wand
(package
(name "python-wand")
(version "0.6.11")
(version "0.6.13")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Wand" version))
(sha256
(base32 "15d9kxyc7qvknx0kv27m2jamnmisckyf89i7wlqykwgqm46p0qdn"))))
(base32 "1jpwm956vm35hmgjndr2jwrcql0bwvpsl88q5nr0x8ppxa2380gm"))))
(build-system python-build-system)
(arguments
`(#:phases
@ -3675,7 +3675,12 @@ in the current session, Python, and the OS.")
(uri (pypi-uri "schedule" version))
(sha256
(base32
"0vplyjcbfrq50sphlwya749z8p2pcyi2nycw3518i0qpd9a6189i"))))
"0vplyjcbfrq50sphlwya749z8p2pcyi2nycw3518i0qpd9a6189i"))
(snippet
#~(begin (use-modules (guix build utils))
(substitute* "schedule/__init__.py"
(("collections\\.Hashable")
"collections.abc.Hashable"))))))
(build-system python-build-system)
(native-inputs
(list python-pytest python-mock))
@ -7466,6 +7471,28 @@ capabilities.")
(description "This package provides the complete NumPy documentation in
the Texinfo, HTML, and PDF formats.")))
(define-public python-npx
(package
(name "python-npx")
(version "0.1.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "npx" version))
(sha256
(base32
"1m0v2p5mh3aqrypl4ipgzvr5nhx7bk5vv9ah2xr9l1xgj6nnmqnc"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-numpy))
(native-inputs (list python-flit-core python-networkx python-pytest))
(home-page "https://github.com/nschloe/npx")
(synopsis "Extensions for NumPy")
(description "NumPy is a large library used everywhere in scientific
computing. That's why breaking backwards-compatibility comes at a
significant cost and is almost always avoided, even if the API of some
methods is arguably lacking. This package provides drop-in wrappers
\"fixing\" those.")
(license license:bsd-3)))
(define-public python-munch
(package
(name "python-munch")
@ -8297,6 +8324,92 @@ Jupyter.")
three-way Venn diagrams in @code{matplotlib}.")
(license license:expat)))
(define-public python-matplotx
(package
(name "python-matplotx")
(version "0.3.10")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/nschloe/matplotx")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1j301mr7ai2jmbm5mkva0jd99fzxhyq585pqzqfmrf5pil8j4q8i"))))
(build-system pyproject-build-system)
(propagated-inputs
(list python-matplotlib
python-numpy
;; optional dependencies
python-networkx
python-pypng
python-scipy))
(native-inputs (list python-imageio
python-meshzoo
python-pytest
python-scikit-fem))
(arguments
(list
#:test-flags
;; This test fails with ValueError: not enough values to unpack.
#~(list "--deselect" "tests/test_spy.py::test_cli")))
(home-page "https://github.com/nschloe/matplotx")
(synopsis "Minimal matplotlib styles")
(description
"This package includes some extensions for Matplotlib to create
clean plots with a minimalistic style.")
(license license:expat)))
(define-public python-cplot
(package
(name "python-cplot")
(version "0.9.3")
(source
(origin
(method git-fetch) ;for tests
(uri (git-reference
(url "https://github.com/nschloe/cplot")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0zk7hpq358sbympmkms7w2wjs7nw8mdfvkvdasblg2nhqayv42qz"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-matplotlib
python-matplotx
python-npx
python-numpy))
(native-inputs (list python-pytest))
(home-page "https://github.com/nschloe/cplot")
(synopsis "Plot complex-valued functions")
(description "@code{cplot} is a Python library for plotting
complex-valued functions.")
(license license:gpl3+)))
(define-public python-perfplot
(package
(name "python-perfplot")
(version "0.10.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "perfplot" version))
(sha256
(base32
"0hbyv17f9ra6l6albcrqx4rylmfv2m6z4qsnhb4bar256dralvfp"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-matplotlib
python-matplotx
python-numpy
python-rich))
(native-inputs (list python-flit-core
python-pytest))
(home-page "https://github.com/nschloe/perfplot")
(synopsis "Performance plots for Python code snippets")
(description "@code{perfplot} extends Python's timeit by testing
snippets with input parameters (e.g., the size of an array) and plotting
the results.")
(license license:gpl3+)))
(define-public python-pysnptools
(package
(name "python-pysnptools")
@ -9687,11 +9800,18 @@ Python language binding specification.")
(source
(origin
(method url-fetch)
(uri
(pypi-uri "grako" version ".zip"))
(uri (pypi-uri "grako" version ".zip"))
(sha256
(base32
"0r63i68wcnv63rfjkasq1ah81frz61a6mzbcnaxhrkdpx84p7hzw"))))
(base32 "0r63i68wcnv63rfjkasq1ah81frz61a6mzbcnaxhrkdpx84p7hzw"))
(snippet
#~(begin (use-modules (guix build utils))
(substitute* "grako/grammars.py"
(("from collections import defaultdict, Mapping")
(string-append "from collections import defaultdict\n"
"from collections.abc import Mapping")))
(substitute* '("grako/util.py"
"grako/walkers.py")
(("collections\\.Mapping") "collections.abc.Mapping"))))))
(build-system python-build-system)
(arguments '(#:tests? #f)) ; Test file 'grako.ebnf' is missing from archive.
(native-inputs
@ -15926,7 +16046,7 @@ programmatically with command-line parsers like @code{getopt} and
(define-public python-pythonanywhere
(package
(name "python-pythonanywhere")
(version "0.9.10")
(version "0.12.1")
(source
(origin
(method git-fetch)
@ -15936,7 +16056,7 @@ programmatically with command-line parsers like @code{getopt} and
(file-name (git-file-name name version))
(sha256
(base32
"0vzzc1g8pl7cb9yvm3n1j5zlzxf0jd423rzspc2kvpb8yhvydklx"))))
"12898jrq8bi90s5v3wirj7zprk08smwzwdx09y07x770frqd80vl"))))
(build-system python-build-system)
(arguments
`(#:phases
@ -15967,8 +16087,9 @@ programmatically with command-line parsers like @code{getopt} and
(home-page "https://github.com/pythonanywhere/helper_scripts/")
(synopsis "PythonAnywhere helper tools for users")
(description "PythonAnywhere provides a command-line interface and an
application programming interface that allows managing Web apps and scheduled
tasks. It includes single-command deployment for the Django Girls tutorial.")
application programming interface that allows managing files Web apps, scheduled
tasks and students. It includes single-command deployment for the Django Girls
tutorial.")
(license license:expat)))
(define-public python-pythondialog
@ -17777,13 +17898,13 @@ ISO 8859, etc.).")
(define-public python-pyqtgraph
(package
(name "python-pyqtgraph")
(version "0.13.1")
(version "0.13.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyqtgraph" version))
(sha256
(base32 "026wq2p7h1dmg2ldwhxiv28i5qld0llhnak06dxp4rdrkpsqg3v9"))))
(base32 "1kiazyc8mqyx0479qdcvdclzq0g1hpp93dyq8444w1f72628s42q"))))
(build-system pyproject-build-system)
(arguments
;; This test fails. It suggests to disable assert rewriting in Pytest,
@ -29123,8 +29244,12 @@ workspace...")
(method url-fetch)
(uri (pypi-uri "python-osc" version))
(sha256
(base32
"0cnh0z5lnng7fh48nmfaqqn8j25k13gkd4rhxd3m6sjqiix9s3vn"))))
(base32 "0cnh0z5lnng7fh48nmfaqqn8j25k13gkd4rhxd3m6sjqiix9s3vn"))
(snippet
#~(begin (use-modules (guix build utils))
(substitute* "pythonosc/udp_client.py"
(("from collections import Iterable")
"from collections.abc import Iterable"))))))
(build-system python-build-system)
(home-page "https://github.com/attwad/python-osc")
(synopsis "Open Sound Control server and client implementations")
@ -34219,6 +34344,28 @@ software by taking care of all interactions with low-level network programming
interfaces.")
(license license:gpl2)))
(define-public python-islenska
(package
(name "python-islenska")
(version "1.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "islenska" version))
(sha256
(base32 "0fdp90mzy0sd4kyw8kd8kybd1ni765fvqn8hz2wx5sqbjjkm4d5k"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-cffi python-typing-extensions))
(home-page "https://github.com/mideind/BinPackage")
(synopsis
"Vocabulary of the modern Icelandic language, in a Python package")
(description
"Islenska is a Python package that embeds the vocabulary of the Database
of Icelandic Morphology and offers various lookups and queries of the data.
The database contains over 6.5 million entries, over 3.1 million unique word
forms, and about 300,000 distinct lemmas.")
(license license:expat)))
(define-public python-zeroc-ice-3.6
(package
(inherit python-zeroc-ice)

View File

@ -680,20 +680,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
"-DFEATURE_system_sqlite=ON"
"-DFEATURE_system_xcb_xinput=ON"
;; Don't use the precompiled headers.
"-DBUILD_WITH_PCH=OFF"
;; Drop special machine instructions that do not have runtime
;; detection.
,@(if (string-prefix? "x86_64"
(or (%current-target-system)
(%current-system)))
'() ;implicitly enabled
'("-DFEATURE_sse2=OFF"
"-DFEATURE_sse3=OFF"
"-DFEATURE_ssse3=OFF"
"-DFEATURE_sse4_1=OFF"
"-DFEATURE_sse4_2=OFF"))
"-DFEATURE_mips_dsp=OFF"
"-DFEATURE_mips_dspr2=OFF")))
"-DBUILD_WITH_PCH=OFF")))
((#:phases phases)
#~(modify-phases #$phases
(add-after 'unpack 'honor-CMAKE_PREFIX_PATH
@ -876,7 +863,8 @@ developers using C++ or QML, a CSS & JavaScript like language.")
"tst_qfiledialog"
;; This test is susceptible to the 600 ms timeout used:
"tst_qpauseanimation")
#$@(if (target-ppc64le?)
#$@(cond
((target-ppc64le?)
#~((list
;; The 'tst_QPainter::fpe_radialGradients'
;; test fails with a 'Floating point
@ -894,8 +882,30 @@ developers using C++ or QML, a CSS & JavaScript like language.")
;; "'Unable to fetch row' || 'database is
;; locked'" (see:
;; https://bugreports.qt.io/browse/QTBUG-117114).
"tst_qsqlthread"))
#~())) "|") ")")))))
"tst_qsqlthread")))
((target-x86-32?)
#~((list
;; QCOMPARE(qRound(actual), expected) returned TRUE
;; unexpectedly.
"tst_qglobal"
;; Actual (llMinDbl == llMin) : 0
;; Expected (-9223372036854775807.0 ==
;; Q_INT64_C(-9223372036854775807)) : 1
"tst_json"
;; 'QVector3D::normal(QVector3D(), v1, v2) ==
;; v3.normalized()' returned FALSE. ()
"tst_qvectornd"
;; Actual (qRed(p)) : 11
;; Expected (qGreen(p)): 10
"tst_qcolorspace"
;; Actual (dv.validate(value, dummy)): Invalid
;; Expected (standard_state) : Intermediate
"tst_qdoublevalidator")))
(else #~()))) "|") ")")))))
(replace 'patch-mkspecs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((archdata (search-input-directory outputs "lib/qt6"))
@ -2954,7 +2964,12 @@ linux/libcurl_wrapper.h")
(lambda _
;; Valid QT_BUILD_PARTS variables are:
;; libs tools tests examples demos docs translations
(invoke "qmake" "QT_BUILD_PARTS = libs tools" "--"
(invoke "qmake"
#$@(if (target-x86-32?)
;; Don't exhaust memory while linking.
#~("QMAKE_LFLAGS+=-Wl,--no-keep-memory -Wl,-z,now")
#~())
"QT_BUILD_PARTS = libs tools" "--"
"--webengine-printing-and-pdf=no"
"--webengine-ffmpeg=system"
;; FIXME: Building qtwebengine-5 5.12.2 with

View File

@ -199,7 +199,7 @@ Raspberry Pi. Note: It does not work on Raspberry Pi 1.")
("ld-wrapper" ,ld-wrapper)
("make" ,gnu-make)
("gcc" ,gcc-6)
("locales" ,glibc-utf8-locales)))
("locales" ,(libc-utf8-locales-for-target))))
(inputs
`())
(arguments

View File

@ -168,7 +168,7 @@ of parts of the Windows API.")
(define-public xrdp
(package
(name "xrdp")
(version "0.9.22.1")
(version "0.9.23.1")
(source (origin
(method url-fetch)
(uri (string-append
@ -176,7 +176,7 @@ of parts of the Windows API.")
version "/xrdp-" version ".tar.gz"))
(sha256
(base32
"1jzknwy003fk5lqzrncbypirq3smpghxy2prg2m2ljjrx77j1lvd"))))
"1jpmwywzb6law2hrzm94qy2hgivs7izc2ci0w2h9yxn2j1mizdwg"))))
(build-system gnu-build-system)
(inputs (list check
fuse-2

View File

@ -543,14 +543,14 @@ ksh, and tcsh.")
(define-public xonsh
(package
(name "xonsh")
(version "0.14.0")
(version "0.14.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "xonsh" version))
(sha256
(base32
"1wcv1sk8igs5kb9fqb8njbxwiqbwzpn0kdx9xkaddq3wn6msma25"))
"0fddxzd45zvfr687mvd90f5s376yz0a8ln7qbpl94q89z7l0y77k"))
(modules '((guix build utils)))
(snippet
#~(begin

View File

@ -634,7 +634,9 @@ introspection of @code{zope.interface} instances in code.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0x9wmgf04rzivbzp7jv1b7fkhkpi02lpk5w1qf4i7bcgih00ym8a"))))
(base32 "0x9wmgf04rzivbzp7jv1b7fkhkpi02lpk5w1qf4i7bcgih00ym8a"))
(patches
(search-patches "python-sphinx-prompt-docutils-0.19.patch"))))
(build-system python-build-system)
(arguments
`(#:phases

View File

@ -2182,7 +2182,7 @@ comparison and diagnostics.")
(define-public python-pymc
(package
(name "python-pymc")
(version "5.9.1")
(version "5.10.0")
(source (origin
(method git-fetch) ; no tests in PyPI
(uri (git-reference
@ -2191,7 +2191,7 @@ comparison and diagnostics.")
(file-name (git-file-name name version))
(sha256
(base32
"1y90xa85q38zwsi69q5bv95vyjg3jp1hs0z18sg5jyi17irgw8x7"))))
"17gb7ny2isfgyps7qffdxq18a9p43qy1fhqhbh75cnqd5wv1yxzb"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f ; tests are too computationally intensive
@ -2397,7 +2397,7 @@ inference for statistical models.")
(define-public python-openturns
(package
(name "python-openturns")
(version "1.21.1")
(version "1.21.3")
(source
(origin
(method git-fetch)
@ -2406,7 +2406,7 @@ inference for statistical models.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "147pyh7j5nqp9bl9hfikcfzqj5qp95an0qrna9g5qq07md13c3if"))))
(base32 "0nf77p6zv2br23n3c0yidnclb0234ni07y67h1h1f2bng4kdn8jp"))))
(build-system cmake-build-system)
(arguments
(list

View File

@ -1247,7 +1247,7 @@ a nice format.")
(delete 'configure)))) ;no configure script
(native-inputs (list pkg-config))
(inputs (list freetype libx11 libxft libxtst libxinerama))
(propagated-inputs (list glibc-utf8-locales))
(propagated-inputs (list (libc-utf8-locales-for-target)))
(home-page "https://tools.suckless.org/x/svkbd/")
(synopsis "Virtual on-screen keyboard")
(description "svkbd is a simple virtual keyboard, intended to be used in

View File

@ -603,7 +603,18 @@ to all types of devices that provide serial consoles.")
;; The build environment lacks /dev/{console,tty*}.
;; In fact, even nckx's regular Guix System lacks ttyS1…
((": Permission denied")
": No such file or directory")))))))
": No such file or directory"))))
(add-before 'install 'install-rules
(lambda _
(mkdir-p (string-append #$output "/etc/udev/rules.d"))
(with-output-to-file
(string-append #$output
"/etc/udev/rules.d/70-pcspkr-beep.rules")
(lambda _
(display (string-append "\
ACTION==\"add\", SUBSYSTEM==\"input\", ATTRS{name}==\"PC Speaker\", "
"ENV{DEVNAME}!=\"\", "
"TAG+=\"uaccess\"")))))))))
(synopsis "Linux command-line utility to control the PC speaker")
(description "beep allows the user to control the PC speaker with precision,
allowing different sounds to indicate different events. While it can be run

View File

@ -63,14 +63,14 @@
(define-public tor
(package
(name "tor")
(version "0.4.8.9")
(version "0.4.8.10")
(source (origin
(method url-fetch)
(uri (string-append "https://dist.torproject.org/tor-"
version ".tar.gz"))
(sha256
(base32
"0rfgn88izn74nh6gy42ggwmiicnylp73skrlwm61n4znj247vfsr"))))
"11is8rwa3654kv2z425chmv9ynip64lwy8svf4klgnqfnzxb8a76"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags

View File

@ -3856,7 +3856,7 @@ commit messages for style.")
(define-public hut
(package
(name "hut")
(version "0.2.0")
(version "0.4.0")
(source
(origin
(method git-fetch)
@ -3865,7 +3865,7 @@ commit messages for style.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0ybngrwwmkm00dlkdhvkfcvcjhp5xzs8fh90zqr0h12ssqx9pll3"))))
(base32 "0klp7qlii07j8ka9g91m5xg3ybg6cq0p5lp1ibfihq2p4kwqj57m"))))
(build-system go-build-system)
(arguments
(list
@ -3888,6 +3888,7 @@ commit messages for style.")
(inputs
(list go-git-sr-ht-emersion-go-scfg
go-git-sr-ht-emersion-gqlclient
go-github-com-dustin-go-humanize
go-github-com-juju-ansiterm
go-github-com-spf13-cobra
go-golang-org-x-oauth2

View File

@ -3440,7 +3440,7 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
(define-public mlt
(package
(name "mlt")
(version "7.20.0")
(version "7.22.0")
(source
(origin
(method git-fetch)
@ -3449,7 +3449,7 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1dc09j8yvis6ilba5a13qicf6wbgxnzwllab6h48kzfl1lc0n8g7"))))
(base32 "1aa23kni64751x0kd54lr87ns9kdc8pblhqp8m8608ah8xwak4mw"))))
(build-system cmake-build-system)
(arguments
(list

View File

@ -39,6 +39,7 @@
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
#:use-module (gnu packages llvm)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages wine)
@ -152,6 +153,38 @@ parser,disassembler, validator, and optimizer for SPIR-V.")
SPIR-V, aiming to emit GLSL or MSL that looks like human-written code.")
(license license:asl2.0)))
(define-public spirv-llvm-translator
(package
(name "spirv-llvm-translator")
(version "15.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/KhronosGroup/SPIRV-LLVM-Translator")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0lix3bpli7i9csz26bq0d9g1v7c0gim498m5bm2gp8kifj2yih1s"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
(list (string-append "-DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR="
(assoc-ref %build-inputs "spirv-headers")
"/include/spirv")
(string-append "-DLLVM_EXTERNAL_LIT="
(assoc-ref %build-inputs "python-lit")
"/bin/lit")
"-DLLVM_SPIRV_INCLUDE_TESTS=ON")))
(inputs (list llvm-15))
(native-inputs (list clang-15 llvm-15 python-lit spirv-headers))
(home-page "https://github.com/KhronosGroup/SPIRV-LLVM-Translator")
(synopsis "Bi-directional translation between SPIR-V and LLVM IR")
(description
"The LLVM/SPIR-V Bi-Directional Translator is a library and tool for
translation between LLVM IR and SPIR-V.")
(license license:asl2.0)))
(define-public glslang
(package
(name "glslang")

View File

@ -6697,7 +6697,10 @@ command-line arguments or read from stdin.")
(("^import re\n" line)
(string-append line "re._pattern_type = re.Pattern\n"))))
(find-files "." "\\.py$"))
#t))))
;; Mapping got moved to collections.abc
(substitute* "internetarchive/utils.py"
(("from collections import Mapping")
"from collections.abc import Mapping"))))))
(build-system python-build-system)
(arguments
`(#:phases

View File

@ -66,7 +66,7 @@
(define-public wxwidgets
(package
(name "wxwidgets")
(version "3.2.2.1")
(version "3.2.3")
(source
(origin
(method url-fetch)
@ -74,7 +74,7 @@
"releases/download/v" version
"/wxWidgets-" version ".tar.bz2"))
(sha256
(base32 "00ic4h4j0621v8h6n8zbl9xgay01a4dynh48gx5zyvr9f6zbdz6z"))
(base32 "0ym6s4q1fh1cd6x4nh468i15ivjmw22flsi7c9qkhrz1qxksnw61"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))

View File

@ -678,14 +678,14 @@ options are given, the action applies to the focused window.")
(define-public xeyes
(package
(name "xeyes")
(version "1.2.0")
(version "1.3.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.x.org/releases/individual/app/"
name "-" version ".tar.bz2"))
name "-" version ".tar.xz"))
(sha256
(base32 "1nxn443pfhddmwl59wplpjkslhlyfk307qx18nrimvvb2hipx8gq"))))
(base32 "08rhfp5xlmdbyxkvxhgjxdn6vwzrbrjyd7jkk8b7wi1kpw0ccl09"))))
(build-system gnu-build-system)
(inputs
(list libxext libxi libxmu libxrender libxt))

View File

@ -1035,7 +1035,7 @@ local and remote file systems and manage bookmarks of such.")
(define-public parole
(package
(name "parole")
(version "4.18.0")
(version "4.18.1")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.xfce.org/src/apps/"
@ -1043,7 +1043,7 @@ local and remote file systems and manage bookmarks of such.")
name "-" version ".tar.bz2"))
(sha256
(base32
"0w9p9zf87pnpl44bay8srrsczscxpmbsriwzqzv31gis9ny2zrdv"))))
"0rjsqm582c8i3lyi1n2ghp638cr0chw358i05g7njbw1hjj68wqc"))))
(build-system gnu-build-system)
(arguments
(list

View File

@ -6113,14 +6113,14 @@ basic eye-candy effects.")
(define-public xpra
(package
(name "xpra")
(version "5.0.3")
(version "5.0.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.xpra.org/src/xpra-"
version ".tar.xz"))
(sha256
(base32 "03vpihkinidyv6257683av8288vm0hmg767yf188jkkdxl4cv4gs"))
(base32 "0zb49adrjrdsmf0k9xdc6j2idqy5lgzsjjrb4awjh5i4r3wc58m0"))
(patches (search-patches "xpra-5.0-systemd-run.patch"
"xpra-5.0-install_libs.patch"))))
(build-system python-build-system)

View File

@ -129,7 +129,8 @@ toolchain. Among other features it provides
;; https://github.com/ziglang/zig/issues/6485
(supported-systems %64bit-supported-systems)
;; Stage3 can take a lot of time and isn't verbose.
(properties `((max-silent-time . 9600)))
(properties `((max-silent-time . 9600)
,@(clang-properties "13")))
(license license:expat)))
(define-public zig-0.10
@ -146,7 +147,8 @@ toolchain. Among other features it provides
(file-name (git-file-name name version))
(sha256
(base32 "1sh5xjsksl52i4cfv1qj36sz5h0ln7cq4pdhgs3960mk8a90im7b"))
(patches (search-patches "zig-do-not-link-against-librt.patch"))))
(patches (search-patches "zig-do-not-link-against-librt.patch"
"zig-use-baseline-cpu-by-default.patch"))))
(arguments
(substitute-keyword-arguments (package-arguments zig-0.9)
((#:configure-flags flags ''())
@ -191,6 +193,8 @@ toolchain. Among other features it provides
(replace "lld" lld-15)))
(native-inputs
(modify-inputs (package-native-inputs zig-0.9)
(replace "llvm" llvm-15)))))
(replace "llvm" llvm-15)))
(properties `((max-silent-time . 9600)
,@(clang-properties "15")))))
(define-public zig zig-0.10)

View File

@ -651,7 +651,9 @@ information is missing, return the empty list (for channels) and possibly
;; Force file names to be decoded as UTF-8. See
;; <https://bugs.gnu.org/26353>.
(setenv "GUIX_LOCPATH"
#+(file-append glibc-utf8-locales "/lib/locale"))
#+(file-append
(libc-utf8-locales-for-target (%current-system))
"/lib/locale"))
(setlocale LC_CTYPE "en_US.utf8")
(delete-file-recursively "/tmp")
(delete-file-recursively "/var/run")

View File

@ -63,7 +63,9 @@
#:use-module (gnu packages bash)
#:use-module ((gnu packages base)
#:select (coreutils glibc glibc/hurd
glibc-utf8-locales make-glibc-utf8-locales
glibc-utf8-locales
libc-utf8-locales-for-target
make-glibc-utf8-locales
tar canonical-package))
#:use-module ((gnu packages compression) #:select (gzip))
#:use-module (gnu packages fonts)
@ -2147,7 +2149,8 @@ raise a deprecation warning if the 'compression-level' field was used."
;; nars for packages that contain UTF-8 file names such
;; as 'nss-certs'. See <https://bugs.gnu.org/26948>.
(list (string-append "GUIX_LOCPATH="
#$glibc-utf8-locales "/lib/locale")
#$(libc-utf8-locales-for-target)
"/lib/locale")
"LC_ALL=en_US.utf8")
#:log-file "/var/log/guix-publish.log"))
(endpoints #~(let ((ai (false-if-exception

View File

@ -23,7 +23,7 @@
#:use-module (guix records)
#:use-module (guix packages)
#:use-module ((gnu packages base)
#:select (glibc-utf8-locales))
#:select (libc-utf8-locales-for-target))
#:use-module (gnu packages admin)
#:use-module (gnu packages databases)
#:use-module (gnu packages web)
@ -381,7 +381,8 @@
#:pid-file-timeout 60
#:environment-variables
`(,(string-append
"GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale")
"GUIX_LOCPATH="
#$(libc-utf8-locales-for-target) "/lib/locale")
"LC_ALL=en_US.utf8"
"PATH=/run/current-system/profile/bin" ; for hooks
#$@extra-environment-variables)
@ -508,7 +509,8 @@
#:user #$user
#:environment-variables
`(,(string-append
"GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale")
"GUIX_LOCPATH="
#$(libc-utf8-locales-for-target) "/lib/locale")
;; XDG_CACHE_HOME is used by Guix when caching narinfo files
"XDG_CACHE_HOME=/var/cache/guix-build-coordinator-agent"
"LC_ALL=en_US.utf8")
@ -600,7 +602,8 @@
#:user #$user
#:environment-variables
`(,(string-append
"GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale")
"GUIX_LOCPATH="
#$(libc-utf8-locales-for-target) "/lib/locale")
"LC_ALL=en_US.utf8")
#:log-file "/var/log/guix-build-coordinator/queue-builds.log"))))
(stop #~(make-kill-destructor))
@ -712,7 +715,8 @@ ca-certificates.crt file in the system profile."
#:pid-file "/var/run/guix-data-service/pid"
#:environment-variables
`(,(string-append
"GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale")
"GUIX_LOCPATH="
#$(libc-utf8-locales-for-target) "/lib/locale")
"LC_ALL=en_US.UTF-8")
#:log-file "/var/log/guix-data-service/web.log"))
(stop #~(make-kill-destructor)))
@ -733,7 +737,8 @@ ca-certificates.crt file in the system profile."
`("HOME=/var/lib/guix-data-service"
"GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt"
,(string-append
"GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale")
"GUIX_LOCPATH="
#$(libc-utf8-locales-for-target) "/lib/locale")
"LC_ALL=en_US.UTF-8")
#:log-file "/var/log/guix-data-service/process-jobs.log"))
(stop #~(make-kill-destructor))))))
@ -989,7 +994,8 @@ ca-certificates.crt file in the system profile."
#:pid-file "/var/run/nar-herder/pid"
#:environment-variables
`(,(string-append
"GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale")
"GUIX_LOCPATH="
#$(libc-utf8-locales-for-target) "/lib/locale")
"LC_ALL=en_US.utf8"
#$@extra-environment-variables)
#:log-file "/var/log/nar-herder/server.log"))
@ -1108,7 +1114,8 @@ ca-certificates.crt file in the system profile."
#:directory "/var/lib/bffe"
#:environment-variables
`(,(string-append
"GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale")
"GUIX_LOCPATH="
#$(libc-utf8-locales-for-target) "/lib/locale")
"LC_ALL=en_US.utf8"
#$@extra-environment-variables)
#:log-file "/var/log/bffe/server.log"))

View File

@ -1498,7 +1498,8 @@ files.")
'#$(optional anonip-configuration-regex "--regex"))
;; Run in a UTF-8 locale
#:environment-variables
(list (string-append "GUIX_LOCPATH=" #$glibc-utf8-locales
(list (string-append "GUIX_LOCPATH="
#$(libc-utf8-locales-for-target)
"/lib/locale")
"LC_ALL=en_US.utf8")))
@ -1976,7 +1977,8 @@ WSGIPassAuthorization On
(define (mumi-shepherd-services config)
(define environment
#~(list "LC_ALL=en_US.utf8"
(string-append "GUIX_LOCPATH=" #$glibc-utf8-locales
(string-append "GUIX_LOCPATH="
#$(libc-utf8-locales-for-target)
"/lib/locale")))
(match config
@ -2101,7 +2103,7 @@ root=/srv/gemini
(define gmnisrv-service-type
(service-type
(name 'guix)
(name 'gmnisrv)
(extensions
(list (service-extension activation-service-type
(const %gmnisrv-activation))

View File

@ -466,7 +466,9 @@ used in the image."
;; Allow non-ASCII file names--e.g., 'nss-certs'--to be
;; decoded.
(setenv "GUIX_LOCPATH"
#+(file-append glibc-utf8-locales "/lib/locale"))
#+(file-append (libc-utf8-locales-for-target
(%current-system))
"/lib/locale"))
(setlocale LC_ALL "en_US.utf8")
(initializer image-root
@ -633,7 +635,8 @@ used in the image. "
;; Allow non-ASCII file names--e.g., 'nss-certs'--to be decoded.
(setenv "GUIX_LOCPATH"
#+(file-append glibc-utf8-locales "/lib/locale"))
#+(file-append (libc-utf8-locales-for-target (%current-system))
"/lib/locale"))
(setlocale LC_ALL "en_US.utf8")
@ -737,7 +740,8 @@ output file."
;; Allow non-ASCII file names--e.g., 'nss-certs'--to be decoded.
(setenv "GUIX_LOCPATH"
#+(file-append glibc-utf8-locales "/lib/locale"))
#+(file-append (libc-utf8-locales-for-target (%current-system))
"/lib/locale"))
(setlocale LC_ALL "en_US.utf8")
(set-path-environment-variable "PATH" '("bin" "sbin") '(#+tar))
@ -816,7 +820,8 @@ output file."
;; Allow non-ASCII file names--e.g., 'nss-certs'--to be decoded.
(setenv "GUIX_LOCPATH"
#+(file-append glibc-utf8-locales "/lib/locale"))
#+(file-append (libc-utf8-locales-for-target (%current-system))
"/lib/locale"))
(setlocale LC_ALL "en_US.utf8")
(let ((image-root (string-append (getcwd) "/tmp-root"))

View File

@ -454,7 +454,7 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m
(service gc-root-service-type
(append
(list bare-bones-os
glibc-utf8-locales
(libc-utf8-locales-for-target system)
texinfo
guile-3.0)
%default-locale-libcs)))

View File

@ -22,7 +22,7 @@
#:use-module (guix records)
#:use-module (guix combinators)
#:use-module (guix derivations)
#:use-module ((guix utils) #:select (%current-system))
#:use-module ((guix utils) #:select (%current-system target-hurd?))
#:use-module (guix sets)
#:use-module (guix gexp)
#:use-module (srfi srfi-1)
@ -98,7 +98,9 @@ OUTPUTS of DRV. This procedure performs \"shallow\" grafting in that GRAFTS
are not recursively applied to dependencies of DRV."
(define glibc-locales
(module-ref (resolve-interface '(gnu packages commencement))
'glibc-utf8-locales-final))
(if (target-hurd? system)
'glibc-utf8-locales-final/hurd
'glibc-utf8-locales-final)))
(define mapping
;; List of store item pairs.

View File

@ -130,8 +130,17 @@ to the stack."
(define (context-stack-clear!) ((context-stack) 'clear!))
;; Indentation of the line being parsed.
(define current-indentation (make-parameter 0))
;; Indentation of the line being parsed and that of the previous line.
(define current-indentation* (make-parameter 0))
(define previous-indentation (make-parameter 0))
(define* (current-indentation #:optional value)
(if value
(begin
(previous-indentation (current-indentation*))
(current-indentation* value))
(current-indentation*)))
;; Signal to reprocess the beginning of line, in case we need to close more
;; than one indentation level.
@ -196,27 +205,13 @@ to the stack."
(exprs elif-else) : (append $1 (list ($2 '(()))))
(elif-else) : (list ($1 '(()))))
;; LALR(1) parsers prefer to be left-recursive, which make if-statements slightly involved.
;; XXX: This technically allows multiple else statements.
(elif-else (elif-else ELIF tests OCURLY exprs CCURLY) : (lambda (y) ($1 (list (append (list 'if $3 $5) y))))
(elif-else ELIF tests open exprs close) : (lambda (y) ($1 (list (append (list 'if $3 $5) y))))
(elif-else ELSE OCURLY exprs CCURLY) : (lambda (y) ($1 (list $4)))
;; The 'open' token after 'tests' is shifted after an 'exprs'
;; is found. This is because, instead of 'exprs' a 'OCURLY'
;; token is a valid alternative. For this reason, 'open'
;; pushes a <parse-context> with a line indentation equal to
;; the indentation of 'exprs'.
;;
;; Differently from this, without the rule above this
;; comment, when an 'ELSE' token is found, the 'open' token
;; following the 'ELSE' would be shifted immediately, before
;; the 'exprs' is found (because there are no other valid
;; tokens). The 'open' would therefore create a
;; <parse-context> with the indentation of 'ELSE' and not
;; 'exprs', creating an inconsistency. We therefore allow
;; mixed style conditionals.
(elif-else ELSE open exprs close) : (lambda (y) ($1 (list $4)))
(elif (elif ELIF tests OCURLY exprs CCURLY) : (lambda (y) ($1 (list (append (list 'if $3 $5) y))))
(elif ELIF tests open exprs close) : (lambda (y) ($1 (list (append (list 'if $3 $5) y))))
;; Terminating rule.
(if-then) : (lambda (y) (append $1 y)))
(elif-else (elif ELSE OCURLY exprs CCURLY) : (lambda (y) ($1 (list $4)))
(elif ELSE open exprs close) : (lambda (y) ($1 (list $4)))
(elif) : $1)
(if-then (IF tests OCURLY exprs CCURLY) : (list 'if $2 $4)
(IF tests open exprs close) : (list 'if $2 $4))
(tests (TEST OPAREN ID CPAREN) : `(,$1 ,$3)
@ -237,7 +232,7 @@ to the stack."
(OPAREN tests CPAREN) : $2)
(open () : (context-stack-push!
(make-parse-context (context layout)
(current-indentation))))
(+ 1 (previous-indentation)))))
(close (VCCURLY))))
(define (peek-next-line-indent port)
@ -655,7 +650,8 @@ If #f use the function 'port-filename' to obtain it."
(let ((cabal-parser (make-cabal-parser)))
(parameterize ((cabal-file-name
(or file-name (port-filename port) "standard input"))
(current-indentation 0)
(current-indentation* 0)
(previous-indentation 0)
(check-bol? #f)
(context-stack (make-stack)))
(cabal-parser (make-lexer port) (errorp)))))
@ -869,7 +865,16 @@ the ordering operation and the version."
(((? string? name) values)
(list name values))
((("import" imports) rest ...)
(eval (append (append-map (cut assoc-ref common-stanzas <>) imports)
(eval (append (append-map
;; The imports are (at least sometimes) a list with one string
;; containing all the names separeted by commas. This splits
;; those strings to a list of strings in the same format that is
;; used in common-stanzas.
(cut assoc-ref common-stanzas <>)
(append-map (lambda (imports-string)
(map (compose string-downcase string-trim-both)
(string-split imports-string #\,)))
imports))
rest)))
((element rest ...)
(cons (eval element) (eval rest)))

View File

@ -335,7 +335,7 @@ the hash of the Cabal file."
(synopsis ,(cabal-package-synopsis cabal))
(description ,(beautify-description (cabal-package-description cabal)))
(license ,(string->license (cabal-package-license cabal))))
inputs)))
(map upstream-input-name inputs))))
(define* (hackage->guix-package package-name #:key
(include-test-dependencies? #t)

View File

@ -92,7 +92,7 @@
"Return the version of the package with upstream NAME included in PACKAGES."
(let ((pkg (find (lambda (pkg) (string=? (stackage-package-name pkg) name))
packages)))
(stackage-package-version pkg)))
(and=> pkg stackage-package-version)))
;;;

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014-2016, 2022-2023 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -21,13 +21,15 @@
#:use-module (guix monads)
#:use-module (guix utils)
#:use-module (guix packages)
#:autoload (guix build-system) (bag)
#:use-module (guix status)
#:autoload (guix gexp) (lower-object)
#:autoload (guix gexp) (gexp gexp? lower-gexp lowered-gexp-sexp lower-object)
#:use-module ((guix derivations)
#:select (derivation?
derivation->output-paths built-derivations))
#:autoload (guix read-print) (pretty-print-with-comments)
#:use-module (ice-9 match)
#:use-module (ice-9 pretty-print)
#:autoload (ice-9 pretty-print) (pretty-print)
#:use-module (system repl repl)
#:use-module (system repl common)
#:use-module (system repl command)
@ -138,4 +140,68 @@ Enter a REPL for values in the store monad."
(repl-option-set! new 'interp #t)
(run-repl new))))
;;; monad-repl.scm ends here
;;;
;;; Viewing package arguments.
;;;
(define (keyword-argument-value args keyword default)
"Return the value associated with KEYWORD in ARGS, a keyword/value sequence,
or DEFAULT if KEYWORD is missing from ARGS."
(let loop ((args args))
(match args
(()
default)
((kw value rest ...)
(if (eq? kw keyword)
value
(loop rest))))))
(define (package-argument-command repl form keyword default)
"Implement a command that display KEYWORD, a keyword such as #:phases, in
the arguments of the package FORM evaluates to. Return DEFAULT is KEYWORD is
missing from those arguments."
(match (repl-eval repl form)
((? package? package)
(let* ((bag* (bag
(inherit (package->bag package))
(build (lambda* (name inputs #:rest args)
(with-monad %store-monad
(return (keyword-argument-value args keyword
default))))))))
(define phases
(parameterize ((%graft? #f))
(with-store store
(set-build-options store
#:print-build-trace #t
#:print-extended-build-trace? #t
#:multiplexed-build-output? #t)
(run-with-store store
(mlet %store-monad ((exp (bag->derivation bag*)))
(if (gexp? exp)
(mlet %store-monad ((gexp (lower-gexp exp)))
(return (lowered-gexp-sexp gexp)))
(return exp)))))))
(run-hook before-print-hook phases)
(let ((column (port-column (current-output-port))))
(pretty-print-with-comments (current-output-port) phases
#:indent column)
(newline (current-output-port)))))
(_
(format #t ";; ERROR: This command only accepts package records.~%"))))
(define-meta-command ((phases guix) repl (form))
"phases
Return the build phases of the package defined by FORM."
(package-argument-command repl form #:phases #~%standard-phases))
(define-meta-command ((configure-flags guix) repl (form))
"configure-flags
Return the configure flags of the package defined by FORM."
(package-argument-command repl form #:configure-flags #~'()))
(define-meta-command ((make-flags guix) repl (form))
"make-flags
Return the make flags of the package defined by FORM."
(package-argument-command repl form #:make-flags #~'()))

View File

@ -849,14 +849,15 @@ identifiers. The result is inferred from the file names of patches."
'()))))
(append-map patch-vulnerabilities patches)))
(define (%standard-patch-inputs)
(define (%standard-patch-inputs system)
(let* ((canonical (module-ref (resolve-interface '(gnu packages base))
'canonical-package))
(ref (lambda (module var)
;; Make sure 'canonical-package' is not influenced by
;; '%current-target-system' since we're going to use the
;; native package anyway.
(parameterize ((%current-target-system #f))
(parameterize ((%current-target-system #f)
(%current-system system))
(canonical
(module-ref (resolve-interface module) var))))))
`(("tar" ,(ref '(gnu packages base) 'tar))
@ -866,7 +867,12 @@ identifiers. The result is inferred from the file names of patches."
("lzip" ,(ref '(gnu packages compression) 'lzip))
("unzip" ,(ref '(gnu packages compression) 'unzip))
("patch" ,(ref '(gnu packages base) 'patch))
("locales" ,(ref '(gnu packages base) 'glibc-utf8-locales)))))
("locales"
,(parameterize ((%current-target-system #f)
(%current-system system))
(canonical
((module-ref (resolve-interface '(gnu packages base))
'libc-utf8-locales-for-target))))))))
(define (default-guile)
"Return the default Guile package used to run the build code of
@ -909,7 +915,7 @@ specifies modules in scope when evaluating SNIPPET."
(define lookup-input
;; The default value of the 'patch-inputs' field, and thus INPUTS is #f,
;; so deal with that.
(let ((inputs (or inputs (%standard-patch-inputs))))
(let ((inputs (or inputs (%standard-patch-inputs system))))
(lambda (name)
(match (assoc-ref inputs name)
((package) package)

View File

@ -1000,8 +1000,9 @@ MANIFEST."
(module-ref (resolve-interface '(gnu packages texinfo)) 'texinfo))
(define gzip ;lazy reference
(module-ref (resolve-interface '(gnu packages compression)) 'gzip))
(define glibc-utf8-locales ;lazy reference
(module-ref (resolve-interface '(gnu packages base)) 'glibc-utf8-locales))
(define libc-utf8-locales-for-target ;lazy reference
(module-ref (resolve-interface '(gnu packages base))
'libc-utf8-locales-for-target))
(define build
(with-imported-modules '((guix build utils))
@ -1043,7 +1044,8 @@ MANIFEST."
(setenv "PATH" (string-append #+gzip "/bin")) ;for info.gz files
(setenv "GUIX_LOCPATH"
#+(file-append glibc-utf8-locales "/lib/locale"))
#+(file-append (libc-utf8-locales-for-target system)
"/lib/locale"))
(mkdir-p (string-append #$output "/share/info"))
(exit (every install-info
@ -1124,8 +1126,9 @@ MANIFEST. Single-file bundles are required by programs such as Git and Lynx."
;; See <http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00429.html>
;; for a discussion.
(define glibc-utf8-locales ;lazy reference
(module-ref (resolve-interface '(gnu packages base)) 'glibc-utf8-locales))
(define libc-utf8-locales-for-target ;lazy reference
(module-ref (resolve-interface '(gnu packages base))
'libc-utf8-locales-for-target))
(define build
(with-imported-modules '((guix build utils))
@ -1159,9 +1162,11 @@ MANIFEST. Single-file bundles are required by programs such as Git and Lynx."
;; Some file names in the NSS certificates are UTF-8 encoded so
;; install a UTF-8 locale.
(setenv "LOCPATH"
(string-append #+glibc-utf8-locales "/lib/locale/"
(string-append #+(libc-utf8-locales-for-target system)
"/lib/locale/"
#+(version-major+minor
(package-version glibc-utf8-locales))))
(package-version
(libc-utf8-locales-for-target system)))))
(setlocale LC_ALL "en_US.utf8")
(match (append-map ca-files '#$(manifest-inputs manifest))
@ -1999,19 +2004,21 @@ are cross-built for TARGET."
(and (derivation? drv) (gexp-input drv)))
extras))
(define glibc-utf8-locales ;lazy reference
(define libc-utf8-locales-for-target ;lazy reference
(module-ref (resolve-interface '(gnu packages base))
'glibc-utf8-locales))
'libc-utf8-locales-for-target))
(define set-utf8-locale
;; Some file names (e.g., in 'nss-certs') are UTF-8 encoded so
;; install a UTF-8 locale.
#~(begin
(setenv "LOCPATH"
#$(file-append glibc-utf8-locales "/lib/locale/"
(version-major+minor
(package-version glibc-utf8-locales))))
(setlocale LC_ALL "en_US.utf8")))
(let ((locales (libc-utf8-locales-for-target
(or system (%current-system)))))
#~(begin
(setenv "LOCPATH"
#$(file-append locales "/lib/locale/"
(version-major+minor
(package-version locales))))
(setlocale LC_ALL "en_US.utf8"))))
(define builder
(with-imported-modules '((guix build profiles)

View File

@ -311,6 +311,9 @@ use '--preserve' instead~%"))
(define (options/resolve-packages store opts)
"Return OPTS with package specification strings replaced by manifest entries
for the corresponding packages."
(define system
(assoc-ref opts 'system))
(define (manifest-entry=? e1 e2)
(and (eq? (manifest-entry-item e1) (manifest-entry-item e2))
(string=? (manifest-entry-output e1)
@ -327,11 +330,11 @@ for the corresponding packages."
((? package? package)
(if (eq? mode 'ad-hoc-package)
(list (package->manifest-entry* package))
(manifest-entries (package->development-manifest package))))
(manifest-entries (package->development-manifest package system))))
(((? package? package) (? string? output))
(if (eq? mode 'ad-hoc-package)
(list (package->manifest-entry* package output))
(manifest-entries (package->development-manifest package))))
(manifest-entries (package->development-manifest package system))))
((lst ...)
(append-map (cut packages->outputs <> mode) lst))))
@ -345,7 +348,8 @@ for the corresponding packages."
(('package 'package (? string? spec))
(manifest-entries
(package->development-manifest
(transform (specification->package+output spec)))))
(transform (specification->package+output spec))
system)))
(('expression mode str)
;; Add all the outputs of the package STR evaluates to.
(packages->outputs (read/eval str) mode))

View File

@ -137,7 +137,8 @@ dependencies are registered."
;; Make sure non-ASCII file names are properly handled.
(setenv "GUIX_LOCPATH"
#+(file-append glibc-utf8-locales "/lib/locale"))
#+(file-append (libc-utf8-locales-for-target (%current-system))
"/lib/locale"))
(setlocale LC_ALL "en_US.utf8")
(sql-schema #$schema)
@ -209,7 +210,10 @@ GLIBC-UT8-LOCALES package."
(profile-locales? profile))
#~(begin
(setenv "GUIX_LOCPATH"
#+(file-append glibc-utf8-locales "/lib/locale"))
#+(file-append (let-system (system target)
(libc-utf8-locales-for-target
(or target system)))
"/lib/locale"))
(setlocale LC_ALL "en_US.utf8"))
#~(setenv "GUIX_LOCPATH" "unset for tests")))

View File

@ -635,8 +635,9 @@ way to download the nar."
(let loop ((cache-urls cache-urls))
(match cache-urls
(()
(leave (G_ "failed to find alternative substitute for '~a'~%")
(narinfo-path narinfo)))
(report-error (G_ "failed to find alternative substitute for '~a'~%")
(narinfo-path narinfo))
(display "not-found\n" port))
((cache-url rest ...)
(match (lookup-narinfos cache-url
(list (narinfo-path narinfo))

View File

@ -73,7 +73,10 @@
("po4a" . ,(ref 'gettext 'po4a))
("gettext-minimal" . ,(ref 'gettext 'gettext-minimal))
("gcc-toolchain" . ,(ref 'commencement 'gcc-toolchain))
("glibc-utf8-locales" . ,(ref 'base 'glibc-utf8-locales))
("glibc-utf8-locales" . ,(delay
((module-ref (resolve-interface
'(gnu packages base))
'libc-utf8-locales-for-target))))
("graphviz" . ,(ref 'graphviz 'graphviz-minimal))
("font-ghostscript" . ,(ref 'ghostscript 'font-ghostscript))
("texinfo" . ,(ref 'texinfo 'texinfo)))))

View File

@ -3,6 +3,7 @@
;;; Copyright © 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2023 Sarthak Shah <shahsarthakw@gmail.com>
;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2023 Ekaitz Zarraga <ekaitz@elenq.tech>
;;;
;;; This file is part of GNU Guix.
;;;
@ -439,7 +440,8 @@ the equal sign."
actual compiler."
(define wrapper
#~(begin
(use-modules (ice-9 match))
(use-modules (ice-9 match)
(ice-9 string-fun))
(define psabi #$(gcc-architecture->micro-architecture-level
micro-architecture))
@ -486,11 +488,20 @@ actual compiler."
(apply
execl next
(append (cons next arguments)
(if (and (search-next "go")
(string=? next (search-next "go")))
'()
(list (string-append "-march="
#$micro-architecture)))))))))))
(cond
((and (search-next "go")
(string=? next (search-next "go")))
'())
((and (search-next "zig")
(string=? next (search-next "zig")))
`(,(string-append
;; https://issues.guix.gnu.org/67075#3
"-Dcpu="
(string-replace-substring
#$micro-architecture "-" "_"))))
(else
(list (string-append "-march="
#$micro-architecture))))))))))))
(define program
(program-file (string-append "tuning-compiler-wrapper-" micro-architecture)
@ -508,7 +519,7 @@ actual compiler."
(symlink #$program
(string-append bin "/" program)))
'("cc" "gcc" "clang" "g++" "c++" "clang++"
"go")))))))
"go" "zig")))))))
(define (build-system-with-tuning-compiler bs micro-architecture)
"Return a variant of BS, a build system, that ensures that the compiler that

Some files were not shown because too many files have changed in this diff Show More