me
/
guix
Archived
1
0
Fork 0

Merge branch 'master' into gnome-team

master
Liliana Marie Prikler 2023-06-03 08:18:54 +02:00
commit 742d5c3d68
No known key found for this signature in database
GPG Key ID: 442A84B8C70E2F87
165 changed files with 274286 additions and 290215 deletions

View File

@ -411,10 +411,6 @@ AUX_FILES = \
gnu/packages/aux-files/linux-libre/6.3-arm64.conf \
gnu/packages/aux-files/linux-libre/6.3-i686.conf \
gnu/packages/aux-files/linux-libre/6.3-x86_64.conf \
gnu/packages/aux-files/linux-libre/6.2-arm.conf \
gnu/packages/aux-files/linux-libre/6.2-arm64.conf \
gnu/packages/aux-files/linux-libre/6.2-i686.conf \
gnu/packages/aux-files/linux-libre/6.2-x86_64.conf \
gnu/packages/aux-files/linux-libre/6.1-arm.conf \
gnu/packages/aux-files/linux-libre/6.1-arm64.conf \
gnu/packages/aux-files/linux-libre/6.1-i686.conf \

View File

@ -63,11 +63,13 @@ its API, and related concepts.
@c how to join your own translation team and how to report issues with the
@c translation.
This manual is also available in French (@pxref{Top,,, guix-cookbook.fr,
Livre de recettes de GNU Guix}) and German (@pxref{Top,,,
guix-cookbook.de, GNU-Guix-Kochbuch}). If you would like to translate
Livre de recettes de GNU Guix}), German (@pxref{Top,,,
guix-cookbook.de, GNU-Guix-Kochbuch}) and Slovak (@pxref{Top,,,
guix-cookbook.sk, Receptár GNU Guix}). If you would like to translate
this document in your native language, consider joining
@uref{https://translate.fedoraproject.org/projects/guix/documentation-cookbook,
Weblate} (@pxref{Translating Guix,,, guix, GNU Guix reference manual}).
Weblate} (@pxref{Translating Guix,,, guix, GNU Guix reference
manual}).
@menu
* Scheme tutorials:: Meet your new favorite language!

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,222 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2023 Tanguy Le Carrour <tanguy@bioneland.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu home services mail)
#:use-module (guix gexp)
#:use-module (gnu services)
#:use-module (gnu services configuration)
#:use-module (gnu home services)
#:use-module (gnu home services shepherd)
#:use-module (gnu packages mail)
#:use-module (ice-9 string-fun)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:export (home-msmtp-configuration
home-msmtp-configuration?
home-msmtp-configuration-defaults
home-msmtp-configuration-accounts
home-msmtp-configuration-default-account
home-msmtp-configuration-extra-content
home-msmtp-service-type
msmtp-configuration
msmtp-configuration-auth?
msmtp-configuration-tls?
msmtp-configuration-tls-starttls?
msmtp-configuration-tls-trust-file
msmtp-configuration-log-file
msmtp-configuration-host
msmtp-configuration-port
msmtp-configuration-user
msmtp-configuration-from
msmtp-configuration-password-eval
msmtp-configuration-extra-content
msmtp-account
msmtp-account-name
msmtp-account-configuration))
(define-maybe string (prefix msmtp-configuration-))
(define-maybe boolean (prefix msmtp-configuration-))
(define-maybe integer (prefix msmtp-configuration-))
;; Serialization of 'msmtp'.
(define (uglify-symbol field-name)
(let* ((name (symbol->string field-name))
(ugly-name (string-replace-substring name "-" "_")))
(if (string-suffix? "?" ugly-name)
(string-drop-right ugly-name 1)
ugly-name)))
(define (msmtp-configuration-serialize-boolean field-name value)
#~(string-append #$(uglify-symbol field-name) " "
(if #$value "on" "off") "\n"))
(define (msmtp-configuration-serialize-string field-name value)
#~(string-append #$(uglify-symbol field-name) " " #$value "\n"))
(define (msmtp-configuration-serialize-maybe-string-no-underscore field-name value)
#~(if #$(maybe-value-set? value)
(string-append
#$(string-replace-substring (uglify-symbol field-name) "_" "") " " #$value "\n")
""))
(define (msmtp-configuration-serialize-integer field-name value)
#~(string-append #$(uglify-symbol field-name) " "
(number->string #$value) "\n"))
(define (msmtp-configuration-serialize-extra-content field-name value)
#~(if (string=? #$value "") "" (string-append #$value "\n")))
(define (msmtp-account-serialize-name field-name value)
#~(string-append "\naccount " #$value "\n"))
(define (msmtp-account-serialize-msmtp-configuration field-name value)
#~(string-append #$(serialize-configuration value msmtp-configuration-fields)))
(define (home-msmtp-configuration-serialize-list-of-msmtp-accounts field-name value)
#~(string-append #$@(map (cut serialize-configuration <> msmtp-account-fields)
value)))
(define (home-msmtp-configuration-serialize-msmtp-configuration field-name value)
#~(string-append "defaults\n"
#$(serialize-configuration value msmtp-configuration-fields)))
(define (home-msmtp-configuration-serialize-default-account field-name value)
#~(if #$(maybe-value-set? value)
(string-append "\naccount default : " #$value "\n")
""))
(define (home-msmtp-configuration-serialize-extra-content field-name value)
#~(if (string=? #$value "") "" (string-append #$value "\n")))
;; Configuration of 'msmtp'.
;; Source <https://marlam.de/msmtp/msmtp.html#Configuration-files>.
(define-configuration msmtp-configuration
(auth?
maybe-boolean
"Enable or disable authentication.")
(tls?
maybe-boolean
"Enable or disable TLS (also known as SSL) for secured connections.")
(tls-starttls?
maybe-boolean
"Choose the TLS variant: start TLS from within the session (on, default),
or tunnel the session through TLS (off).")
(tls-trust-file
maybe-string
"Activate server certificate verification using a list of
trusted Certification Authorities (CAs).")
(log-file
maybe-string
"Enable logging to the specified file. An empty argument disables logging.
The file name - directs the log information to standard output."
(serializer msmtp-configuration-serialize-maybe-string-no-underscore))
(host
maybe-string
"The SMTP server to send the mail to.")
(port
maybe-integer
"The port that the SMTP server listens on. The default is 25 (\"smtp\"),
unless TLS without STARTTLS is used, in which case it is 465 (\"smtps\").")
(user
maybe-string
"Set the user name for authentication.")
(from
maybe-string
"Set the envelope-from address.")
(password-eval
maybe-string
"Set the password for authentication to the output (stdout) of the command cmd."
(serializer msmtp-configuration-serialize-maybe-string-no-underscore))
(extra-content
(string "")
"Extra content appended as-is to the configuration block. Run
@command{man msmtp} for more information about the configuration file
format."
(serializer msmtp-configuration-serialize-extra-content))
(prefix msmtp-configuration-))
(define-configuration msmtp-account
(name
(string)
"The unique name of the account."
(serializer msmtp-account-serialize-name))
(configuration
(msmtp-configuration)
"The configuration for this given account.")
(prefix msmtp-account-))
(define (list-of-msmtp-accounts? lst)
(every msmtp-account? lst))
(define-configuration home-msmtp-configuration
(defaults
(msmtp-configuration (msmtp-configuration))
"The configuration that will be set as default for all accounts.")
(accounts
(list-of-msmtp-accounts '())
"A list of @code{msmtp-account} records which contain
information about all your accounts.")
(default-account
maybe-string
"Set the default account."
(serializer home-msmtp-configuration-serialize-default-account))
(extra-content
(string "")
"Extra content appended as-is to the configuration file. Run
@command{man msmtp} for more information about the configuration file
format."
(serializer home-msmtp-configuration-serialize-extra-content))
(prefix home-msmtp-configuration-))
(define (home-msmtp-files config)
(list
`(".config/msmtp/config"
,(mixed-text-file "msmtp-config"
(serialize-configuration config home-msmtp-configuration-fields)))))
(define (home-msmtp-profile-entries config)
(list msmtp))
(define home-msmtp-service-type
(service-type (name 'home-msmtp)
(extensions
(list (service-extension home-profile-service-type
home-msmtp-profile-entries)
(service-extension home-files-service-type
home-msmtp-files)))
(default-value (home-msmtp-configuration))
(description "Configure msmtp, a simple
@acronym{SMTP, Simple Mail Transfer Protocol} client that can relay email
to SMTP servers.")))

View File

@ -35,7 +35,7 @@
# Copyright © 2020 Ryan Prior <rprior@protonmail.com>
# Copyright © 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
# Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re>
# Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
# Copyright © 2020, 2023 Tanguy Le Carrour <tanguy@bioneland.org>
# Copyright © 2020 Martin Becze <mjbecze@riseup.net>
# Copyright © 2020 Malte Frank Gerdes <mate.f.gerdes@gmail.com>
# Copyright © 2020, 2023 Vinicius Monego <monego@posteo.net>
@ -94,6 +94,7 @@ GNU_SYSTEM_MODULES = \
%D%/home/services/fontutils.scm \
%D%/home/services/gnupg.scm \
%D%/home/services/guix.scm \
%D%/home/services/mail.scm \
%D%/home/services/media.scm \
%D%/home/services/messaging.scm \
%D%/home/services/pm.scm \
@ -1032,8 +1033,6 @@ dist_patch_DATA = \
%D%/packages/patches/curl-use-ssl-cert-env.patch \
%D%/packages/patches/cursynth-wave-rand.patch \
%D%/packages/patches/cvs-CVE-2017-12836.patch \
%D%/packages/patches/c++-gsl-find-system-gtest.patch \
%D%/packages/patches/c++-gsl-move-array-bounds-tests.patch \
%D%/packages/patches/date-output-pkg-config-files.patch \
%D%/packages/patches/datefudge-gettimeofday.patch \
%D%/packages/patches/dbacl-include-locale.h.patch \
@ -1496,6 +1495,7 @@ dist_patch_DATA = \
%D%/packages/patches/libtirpc-CVE-2021-46828.patch \
%D%/packages/patches/libtirpc-hurd.patch \
%D%/packages/patches/libtommath-fix-linkage.patch \
%D%/packages/patches/libtommath-integer-overflow.patch \
%D%/packages/patches/libtool-grep-compat.patch \
%D%/packages/patches/libtool-skip-tests2.patch \
%D%/packages/patches/libusb-0.1-disable-tests.patch \
@ -1684,6 +1684,7 @@ dist_patch_DATA = \
%D%/packages/patches/prusa-slicer-with-cereal-1.3.1.patch \
%D%/packages/patches/pthreadpool-system-libraries.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 \
%D%/packages/patches/python-louvain-fix-test.patch \
%D%/packages/patches/python-random2-getrandbits-test.patch \
@ -1786,8 +1787,6 @@ dist_patch_DATA = \
%D%/packages/patches/python-fixtures-remove-monkeypatch-test.patch \
%D%/packages/patches/python-hiredis-fix-header.patch \
%D%/packages/patches/python-hiredis-use-system-hiredis.patch \
%D%/packages/patches/python-ipython-documentation-chars.patch \
%D%/packages/patches/python-ipython-documentation-repro.patch \
%D%/packages/patches/python-keras-integration-test.patch \
%D%/packages/patches/python-pdoc3-tests.patch \
%D%/packages/patches/python-peachpy-determinism.patch \
@ -2049,7 +2048,6 @@ dist_patch_DATA = \
%D%/packages/patches/wdl-link-libs-and-fix-jnetlib.patch \
%D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.patch \
%D%/packages/patches/webrtc-audio-processing-big-endian.patch \
%D%/packages/patches/webrtc-for-telegram-desktop-fix-gcc12-cstdint.patch \
%D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \
%D%/packages/patches/wmctrl-64-fix.patch \
%D%/packages/patches/wmfire-update-for-new-gdk-versions.patch \

View File

@ -371,14 +371,14 @@ interface and is based on GNU Guile.")
(define-public shepherd-0.10
(package
(inherit shepherd-0.9)
(version "0.10.0")
(version "0.10.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/shepherd/shepherd-"
version ".tar.gz"))
(sha256
(base32
"0dpbcq4jhqfv39jzc675ccidiyv8ziw5x9qv9kwxv132a5qf8phf"))))))
"1720czfchg4pzw44v0zj3rc3k6jhl3ixwnpw4v4v9bqx98ad49yw"))))))
(define-public shepherd shepherd-0.9)
@ -3971,7 +3971,7 @@ you are running, what theme or icon set you are using, etc.")
(define-public hyfetch
(package
(name "hyfetch")
(version "1.4.7")
(version "1.4.8")
(source
(origin
(method git-fetch)
@ -3981,8 +3981,9 @@ you are running, what theme or icon set you are using, etc.")
(file-name (git-file-name name version))
(sha256
(base32
"1w0wzai73rr7iliii77f15ck5ki03xcvrhgzbp72nn7xcpix9wqd"))))
"127nwgxcq0fs9wavs0sqv8zqdz7yfahw1nr9pgb6z5yjnc5cdcx3"))))
(build-system python-build-system)
(arguments (list #:tests? #f)) ;no tests
(inputs (list python-typing-extensions))
(home-page "https://github.com/hykilpikonna/HyFetch")
(synopsis "@code{neofetch} with pride flags <3")
@ -4991,14 +4992,14 @@ Netgear devices.")
(define-public atop
(package
(name "atop")
(version "2.8.1")
(version "2.9.0")
(source (origin
(method url-fetch)
(uri (string-append "https://www.atoptool.nl/download/atop-"
version ".tar.gz"))
(sha256
(base32
"07nsw168aw3mhgzkfw2z5pf92f76l1r4b18zjx7l9hvrkfhmh04p"))))
"1y4qmc8i7zg2cqrmz38dxbsj8bb2h7jm1zz23gqcdygkgaymwddw"))))
(build-system gnu-build-system)
(arguments
(list

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -4,6 +4,7 @@
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -73,6 +74,12 @@
"--enable-compat-libdns_sd"
,@(if (%current-target-system)
'("ac_cv_prog_have_pkg_config=yes")
'())
,@(if (or (%current-target-system)
(not (member (%current-system)
(package-supported-systems
libcap))))
'("--disable-autoipd")
'()))
#:modules ((srfi srfi-26)
(guix build utils)
@ -92,7 +99,13 @@
("expat" ,expat)
("gdbm" ,gdbm)
("glib" ,glib)
("libcap" ,libcap) ;to enable chroot support in avahi-daemon
;; Do not use libcap when cross-compiling since it's not quite
;; cross-compilable; and use it only for supported systems.
,@(if (and (not (%current-target-system))
(member (%current-system)
(package-supported-systems libcap)))
`(("libcap" ,libcap)) ;to enable chroot support in avahi-daemon
'())
("libdaemon" ,libdaemon)
("libevent" ,libevent)))
(native-inputs

View File

@ -79,14 +79,14 @@
(define-public fio
(package
(name "fio")
(version "3.33")
(version "3.35")
(source (origin
(method url-fetch)
(uri (string-append "https://brick.kernel.dk/snaps/"
"fio-" version ".tar.bz2"))
(sha256
(base32
"083c1w8jqkvyw7wcy69142inlikzmk1k78mk973rnqdp3a7798qb"))))
"0dvxv771hzb72zs995wsq3i1kryv8vfzkndd79i0w2v7ssxnldb3"))))
(build-system gnu-build-system)
(arguments
(list #:modules

View File

@ -2977,13 +2977,13 @@ for use in Bioconductors AnnotationHub.")
(define-public r-anvil
(package
(name "r-anvil")
(version "1.12.0")
(version "1.12.3")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "AnVIL" version))
(sha256
(base32
"17c5l10s756yzg69wdlwir88g0hn6zd0pdsycfr31n9n29nq59wa"))))
"0dx10gcch6csk8nw3ffz4yvn5jf0v80ynsp3dg1az0ybkqyrzbih"))))
(properties `((upstream-name . "AnVIL")))
(build-system r-build-system)
(propagated-inputs
@ -3132,13 +3132,13 @@ plants. The method has been specifically designed to:
(define-public r-alpine
(package
(name "r-alpine")
(version "1.25.0")
(version "1.26.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "alpine" version))
(sha256
(base32
"01y467qcjl40fq0m9vq6fpyi5f243v4g67dnn5ddqwrzrkyb0j2r"))))
"1md4m9ln1mpxf7d2h7jnsjyi4zrviiqn9fzk1gkz2n6qj7jwpqbb"))))
(properties `((upstream-name . "alpine")))
(build-system r-build-system)
(propagated-inputs
@ -3919,13 +3919,13 @@ Various visual and textual types of output are available.")
(define-public r-bambu
(package
(name "r-bambu")
(version "3.2.2")
(version "3.2.3")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "bambu" version))
(sha256
(base32
"0vmfynsyl1bdkbaxp278sgs52kmixi8kzzjck69arbnvmg0wp9ib"))))
"1b5zmyj75fjhyn4mb70gdqvxg76fg2z45vns9l0rl66s3p5mhm6d"))))
(properties `((upstream-name . "bambu")))
(build-system r-build-system)
(propagated-inputs
@ -4302,14 +4302,14 @@ offers nice visualization of methyl-circle plots.")
(define-public r-dearseq
(package
(name "r-dearseq")
(version "1.12.0")
(version "1.12.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "dearseq" version))
(sha256
(base32
"023kychm361z4zxyq9rmbx44p2nf7ysq2anlhn0q257v0bkwxn9i"))))
"12ld1f3892ag1a3lmkwjlkk6pd79ibykg8jrmddx2x33k23cv67g"))))
(build-system r-build-system)
(propagated-inputs
(list r-compquadform
@ -4735,13 +4735,13 @@ bases such as COSMIC.")
(define-public r-delayedarray
(package
(name "r-delayedarray")
(version "0.26.2")
(version "0.26.3")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "DelayedArray" version))
(sha256
(base32
"0zp49ksqcgy5bzlf63s8zc7flv2x66qkn02h49wmyj5ix20al0a7"))))
"0m603v0l74nawid61hvqbyb2662c1djqp436p87pk4f04fvws67j"))))
(properties
`((upstream-name . "DelayedArray")))
(build-system r-build-system)
@ -4769,13 +4769,13 @@ array-like objects like @code{DataFrame} objects (typically with Rle columns),
(define-public r-densvis
(package
(name "r-densvis")
(version "1.10.1")
(version "1.10.2")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "densvis" version))
(sha256
(base32
"1291gp5wj9c47y291c1hqb12dj2zh6xrf0g38kllspqg9885cs54"))))
"0ypwnxi7ilczcvf5lwvyh6ck0jpvn1x90aggq66yqnn6yjy5md8s"))))
(properties `((upstream-name . "densvis")))
(build-system r-build-system)
(propagated-inputs (list r-assertthat r-basilisk r-irlba r-rcpp
@ -5895,13 +5895,13 @@ only one command.")
(define-public r-biocparallel
(package
(name "r-biocparallel")
(version "1.34.1")
(version "1.34.2")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "BiocParallel" version))
(sha256
(base32
"14ddzx7c5d4c599zwfx03bz3bqvxfc748znk929g3200brggqkqd"))))
"0j0yi0g0zri0liy9xm2j3k848smhib5mmkvwcw6281iwnpn7yypq"))))
(properties
`((upstream-name . "BiocParallel")))
(build-system r-build-system)
@ -5932,7 +5932,7 @@ only one command.")
(string-append
m "; if (!is.na(Sys.getenv(\"SOURCE_DATE_EPOCH\"))) {set.seed(100)}\n"))))))))
(propagated-inputs
(list r-bh r-cpp11 r-codetools r-futile-logger r-snow))
(list r-bh r-codetools r-cpp11 r-futile-logger r-snow))
(native-inputs
(list r-knitr))
(home-page "https://bioconductor.org/packages/BiocParallel")
@ -5946,13 +5946,13 @@ objects.")
(define-public r-biostrings
(package
(name "r-biostrings")
(version "2.68.0")
(version "2.68.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "Biostrings" version))
(sha256
(base32
"0gcx07d1qbrhkw30gfg39ln9jm71bya9f7si142lzs3p3bask8a2"))))
"13cnjbq2iykv83ycb4151d7yys21s3v15fc72v3s02m1i92lqyq4"))))
(properties
`((upstream-name . "Biostrings")))
(build-system r-build-system)
@ -6608,13 +6608,13 @@ global-scaling and full-quantile normalization.")
(define-public r-edger
(package
(name "r-edger")
(version "3.42.2")
(version "3.42.4")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "edgeR" version))
(sha256
(base32
"1vss3n2m12vf6wcspfly394b8g3mfbwkkw8ihz8nqpc2iqs399rj"))))
"1lyn017jqgn6d987zrk0kp2p2nw3mxf8zjspk31pky532p9pkhs3"))))
(properties `((upstream-name . "edgeR")))
(build-system r-build-system)
(propagated-inputs
@ -7321,13 +7321,13 @@ Binomial data via estimation of latent structure in the natural parameter.")
(define-public r-limma
(package
(name "r-limma")
(version "3.56.0")
(version "3.56.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "limma" version))
(sha256
(base32
"01q0rq2xwjsqj4phym4885iblpvfwvi5nphmnq8l3ybs0ixm2g9w"))))
"02c559an6hzk00bbvlrq1qljsnby4a53ng9jj6ff570mc6pabjn6"))))
(build-system r-build-system)
(home-page "https://bioinf.wehi.edu.au/limma")
(synopsis "Package for linear models for microarray and RNA-seq data")
@ -8855,13 +8855,13 @@ method applicable to massive single-cell datasets (>10,000 cells).")
(define-public r-scmap
(package
(name "r-scmap")
(version "1.22.1")
(version "1.22.3")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "scmap" version))
(sha256
(base32 "184dp319967ba9wx2g1v4rivwy3csr44s7in1jk91d5hwj28nk09"))))
(base32 "06i3r7zybwcgnak9ml2jaz7fy70zjqdh28v03ckaqhvck49kdqdm"))))
(properties `((upstream-name . "scmap")))
(build-system r-build-system)
(propagated-inputs
@ -9523,14 +9523,14 @@ of gene-level counts.")
(define-public r-valr
(package
(name "r-valr")
(version "0.6.7")
(version "0.6.8")
(source
(origin
(method url-fetch)
(uri (cran-uri "valr" version))
(sha256
(base32
"1s8bjbban2a3cqhwgykmhkv5b748nscamfbv67v4cppjbdvlhb5s"))))
"156sqh474synjvdm1j332ab75rqab0n81d674xbgs3rfxlr2ksgz"))))
(build-system r-build-system)
(propagated-inputs
(list r-broom
@ -9779,13 +9779,13 @@ libraries for systems that do not have these available via other means.")
(define-public r-zellkonverter
(package
(name "r-zellkonverter")
(version "1.10.0")
(version "1.10.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "zellkonverter" version))
(sha256
(base32 "0gn134nvgf86gnf4d4fvrvjyy3pvk3rpdabzyi4rzrpjprycf4sb"))))
(base32 "1p89i2dfwcgrdchdnxrywp3jjjn5jjs5bisrx5kav26yh2pyx1wk"))))
(properties `((upstream-name . "zellkonverter")))
(build-system r-build-system)
(propagated-inputs
@ -9989,13 +9989,13 @@ problems in genomics, brain imaging, astrophysics, and data mining.")
(define-public r-apeglm
(package
(name "r-apeglm")
(version "1.22.0")
(version "1.22.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "apeglm" version))
(sha256
(base32
"1k02w2jk0s65x1l2axi80fk60nxyx8jbgkax5pxwrsbv7l84n3bl"))))
"19r1mhpkn3xy6l188c14k9xgn25xqc718bwrlmnz63lak6mp4ws7"))))
(properties `((upstream-name . "apeglm")))
(build-system r-build-system)
(propagated-inputs
@ -10118,6 +10118,57 @@ package comprehensively addressing issues ranging from post-alignments
processing to visualization and annotation.")
(license license:gpl2)))
(define-public r-mbecs
(package
(name "r-mbecs")
(version "1.4.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "MBECS" version))
(sha256
(base32 "0gfr3c5k7xjd342zfdksgh22mrk3ryr4cp89nar0mlpgzxg4l4vz"))))
(properties `((upstream-name . "MBECS")))
(build-system r-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'set-HOME
;; Fontconfig needs a writable cache
(lambda _ (setenv "HOME" "/tmp"))))))
(propagated-inputs
(list r-cluster
r-dplyr
r-ggplot2
r-gridextra
r-limma
r-lme4
r-lmertest
r-magrittr
r-markdown
r-matrix
r-pheatmap
r-phyloseq
r-rmarkdown
r-ruv
r-sva
r-tibble
r-tidyr
r-vegan))
(native-inputs (list r-knitr))
(home-page "https://github.com/rmolbrich/MBECS")
(synopsis
"Evaluation and correction of batch effects in microbiome data-sets")
(description
"The @acronym{MBECS, Microbiome Batch Effect Correction Suite} provides a
set of functions to evaluate and mitigate unwated noise due to processing in
batches. To that end it incorporates a host of batch correcting algorithms
(BECA) from various packages. In addition it offers a correction and reporting
pipeline that provides a preliminary look at the characteristics of a data-set
before and after correcting for batch effects.")
(license license:artistic2.0)))
(define-public r-mbkmeans
(package
(name "r-mbkmeans")
@ -10262,13 +10313,13 @@ fitting of some classes of graphical Markov models.")
(define-public r-ggpicrust2
(package
(name "r-ggpicrust2")
(version "1.6.3")
(version "1.6.5")
(source (origin
(method url-fetch)
(uri (cran-uri "ggpicrust2" version))
(sha256
(base32
"1rw8p1wjj3pmmccyqkl0smgnqz2s4f22hy4kyl91w8ck64xmplzs"))))
"02ais1y3z85vykxd9975gz33s80d1nhivly6a07y98dbmlzjyr6a"))))
(properties `((upstream-name . "ggpicrust2")))
(build-system r-build-system)
(propagated-inputs (list r-aldex2
@ -11123,14 +11174,14 @@ multiplication.")
(define-public r-treeio
(package
(name "r-treeio")
(version "1.24.0")
(version "1.24.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "treeio" version))
(sha256
(base32
"0vix0mmx4idnxj2qaslgqrrgh97fk6p3g9p7lnf3l0915gwks1p1"))))
"1jwjnwakinfqfx8ajbl58lqdhsq06a25phxy3vsprh1glj37smf7"))))
(properties `((upstream-name . "treeio")))
(build-system r-build-system)
(propagated-inputs
@ -15169,14 +15220,14 @@ annotations.")
(define-public r-rsubread
(package
(name "r-rsubread")
(version "2.14.0")
(version "2.14.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "Rsubread" version))
(sha256
(base32
"1h1h0qrbd55p16d62v50nfan07vvnrbb9kjzpqfw0n8dc2xjwj1c"))))
"1dgbvhsd0rki1skwrb4acd3cfy7c9slsjq1s7r2469zbs3xf12xc"))))
(properties `((upstream-name . "Rsubread")))
(build-system r-build-system)
(inputs (list zlib))
@ -17588,13 +17639,13 @@ functionality.")
(define-public r-biocviews
(package
(name "r-biocviews")
(version "1.68.0")
(version "1.68.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "biocViews" version))
(sha256
(base32
"06gxyhxxnvcv6jxp5aqdsr35w1xhww2y5xafc3lw9wkawjdbnndy"))))
"04rzrwxd9n4l3agmbkx03hhcmy2fx049q5n4glld46mvx3vjvc48"))))
(properties
`((upstream-name . "biocViews")))
(build-system r-build-system)
@ -17604,8 +17655,8 @@ functionality.")
r-graph
r-rbgl
r-rcurl
r-xml
r-runit))
r-runit
r-xml))
(native-inputs (list r-knitr))
(home-page "https://bioconductor.org/packages/biocViews")
(synopsis "Bioconductor package categorization helper")
@ -18263,13 +18314,13 @@ routines.")
(define-public r-s4arrays
(package
(name "r-s4arrays")
(version "1.0.1")
(version "1.0.4")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "S4Arrays" version))
(sha256
(base32
"05nbdz8c2qfkbflbn5acf4bvdb20rj83nb4aii0c5v4zvxxrs3js"))))
"1pwkbp94r8vv43vgxcgqzbs1njhqlahfgsbf8rhr0ndy1bjyly2g"))))
(properties `((upstream-name . "S4Arrays")))
(build-system r-build-system)
(propagated-inputs
@ -19674,14 +19725,14 @@ on the plot.")
(define-public r-abn
(package
(name "r-abn")
(version "2.7-3")
(version "2.7-5")
(source
(origin
(method url-fetch)
(uri (cran-uri "abn" version))
(sha256
(base32
"02qmp3ky671fkpjq1vcb083zzvfn5gkf69rhvdlvg7siy5wrjll3"))))
"0ibznjhy7vmh2myarvmxy06rvddbpbarbp201px62mig2pb9aq4y"))))
(build-system r-build-system)
(inputs
(list gsl))
@ -19695,6 +19746,8 @@ on the plot.")
r-rcpparmadillo
r-rgraphviz
r-rjags))
(native-inputs
(list r-r-rsp))
(home-page "https://r-bayesian-networks.org/")
(synopsis "Modelling multivariate data with additive bayesian networks")
(description
@ -19947,14 +20000,14 @@ to annotation.")
(define-public r-megadepth
(package
(name "r-megadepth")
(version "1.9.0")
(version "1.10.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "megadepth" version))
(sha256
(base32
"1sj4z63drafmm1hvs0yhhn9c9mrwiv8i2s0cjj1iam8rbar0xv79"))))
"1zzhgfnrr3r5ismbbj9jcqss8mr8ll6p4d3z026ya2khb0i7clc7"))))
(properties `((upstream-name . "megadepth")))
(build-system r-build-system)
(inputs (list megadepth))
@ -20179,14 +20232,14 @@ eliminating obsolete caches generated by old versions of packages.")
(define-public r-basilisk-utils
(package
(name "r-basilisk-utils")
(version "1.12.0")
(version "1.12.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "basilisk.utils" version))
(sha256
(base32
"0qbff2mw0sj8i75vjs8f4qpsvsjgwncaz45a5bbzjgzbjw816xg4"))))
"0g5apvna9wzjlm7g9hdafy44nrg5rp3qh4anwpgwwp2vr0vxn37k"))))
(properties
`((upstream-name . "basilisk.utils")))
(build-system r-build-system)
@ -20229,14 +20282,14 @@ Python environments in a single R session.")
(define-public r-biocthis
(package
(name "r-biocthis")
(version "1.10.0")
(version "1.10.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "biocthis" version))
(sha256
(base32
"1vzxr2wyv9vkkm4snn74w2l9nsiz3cim1s5gngzfw9wpli0a2kjf"))))
"1kmgahjyyrvs475as24yk0jniswjaa507q6zs8zq8jjqa26gy6zj"))))
(properties `((upstream-name . "biocthis")))
(build-system r-build-system)
(arguments
@ -20927,13 +20980,13 @@ estimates, etc.")
(define-public r-tcgabiolinks
(package
(name "r-tcgabiolinks")
(version "2.25.3")
(version "2.28.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "TCGAbiolinks" version))
(sha256
(base32 "0daq7093yipry8pp6fj6pj8x1njxs8j6cz7875qkfmzqkbis4vql"))))
(base32 "16hpljnqskgv7mycj0ipfxhvkyy0hcqvnrn5m416plwcx5cj2fjm"))))
(properties `((upstream-name . "TCGAbiolinks")))
(build-system r-build-system)
(propagated-inputs

View File

@ -872,6 +872,45 @@ high-throughput sequence analysis. The package is primarily useful to
developers of other R packages who wish to make use of HTSlib.")
(license license:lgpl2.0+))))
(define-public r-singlet
(let ((commit "765a6c45081807a1522f0e8983e2417822a36f36")
(revision "1"))
(package
(name "r-singlet")
(version (git-version "0.99.26" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zdebruine/singlet")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"040v8wzl9qr8ribr6qss61fz4698d14cqs8nxbc8hqwiqlpy3vs4"))))
(properties `((upstream-name . "singlet")))
(build-system r-build-system)
(propagated-inputs (list r-dplyr
r-fgsea
r-ggplot2
r-knitr
r-limma
r-matrix
r-msigdbr
r-rcpp
r-rcppml/devel
r-reshape2
r-scuttle
r-seurat))
(native-inputs (list r-knitr))
(home-page "https://github.com/zdebruine/singlet")
(synopsis "Non-negative Matrix Factorization for single-cell analysis")
(description
"This is a package for fast @dfn{Non-negative Matrix
Factorization} (NMF) with automatic rank-determination for dimension reduction
of single-cell data using Seurat, RcppML nmf, SingleCellExperiments and
similar.")
(license license:gpl2+))))
(define-public r-stringendo
(let ((commit "83b8f2d82a09b33b9e895438bb523a021138be01")
(revision "1"))
@ -1298,6 +1337,75 @@ pretty, publication-quality figures for next-generation sequencing
experiments.")
(license license:expat)))
(define-public python-cell2cell
(package
(name "python-cell2cell")
(version "0.6.8")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/earmingol/cell2cell")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1hwww0rcv8sc4k312n4d0jhbyix1jjqgv5djg25bw8127q5iym3s"))
(modules '((guix build utils)))
(snippet
'(begin
;; We remove the dependency on statannotations because it
;; will not work with the current version of seaborn. See
;; https://github.com/trevismd/statannotations/issues/122
(substitute* "cell2cell/plotting/factor_plot.py"
(("from statannotations.Annotator import Annotator")
"")
(("if statistical_test is not None")
"if False"))
(substitute* "setup.py"
(("'statannotations',") "")
;; We provide version 1.0.4, which should be fine.
(("'gseapy == 1.0.3'") "'gseapy'")
;; Using matplotlib 3.5.2 leads to this bug:
;; https://github.com/earmingol/cell2cell/issues/19 but we
;; can't package a different minor version of matplotlib
;; and limit its use to just this package.
(("matplotlib >= 3.2.0,<=3.5.1") ""))))))
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f ;There are no tests
#:phases
'(modify-phases %standard-phases
;; Numba needs a writable dir to cache functions.
(add-before 'build 'set-numba-cache-dir
(lambda _ (setenv "NUMBA_CACHE_DIR" "/tmp"))))))
(propagated-inputs
(list python-gseapy
python-kneed
python-matplotlib
python-networkx
python-numpy
python-openpyxl
python-pandas
python-scikit-learn
python-scipy
python-seaborn
python-statsmodels
python-scanpy
python-seaborn
python-tensorly
python-tqdm
python-umap-learn
python-xlrd))
(home-page "https://github.com/earmingol/cell2cell")
(synopsis "Python library for cell communication analysis")
(description
"Cell2cell is a Python library for cell communication analysis.
This is a method to calculate, visualize and analyze communication between
cell types. Cell2cell is suitable for single-cell RNA sequencing
(scRNA-seq) data.")
(license license:bsd-3)))
(define-public python-cellbender
(package
(name "python-cellbender")
@ -4597,6 +4705,89 @@ data. EpiScanpy is the epigenomic extension of the very popular scRNA-seq
analysis tool Scanpy (Genome Biology, 2018).")
(license license:bsd-3)))
(define-public python-ete3
(package
(name "python-ete3")
(version "3.1.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/etetoolkit/ete")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1i6533wsm06mz0sdrisqai929j744cnczwjgsmxl847q5k16kngd"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
'(list "-k"
;; This test crashes Python in the build container
(string-append "not test_renderer"
;; These all need internet access
" and not test_00_update_database"
" and not test_01tree_annotation"
" and not test_get_topology"
" and not test_merged_id"
" and not test_ncbi_compare"
" and not test_ncbiquery")
"ete3/test/test_api.py")))
(propagated-inputs
(list python-lxml
python-numpy
python-pyqt
python-scipy))
(native-inputs
(list python-pytest))
(home-page "http://etetoolkit.org")
(synopsis "Python environment for phylogenetic tree exploration")
(description
"This package provides a Python environment for phylogenetic tree
exploration.")
(license license:gpl3+)))
(define-public python-illumina-utils
(package
(name "python-illumina-utils")
(version "2.12")
(source (origin
(method url-fetch)
(uri (pypi-uri "illumina-utils" version))
(sha256
(base32
"0z9g0prj7pmgl5z4vdpxv3v30grzhc194801qnf0wqzgy7w3aj2s"))))
(build-system pyproject-build-system)
(arguments (list #:tests? #false)) ;there are none
(propagated-inputs (list python-matplotlib python-numpy python-levenshtein))
(home-page "https://github.com/meren/illumina-utils")
(synopsis "Library and scripts to work with Illumina paired-end data")
(description
"This package provides a library and collection of scripts to work with
Illumina paired-end data (for CASAVA 1.8+).")
(license license:gpl2+)))
(define-public python-pyani
(package
(name "python-pyani")
(version "0.2.12")
(source (origin
(method url-fetch)
(uri (pypi-uri "pyani" version))
(sha256
(base32
"124kdg7168nbh4a5wisfws1fgkd89dd4js9v6dml2lvgclbv4mjg"))))
(build-system pyproject-build-system)
(propagated-inputs
(list python-biopython python-matplotlib python-pandas
python-scipy python-seaborn))
(home-page "https://widdowquinn.github.io/pyani/")
(synopsis "Calculate genome-scale average nucleotide identity")
(description
"Pyani provides a package and script for calculation of genome-scale
average nucleotide identity.")
(license license:expat)))
(define-public exonerate
(package
(name "exonerate")
@ -5454,6 +5645,89 @@ manipulating HTS data.")
(add-after 'unpack 'remove-tests
(lambda _ (delete-file-recursively "src/test") #t)))))))
(define-public java-maxent
(package
(name "java-maxent")
(version "3.4.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mrmaxent/Maxent")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"12q7hhly76l77vm8w8v9icga2gn6xs0bw33a7wb7zikcmvizcyp0"))))
(build-system ant-build-system)
(arguments
(list
#:tests? #false ;there are none
#:jdk icedtea-8
#:phases
#~(modify-phases %standard-phases
(replace 'build
(lambda* (#:key inputs #:allow-other-keys)
;; See https://github.com/mrmaxent/Maxent/pull/11
(substitute* "density/Extractor.java"
(("float") "double"))
(with-directory-excursion "gnu/getopt/"
(invoke "make"))
(mkdir-p "ptii")
(with-directory-excursion "ptii"
(invoke "tar" "xvf" (assoc-ref inputs "ptii")
"--strip-components=1")
(copy-recursively "com" "../com"))
(delete-file-recursively "ptii")
(apply invoke "javac" "-cp" (getcwd) "-g"
(find-files "com/microstar/xml" "\\.java$"))
(apply invoke "javac" "-cp" (getcwd) "-g"
(find-files "density" "\\.java$"))
;; This needs the proprietary com.sun.image.codec.jpeg module.
(delete-file "ptolemy/plot/servlet/PlotServlet.java")
(apply invoke "javac" "-cp"
(string-append (getcwd) ":" (getenv "CLASSPATH")) "-g"
(find-files "ptolemy/plot" "\\.java$"))
(apply invoke "javac" "-cp" (getcwd) "-g"
(find-files "com" "\\.java$"))
(apply invoke "javac" "-cp" (getcwd) "-g"
(find-files "gui" "\\.java$"))
(apply invoke "jar" "cvfm" "maxent.jar"
(cons* "density/mc.mf"
"density/parameters.csv"
(append (find-files "density" "\\.class$")
(find-files "density" "\\.html$")
(find-files "gnu/getopt" ".*")
(find-files "gui/layouts" "\\.class$")
(find-files "com/macfaq/io" "\\.class$")
(find-files "density/tools" "\\.class$")
(find-files "ptolemy/plot" "\\.class$"))))))
(replace 'install
(lambda _
(install-file "maxent.jar"
(string-append #$output "/share/java/maxent/")))))))
(inputs
(list java-classpathx-servletapi))
(native-inputs
`(("make" ,gnu-make)
;; For com.microstar.xml
("ptii"
,(let ((version "4.0.1"))
(origin
(method url-fetch)
(uri (string-append "https://ptolemy.berkeley.edu/ptolemyII/ptII"
(version-major+minor version)
"/ptII" version ".src.tar.gz"))
(sha256
(base32
"0ifmmvrcipcnd4b9im1g379ffrs7g7k99sw5vv9d9h3hzq6hqv21")))))))
(home-page "http://biodiversityinformatics.amnh.org/open_source/maxent")
(synopsis "Model species geographic distributions")
(description
"Maxent is a stand-alone Java application for modelling species
geographic distributions.")
(license license:expat)))
;; This version matches java-htsjdk 2.3.0. Later versions also require a more
;; recent version of java-htsjdk, which depends on gradle.
(define-public java-picard

View File

@ -11,7 +11,7 @@
;;; Copyright © 2020 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2020 Yuval Kogman <nothingmuch@woobling.org>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020, 2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 qblade <qblade@protonmail.com>
;;; Copyright © 2021, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022, 2023 Juliana Sims <jtsims@protonmail.com>
@ -118,7 +118,7 @@ makes a few sacrifices to acquire fast full and incremental build times.")
(define-public bear
(package
(name "bear")
(version "3.0.20")
(version "3.1.2")
(source
(origin
(method git-fetch)
@ -127,7 +127,7 @@ makes a few sacrifices to acquire fast full and incremental build times.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0k89ccp9vz3x71w3r2wfpng9b8s0rxp4qr0ch9q32wq6y1ik847j"))))
(base32 "1iq0ciw3x2awpli4k9mhx80c442xbs70y4g6qpwrirbjw15q33n7"))))
(build-system cmake-build-system)
(arguments
`(#:phases (modify-phases %standard-phases

View File

@ -35,7 +35,7 @@
(define-public busybox
(package
(name "busybox")
(version "1.36.0")
(version "1.36.1")
(source (origin
(method url-fetch)
(uri (string-append
@ -43,7 +43,7 @@
version ".tar.bz2"))
(sha256
(base32
"19b1mzkc2hc2qsg4fnshdyqfxk1xkzwv900p40767ckwmz4509sl"))))
"0573gpj51phcz04sg77iznvcxmf5jnbk9gn3g5r9x02daz4j9k5q"))))
(build-system gnu-build-system)
(arguments
(list #:phases

View File

@ -58,8 +58,8 @@
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR)))
(define-public cuirass
(let ((commit "4a8a4bc1f83924c88740b08b14cbfbc089502997")
(revision "15"))
(let ((commit "b82596778bf653a572b5fcd483388226b29b96f3")
(revision "16"))
(package
(name "cuirass")
(version (git-version "1.1.0" revision commit))
@ -72,7 +72,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"0s55yx86wqnb543vwbs2kj6bmnzqrvjgj3mafm7vzvfrxrqj3xgi"))))
"1246cs3bmpkp8jis0xxasmrpq622p1ds3s0payrv5bxng9j6dbfp"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build utils)

View File

@ -2333,7 +2333,12 @@ exec " gcc "/bin/" program
;; names, which cannot be repacked by BOOTSTRAP-ORIGIN. Nor
;; can it be deleted from Guile, so resort to this evil hack.
#$(origin-snippet (package-source gcc))
(system* #$(file-append coreutils-boot0 "/bin/rm") "-rf"
(system* #$(file-append (let-system system
;; 'coreutils-boot0' is Linux-only.
(if (target-hurd? system)
%bootstrap-coreutils&co
coreutils-boot0))
"/bin/rm") "-rf"
"gcc/testsuite/go.test/test/fixedbugs/issue27836.dir"))))))
(arguments
(cons*
@ -2492,8 +2497,9 @@ exec " gcc "/bin/" program
`(#:guile ,%bootstrap-guile
#:implicit-inputs? #f
,@(package-arguments m4)
;; Ignore test failure in gnulib for armhf/aarch64.
#:tests? ,(not (target-arm?))))))
;; Ignore test failure in gnulib for armhf/aarch64 and Hurd
#:tests? ,(and (not (target-arm?))
(not (target-hurd?)))))))
(define bison-boot0
;; This Bison is needed to build MiG so we need it early in the process.

View File

@ -35,6 +35,7 @@
;;; Copyright © 2023 Sughosha <Sughosha@proton.me>
;;; Copyright © 2023 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2023 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -224,7 +225,7 @@ range-v3 ranges are an abstraction layer on top of iterators.")
(define-public c++-gsl
(package
(name "c++-gsl")
(version "3.1.0")
(version "4.0.0")
(source
(origin
(method git-fetch)
@ -235,12 +236,8 @@ range-v3 ranges are an abstraction layer on top of iterators.")
(string-append "v" version))))
(file-name
(git-file-name name version))
(patches
(search-patches
"c++-gsl-find-system-gtest.patch"
"c++-gsl-move-array-bounds-tests.patch"))
(sha256
(base32 "0gbvr48f03830g3154bjhw92b8ggmg6wwh5xyb8nppk9v6w752l0"))))
(base32 "0dgb3rb6x2276d3v7x568m3zhqr67rhk8ynqgm3c304avnmcaw3i"))))
(build-system cmake-build-system)
(native-inputs
(list googletest pkg-config))
@ -1580,7 +1577,7 @@ standards.")
(define-public cli11
(package
(name "cli11")
(version "1.9.1")
(version "2.3.2")
(source
(origin
(method git-fetch)
@ -1589,35 +1586,14 @@ standards.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0hbch0vk8irgmiaxnfqlqys65v1770rxxdfn3d23m2vqyjh0j9l6"))
(modules '((guix build utils)))
(snippet
'(begin (delete-file-recursively "extern")
#t))))
(base32 "1iif7kzp3yyjqg4yfar89rqmz44xkbi603gf9kjdqbgraw3f8zy7"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
'("-DCLI11_SINGLE_FILE=OFF"
"-DCLI11_BUILD_EXAMPLES=OFF")
#:imported-modules ,%cmake-build-system-modules
#:modules ((guix build cmake-build-system)
(guix build utils))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'no-vendor-gtest
(lambda _
(substitute* "tests/CMakeLists.txt"
;; We provide our own googletest, so this is not really a
;; problem.
(("message\\(FATAL_ERROR \"You have requested")
"message(TRACE \"You have requested"))
(substitute* "cmake/AddGoogletest.cmake"
(("^add_subdirectory\\(.*googletest.*$") "find_package(GTest REQUIRED)")
(("^set_target_properties\\(gtest gtest_main gmock gmock_main") "")
(("^ PROPERTIES FOLDER \"Extern\"\\)") ""))
#t)))))
(list #:configure-flags
#~(list "-DCLI11_SINGLE_FILE=OFF"
"-DCLI11_BUILD_EXAMPLES=OFF")))
(native-inputs
(list doxygen googletest))
(list catch2 doxygen googletest))
(synopsis "Command line parser for C++11")
(description
"CLI11 is a command line parser for C++11 and beyond that provides a rich
@ -2115,29 +2091,35 @@ but implemented for C++11, C++14, C++17 or C++20.")
(define-public cpp-mustache
(package
(name "cpp-mustache")
(version "4.1")
(version "5.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kainjow/Mustache")
(commit (string-append "v" version))))
(commit "4ed8c0b5a2a43d59394bd6900dc04e738dbf8c02")))
(file-name (git-file-name name version))
(sha256
(base32
"0r9rbk6v1wpld2ismfsk2lkhbyv3dkf0p03hkjivbj05qkfhvlbb"))))
"0qwrg35gby851viwd6dgrc346712701a0gll8a0m4xs8invxavrh"))))
(build-system cmake-build-system)
(arguments
(list #:phases
(list #:configure-flags
#~(list
(string-append "-DCMAKE_CXX_FLAGS=-I"
#$(this-package-native-input "catch2")
"/include/catch2/"))
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "./mustache"))))
(invoke "./tests/mustache-unit-tests"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(install-file "../source/mustache.hpp"
(string-append (assoc-ref outputs "out")
"/include")))))))
(native-inputs (list catch2))
(home-page "https://github.com/kainjow/Mustache")
(synopsis "Mustache text templates for modern C++")
(description "@code{cpp-mustache} is a Mustache implementation for C++ 11

File diff suppressed because it is too large Load Diff

View File

@ -1381,7 +1381,7 @@ nameservers other than libc.")
(define-public smartdns
(package
(name "smartdns")
(version "40")
(version "42")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1393,7 +1393,7 @@ nameservers other than libc.")
((".*SYSTEMDSYSTEMUNITDIR.*") "")))
(sha256
(base32
"0ibbj96s40xgk6q7dsgpx65rjkknl1pn7nca5fcbbhcm2m80nzjj"))))
"17j0h5l7gig6rzk8b9180jwrx5khpnrylacjxvnnpgsi2725k8lq"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ;no tests

View File

@ -296,7 +296,8 @@ objects.")
(file-name (git-file-name name version))
(sha256
(base32
"1ma5gwy93m1djd3zdlnqfrwhgr8ic1qbsz5kkrb9f987ax40lfkd"))))
"1ma5gwy93m1djd3zdlnqfrwhgr8ic1qbsz5kkrb9f987ax40lfkd"))
(patches (search-patches "python-docrepr-fix-tests.patch"))))
(build-system python-build-system)
(arguments
(list

View File

@ -394,7 +394,7 @@ languages.")
(package
(inherit emacs)
(name "emacs-next")
(version "29.0.90")
(version "29.0.91")
(source
(origin
(inherit (package-source emacs))
@ -409,7 +409,7 @@ languages.")
"emacs-native-comp-driver-options.patch"))
(sha256
(base32
"1lmw3fa6c5w5d6cvk8vdqvqn67hm5lcxy9xykmvcgx258vs7x975"))))
"09jm1q5pvd1dc0xq5rhn66v1j235zlr72kwv5i27xigvi9nfqkv1"))))
(inputs
(modify-inputs (package-inputs emacs)
(prepend sqlite)))
@ -418,28 +418,14 @@ languages.")
(prepend autoconf)))))
(define-public emacs-next-tree-sitter
(let ((commit "ac7ec87a7a0db887e4ae7fe9005aea517958b778")
(revision "0"))
(package
(inherit emacs-next)
(name "emacs-next-tree-sitter")
(version (git-version "30.0.50" revision commit))
(source
(origin
(inherit (package-source emacs-next))
(method git-fetch)
(uri (git-reference
(url "https://git.savannah.gnu.org/git/emacs.git/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1akq6dbllwwqwx21wnwnv6aax1nsi2ypbd7j3i79sw62s3gf399z"))))
(inputs
(modify-inputs (package-inputs emacs-next)
(prepend sqlite tree-sitter)))
(synopsis "Emacs text editor with @code{tree-sitter} support")
(description "This Emacs build supports tree-sitter."))))
(package
(inherit emacs-next)
(name "emacs-next-tree-sitter")
(inputs
(modify-inputs (package-inputs emacs-next)
(prepend sqlite tree-sitter)))
(synopsis "Emacs text editor with @code{tree-sitter} support")
(description "This Emacs build supports tree-sitter.")))
(define-public emacs-next-pgtk
(package

View File

@ -1048,7 +1048,7 @@ Emacs).")
(define-public kicad
(package
(name "kicad")
(version "7.0.2")
(version "7.0.5")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1056,7 +1056,7 @@ Emacs).")
(commit version)))
(sha256
(base32
"0san7pjgvd8niwrki722qb6y46r71rlyspqp43pmkiz55dmz52zx"))
"04mkvz4l6i8bb6mw4y0vmlkg2kvdhkj980w6y6sphb9xq8vzmcxs"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@ -1156,7 +1156,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
(file-name (git-file-name name version))
(sha256
(base32
"1sh970sjvgzrwwjbkgg3ikzka5dfdq66hvkcxfx2dnp7hv0hidc2"))))
"1xq00wi97ck2019d9brsqg8l7xvjq01g2bwv4nvmh6zh4bwcgr3g"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DBUILD_FORMATS=html")
@ -1190,7 +1190,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
(file-name (git-file-name name version))
(sha256
(base32
"0aah92rb8yx00z0xwx9z7xn5rrw4cc3z35gr7c0bnb49hiak01jc"))))
"15100z8g4x28sxz8097ay1vxfxz2c4a1nvvzyx5vjfmhydwqwk49"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; no tests exist
@ -1219,7 +1219,7 @@ libraries.")
(file-name (git-file-name name version))
(sha256
(base32
"1qrdznfd4a6kzwd4aaijkpyjy0xnrmi66isq9z52652a8s6ja48v"))))
"11d3mwmivi6rc778a2x118a5mk11d9mr8miadxmy1mbc41jbx2dh"))))
(synopsis "Official KiCad footprint libraries")
(description "This package contains the official KiCad footprint libraries.")))
@ -1236,7 +1236,7 @@ libraries.")
(file-name (git-file-name name version))
(sha256
(base32
"1nkk4325jh89vh52ykfnf9pz1k3jk5017gz6r2cia2v4b3jadi31"))))
"1bzb6b7llzwabjkdd0xsyan0x8kihccap4gwvipzydfg7gm5fjxm"))))
(synopsis "Official KiCad 3D model libraries")
(description "This package contains the official KiCad 3D model libraries.")))

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018, 20202022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2017, 2018, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2018, 2021, 2023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2019-2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
@ -1830,6 +1830,30 @@ the XDG directory specification from @file{~/.@var{name}} to
@file{~/.config/@var{name}}.")
(license license:gpl2+))))
(define-public squashfuse
(package
(name "squashfuse")
(version "0.1.105")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/vasi/squashfuse")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "03aw8pw8694jyrzpnbry05rk9718sqw66kiyq878bbb679gl7224"))))
(build-system gnu-build-system)
(native-inputs (list autoconf automake libtool pkg-config))
(inputs (list attr fuse xz zlib `(,zstd "lib")))
(home-page "https://github.com/vasi/squashfuse")
(synopsis "Fuse filesystem to mount squashfs archives")
(description
"Squashfuse lets you mount SquashFS archives in user-space. It supports
almost all features of the SquashFS format, yet is still fast and
memory-efficient.")
(license license:bsd-2)))
(define-public tmsu
(package
(name "tmsu")

View File

@ -139,7 +139,7 @@
;; <https://bitcoincore.org/en/lifecycle/#schedule>.
(package
(name "bitcoin-core")
(version "24.1")
(version "25.0")
(source (origin
(method url-fetch)
(uri
@ -147,7 +147,7 @@
version "/bitcoin-" version ".tar.gz"))
(sha256
(base32
"0kmgpzknbykgwb8vd7hj3j1xxn35785gf4vii5705k6rnarks2la"))))
"1hpbw6diyla75a6jrwsis9c5pnhpnnxwbznsik1s1fd35ks7rxjx"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf

View File

@ -1834,7 +1834,7 @@ programming. Iosevka is completely generated from its source code.")
(define-public font-sarasa-gothic
(package
(name "font-sarasa-gothic")
(version "0.39.0")
(version "0.40.7")
(source
(origin
(method url-fetch)
@ -1842,7 +1842,7 @@ programming. Iosevka is completely generated from its source code.")
"/releases/download/v" version
"/sarasa-gothic-ttc-" version ".7z"))
(sha256
(base32 "19a4a9zsfzkg7xak2sys6jiia7qw1j69206qzn8r2vchrib5lvcz"))))
(base32 "01iqc93dmi48n4g3xf472602hxhf9zfwfawy7vhn4rf06yhndv4s"))))
(build-system font-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@ -2990,7 +2990,7 @@ and readability. This package bundles those icons into a font.")
(define-public font-lxgw-wenkai
(package
(name "font-lxgw-wenkai")
(version "1.250")
(version "1.300")
(source (origin
(method url-fetch)
(uri (string-append
@ -2998,7 +2998,7 @@ and readability. This package bundles those icons into a font.")
version "/lxgw-wenkai-v" version ".tar.gz"))
(sha256
(base32
"04c1cszxhs2zw3qn7rs3ik2aaczvf8n28gq9ch6iv782fv2p8irn"))))
"1vywhvzj8l3hw2j0np5jhmwli037mxgs05s7n3y3xw3z46r7rwx4"))))
(build-system font-build-system)
(home-page "https://lxgw.github.io/2021/01/28/Klee-Simpchin/")
(synopsis "Simplified Chinese Imitation Song typeface")
@ -3012,7 +3012,7 @@ within GB 2312, standard glyphs for Mainland China is used.")
(package
(inherit font-lxgw-wenkai)
(name "font-lxgw-wenkai-tc")
(version "0.932")
(version "1.000")
(source (origin
(method url-fetch)
(uri (string-append
@ -3020,7 +3020,7 @@ within GB 2312, standard glyphs for Mainland China is used.")
version "/lxgw-wenkai-tc-v" version ".tar.gz"))
(sha256
(base32
"12yp3q3hhv847qj7a51cjxxqb2rqm4lvbm54wdr2j4awg3g8lflg"))))
"1jhmqwrx7311iwng3b00j3lwjzacam605dm4n6wd8amqc9azi9b2"))))
(home-page "https://github.com/lxgw/LxgwWenKaitc")
(synopsis "Traditional Chinese Imitation Song typeface")
(description
@ -3031,7 +3031,7 @@ dialects in Hong Kong and Taiwan.")))
(define-public font-chiron-sung-hk
(package
(name "font-chiron-sung-hk")
(version "1.007")
(version "1.008")
(source (origin
(method git-fetch)
(uri (git-reference
@ -3040,7 +3040,7 @@ dialects in Hong Kong and Taiwan.")))
(file-name (git-file-name name version))
(sha256
(base32
"1mhw3vgahfc9kyb7sw5w5zswp93a4sz7q12f7qba069f834j5qjq"))))
"19rabzmy4ywam4r5kgnqbgbmqzvhsagzddbyis5iicc6y8jrmd1j"))))
(build-system font-build-system)
(home-page "https://chiron-fonts.github.io/")
(synopsis "Traditional Chinese Song typeface")
@ -3055,7 +3055,7 @@ prevalent typefaces in Traditional Chinese regions.")
(package
(inherit font-chiron-sung-hk)
(name "font-chiron-hei-hk")
(version "2.505")
(version "2.506")
(source (origin
(method git-fetch)
(uri (git-reference
@ -3064,7 +3064,7 @@ prevalent typefaces in Traditional Chinese regions.")
(file-name (git-file-name name version))
(sha256
(base32
"1h2ps2kdv2s29pp9an4gpb84xwmkizqrgsk4hs5f0g0004897hi5"))))
"1v40wcj3h38ai9gacpjfd02nas97scpdkz3g3h8a5yzp0n0pfknw"))))
(synopsis "Traditional Chinese Gothic typeface")
(description
"Chiron Hei HK is a Traditional Chinese Gothic typeface based on the Hong

View File

@ -2720,7 +2720,7 @@ compatible with the well-known scripts of the same name.")
(define-public libportal
(package
(name "libportal")
(version "0.5")
(version "0.6")
(source (origin
(method git-fetch)
(uri (git-reference
@ -2729,12 +2729,18 @@ compatible with the well-known scripts of the same name.")
(file-name (git-file-name name version))
(sha256
(base32
"0i4v0wjyiryg7jq9hp9iaplqyhwj1cqy5891s4jfldcdzvcwxwx0"))))
"1q1kqq72cs7f5b17gzw7218mxs65hijzkll27mh51s02fpiw8c60"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
(list "-Dbackends=gtk4,gtk3,qt5"
"-Ddocs=false"))) ; requires unpackaged gi-docgen
(list
#:configure-flags
#~(list "-Ddocs=false") ; requires unpackaged gi-docgen
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'set-qt-environment-variables
(lambda* (#:key inputs #:allow-other-keys)
;; Required for tests
(setenv "QT_QPA_PLATFORM" "offscreen"))))))
(native-inputs
(list pkg-config
docbook-xsl
@ -2759,15 +2765,16 @@ compatible with the well-known scripts of the same name.")
(define-public xdg-desktop-portal
(package
(name "xdg-desktop-portal")
(version "1.14.6")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/flatpak/xdg-desktop-portal/releases/download/"
version "/xdg-desktop-portal-" version ".tar.xz"))
(sha256
(base32
"1q0djpnwlrqm0h0alyh1r6dlkqdrr7mj5hiam4mqzxqa5jbqkrgj"))))
(version "1.16.0")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/flatpak/xdg-desktop-portal/releases/download/"
version "/xdg-desktop-portal-" version ".tar.xz"))
(sha256
(base32
"06cczlh39kc41rvav06v37sad827y61rffy3v29i918ibj8sahav"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@ -2822,7 +2829,7 @@ and others.")
(define-public xdg-desktop-portal-gtk
(package
(name "xdg-desktop-portal-gtk")
(version "1.14.0")
(version "1.14.1")
(source (origin
(method url-fetch)
(uri (string-append
@ -2830,7 +2837,7 @@ and others.")
version "/xdg-desktop-portal-gtk-" version ".tar.xz"))
(sha256
(base32
"0m29b4hm7lq06gcavxw7gdlgqiiy3vgv3v4yjqfq5kx92q3j28gn"))))
"002p19j1q3fc8x338ndzxnicwframpgafw31lwvv5avy329akqiy"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:phases
@ -2916,7 +2923,7 @@ for xdg-desktop-portal that is using Qt/KF5.")
(define-public xdg-desktop-portal-wlr
(package
(name "xdg-desktop-portal-wlr")
(version "0.5.0")
(version "0.7.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -2925,7 +2932,7 @@ for xdg-desktop-portal that is using Qt/KF5.")
(file-name (git-file-name name version))
(sha256
(base32
"1ipg35gv8ja39ijwbyi96qlyq2y1fjdggl40s38rv68bsya8zry1"))
"1b3hpp3ybjgnnmnwsyb5bsnvz9q5nr3zz0j1alh02g24f68lf00k"))
(patches (search-patches "xdg-desktop-portal-wlr-harcoded-length.patch"))))
(build-system meson-build-system)
(arguments
@ -2958,6 +2965,7 @@ for xdg-desktop-portal that is using Qt/KF5.")
bash-minimal
grim
iniparser
mesa
libinih
pipewire
slurp

View File

@ -99,6 +99,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
@ -1278,7 +1279,7 @@ and multimedia programs in the Python language.")
(define-public python-pygame-sdl2
(let ((real-version "2.1.0")
(renpy-version "8.0.3"))
(renpy-version "8.1.0"))
(package
(inherit python-pygame)
(name "python-pygame-sdl2")
@ -1288,7 +1289,7 @@ and multimedia programs in the Python language.")
(method url-fetch)
(uri (string-append "https://www.renpy.org/dl/" renpy-version
"/pygame_sdl2-" version ".tar.gz"))
(sha256 (base32 "1nq78mybkvshshdjy5bly6nfq6dnwll648ng62fwmksxpni17486"))
(sha256 (base32 "1qj39jqnv334p4wnxc2v5qxyahp7nkqf9hpdd2sgqcmgaqwnqqmj"))
(modules '((guix build utils)))
(snippet
'(begin
@ -1298,22 +1299,22 @@ and multimedia programs in the Python language.")
(delete-file-recursively "gen-static")))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; tests require pygame to be installed first
#:phases
(modify-phases %standard-phases
(add-after 'set-paths 'set-sdl-vars
(lambda* (#:key inputs #:allow-other-keys)
(setenv "PYGAME_SDL2_CFLAGS"
(string-append "-I"
(assoc-ref inputs "sdl-union")
"/include/SDL2 -D_REENTRANT"))
(setenv "PYGAME_SDL2_LDFLAGS"
(string-append "-L"
(assoc-ref inputs "sdl-union")
"/lib -Wl,-rpath,"
(assoc-ref inputs "sdl-union")
"/lib -Wl,--enable-new-dtags -lSDL2"))
#t)))))
(list
#:tests? #f ; tests require pygame to be installed first
#:phases
#~(modify-phases %standard-phases
(add-after 'set-paths 'set-sdl-vars
(lambda* (#:key inputs #:allow-other-keys)
(setenv "PYGAME_SDL2_CFLAGS"
(string-append "-I"
(assoc-ref inputs "sdl-union")
"/include/SDL2 -D_REENTRANT"))
(setenv "PYGAME_SDL2_LDFLAGS"
(string-append "-L"
(assoc-ref inputs "sdl-union")
"/lib -Wl,-rpath,"
(assoc-ref inputs "sdl-union")
"/lib -Wl,--enable-new-dtags -lSDL2")))))))
(inputs
(list (sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf))))
(native-inputs
@ -1329,73 +1330,77 @@ developed mainly for Ren'py.")
(define-public python-renpy
(package
(name "python-renpy")
(version "8.0.3")
(version "8.1.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.renpy.org/dl/" version
"/renpy-" version "-source.tar.bz2"))
(sha256 (base32 "1b49y60pi6304fg06lw5gajzrgg9w80swpfkn6pw0lxbr6djgjgn"))
(sha256
(base32
"08l7z2vwqxkskj3rs2a0w9ahah28ixq8hy48h30k2dm9g19h450h"))
(modules '((guix build utils)))
(patches
(search-patches
"renpy-use-system-fribidi.patch"))
(snippet
'(with-directory-excursion "module"
;; drop fribidi sources
(delete-file-recursively "fribidi-src")
;; drop _renpytfd, as there are missing sources
(substitute* "setup.py"
(("cython\\(\"_renpytfd\"" all)
(string-append "pass # " all)))))))
#~(begin
;; Build without sync service.
;; Encryption is only used for enabling this service and requires
;; libhydrogen, which doesn't have a public release, so drop it
;; as well
(for-each delete-file
'("renpy/encryption.pyx"
"renpy/common/00sync.rpy"))
(substitute* "module/setup.py"
(("cython\\(\"renpy\\.encryption\"\\)") ""))
(substitute* "renpy/__init__.py"
(("import renpy\\.encryption") ""))
;; Trust vc_version.py when it comes to detecting whether a
;; version is official.
(substitute* "renpy/__init__.py"
(("official = official and .*") ""))))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; Ren'py doesn't seem to package tests
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-commands
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "renpy/editor.py"
(("xdg-open")
(string-append (assoc-ref inputs "xdg-utils")
"/bin/xdg-open")))))
(add-after 'unpack 'fix-include-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "module/setup.py"
(("/usr/include/fribidi")
(search-input-directory inputs "include/fribidi")))))
(add-after 'set-paths 'set-build-vars
(lambda* (#:key inputs native-inputs #:allow-other-keys)
(setenv "RENPY_CYTHON"
(search-input-file (or native-inputs inputs)
"/bin/cython"))
(setenv "RENPY_DEPS_INSTALL" (string-join (map cdr inputs) ":"))))
(replace 'build
(lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
;; The "module" subdirectory contains a python (really cython)
;; project, which is built using a script, that is thankfully
;; named "setup.py".
(with-directory-excursion "module"
(apply (assoc-ref %standard-phases 'build) args))
;; The above only builds the cython modules, but nothing else,
;; so we do that here.
(invoke "python" "-m" "compileall" "renpy")))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
;; Again, we have to wrap the module installation.
;; Additionally, we want to install the python code
;; (both source and compiled) in the same directory.
(let* ((out (assoc-ref outputs "out"))
(site (string-append "/lib/python"
(python-version
(assoc-ref inputs "python"))
"/site-packages")))
(with-directory-excursion "module"
(apply (assoc-ref %standard-phases 'install) args))
(copy-recursively "renpy"
(string-append out site "/renpy"))
(delete-file-recursively (string-append out site
"/renpy/common"))))))))
(list
#:tests? #f ; Ren'py doesn't seem to package tests
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-commands
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "renpy/editor.py"
(("xdg-open")
(string-append (assoc-ref inputs "xdg-utils")
"/bin/xdg-open")))))
(add-after 'set-paths 'set-build-vars
(lambda* (#:key inputs native-inputs #:allow-other-keys)
(setenv "RENPY_CYTHON"
(search-input-file (or native-inputs inputs)
"/bin/cython"))
(setenv "RENPY_DEPS_INSTALL" (string-join (map cdr inputs) ":"))))
(replace 'build
(lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
;; The "module" subdirectory contains a python (really cython)
;; project, which is built using a script, that is thankfully
;; named "setup.py".
(with-directory-excursion "module"
(apply (assoc-ref %standard-phases 'build) args))
;; The above only builds the cython modules, but nothing else,
;; so we do that here.
(invoke "python" "-m" "compileall" "renpy")))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
;; Again, we have to wrap the module installation.
;; Additionally, we want to install the python code
;; (both source and compiled) in the same directory.
(let* ((out (assoc-ref outputs "out"))
(site (string-append "/lib/python"
(python-version
(assoc-ref inputs "python"))
"/site-packages")))
(with-directory-excursion "module"
(apply (assoc-ref %standard-phases 'install) args))
(copy-recursively "renpy"
(string-append out site "/renpy"))
(delete-file-recursively (string-append out site
"/renpy/common"))))))))
(native-inputs (list python-cython))
(inputs
(list ffmpeg
@ -1405,7 +1410,7 @@ developed mainly for Ren'py.")
libpng
(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf))
xdg-utils))
(propagated-inputs (list python-future python-pygame-sdl2))
(propagated-inputs (list python-ecdsa python-future python-pygame-sdl2))
(home-page "https://www.renpy.org/")
(synopsis "Ren'py python module")
(description "This package contains the shared libraries and Python modules

View File

@ -5393,7 +5393,7 @@ in-window at 640x480 resolution or fullscreen.")
(define-public warzone2100
(package
(name "warzone2100")
(version "4.3.3")
(version "4.3.5")
(source
(origin
(method url-fetch)
@ -5401,7 +5401,7 @@ in-window at 640x480 resolution or fullscreen.")
version
"/warzone2100_src.tar.xz"))
(sha256
(base32 "17p58wxwva0qp267hm1alas52jd9h74494wh01ahz880hscbjg1w"))
(base32 "1hq56hm6bn3s2pksznh5g8hgq6ww6fnl1pspr3bi93k3z7v0imh1"))
(modules '((guix build utils)))
(snippet
'(begin
@ -5414,30 +5414,30 @@ in-window at 640x480 resolution or fullscreen.")
#t))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DWZ_DISTRIBUTOR=Guix"
"-DWZ_ENABLE_BACKEND_VULKAN=off"
"-DENABLE_DISCORD=off")
#:tests? #f ; TODO: Tests seem to be broken, configure.ac is missing.
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-utfcpp-include
(lambda _
(substitute* "lib/framework/wzstring.cpp"
(("<utfcpp/source/utf8.h>") "<utf8.h>"))
#t))
(add-after 'unpack 'link-tests-with-qt
(lambda _
(substitute* "tests/Makefile.am"
(("(framework_linktest_LDADD|maptest_LDADD) = " prefix)
(string-append prefix "$(QT5_LIBS) ")))
#t))
(add-after 'unpack 'fix-ivis-linktest
(lambda _
(substitute* "tests/ivis_linktest.cpp"
(("iV_DrawTextRotated.*;")
(string-append "iV_DrawTextRotated(\"Press ESC to exit.\", "
"100, 100, 0.0f, font_regular);")))
#t)))))
(list #:configure-flags #~'("-DWZ_DISTRIBUTOR=Guix"
"-DWZ_ENABLE_BACKEND_VULKAN=off"
"-DENABLE_DISCORD=off")
#:tests? #f ; TODO: Tests seem to be broken, configure.ac is missing.
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-utfcpp-include
(lambda _
(substitute* "lib/framework/wzstring.cpp"
(("<utfcpp/source/utf8.h>")
"<utf8.h>"))))
(add-after 'unpack 'link-tests-with-qt
(lambda _
(substitute* "tests/Makefile.am"
(("(framework_linktest_LDADD|maptest_LDADD) = "
prefix)
(string-append prefix "$(QT5_LIBS) ")))))
(add-after 'unpack 'fix-ivis-linktest
(lambda _
(substitute* "tests/ivis_linktest.cpp"
(("iV_DrawTextRotated.*;")
(string-append
"iV_DrawTextRotated(\"Press ESC to exit.\", "
"100, 100, 0.0f, font_regular);"))))))))
(native-inputs (list asciidoc
ruby-asciidoctor
gettext-minimal

View File

@ -18,6 +18,7 @@
;;; Copyright © 2020 Arthur Margerit <ruhtra.mar@gmail.com>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2023 Saku Laesvuori <saku@laesvuori.fi>
;;;
;;; This file is part of GNU Guix.
;;;
@ -878,6 +879,20 @@ libraries.")
useful for C++.")
(license license:lgpl2.1+)))
(define-public glibmm-next
(package
(inherit glibmm)
(version "2.76.0")
(name "glibmm")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/glibmm/"
(version-major+minor version)
"/glibmm-" version ".tar.xz"))
(sha256
(base32
"1cia8vrpwzn8zwalws42mga5hi965840m5s8dvfzv55xx86dhdw6"))))))
(define-public glibmm-2.64
(package
(inherit glibmm)

View File

@ -7754,7 +7754,7 @@ powerful general purpose text editor.")
(define-public zenity
(package
(name "zenity")
(version "3.43.0")
(version "3.44.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/zenity/"
@ -7762,7 +7762,7 @@ powerful general purpose text editor.")
"zenity-" version ".tar.xz"))
(sha256
(base32
"0czq2vx636xbvg7zbdqkxq41zgm7v1h048awy0cgls0q1hgcmmxh"))))
"1aiyx7z2vnipfmlpk4m20zc5bgjlmh6hx3ix1d61yhb5r6p00m6n"))))
(build-system meson-build-system)
(arguments
(list #:phases #~(modify-phases %standard-phases
@ -7771,7 +7771,7 @@ powerful general purpose text editor.")
;; DESTDIR is unset.
(lambda _
(setenv "DESTDIR" "/"))))))
(native-inputs (list gettext-minimal itstool pkg-config))
(native-inputs (list gettext-minimal `(,gtk+ "bin") itstool pkg-config))
(inputs (list gtk+))
(synopsis "Display graphical dialog boxes from shell scripts")
(home-page "https://www.gnome.org")

View File

@ -167,14 +167,14 @@ tool to extract metadata from a file and print the results.")
(define-public libmicrohttpd
(package
(name "libmicrohttpd")
(version "0.9.76")
(version "0.9.77")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-"
version ".tar.gz"))
(sha256
(base32
"0k7b3h0ka3ckp60dgrwmnigw7i79bk5w3qg84kvw19j2b9xm9cgh"))))
"185hfvdxs3njcja5rz5c9v73x4x97k0s8vkah396000ja6hj6w4y"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags

View File

@ -1138,8 +1138,8 @@ standards of the IceCat project.")
"ru" "sco" "si" "sk" "sl" "son" "sq" "sr" "sv-SE" "szl" "ta" "te" "th" "tl"
"tr" "trs" "uk" "ur" "uz" "vi" "xh" "zh-CN" "zh-TW"))
(define %icedove-build-id "20230424000000") ;must be of the form YYYYMMDDhhmmss
(define %icedove-version "102.10.1")
(define %icedove-build-id "20230527000000") ;must be of the form YYYYMMDDhhmmss
(define %icedove-version "102.11.2")
;; Provides the "comm" folder which is inserted into the icecat source.
;; Avoids the duplication of Icecat's source tarball.
@ -1148,11 +1148,11 @@ standards of the IceCat project.")
(method hg-fetch)
(uri (hg-reference
(url "https://hg.mozilla.org/releases/comm-esr102")
(changeset "6eabe0915354d878fe93e2b02547cebe83f1fd6d")))
(changeset "c406f857789ca8a8943b895f4cadfc61921860ab")))
(file-name (string-append "thunderbird-" %icedove-version "-checkout"))
(sha256
(base32
"1hbakn0b7gvfy9ciqbjwkg1pl3d21b0bnafqf6280lv3v593rq08"))))
"1id7wlj16zbgxyxx672vls7h3sq1153grrfqgw71y2ps6zwzxg67"))))
(define (comm-source->locales+changeset source)
"Given SOURCE, a checkout of the Thunderbird 'comm' component, return the

View File

@ -3603,7 +3603,7 @@ the @url{https://vuln.go.dev,Go Vulnerability Database}.")
(define-public gopls
(package
(name "gopls")
(version "0.11.0")
(version "0.12.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -3612,7 +3612,7 @@ the @url{https://vuln.go.dev,Go Vulnerability Database}.")
(file-name (git-file-name name version))
(sha256
(base32
"1l9y1rp7x51s6dnjn227fhdlnz4z1h41jn3x1aq49qki241w7m73"))))
"04bq7rh6d6mgxm0lsi8y9v1x7cgx4nvjlsyvxl89r6rcqh3n1lfb"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/tools/gopls"

View File

@ -850,12 +850,12 @@ is not available for Guile 2.0.")
(license license:lgpl3+)))
(define-public guile-fibers-next
(let ((commit "745bd409bef17284648805fb985777d21dba79f7")
(revision "2"))
(let ((commit "99fc3e38048f732de67c43fde52e949fa294aa7d")
(revision "1"))
(package
(inherit guile-fibers-1.1)
(name "guile-fibers-next")
(version (git-version "1.2.0" revision commit))
(version (git-version "1.3.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
@ -864,7 +864,7 @@ is not available for Guile 2.0.")
(file-name (git-file-name "guile-fibers" version))
(sha256
(base32
"0rn6v4phpnb443i0azfx33b38axd5asv40hhxx9b710hi22j4aic")))))))
"1950nf0qa52m1hhc33z0snci5azbdcv4m6hklk5rpqchc90x9h4p")))))))
(define-public guile-fibers
(package
@ -1082,8 +1082,8 @@ for calling methods on remote servers by exchanging JSON objects.")
(license license:expat))))
(define-public guile-squee
(let ((commit "a151fd006fa819945ca1d4749b173854269b9f70")
(revision "3"))
(let ((commit "fab9d9590792f3ededd4abd8cfa6be5e56659678")
(revision "4"))
(package
(name "guile-squee")
(version (string-append "0-" revision "." (string-take commit 7)))
@ -1095,7 +1095,7 @@ for calling methods on remote servers by exchanging JSON objects.")
(file-name (git-file-name name version))
(sha256
(base32
"1jps14z8653ah2kr367iayzyi3ql2s55l77xrafz7gk3mzcvgrrg"))))
"03wdawx14sqs6xkw1vl06s58xyjicg2js2k4syn0z64bjbxxjvps"))))
(build-system guile-build-system)
(arguments
'(#:phases

View File

@ -898,103 +898,10 @@ create a set of formula connecting your objects together, and on a change nip2
recalculates.")
(license license:gpl2+)))
;; This package bundles and extends VTK. It also reuses the VTK build system
;; to some degree. Sadly, it does not seem to be possible to build with an
;; external VTK, despite the CMake option PARAVIEW_USE_EXTERNAL_VTK.
(define-public paraview-5.9
(package
(name "paraview")
(version "5.9.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.paraview.org/files/v"
(version-major+minor version)
"/ParaView-v" version ".tar.xz"))
(sha256
(base32 "13aczmfshzia324h9r2m675yyrklz2308rf98n444ppmzfv6qj0d"))))
(build-system qt-build-system)
(arguments
(list
#:build-type "Release" ;Build without debug symbols to save space
#:configure-flags
'(list "-DPARAVIEW_BUILD_WITH_EXTERNAL=ON"
"-DPARAVIEW_BUILD_SHARED_LIBS=ON"
"-DPARAVIEW_BUILD_DEVELOPER_DOCUMENTATION=OFF"
"-DPARAVIEW_USE_PYTHON=ON"
"-DPARAVIEW_ENABLE_FFMPEG=ON"
"-DPARAVIEW_ENABLE_GDAL=ON"
"-DPARAVIEW_ENABLE_WEB=OFF"
"-DVTK_MODULE_USE_EXTERNAL_VTK_doubleconversion=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_eigen=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_expat=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_freetype=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_gl2ps=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_glew=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_hdf5=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_jpeg=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_libxml2=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_lz4=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_lzma=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_netcdf=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_png=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_theora=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_tiff=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_utf8=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_zlib=ON"
"-DVTK_MODULE_USE_EXTERNAL_ParaView_vtkcatalyst=OFF"
"-DVTK_MODULE_USE_EXTERNAL_VTK_cgns=OFF"
"-DVTK_MODULE_USE_EXTERNAL_VTK_exprtk=OFF"
"-DVTK_MODULE_USE_EXTERNAL_VTK_fmt=OFF"
"-DVTK_MODULE_USE_EXTERNAL_VTK_ioss=OFF")))
(inputs
(list ;; XXX: We can't simply #:use-module due to a cycle somewhere.
(module-ref
(resolve-interface '(gnu packages engineering))
'cgns)
cli11
double-conversion
eigen
expat
ffmpeg-4
freetype
gdal
gl2ps
glew
hdf5
jsoncpp
libharu
libjpeg-turbo
libpng
libtheora
libtiff
libxml2
lz4
mesa
netcdf
protobuf
pugixml
python
qtbase-5
qtsvg-5
qttools-5
qtxmlpatterns
utfcpp
zlib))
(home-page "https://www.paraview.org/")
(synopsis "Data analysis and visualization application")
(description "ParaView is a data analysis and visualization application.
Users can quickly build visualizations to analyze their data using qualitative
and quantitative techniques. The data exploration can be done interactively
in 3D or programmatically using ParaViews batch processing capabilities.")
(license license:bsd-3)))
(define-public paraview
(package
(name "paraview")
(version "5.11.0")
(version "5.11.1")
(source
(origin
(method git-fetch)
@ -1004,7 +911,7 @@ in 3D or programmatically using ParaViews batch processing capabilities.")
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32 "0qifzsbgg8f7zvg5a4934nql6nv5b6sm1f59bylyc6v5bqd0myas"))
(base32 "0m1lgkl95f0pyhxp97gq2rf8hibv39v4c49imfj1va40z0flvard"))
(modules '((guix build utils)))
(snippet
;; TODO: Also remove unused bundled libraries and plugins?
@ -1055,7 +962,7 @@ in 3D or programmatically using ParaViews batch processing capabilities.")
"lzma"
"mpi4py"
"netcdf"
;;"nlohmannjson" ; ParFlow build fails even with bundled
"nlohmannjson"
"ogg"
;;"pegtl"
"png"
@ -1164,7 +1071,7 @@ in 3D or programmatically using ParaViews batch processing capabilities.")
"-DVTK_MODULE_USE_EXTERNAL_VTK_lzma=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_mpi4py=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_netcdf=ON"
;;"-DVTK_MODULE_USE_EXTERNAL_VTK_nlohmannjson=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_nlohmannjson=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_ogg=ON"
;;"-DVTK_MODULE_USE_EXTERNAL_VTK_pegtl=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_png=ON"
@ -1213,7 +1120,7 @@ in 3D or programmatically using ParaViews batch processing capabilities.")
glew
gmsh
hdf5
;;nlohmann-json ;For ParFlow; build fails
nlohmann-json ;For ParFlow; build fails
jsoncpp
libjpeg-turbo
libogg

View File

@ -7,6 +7,7 @@
;;; Copyright © 2020, 2022 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2022 Milran <milranmike@protonmail.com>
;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -30,6 +31,7 @@
#:use-module (gnu packages audio)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages dbm)
#:use-module (gnu packages docbook)
#:use-module (gnu packages emacs)
#:use-module (gnu packages freedesktop)
@ -50,6 +52,8 @@
#:use-module (gnu packages python)
#:use-module (gnu packages perl-check)
#:use-module (gnu packages qt)
#:use-module (gnu packages ruby)
#:use-module (gnu packages scheme)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages serialization)
#:use-module (gnu packages swig)
@ -918,6 +922,159 @@ and manipulation.")
"libskk is a library to deal with Japanese kana-to-kanji conversion method.")
(license license:gpl3+)))
(define-public skktools
(package
(name "skktools")
(version "1.3.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/skk-dev/skktools")
(commit (string-append "skktools-"
(string-replace-substring version
"." "_")))))
(file-name (git-file-name name version))
(sha256
(base32
"1zway8jsm18279xq8zlpr84iqiw373x3v0ysay74n9bjqxbl234a"))
(modules '((guix build utils)))
(snippet '(begin
;; Maybe requires jgawk
(delete-file "unannotation.awk")
(delete-file "convert2skk/edict2skk.awk")
(delete-file "convert2skk/wnn2skk.awk")
(delete-file "convert2skk/wnn2skk.sed") ;Used with wnn2skk.awk
(delete-file "convert2skk/wnn2skk.sh") ;Depends on 2 files above
;; Requires jperl
(delete-file "convert2skk/alpha-kana.pl")
(delete-file "convert2skk/atok2skk.pl")
(delete-file "convert2skk/read.me") ;Readme for jperl scripts
(delete-file "convert2skk/wx2skk.pl")
(delete-file-recursively "dbm")
;; Needs a lot requirements
(delete-file "convert2skk/doc2skk.sh")
;; Obsolete scripts
(delete-file-recursively "convert2skk/obsolete")
;; Contains syntax error
(delete-file "convert2skk/pubdic2list")))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
#:modules ((guix build gnu-build-system)
((guix build emacs-build-system)
#:prefix emacs:)
(guix build utils)
(guix build emacs-utils))
#:imported-modules (,@%gnu-build-system-modules
(guix build emacs-build-system)
(guix build emacs-utils))
#:phases (modify-phases %standard-phases
(add-before 'install 'fix-library-loading
(lambda* (#:key outputs #:allow-other-keys)
(for-each (lambda (path)
(substitute* path
(("require 'skkdictools'")
"require_relative 'skkdictools'")))
(list "filters/annotation-filter.rb"
"filters/asayaKe.rb"
"filters/complete-numerative.rb"
"filters/conjugation.rb"
"filters/make-tankan-dic.rb"))))
(add-after 'install 'install-scripts
(lambda* (#:key outputs #:allow-other-keys)
(let ((share (string-append (assoc-ref outputs "out")
"/share/skktools")))
(install-file "filters/skkdictools.rb" share)
(for-each (lambda (file)
(invoke "chmod" "755" file)
(install-file file share))
(append (find-files "." "\\.rb$")
(find-files "." "\\.scm$")
(find-files "." "\\.py$")
(find-files "convert2skk" "\\.pl")
(find-files "convert2skk" "\\.rb")
(list "convert2skk/adddummy"
"convert2skk/list2skk"
"convert2skk/removedummy"
"convert2skk/skk2list")
(find-files "filters" "\\.rb$"))))))
;; Install and make autoloads for skk-xml.el.
(add-after 'install 'install-emacs-files
(assoc-ref emacs:%standard-phases
'install))
(add-after 'install-emacs-files 'compile-emacs-files
(assoc-ref emacs:%standard-phases
'build))
(add-after 'compile-emacs-files 'make-autoloads
(assoc-ref emacs:%standard-phases
'make-autoloads))
(add-after 'install 'install-docs
(lambda* (#:key outputs #:allow-other-keys)
(let ((doc (string-append (assoc-ref outputs "out")
"/share/doc/"
,name "-"
,version)))
(install-file "ChangeLog" doc)
(for-each (lambda (file)
(install-file file doc))
(append (find-files "READMEs")))
(copy-file "filters/README.md"
(string-append doc "/README.filters.md"))
(copy-file "convert2skk/README.md"
(string-append doc "/README.convert2skk.md")))))
(add-after 'wrap-scripts 'check-scripts
;; Skipped tests for:
;; * skk2cdb.py: Requires cdb file
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (string-append (assoc-ref outputs "out")
"/share/skktools")))
(for-each (lambda (args)
(apply invoke
(string-append out "/"
(car args))
(cdr args)))
'(("abbrev-convert.rb")
("abbrev-simplify-keys.rb")
("adddummy")
("annotation-filter.rb")
("aozora2skk.rb")
("asayaKe.rb")
("canna2skk.rb" "/dev/null")
("chasen2skk.rb")
("complete-numerative.rb")
("conjugation.rb")
("ctdicconv.rb")
("dic-it2skk.rb" "/dev/null")
("ipadic2skk.rb")
("list2skk")
("make-tankan-dic.rb")
("prime2skk.rb")
("removedummy")
("saihenkan.rb")
("skk2list")
("/skkdic-diff.scm" "/dev/null"
"/dev/null")
("skk-wordpicker.rb")))))))))
(native-inputs (list
;; for skkdic-expr2
pkg-config
;; for installing Emacs Lisp files
emacs-minimal))
(inputs (list bdb-4.8
glib ;for skkdic-expr2
;; For scripts
gauche
perl
python-2
ruby))
(home-page "https://github.com/skk-dev/skktools")
(synopsis "SKK dictionary maintenance tools")
(description
"The skktools are SKK dictionary maintenance tools. This includes
commands such as @command{skkdic-count}, @command{skkdic-expr}, and
@command{skkdic-sort}.")
(license license:gpl2+)))
(define-public mecab
(package
(name "mecab")

View File

@ -2,7 +2,7 @@
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2018, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@ -28,6 +28,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages base))
@ -60,7 +61,10 @@
(with-directory-excursion (string-append #$output "/lib")
(install-file "libunistring.a"
(string-append #$output:static "/lib"))
(delete-file "libunistring.a")))))))
(delete-file "libunistring.a")))))
#:make-flags (if (target-hurd?)
#~(list "XFAIL_TESTS=test-perror2 test-strerror_r")
#~'())))
(synopsis "C library for manipulating Unicode strings")
(description
"GNU libunistring is a library providing functions to manipulate

View File

@ -485,55 +485,40 @@ 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.3-version "6.3.3")
(define-public linux-libre-6.3-version "6.3.5")
(define-public linux-libre-6.3-gnu-revision "gnu")
(define deblob-scripts-6.3
(linux-libre-deblob-scripts
linux-libre-6.3-version
linux-libre-6.3-gnu-revision
(base32 "01ivgzq18fwas87q84jx9jipcw58kwdnch7ylwg06d98ncga27px")
(base32 "10n0ya7y4k96hggylcmymwfj1d07vhpzkz7qamqz7n96jqj1fnpi")))
(base32 "0la20slh52jm4cg4v2liphhqqx4808gm6pfqcxiawj13a4ps9ygk")))
(define-public linux-libre-6.3-pristine-source
(let ((version linux-libre-6.3-version)
(hash (base32 "1ra4kr9bp1s9d7amvz6ik1q3chwps5lysn37b28770pfdim22xc9")))
(hash (base32 "0pl2zypsmrnna69850jadccffxwg9xdfkldg0sv8m44b7n64gkgm")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.3)))
(define-public linux-libre-6.2-version "6.2.16")
(define-public linux-libre-6.2-gnu-revision "gnu")
(define deblob-scripts-6.2
(linux-libre-deblob-scripts
linux-libre-6.2-version
linux-libre-6.2-gnu-revision
(base32 "03jd3ijbdql44m89fnzwp3mlygs735n4ga7mighlfbdybfjzwfyj")
(base32 "15q27ji6k67a1m94lj0hs47sd072fmb1p575r7g6mq8pl9yynbrl")))
(define-public linux-libre-6.2-pristine-source
(let ((version linux-libre-6.2-version)
(hash (base32 "04w76lfkfiq7z4dl3cnq6yiqmiwjayhw3n7n81hv8d3919w0vzq6")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.2)))
(define-public linux-libre-6.1-version "6.1.29")
;; 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.31")
(define-public linux-libre-6.1-gnu-revision "gnu")
(define deblob-scripts-6.1
(linux-libre-deblob-scripts
linux-libre-6.1-version
linux-libre-6.1-gnu-revision
(base32 "1b96867b46m36l88qnq2d4i9y43ghw97z9jajrh11cvb6kq4xi67")
(base32 "12p6z91fmdqwnmkw0cjha4gl7kzija8fk7yxciznz1raxix6bq57")))
(base32 "1yv15mb278wlrn8gb2yjm0mczirzixy668h221vcpbz416ibxx1m")))
(define-public linux-libre-6.1-pristine-source
(let ((version linux-libre-6.1-version)
(hash (base32 "1yzwp0496j63c6lhvsni1ynr8b2cpn552pli3nd3fdk0pp4nqwqy")))
(hash (base32 "1hbkw290kmf1dj8a255ik1gk5fk458c88m348dwrc3lrl6xifsg8")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.1)))
;; 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-5.15-version "5.15.112")
(define-public linux-libre-5.15-version "5.15.114")
(define-public linux-libre-5.15-gnu-revision "gnu")
(define deblob-scripts-5.15
(linux-libre-deblob-scripts
@ -543,12 +528,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "00n8c7ghfs36bvz0yjw6w9daf5zcgj94kxxn27bfyfm274rkddmz")))
(define-public linux-libre-5.15-pristine-source
(let ((version linux-libre-5.15-version)
(hash (base32 "0lfnd8mpb3nzvd0gk0jbls3zx7y5kskc4kgccjgkc34flgdyps5h")))
(hash (base32 "1lkpa9wv1qj90qdzzi71qf5dyy7mi95fixx3ymdp6xwz45fym0g9")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.15)))
(define-public linux-libre-5.10-version "5.10.180")
(define-public linux-libre-5.10-version "5.10.181")
(define-public linux-libre-5.10-gnu-revision "gnu1")
(define deblob-scripts-5.10
(linux-libre-deblob-scripts
@ -558,12 +543,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "12jhak2bw1jy2jk70vrm66kjvh0cd6c8f2qiy2bk40rq7bf62mr6")))
(define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version)
(hash (base32 "0a8cicvcyl5w4vi7gxhgd59ny44gj9cbv4z5pnwn9jgny55rm0ys")))
(hash (base32 "1rx43dkxspris9529vl11blzhvsxnpaqr6yb3fy089az7yvwxrmc")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.10)))
(define-public linux-libre-5.4-version "5.4.243")
(define-public linux-libre-5.4-version "5.4.244")
(define-public linux-libre-5.4-gnu-revision "gnu1")
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
@ -573,12 +558,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "070j069sj6spy2wkzfzm1d5jd7pffm0s1m917wblc8d3x8pbgvf8")))
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
(hash (base32 "017b1xhmjpmiq48pzzx36wn6jwwgaq2kgia51h7pxr7fxr7ndky3")))
(hash (base32 "06x20aq7bv86ghv2sdsz3q2rmqh8h389x5zksr53fyzdjl72ixch")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
(define-public linux-libre-4.19-version "4.19.283")
(define-public linux-libre-4.19-version "4.19.284")
(define-public linux-libre-4.19-gnu-revision "gnu1")
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
@ -588,12 +573,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "05yqb59gj7mq5ha9xg045bz517sdg6janfa2yjq70qa6ahpc5fac")))
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
(hash (base32 "1x2irhiv20aq2mrgqyz18d147shbmghwfxq4qi0sv5vc1k91cwq4")))
(hash (base32 "0gnhgxcpx9s96wa3dqgxmdjb7x12i94yh0gmv7k9nbz5qwhfxfbz")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
(define-public linux-libre-4.14-version "4.14.315")
(define-public linux-libre-4.14-version "4.14.316")
(define-public linux-libre-4.14-gnu-revision "gnu1")
(define deblob-scripts-4.14
(linux-libre-deblob-scripts
@ -603,7 +588,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1ccggm19nl7pdcxmsm08fkqy8phz8rqfmww5ypizibdmnrmpn2v9")))
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
(hash (base32 "17f9cbinysazllrxkv1qlhgi3x61isi7jqrv0qlfpjh69k1waim3")))
(hash (base32 "0xlg93va7dbz2w428kiw7vr2sds3542fqq57rwyf51ykq7qii0xc")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
@ -641,11 +626,6 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(list %boot-logo-patch
%linux-libre-arm-export-__sync_icache_dcache-patch)))
(define-public linux-libre-6.2-source
(source-with-patches linux-libre-6.2-pristine-source
(list %boot-logo-patch
%linux-libre-arm-export-__sync_icache_dcache-patch)))
(define-public linux-libre-6.1-source
(source-with-patches linux-libre-6.1-pristine-source
(list %boot-logo-patch
@ -762,11 +742,6 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
linux-libre-6.3-gnu-revision
linux-libre-6.3-source))
(define-public linux-libre-headers-6.2
(make-linux-libre-headers* linux-libre-6.2-version
linux-libre-6.2-gnu-revision
linux-libre-6.2-source))
(define-public linux-libre-headers-6.1
(make-linux-libre-headers* linux-libre-6.1-version
linux-libre-6.1-gnu-revision
@ -1113,14 +1088,6 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
"aarch64-linux" "powerpc64le-linux" "riscv64-linux")
#:configuration-file kernel-config))
(define-public linux-libre-6.2
(make-linux-libre* linux-libre-6.2-version
linux-libre-6.2-gnu-revision
linux-libre-6.2-source
'("x86_64-linux" "i686-linux" "armhf-linux"
"aarch64-linux" "powerpc64le-linux" "riscv64-linux")
#:configuration-file kernel-config))
(define-public linux-libre-version linux-libre-6.3-version)
(define-public linux-libre-gnu-revision linux-libre-6.3-gnu-revision)
(define-public linux-libre-pristine-source linux-libre-6.3-pristine-source)
@ -1177,7 +1144,7 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
;; Linux-Libre-LTS points to the *newest* released long-term support version of
;; Linux-Libre.
;; Reference: https://jxself.org/linux-libre/
;; Reference: <https://www.kernel.org/category/releases.html>
(define-public linux-libre-lts-version linux-libre-6.1-version)
(define-public linux-libre-lts-gnu-revision linux-libre-6.1-gnu-revision)
@ -3564,7 +3531,7 @@ processes currently causing I/O.")
(define-public iotop
(package
(name "iotop")
(version "1.22")
(version "1.23")
(source
(origin
(method git-fetch)
@ -3573,7 +3540,7 @@ processes currently causing I/O.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "04a77qir35s1bwvd39qddx2kfizdbf5jxlnz8zmy1cnrigbwcy1h"))))
(base32 "1i5m2w0jzxzxn2xvragygidw35p87skjs6bfjakrz6bd96sxhd70"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags
@ -4189,56 +4156,52 @@ to the in-kernel OOM killer.")
(patches (search-patches "eudev-rules-directory.patch"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'bootstrap 'patch-file-names
(lambda* (#:key inputs native-inputs #:allow-other-keys)
(substitute* "man/make.sh"
(("/usr/bin/xsltproc")
(string-append (assoc-ref
(or native-inputs inputs) "xsltproc")
"/bin/xsltproc")))))
(add-after 'install 'move-static-library
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(static (assoc-ref outputs "static"))
(source (string-append out "/lib/libudev.a"))
(target (string-append static "/lib/libudev.a")))
(mkdir-p (dirname target))
(link source target)
(delete-file source)
;; Remove reference to the static library from the .la file
;; such that Libtool looks for it in the usual places.
(substitute* (string-append out "/lib/libudev.la")
(("old_library=.*")
"old_library=''\n")))))
(add-after 'install 'build-hwdb
(lambda* (#:key outputs #:allow-other-keys)
;; Build OUT/etc/udev/hwdb.bin. This allows 'lsusb' and
;; similar tools to display product names.
;;
;; XXX: This can't be done when cross-compiling. Find another way
;; to generate hwdb.bin for cross-built systems.
(let ((out (assoc-ref outputs "out")))
,@(if (%current-target-system)
'(#t)
'((invoke (string-append out "/bin/udevadm")
"hwdb" "--update")))))))
#:configure-flags (list "--enable-manpages")))
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'bootstrap 'patch-file-names
(lambda* (#:key inputs native-inputs #:allow-other-keys)
(substitute* "man/make.sh"
(("/usr/bin/xsltproc")
(search-input-file (or native-inputs inputs) "/bin/xsltproc")))))
(add-after 'install 'move-static-library
(lambda _
(let ((source (string-append #$output "/lib/libudev.a"))
(target (string-append #$output:static "/lib/libudev.a")))
(mkdir-p (dirname target))
(link source target)
(delete-file source)
;; Remove reference to the static library from the .la file
;; such that Libtool looks for it in the usual places.
(substitute* (string-append #$output "/lib/libudev.la")
(("old_library=.*")
"old_library=''\n")))))
(add-after 'install 'build-hwdb
(lambda _
;; Build OUT/etc/udev/hwdb.bin. This allows 'lsusb' and
;; similar tools to display product names.
;;
;; XXX: This can't be done when cross-compiling. Find another way
;; to generate hwdb.bin for cross-built systems.
#$@(if (%current-target-system)
#~(#t)
#~((invoke (string-append #$output "/bin/udevadm")
"hwdb" "--update"))))))
#:configure-flags #~(list "--enable-manpages")))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("gperf" ,gperf)
("libtool" ,libtool)
("pkg-config" ,pkg-config)
;; For tests.
("perl" ,perl)
("python" ,python-wrapper)
;; For documentation.
("docbook-xml" ,docbook-xml-4.2)
("docbook-xsl" ,docbook-xsl)
("libxml2" ,libxml2) ;for $XML_CATALOG_FILES
("xsltproc" ,libxslt)))
(list autoconf
automake
gperf
libtool
pkg-config
;; For tests.
perl
python-wrapper
;; For documentation.
docbook-xml-4.2
docbook-xsl
libxml2 ;for $XML_CATALOG_FILES
libxslt))
(inputs
;; When linked against libblkid, eudev can populate /dev/disk/by-label
;; and similar; it also installs the '60-persistent-storage.rules' file,
@ -5930,18 +5893,18 @@ and copy/paste text in the console and in xterm.")
(arguments
(list
#:configure-flags
#~(append
#~(list
;; Without --disable-documentation, it complains about missing
;; python-sphinx on systems where this package isn't available
;; (because it requires Rust).
(if #$@(member (%current-system)
#$@(if (member (%current-system)
(package-transitive-supported-systems
python-sphinx))
'()
(list "--disable-documentation"))
'()
'("--disable-documentation"))
;; The Python support was never actually installed by previous
;; versions of this package, but did prevent cross-compilation.
(list "--disable-python"))
"--disable-python")
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-makefile
(lambda* (#:key outputs #:allow-other-keys)

View File

@ -16537,20 +16537,20 @@ scale statistical machine learning package")
(sbcl-package->cl-source-package sbcl-clml))
(define-public sbcl-utm-ups
(let ((commit "ffcb7b6d5a56fb7d4b2b95b83bbd28ffe6e6961f")
(let ((commit "f1e6fd469871051470dfaabdf199afb75f2fa302")
(revision "0"))
(package
(name "sbcl-utm-ups")
(version (git-version "1.1" revision commit))
(version (git-version "1.2" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/glv/utm-ups")
(commit commit)))
(file-name (git-file-name "utm-ups" version))
(file-name (git-file-name "cl-utm-ups" version))
(sha256
(base32 "1rvyh0srgd81kvbzmq4ysd9y6c0qdwh23naqxc9asw1vh7fq08x1"))))
(base32 "19nnnqagfg1c1vzwlqpp8mq2d0hrk8r6r07a46nvdyzmwbnmbwyr"))))
(build-system asdf-build-system/sbcl)
(native-inputs
(list sbcl-fiveam))

View File

@ -48,6 +48,7 @@
#:use-module (guix build-system ocaml)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system r)
#:use-module (guix build-system trivial)
#:use-module (guix git-download)
#:use-module (gnu packages)
@ -602,6 +603,33 @@ value imputation, classifier creation, generalization error estimation and
sample proximities between pairs of cases.")
(license license:gpl3+)))
(define-public r-rcppml/devel
(let ((commit "e685b3bd7909d3ae74c98f85f81bc0bb679bce23")
(revision "1"))
(package
(name "r-rcppml-devel")
(version (git-version "0.5.6" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zdebruine/RcppML")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"18ykh9s9h3x79az7qm3pg48iqm0nmkh2wkppc9wx0lq7kjfqm67a"))))
(properties `((upstream-name . "RcppML")))
(build-system r-build-system)
(propagated-inputs (list r-matrix r-rcpp))
(native-inputs (list r-knitr))
(home-page "https://github.com/zdebruine/RcppML")
(synopsis "Rcpp machine learning Library")
(description
"This package provides fast machine learning algorithms including
matrix factorization and divisive clustering for large sparse and dense
matrices.")
(license license:gpl3+))))
(define-public openfst
(package
(name "openfst")

View File

@ -8,7 +8,7 @@
;;; Copyright © 20152023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015-2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015-2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Fabian Harfert <fhmgufs@web.de>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016, 2018, 2020, 2021 Kei Kebreau <kkebreau@posteo.net>
@ -4573,15 +4573,8 @@ parts of it.")
(arguments
(list
#:test-target "test"
;; DYNAMIC_ARCH is only supported on x86. When it is disabled and no
;; TARGET is specified, OpenBLAS will tune itself to the build host, so
;; we need to disable substitutions.
#:substitutable?
(let ((system (or (%current-target-system) (%current-system))))
(or (string-prefix? "x86_64" system)
(string-prefix? "i686" system)
(string-prefix? "mips" system)
(string-prefix? "aarch64" system)))
;; No default baseline is supplied for powerpc-linux.
#:substitutable? (not (target-ppc32?))
#:make-flags
#~(list (string-append "PREFIX=" #$output)
"SHELL=bash"
@ -4594,32 +4587,33 @@ parts of it.")
;; of cores of the build machine, which is obviously wrong.
"NUM_THREADS=128"
;; Build the library for all supported CPUs. This allows
;; switching CPU targets at runtime with the environment variable
;; OPENBLAS_CORETYPE=<type>, where "type" is a supported CPU type.
;; Unfortunately, this is not supported on all architectures,
;; where it leads to failed builds.
#$@(let ((system (or (%current-target-system) (%current-system))))
(cond
((or (string-prefix? "x86_64" system)
(string-prefix? "i686" system)
(string-prefix? "powerpc64le" system)
(string-prefix? "aarch64" system))
;; Dynamic older enables a few extra CPU architectures that
;; were released before 2010.
;; DYNAMIC_ARCH is only supported on some architectures.
;; DYNAMIC_ARCH combined with TARGET=GENERIC provides a library
;; which uses the optimizations for the detected CPU. This can
;; be overridden at runtime with the environment variable
;; OPENBLAS_CORETYPE=<type>, where "type" is a supported CPU
;; type. On other architectures we target only the baseline CPU
;; supported by Guix.
#$@(cond
((or (target-x86-64?)
(target-x86-32?)
(target-ppc64le?)
(target-aarch64?))
;; Dynamic older enables a few extra CPU architectures
;; on x86_64 that were released before 2010.
'("DYNAMIC_ARCH=1" "DYNAMIC_OLDER=1" "TARGET=GENERIC"))
;; On some of these architectures the CPU can't be detected.
;; On some of these architectures the CPU type can't be detected.
;; We list the oldest CPU core we want to have support for.
;; On MIPS we force the "SICORTEX" TARGET, as for the other
;; two available MIPS targets special extended instructions
;; for Loongson cores are used.
((string-prefix? "mips" system)
((target-mips64el?)
'("TARGET=SICORTEX"))
;; Failed to detect CPU.
((string-prefix? "armhf" system)
((target-arm32?)
'("TARGET=ARMV7"))
((string-prefix? "riscv64" system)
((target-riscv64?)
'("TARGET=RISCV64_GENERIC"))
(else '()))))
(else '())))
;; no configure script
#:phases
#~(modify-phases %standard-phases
@ -4645,7 +4639,8 @@ parts of it.")
(define-public openblas-ilp64
(package/inherit openblas
(name "openblas-ilp64")
(supported-systems '("x86_64-linux" "aarch64-linux" "mips64el-linux"))
(supported-systems '("x86_64-linux" "aarch64-linux" "mips64el-linux"
"powerpc64le-linux"))
(arguments
(substitute-keyword-arguments (package-arguments openblas)
((#:make-flags flags #~'())

View File

@ -422,7 +422,9 @@ only provides @code{MPI_THREAD_FUNNELED}.")))
#t)))))
(inputs
(list openmpi))
(home-page "https://bitbucket.org/mpi4py/mpi4py/")
(properties
'((updater-extra-inputs . ("openmpi"))))
(home-page "https://github.com/mpi4py/mpi4py")
(synopsis "Python bindings for the Message Passing Interface standard")
(description "MPI for Python (mpi4py) provides bindings of the Message
Passing Interface (MPI) standard for the Python programming language, allowing

View File

@ -6,7 +6,7 @@
;;; Copyright © 2016, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018, 2019, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2019, 2021, 2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
@ -450,7 +450,8 @@ number generators, public key cryptography and a plethora of other routines.")
"download/v" version "/ltm-" version ".tar.xz"))
(sha256
(base32
"1c8q1qy88cjhdjlk3g24mra94h34c1ldvkjz0n2988c0yvn5xixp"))))
"1c8q1qy88cjhdjlk3g24mra94h34c1ldvkjz0n2988c0yvn5xixp"))
(patches (search-patches "libtommath-integer-overflow.patch"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@ -469,9 +470,10 @@ number generators, public key cryptography and a plethora of other routines.")
"/lib/libtommath.a"))
#t))
(replace 'check
(lambda* (#:key test-target make-flags #:allow-other-keys)
(apply invoke "make" test-target make-flags)
(invoke "sh" "test")))
(lambda* (#:key tests? test-target make-flags #:allow-other-keys)
(when tests?
(apply invoke "make" test-target make-flags)
(invoke "sh" "test"))))
(add-after 'install 'install-static-library
(lambda* (#:key outputs #:allow-other-keys)
(invoke "make" "-f" "makefile.unix" "install"

View File

@ -2680,7 +2680,7 @@ that block port 22.")
(define-public iperf
(package
(name "iperf")
(version "3.12")
(version "3.13")
(source
(origin
(method git-fetch)
@ -2689,7 +2689,7 @@ that block port 22.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0bkmlah8lsm9vciaa9k84x3g1fd0k6nwnsrzp8y04piyiplrvpsi"))))
(base32 "19i0lkr2i4iyy9hr5iwxnhb8pmjrqsbwbnzky6agy9yzgzrggfjv"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags

View File

@ -4,6 +4,7 @@
;;; Copyright © 2021 Noisytoot <noisytoot@disroot.org>
;;; Copyright © 2021 Charles <charles.b.jackson@protonmail.com>
;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com>
;;; Copyright © 2021 Dhruvin Gandhi <contact@dhruvin.dev>
;;; Copyright © 2022 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2023 Jelle Licht <jlicht@fsfe.org>
;;;
@ -251,6 +252,30 @@ multiple node.js files, while providing useful information about output and exit
codes.")
(license license:expat)))
(define-public node-global-gradle-clean
(package
(name "node-global-gradle-clean")
(version "1.0.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/VarunBarad/global-gradle-clean")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1fhm4jimnf7bl5drgwg39mjh8x4rns15hl0fz3bnxi9ikc6dm02y"))))
(build-system node-build-system)
(arguments
'(#:tests? #f)) ;No tests.
(home-page "https://github.com/VarunBarad/global-gradle-clean")
(synopsis "Global Gradle Clean")
(description
"Global Gradle Clean is a Node.js package used to clean all gradle
projects under a given directory. It uses the gradle wrapper to execute the
clean task of each project.")
(license license:expat)))
(define-public node-long-stack-traces
(package
(name "node-long-stack-traces")

View File

@ -28,6 +28,7 @@
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022 Garek Dyszel <garekdyszel@disroot.org>
;;; Copyright © 2023 Csepp <raingloom@riseup.net>
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -2698,6 +2699,76 @@ simple (yet expressive) query language to select the tests to run.")
syntactic tools.")
(license license:expat)))
(define-public ocaml-parmap
(package
(name "ocaml-parmap")
(version "1.2.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rdicosmo/parmap")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0x5gnfap9f7kmgh8j725vxlbkvlplwzbpn8jdx2ywfa3dd6bn6xl"))))
(build-system dune-build-system)
(propagated-inputs
(list ocaml-odoc))
(home-page "https://github.com/rdicosmo/parmap")
(synopsis "Parallel map and fold primtives for OCaml")
(description
"Library to perform parallel fold or map taking advantage of multiple
core architectures for OCaml programs. Drop-in replacement for these
@code{List} operations are provided:
@itemize
@item @code{List.map} -> @code{parmap}
@item @code{List.map} -> @code{parfold}
@item @code{List.mapfold} -> @code{parmapfold}
@end itemize
Also it allows specifying the number of cores to use with the optional
parameter @code{ncores}.")
(license (list license:lgpl2.0
(license:fsdg-compatible "file://LICENSE"
"See LICENSE file for details")))))
(define-public ocaml-pyml
;; NOTE: Using commit from master branch as 20220905 does not support
;; Python 3.10.
(let ((revision "0")
(commit "e33f4c49cc97e7bc6f8e5faaa64cce994470642e"))
(package
(name "ocaml-pyml")
(version (git-version "20220905" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/thierry-martinez/pyml")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1v421i5cvj8mbgrg5cs78bz1yzdprm9r5r41niiy20d3j7j8jx9k"))))
(build-system dune-build-system)
(propagated-inputs
(list ocaml-stdcompat
python
python-numpy))
(home-page "https://github.com/thierry-martinez/pyml")
(synopsis "Python bindings for OCaml")
(description "Library that allows OCaml programs to interact with Python
modules and objects. The library also provides low-level bindings to the
Python C API.
This library is an alternative to @code{pycaml} which is no longer
maintained. The @code{Pycaml} module provides a signature close to
@code{pycaml}, to ease migration of code to this library.")
(license license:bsd-2))))
(define-public ocaml-react
(package
(name "ocaml-react")
@ -4569,6 +4640,52 @@ of interactive program. You can match the question using a regular expression
or a timeout.")
(license license:lgpl2.1+))) ; with the OCaml static compilation exception
(define-public ocaml-stdcompat
(package
(name "ocaml-stdcompat")
(version "19")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/thierry-martinez/stdcompat")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
#~(for-each delete-file '("Makefile.in" "configure")))
(sha256
(base32
"0r9qcfjkn8634lzxp5bkagzwsi3vmg0hb6vq4g1p1515rys00h1b"))))
(build-system dune-build-system)
(arguments
(list #:imported-modules `((guix build gnu-build-system)
,@%dune-build-system-modules)
#:modules '((guix build dune-build-system)
((guix build gnu-build-system) #:prefix gnu:)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'bootstrap
(assoc-ref gnu:%standard-phases 'bootstrap))
(add-before 'build 'prepare-build
(lambda _
(let ((bash (which "bash")))
(setenv "CONFIG_SHELL" bash)
(setenv "SHELL" bash)))))))
(native-inputs
(list autoconf
automake
ocaml
ocaml-findlib))
(home-page "https://github.com/thierry-martinez/stdcompat")
(synopsis "Compatibility module for OCaml standard library")
(description
"Compatibility module for OCaml standard library allowing programs to use
some recent additions to the standard library while preserving the ability to
be compiled on former versions of OCaml.")
(license license:bsd-2)))
(define-public ocaml-stdlib-shims
(package
(name "ocaml-stdlib-shims")

View File

@ -272,14 +272,13 @@ $(prefix)/etc/openrc\n")))
(("\"[^\"]*/bin/gzip") gzip
(string-append "\"" gzip "/bin/gzip"))
(("\"[^\"]*/bin//xz")
(string-append "\"" xz "/bin/xz")))))
#t))
(string-append "\"" xz "/bin/xz")))))))
(add-before 'build 'set-font-path
(lambda* (#:key inputs #:allow-other-keys)
(lambda* (#:key native-inputs inputs #:allow-other-keys)
;; Tell 'dot' where to look for fonts.
(setenv "XDG_DATA_DIRS"
(dirname
(search-input-directory inputs
(search-input-directory (or native-inputs inputs)
"share/fonts")))))
(add-before 'check 'copy-bootstrap-guile
(lambda* (#:key system target inputs #:allow-other-keys)
@ -320,8 +319,7 @@ $(prefix)/etc/openrc\n")))
(for-each (lambda (input)
(intern (assoc-ref inputs input) #t))
'("bootstrap/bash" "bootstrap/mkdir"
"bootstrap/tar" "bootstrap/xz")))
#t))
"bootstrap/tar" "bootstrap/xz")))))
(add-after 'unpack 'disable-failing-tests
;; XXX FIXME: These tests fail within the build container.
(lambda _
@ -334,14 +332,12 @@ $(prefix)/etc/openrc\n")))
(when (file-exists? "tests/guix-environment-container.sh")
(substitute* "tests/guix-environment-container.sh"
(("guix environment --version")
"exit 77\n")))
#t))
"exit 77\n")))))
(add-before 'check 'set-SHELL
(lambda _
;; 'guix environment' tests rely on 'SHELL' having a
;; correct value, so set it.
(setenv "SHELL" (which "sh"))
#t))
(setenv "SHELL" (which "sh"))))
(add-after 'install 'wrap-program
(lambda* (#:key inputs native-inputs outputs target
#:allow-other-keys)
@ -1633,8 +1629,8 @@ in an isolated environment, in separate namespaces.")
(license license:gpl3+)))
(define-public nar-herder
(let ((commit "efaf8fa580ad197d74ff375ca50bddf9c8ac3a86")
(revision "19"))
(let ((commit "b27ca4dc0efbb0d9c397fc39347af9b8e8734ab9")
(revision "20"))
(package
(name "nar-herder")
(version (git-version "0" revision commit))
@ -1645,7 +1641,7 @@ in an isolated environment, in separate namespaces.")
(commit commit)))
(sha256
(base32
"169cz6xwx4klcsx0769807yjk0xnck73q4hyrsv289nfgfd9x8a2"))
"075acihpxvw4rkmbn7wiswqixv2afla8d8x7mgxqc26hba090404"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments

View File

@ -64,14 +64,14 @@
(define-public parallel
(package
(name "parallel")
(version "20230422")
(version "20230522")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/parallel/parallel-"
version ".tar.bz2"))
(sha256
(base32 "1hp3pbf3fsfi2hwaa13isaqzrn09lf847cdpjkhf0kfw14ymj1li"))
(base32 "00j2nqy808wd43hgalgry15v4ga1wrfq8s5r1cv18fq20mv6px0s"))
(snippet
'(begin
(use-modules (guix build utils))

View File

@ -1,96 +0,0 @@
From f5cf01083baf7e8dc8318db3648bc6098dc32d67 Mon Sep 17 00:00:00 2001
From: Nicholas Guriev <guriev-ns@ya.ru>
Date: Sat, 18 Apr 2020 13:30:17 +0300
Subject: [PATCH] Search for GoogleTest via pkg-config first
---
tests/CMakeLists.txt | 55 ++++++++++++++++++++++++--------------------
1 file changed, 30 insertions(+), 25 deletions(-)
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 02193197..53d475c2 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -1,36 +1,41 @@
cmake_minimum_required(VERSION 3.0.2)
project(GSLTests CXX)
+include(FindPkgConfig)
# will make visual studio generated project group files
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
-configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
-execute_process(
- COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
- RESULT_VARIABLE result
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
-)
-if(result)
- message(FATAL_ERROR "CMake step for googletest failed: ${result}")
-endif()
+pkg_search_module(GTestMain gtest_main)
+if (NOT GTestMain_FOUND)
+ configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
+ execute_process(
+ COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
+ RESULT_VARIABLE result
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
+ )
+ if(result)
+ message(FATAL_ERROR "CMake step for googletest failed: ${result}")
+ endif()
-execute_process(
- COMMAND ${CMAKE_COMMAND} --build .
- RESULT_VARIABLE result
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
-)
-if(result)
- message(FATAL_ERROR "CMake step for googletest failed: ${result}")
-endif()
+ execute_process(
+ COMMAND ${CMAKE_COMMAND} --build .
+ RESULT_VARIABLE result
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
+ )
+ if(result)
+ message(FATAL_ERROR "CMake step for googletest failed: ${result}")
+ endif()
-set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
+ set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
+ set(GTestMain_LIBRARIES gtest_main)
-add_subdirectory(
- ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
- ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
- EXCLUDE_FROM_ALL
-)
+ add_subdirectory(
+ ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
+ ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
+ EXCLUDE_FROM_ALL
+ )
+endif()
if (MSVC AND (GSL_CXX_STANDARD EQUAL 17))
set(GSL_CPLUSPLUS_OPT -Zc:__cplusplus -permissive-)
@@ -149,7 +154,7 @@ function(add_gsl_test name)
target_link_libraries(${name}
GSL
gsl_tests_config
- gtest_main
+ ${GTestMain_LIBRARIES}
)
add_test(
${name}
@@ -254,7 +259,7 @@ function(add_gsl_test_noexcept name)
target_link_libraries(${name}
GSL
gsl_tests_config_noexcept
- gtest_main
+ ${GTestMain_LIBRARIES}
)
add_test(
${name}

View File

@ -1,126 +0,0 @@
Description: Move tests that trigger -Warray-bounds to separate compilation unit
GCC 10 is now smart enough to detect violation of array boundaries that tests
are actually tested. Along with -Werror this led to tests failure, so I move
such tests to another compilation unit to have the warning deactivated for
only these tests.
Bug-Debian: https://bugs.debian.org/966895
Author: Nicholas Guriev <guriev-ns@ya.ru>
Last-Modified: Wed, 19 Aug 2020 08:55:52 +0300
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -179,6 +179,7 @@ add_gsl_test(owner_tests)
add_gsl_test(byte_tests)
add_gsl_test(algorithm_tests)
add_gsl_test(strict_notnull_tests)
+add_gsl_test(array_bounds)
# No exception tests
--- /dev/null
+++ b/tests/array_bounds.cpp
@@ -0,0 +1,68 @@
+///////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2015 Microsoft Corporation. All rights reserved.
+//
+// This code is licensed under the MIT License (MIT).
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+//
+///////////////////////////////////////////////////////////////////////////////
+
+#ifdef __GNUC__
+#pragma GCC diagnostic warning "-Warray-bounds"
+#endif // __GNUC__
+
+#include <gtest/gtest.h>
+
+#include <gsl/multi_span> // for gsl::multi_span
+
+namespace gsl
+{
+struct fail_fast;
+} // namespace gsl
+
+namespace
+{
+static constexpr char deathstring[] = "Expected Death";
+} // namespace
+
+TEST(array_bounds, subspan_from_multi_span_test)
+{
+ int arr[5] = {1, 2, 3, 4, 5};
+ gsl::multi_span<int> av = arr;
+
+ std::set_terminate([] {
+ std::cerr << "Expected Death. subspan";
+ std::abort();
+ });
+
+ EXPECT_DEATH(av.subspan(6).length(), deathstring);
+}
+
+TEST(array_bounds, strided_span_bounds_from_strided_span_tests)
+{
+ int arr[] = {0, 1, 2, 3};
+ gsl::multi_span<int> av(arr);
+
+ std::set_terminate([] {
+ std::cerr << "Expected Death. strided_span_bounds";
+ std::abort();
+ });
+
+ // incorrect sections
+ EXPECT_DEATH(av.section(0, 0)[0], deathstring);
+ EXPECT_DEATH(av.section(1, 0)[0], deathstring);
+ EXPECT_DEATH(av.section(1, 1)[1], deathstring);
+
+ EXPECT_DEATH(av.section(2, 5), deathstring);
+ EXPECT_DEATH(av.section(5, 2), deathstring);
+ EXPECT_DEATH(av.section(5, 0), deathstring);
+ EXPECT_DEATH(av.section(0, 5), deathstring);
+ EXPECT_DEATH(av.section(5, 5), deathstring);
+}
--- a/tests/multi_span_tests.cpp
+++ b/tests/multi_span_tests.cpp
@@ -1042,10 +1042,6 @@ TEST(multi_span_test, subspan)
EXPECT_TRUE(av.subspan(1).length() == 4);
EXPECT_TRUE(av.subspan(4).length() == 1);
EXPECT_TRUE(av.subspan(5).length() == 0);
- // Disabled test instead of fixing since multi_span is deprecated. (PR#835)
-#if !(defined(__GNUC__) && __GNUC__ == 8)
- EXPECT_DEATH(av.subspan(6).length(), deathstring);
-#endif
auto av2 = av.subspan(1);
for (int i = 0; i < 4; ++i) EXPECT_TRUE(av2[i] == i + 2);
}
--- a/tests/strided_span_tests.cpp
+++ b/tests/strided_span_tests.cpp
@@ -403,20 +403,6 @@ TEST(strided_span_tests, strided_span_bo
});
{
- // incorrect sections
-
- EXPECT_DEATH(av.section(0, 0)[0], deathstring);
- EXPECT_DEATH(av.section(1, 0)[0], deathstring);
- EXPECT_DEATH(av.section(1, 1)[1], deathstring);
-
- EXPECT_DEATH(av.section(2, 5), deathstring);
- EXPECT_DEATH(av.section(5, 2), deathstring);
- EXPECT_DEATH(av.section(5, 0), deathstring);
- EXPECT_DEATH(av.section(0, 5), deathstring);
- EXPECT_DEATH(av.section(5, 5), deathstring);
- }
-
- {
// zero stride
strided_span<int, 1> sav{av, {{4}, {}}};
EXPECT_TRUE(sav[0] == 0);

View File

@ -0,0 +1,140 @@
This patch is from upstream:
https://github.com/libtom/libtommath/pull/546
From beba892bc0d4e4ded4d667ab1d2a94f4d75109a9 Mon Sep 17 00:00:00 2001
From: czurnieden <czurnieden@gmx.de>
Date: Tue, 9 May 2023 17:17:12 +0200
Subject: [PATCH] Fix possible integer overflow
---
bn_mp_2expt.c | 4 ++++
bn_mp_grow.c | 4 ++++
bn_mp_init_size.c | 5 +++++
bn_mp_mul_2d.c | 4 ++++
bn_s_mp_mul_digs.c | 4 ++++
bn_s_mp_mul_digs_fast.c | 4 ++++
bn_s_mp_mul_high_digs.c | 4 ++++
bn_s_mp_mul_high_digs_fast.c | 4 ++++
8 files changed, 33 insertions(+)
diff --git a/bn_mp_2expt.c b/bn_mp_2expt.c
index 0ae3df1bf..23de0c3c5 100644
--- a/bn_mp_2expt.c
+++ b/bn_mp_2expt.c
@@ -12,6 +12,10 @@ mp_err mp_2expt(mp_int *a, int b)
{
mp_err err;
+ if (b < 0) {
+ return MP_VAL;
+ }
+
/* zero a as per default */
mp_zero(a);
diff --git a/bn_mp_grow.c b/bn_mp_grow.c
index 9e904c547..2b1682651 100644
--- a/bn_mp_grow.c
+++ b/bn_mp_grow.c
@@ -9,6 +9,10 @@ mp_err mp_grow(mp_int *a, int size)
int i;
mp_digit *tmp;
+ if (size < 0) {
+ return MP_VAL;
+ }
+
/* if the alloc size is smaller alloc more ram */
if (a->alloc < size) {
/* reallocate the array a->dp
diff --git a/bn_mp_init_size.c b/bn_mp_init_size.c
index d62268721..99573833f 100644
--- a/bn_mp_init_size.c
+++ b/bn_mp_init_size.c
@@ -6,6 +6,11 @@
/* init an mp_init for a given size */
mp_err mp_init_size(mp_int *a, int size)
{
+
+ if (size < 0) {
+ return MP_VAL;
+ }
+
size = MP_MAX(MP_MIN_PREC, size);
/* alloc mem */
diff --git a/bn_mp_mul_2d.c b/bn_mp_mul_2d.c
index 87354de20..bfeaf2eb2 100644
--- a/bn_mp_mul_2d.c
+++ b/bn_mp_mul_2d.c
@@ -9,6 +9,10 @@ mp_err mp_mul_2d(const mp_int *a, int b, mp_int *c)
mp_digit d;
mp_err err;
+ if (b < 0) {
+ return MP_VAL;
+ }
+
/* copy */
if (a != c) {
if ((err = mp_copy(a, c)) != MP_OKAY) {
diff --git a/bn_s_mp_mul_digs.c b/bn_s_mp_mul_digs.c
index 64509d4cb..3682b4980 100644
--- a/bn_s_mp_mul_digs.c
+++ b/bn_s_mp_mul_digs.c
@@ -16,6 +16,10 @@ mp_err s_mp_mul_digs(const mp_int *a, const mp_int *b, mp_int *c, int digs)
mp_word r;
mp_digit tmpx, *tmpt, *tmpy;
+ if (digs < 0) {
+ return MP_VAL;
+ }
+
/* can we use the fast multiplier? */
if ((digs < MP_WARRAY) &&
(MP_MIN(a->used, b->used) < MP_MAXFAST)) {
diff --git a/bn_s_mp_mul_digs_fast.c b/bn_s_mp_mul_digs_fast.c
index b2a287b02..3c4176a87 100644
--- a/bn_s_mp_mul_digs_fast.c
+++ b/bn_s_mp_mul_digs_fast.c
@@ -26,6 +26,10 @@ mp_err s_mp_mul_digs_fast(const mp_int *a, const mp_int *b, mp_int *c, int digs)
mp_digit W[MP_WARRAY];
mp_word _W;
+ if (digs < 0) {
+ return MP_VAL;
+ }
+
/* grow the destination as required */
if (c->alloc < digs) {
if ((err = mp_grow(c, digs)) != MP_OKAY) {
diff --git a/bn_s_mp_mul_high_digs.c b/bn_s_mp_mul_high_digs.c
index 2bb2a5098..c9dd355f8 100644
--- a/bn_s_mp_mul_high_digs.c
+++ b/bn_s_mp_mul_high_digs.c
@@ -15,6 +15,10 @@ mp_err s_mp_mul_high_digs(const mp_int *a, const mp_int *b, mp_int *c, int digs)
mp_word r;
mp_digit tmpx, *tmpt, *tmpy;
+ if (digs < 0) {
+ return MP_VAL;
+ }
+
/* can we use the fast multiplier? */
if (MP_HAS(S_MP_MUL_HIGH_DIGS_FAST)
&& ((a->used + b->used + 1) < MP_WARRAY)
diff --git a/bn_s_mp_mul_high_digs_fast.c b/bn_s_mp_mul_high_digs_fast.c
index a2c4fb692..4ce7f590c 100644
--- a/bn_s_mp_mul_high_digs_fast.c
+++ b/bn_s_mp_mul_high_digs_fast.c
@@ -19,6 +19,10 @@ mp_err s_mp_mul_high_digs_fast(const mp_int *a, const mp_int *b, mp_int *c, int
mp_digit W[MP_WARRAY];
mp_word _W;
+ if (digs < 0) {
+ return MP_VAL;
+ }
+
/* grow the destination as required */
pa = a->used + b->used;
if (c->alloc < pa) {

View File

@ -0,0 +1,16 @@
Fixes the errors with use of asyncio in docrepr/tests/test_output.py:
> await compare_screenshots(test_id, url)
E TypeError: 'coroutine' object is not callable
--- a/conftest.py
+++ b/conftest.py
@@ -65,7 +65,7 @@ def _open_browser(url):
@pytest.fixture
-async def compare_screenshots(request):
+def compare_screenshots(request):
"""Run visual regression test on the output."""
async def _compare_screenshots(test_id, url):
if (request.config.getoption(COMPARE_SCREENSHOTS_OPTION) or

View File

@ -1,18 +0,0 @@
Avoid LaTeX errors due to non-printable characters.
Submitted upstream: https://github.com/ipython/ipython/pull/13640
diff --git a/IPython/utils/coloransi.py b/IPython/utils/coloransi.py
index e33142180..9300b0108 100644
--- a/IPython/utils/coloransi.py
+++ b/IPython/utils/coloransi.py
@@ -74,8 +74,8 @@ class TermColors:
class InputTermColors:
"""Color escape sequences for input prompts.
- This class is similar to TermColors, but the escapes are wrapped in \001
- and \002 so that readline can properly know the length of each line and
+ This class is similar to TermColors, but the escapes are wrapped in \\001
+ and \\002 so that readline can properly know the length of each line and
can wrap lines accordingly. Use this class for any colored text which
needs to be used in input prompts, such as in calls to raw_input().

View File

@ -1,25 +0,0 @@
Fix non-reproducibilities caused by time-dependent procedures.
Submitted upstream: https://github.com/ipython/ipython/pull/13640
diff --git a/IPython/sphinxext/ipython_directive.py b/IPython/sphinxext/ipython_directive.py
index 18bdfcae9..2c665ac87 100644
--- a/IPython/sphinxext/ipython_directive.py
+++ b/IPython/sphinxext/ipython_directive.py
@@ -19,7 +19,7 @@
In [1]: 1+1
In [1]: import datetime
- ...: datetime.datetime.now()
+ ...: datetime.date.fromisoformat('2022-02-22')
It supports IPython construct that plain
Python does not understand (like magics):
@@ -28,7 +28,7 @@
In [0]: import time
- In [0]: %timeit time.sleep(0.05)
+ In [0]: %pdoc time
This will also support top-level async when using IPython 7.0+

View File

@ -1,4 +1,4 @@
From 4d1a8351ee82728912fcf7ad0070049b2910c393 Mon Sep 17 00:00:00 2001
From 322d2c452bf1a4df7b9fe161d4991a347043550c Mon Sep 17 00:00:00 2001
From: Klemens Nanni <klemens@posteo.de>
Date: Wed, 2 Mar 2022 01:07:48 +0100
Subject: [PATCH] Introduce TDESKTOP_DISABLE_LEGACY_TGVOIP
@ -19,10 +19,10 @@ and telegram desktop/mobile versions without problems.
4 files changed, 21 insertions(+), 3 deletions(-)
diff --git a/Telegram/CMakeLists.txt b/Telegram/CMakeLists.txt
index fb2bf370f..5d9578f2d 100644
index 008c71b15..291305909 100644
--- a/Telegram/CMakeLists.txt
+++ b/Telegram/CMakeLists.txt
@@ -28,7 +28,9 @@ get_filename_component(res_loc Resources REALPATH)
@@ -26,7 +26,9 @@ get_filename_component(res_loc Resources REALPATH)
include(cmake/telegram_options.cmake)
include(cmake/lib_ffmpeg.cmake)
include(cmake/lib_stripe.cmake)
@ -33,7 +33,7 @@ index fb2bf370f..5d9578f2d 100644
include(cmake/lib_tgcalls.cmake)
include(cmake/td_export.cmake)
include(cmake/td_mtproto.cmake)
@@ -52,9 +54,7 @@ target_prepare_qrc(Telegram)
@@ -49,9 +51,7 @@ set_target_properties(Telegram PROPERTIES AUTOMOC ON)
target_link_libraries(Telegram
PRIVATE
@ -44,7 +44,7 @@ index fb2bf370f..5d9578f2d 100644
# Order in this list defines the order of include paths in command line.
# We need to place desktop-app::external_minizip this early to have its
diff --git a/Telegram/SourceFiles/calls/calls_call.cpp b/Telegram/SourceFiles/calls/calls_call.cpp
index 6894d5d90..cd03620e7 100644
index 5fe9ac677..bebf48e70 100644
--- a/Telegram/SourceFiles/calls/calls_call.cpp
+++ b/Telegram/SourceFiles/calls/calls_call.cpp
@@ -39,8 +39,10 @@ class InstanceImpl;
@ -68,7 +68,7 @@ index 6894d5d90..cd03620e7 100644
[[nodiscard]] base::flat_set<int64> CollectEndpointIds(
const QVector<MTPPhoneConnection> &list) {
@@ -1322,7 +1326,9 @@ Call::~Call() {
@@ -1332,7 +1336,9 @@ Call::~Call() {
}
void UpdateConfig(const std::string &data) {
@ -79,10 +79,10 @@ index 6894d5d90..cd03620e7 100644
} // namespace Calls
diff --git a/Telegram/cmake/lib_tgcalls.cmake b/Telegram/cmake/lib_tgcalls.cmake
index 34a5ba418..8a784be2c 100644
index 94cfdb856..9ac4fe479 100644
--- a/Telegram/cmake/lib_tgcalls.cmake
+++ b/Telegram/cmake/lib_tgcalls.cmake
@@ -267,6 +267,10 @@ PRIVATE
@@ -268,6 +268,10 @@ PRIVATE
${tgcalls_loc}
)
@ -94,7 +94,7 @@ index 34a5ba418..8a784be2c 100644
init_target(lib_tgcalls_legacy)
diff --git a/Telegram/cmake/telegram_options.cmake b/Telegram/cmake/telegram_options.cmake
index 1c3c25431..033f2bc95 100644
index a5a6d9405..2eb9953f2 100644
--- a/Telegram/cmake/telegram_options.cmake
+++ b/Telegram/cmake/telegram_options.cmake
@@ -4,7 +4,9 @@
@ -107,7 +107,7 @@ index 1c3c25431..033f2bc95 100644
set(TDESKTOP_API_ID "0" CACHE STRING "Provide 'api_id' for the Telegram API access.")
set(TDESKTOP_API_HASH "" CACHE STRING "Provide 'api_hash' for the Telegram API access.")
@@ -40,6 +42,12 @@ if (TDESKTOP_API_ID STREQUAL "0" OR TDESKTOP_API_HASH STREQUAL "")
@@ -36,6 +38,12 @@ if (TDESKTOP_API_ID STREQUAL "0" OR TDESKTOP_API_HASH STREQUAL "")
" ")
endif()
@ -117,9 +117,9 @@ index 1c3c25431..033f2bc95 100644
+ target_link_libraries(Telegram PRIVATE tdesktop::lib_tgcalls_legacy tdesktop::lib_tgvoip)
+endif()
+
if (DESKTOP_APP_DISABLE_SPELLCHECK)
target_compile_definitions(Telegram PRIVATE TDESKTOP_DISABLE_SPELLCHECK)
else()
if (DESKTOP_APP_DISABLE_AUTOUPDATE)
target_compile_definitions(Telegram PRIVATE TDESKTOP_DISABLE_AUTOUPDATE)
endif()
--
2.37.3
2.39.2

View File

@ -1,21 +0,0 @@
From 86d2bcd7afb8706663d29e30f65863de5a626142 Mon Sep 17 00:00:00 2001
From: Xiretza <xiretza@xiretza.xyz>
Date: Sun, 15 May 2022 12:47:41 +0200
Subject: [PATCH] fix(h265_pps_parser): fix missing cstdint include
---
src/common_video/h265/h265_pps_parser.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/common_video/h265/h265_pps_parser.h b/src/common_video/h265/h265_pps_parser.h
index 28c95ea9..c180b1b9 100644
--- a/src/common_video/h265/h265_pps_parser.h
+++ b/src/common_video/h265/h265_pps_parser.h
@@ -12,6 +12,7 @@
#define COMMON_VIDEO_H265_PPS_PARSER_H_
#include "absl/types/optional.h"
+#include <cstdint>
namespace rtc {
class BitBuffer;

View File

@ -7,6 +7,7 @@
;;; Copyright © 2022 jgart <jgart@dismail.de>
;;; Copyright © 2023 Andy Tai <atai@atai.org>
;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -33,8 +34,10 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system meson)
#:use-module (guix build-system ocaml)
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages ed)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
@ -53,6 +56,7 @@
#:use-module (gnu packages less)
#:use-module (gnu packages mail)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages ocaml)
#:use-module (gnu packages package-management)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@ -62,6 +66,58 @@
#:use-module (gnu packages version-control)
#:use-module (gnu packages xml))
(define-public coccinelle
(let ((revision "0")
(commit "6608e45f85a10c57a3c910154cf049a5df4d98e4"))
(package
(name "coccinelle")
(version (git-version "1.1.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/coccinelle/coccinelle")
(commit commit)))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
#~(delete-file-recursively "bundles"))
(sha256
(base32
"08nycmjyckqmqjpi78dcqdbmjq1xp18qdc6023dl90gdi6hmxz9l"))))
(build-system gnu-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(add-before 'bootstrap 'prepare-version.sh
(lambda _
(setenv "MAKE_COCCI_RELEASE" "y")
(patch-shebang "version.sh")))
(add-before 'check 'set-batch-mode
(lambda _
(substitute* "Makefile"
(("--testall")
"--batch_mode --testall")))))))
(propagated-inputs
(list ocaml-menhir
ocaml-num
ocaml-parmap
ocaml-pcre
ocaml-pyml
ocaml-stdcompat))
(native-inputs
(list autoconf
automake
ocaml
ocaml-findlib
pkg-config))
(home-page "https://coccinelle.lip6.fr")
(synopsis "Transformation of C code using semantic patches")
(description "Coccinelle is a tool that allows modification of C code
using semantic patches in the @acronym{SmPL, Semantic Patch Language} for
specifying desired matches and transformations in the C code.")
(license gpl2))))
(define-public patchutils
(package
(name "patchutils")

View File

@ -529,14 +529,14 @@ workspaces.
(define-public python-fire
(package
(name "python-fire")
(version "0.4.0")
(version "0.5.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "fire" version))
(sha256
(base32
"0qka44n88y3qcj7xz0k0f3qb4phcg4z0wvd4jcii9lcr6rvbiqn5"))))
"1imc9ais15dz3gmphawql86l9av5dykbp4hz0883k5n8k2gd9c56"))))
(build-system python-build-system)
(arguments
'(#:phases
@ -545,7 +545,7 @@ workspaces.
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest")))))))
(inputs
(propagated-inputs
(list python-six python-termcolor))
(native-inputs
(list python-mock python-pytest))
@ -735,6 +735,28 @@ It uses a plain-text database, a location-independent library, and features
git integration, command-line support, and a curses-based TUI.")
(license license:expat)))
(define-public python-colored
(package
(name "python-colored")
(version "1.4.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/dslackw/colored")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"196ins0m7f90xz5dw764dlx060ziqbcydqzzq40b4ir5858baf3r"))))
(build-system pyproject-build-system)
(arguments (list #:tests? #false)) ;the tests are not run automatically
(home-page "https://gitlab.com/dslackw/colored")
(synopsis "Simple library for color and formatting to terminal")
(description "This is a very simple Python library for color and
formatting in the terminal. It comes with a collection of color codes and
names for 256 color terminal setups.")
(license license:expat)))
(define-public python-colorful
(package
(name "python-colorful")
@ -1114,6 +1136,23 @@ allows arithmetic operations between them and conversions from and to
different units.")
(license license:bsd-3)))
(define-public python-plotext
(package
(name "python-plotext")
(version "5.2.8")
(source (origin
(method url-fetch)
(uri (pypi-uri "plotext" version))
(sha256
(base32
"1gpy1z2i4vq1mcrhysxahz4339pbl9rzk58rf5m5gf5ym9xji6ii"))))
(build-system pyproject-build-system)
(arguments (list #:tests? #false)) ;there are none
(home-page "https://github.com/piccolomo/plotext")
(synopsis "Plots in the terminal")
(description "Plotext lets you plot directly to the terminal.")
(license license:expat)))
(define-public python-plotille
(package
(name "python-plotille")
@ -10418,13 +10457,6 @@ computing.")
(inherit python-ipython)
(name "python-ipython-documentation")
(version (package-version python-ipython))
(source
(origin
(inherit (package-source python-ipython))
(patches (append (search-patches
"python-ipython-documentation-chars.patch"
"python-ipython-documentation-repro.patch")
(origin-patches (package-source python-ipython))))))
(arguments
(list
#:phases
@ -10484,6 +10516,7 @@ computing.")
font-gnu-freefont
graphviz
python-docrepr
python-ipykernel
python-sphinx
python-sphinx-rtd-theme
texinfo
@ -19920,13 +19953,13 @@ numbers, real numbers, mixed types and more, and comes with a shell command
(define-public glances
(package
(name "glances")
(version "3.3.1.1")
(version "3.4.0.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Glances" version))
(sha256
(base32 "16i92vsjpxpnpkab1wa1y2iw931mq1hna0d2gkkjmgxz1hhr58ih"))
(base32 "0pf8hxbgwkhv8l5frg61b073vscz5a7bz1al7xhn36fvh10xbcg7"))
(modules '((guix build utils)))
(snippet
'(begin
@ -32998,6 +33031,25 @@ functions
markdown-compliant strings.")
(license license:expat)))
(define-public python-zbarlight
(package
(name "python-zbarlight")
(version "3.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "zbarlight" version))
(sha256
(base32
"1v5c9bim8af6g8kgxp2dhm96n5vkr8sqi56w0bdh1xy49v03lw3g"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-pillow))
(inputs (list zbar))
(home-page "https://github.com/Polyconseil/zbarlight")
(synopsis "Simple Python wrapper for the zbar barcode library")
(description "Zbarlight is a simple wrapper for the zbar library. It can
read all zbar supported codes.")
(license license:bsd-3)))
(define-public python-zeroc-ice
(package
(name "python-zeroc-ice")

View File

@ -1020,3 +1020,33 @@ It supports the following type of cards:
It also has limited support for Mifare Classic compatible cards (Thalys card)")
(license license:gpl3+)
(home-page "http://pannetrat.com/Cardpeek")))
(define-public pcsc-cyberjack
(package
(name "pcsc-cyberjack")
(version "3.99.5final.sp15")
(source
(origin
(method url-fetch)
(uri "https://support.reiner-sct.de/downloads/LINUX/V3.99.5_SP15/pcsc-cyberjack_3.99.5final.SP15.tar.bz2")
(sha256
(base32 "0yj6plgb245r218v6lgdabb3422hxyrw8rrpf5b8fwah4j1w5dxc"))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags
#~(list (string-append "--with-usbdropdir=" #$output "/pcsc/drivers")
(string-append "--bindir=" #$output:tools "/bin"))
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'install-tools
(lambda _ (invoke "make" "-C" "tools/cjflash" "install"))))))
(native-inputs (list pkg-config))
(inputs (list pcsc-lite libusb))
(outputs '("out" "tools"))
(synopsis "PC/SC driver for cyberJack chipcard readers")
(description
"This package includes the IFD driver for the cyberJack
contactless (RFID) and contact USB chipcard readers.")
(home-page "http://www.reiner-sct.com/")
(license license:lgpl2.1+)))

View File

@ -119,7 +119,7 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
(define-public fish
(package
(name "fish")
(version "3.6.0")
(version "3.6.1")
(source
(origin
(method url-fetch)
@ -127,7 +127,7 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
"releases/download/" version "/"
"fish-" version ".tar.xz"))
(sha256
(base32 "10b1xa1hpmi62rzh3qgxlw7xrhyigs8kssagccawmrryfxbls14p"))))
(base32 "1cj91fyba259vhbxvq55w2yf2p2vj201gr15pa59swx6gjs2nh2m"))))
(build-system cmake-build-system)
(inputs
(list fish-foreign-env ncurses pcre2

View File

@ -574,7 +574,7 @@ below the current cursor position, scrolling the screen if necessary.")
(define-public hstr
(package
(name "hstr")
(version "2.6")
(version "3.1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -583,7 +583,7 @@ below the current cursor position, scrolling the screen if necessary.")
(file-name (git-file-name name version))
(sha256
(base32
"1iqvqm4mirx7imwwmz4blxbsr215lcgbw3h31ssbs3fk54hq7xn9"))))
"1w1xr0ddf34i46b8wwz2snf7ap6m0mv53zid3d1l5hc4m3az5qis"))))
(build-system gnu-build-system)
(arguments
`(#:phases

View File

@ -666,14 +666,14 @@ also flexible enough to handle most nonstandard requirements.")
(define-public r-matrix
(package
(name "r-matrix")
(version "1.5-4")
(version "1.5-4.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "Matrix" version))
(sha256
(base32
"01kgnsx3m19varjfn7n0g48ml6yrwr3bnjhhd0h486ynjccvdkhm"))))
"0bh87f6yll06q0068wavwmagvsc0p95g7071zsjr2yzb2dr5i2b5"))))
(properties `((upstream-name . "Matrix")))
(build-system r-build-system)
(propagated-inputs
@ -1530,13 +1530,13 @@ data derived from /etc/mime.types in UNIX-type systems.")
(define-public r-markdown
(package
(name "r-markdown")
(version "1.6")
(version "1.7")
(source (origin
(method url-fetch)
(uri (cran-uri "markdown" version))
(sha256
(base32
"1sjrynkg42g7s2czwmx4lzk92fssnd73cqj63djlpbk1h66qn8j6"))))
"1cfgrlmbn54nsn0k568xdcg08dxb8flhsysmnfrhci0pa93rlayb"))))
(build-system r-build-system)
;; Skip check phase because the tests require the r-knitr package to be
;; installed. This prevents installation failures. Knitr normally
@ -1574,13 +1574,13 @@ emitter (http://pyyaml.org/wiki/LibYAML) for R.")
(define-public r-knitr
(package
(name "r-knitr")
(version "1.42")
(version "1.43")
(source (origin
(method url-fetch)
(uri (cran-uri "knitr" version))
(sha256
(base32
"1wrha732mhlc3la61ibm5l1b5qygswwfwjpmvq0s2kcy12hg2i4k"))))
"0g6m9s53qyf34ba4db97k31sxg2ikndfp747229sm6ilikmbla9x"))))
(build-system r-build-system)
(propagated-inputs
(list r-evaluate r-highr r-xfun r-yaml))
@ -2774,13 +2774,13 @@ well as additional utilities such as panel and axis annotation functions.")
(define-public r-rcpparmadillo
(package
(name "r-rcpparmadillo")
(version "0.12.2.0.0")
(version "0.12.4.0.0")
(source (origin
(method url-fetch)
(uri (cran-uri "RcppArmadillo" version))
(sha256
(base32
"1dvq5ng39ypz8vhqfzjnqhibvryshnxdfcsfy2jjyn0j7x0yi74g"))))
"1jw2fhbva0qrgd4cwddjgwl8f8fzkxyp6vysl1qabh5bcp259nzn"))))
(properties `((upstream-name . "RcppArmadillo")))
(build-system r-build-system)
(propagated-inputs
@ -3345,293 +3345,293 @@ using the multicore functionality of the parallel package.")
version file)))
(extensions
'(((name . "AutoFill")
(version . "2.4.0")
(version . "2.5.3")
(files . (("dataTables.autoFill.js"
"098a4kd4cahc618x543nqc388mpg4ximg3mc43dfjs8p9gsjr6pm")
"0r5v76lmysblb4l5g1qgdg6zb2sbkarzfp5fk9zixsyb4c40rrb5")
("autoFill.bootstrap.js"
"1zi7iiq63i5qx3p9cyynn6am4idxwj8xaz8mp4n3klm1x68sc0ja")
"01dwlc9r2dw8pjylp0r3i8snfc10i02r76564qcdby8slbgfxj6g")
("autoFill.bootstrap4.js"
"1vk2smcz14raf0cz88a65yf36a7mnmbml02q03apg2b8bqy91m7w")
"0myiykq7nxa3c9hj387r0yhy9vm3qw2051m5siqsbc0zm5n82nkh")
("autoFill.bootstrap5.js"
"0azvycv5vgny0a60b3yl5m129qa2780bcxij9x4lqhi7jj8g8cdi")
"1sq9164xz5w88hdn01cqraimvdzn6a9lplmy7j3klci8hmlivisy")
("autoFill.bulma.js"
"047fyrq59xa1xvzywc5q1dr201ky0wnr7iiljmc5kpgw9k2hfm8z")
"1zyp1dghay6ndj58krqhx30vhlhd5z4hm38yv4mbk2ph413f2y88")
("autoFill.dataTables.js"
"1rz0d1w8m1xr3y64sy88c0ahs04dff8k353vnf5ck1kmfqz7iyz5")
"0g0z5k9hc575zwjylx58mq7xi9l5id1mx30rvrnqb6afr7l69h4n")
("autoFill.foundation.js"
"0sbcib1461pkglk69fzzqi73g4abylah74f264v0f79dc5247yzz")
"1rz24ai5v2aj4cpwaa5c2xw5ilypfpvygj4cyars4p76y7gfiiir")
("autoFill.jqueryui.js"
"1dw9vbbchzbd2c7id8na2p1cxac2kgjbzjrvqafra715hr0i4z3z")
"059r8vswsasardsrsvr11xfr1kb6d0qqwc77x9qnzjq0bl7ksn1y")
("autoFill.semanticui.js"
"07ck81y6wpqchq8jfym6gjgc57xwj6vv9h5w9grc1gps6p7q9xnr"))))
"0imildga2yhjkps07n5bbfw0b0pqbphszl7151gimrsn79xwqjm6"))))
((name . "Buttons")
(version . "2.2.3")
(version . "2.3.6")
(files . (("dataTables.buttons.js"
"0yvvnk57qzq50x2z8gb0269636qz2m8050lwp84ic9l98kwkfsqr")
"19am96fj5xzsagp5wgn2ayiad9gm11vch2mz8l3a21l770dc86rl")
("buttons.bootstrap.js"
"11z9m0lnicac0hibh4d87gfgzzql816pa442xykdlraji52jx8h7")
"0dk2f4cs4bww56ldmcpdfaisymf61j914awbqjlb66brdv70p1nb")
("buttons.bootstrap4.js"
"1n2l595jk2ndbq57ns9mjvpzs354xlpnqghhm27a4ipc29hil9i7")
"0cvkgw83xyf601zp2pr9d5xhllbn1pjb8bnalja7yi6cswg7r5mp")
("buttons.bootstrap5.js"
"0qsr748lns5hd52yy4w3w392f9f0y0jn0z382vna6fwynamkpmxi")
"0mnbdx5pm8ybxgg048zdi4v4awwyq1pyykwbgqhww5l4byjvvwpp")
("buttons.bulma.js"
"08f0969mwyd6x2hgg62b74c53aiq1j7aiwivpi5qbhm64r5haxg2")
"11clmyxcn6z8rpv8ikcm3f2vcajp3cikvjcgrmds0d2w7gmzy36i")
("buttons.colVis.js"
"1gc2162lyw1l790973mbqhsbapypdf410g5dlhmarnb6w783awhi")
"1ykzl8ka8lslzi1db9jssm416apr8ha1nyb300kvmb9hwxplx4sj")
("buttons.foundation.js"
"1hhrylxg5jfc0x22gf372bmh2b3nbd0vrl3mi47bp23kgnq7ymdl")
"0zkzkqj2d8swn1fy11bkr9fy7g4jfl99m5p4ihcg5l9lbsr0zirp")
("buttons.html5.js"
"1dvy05j0w1galnwgvnisp0zg3indrjikl66z1qzm0m00zz9d1vjr")
"1gg8jp57kp6m609jjpf70hkxyn1zz4lfpiyhvj3i2fqlfp3pwgaw")
("buttons.jqueryui.js"
"0y2fgadmj1bmdak3bz80rzkjsa55di5py3m5cn5qmd21a0jam5c5")
"18ah16sq41nbgkl3i1yqbllsdg99h48v3yaa2y2g8qwbx2b0aiw6")
("buttons.print.js"
"0fxkla48jda592jk0vg9n5jh39d8czibqmq0hmiz8l5d5dyimwi6")
"14zbjzwk4h0r76wqym7fl9dh33mfqzn5fk1cb1bcj7c3d2jrmd9n")
("buttons.semanticui.js"
"1v2p8fr68jsjnkgych55qk4lwjj7cix51pl6gykqfr140ps4wfv0"))))
"03lqj0l8xlkqh4byqqng3wv0caj611h6n60pzjbjmcsxmz3qaapi"))))
((name . "ColReorder")
(version . "1.5.6")
(version . "1.6.2")
(files . (("dataTables.colReorder.js"
"0xg1vhrmzy758zygq4n8sriwxkalvqrv4l36rxk4zkgr74iqdcl9")
"1ziqslkvx6rcw0ayb3kd03wa9iqd5vx5sasglczyasm0zahp2h92")
("colReorder.bootstrap.js"
"0crgmjwcn817yz6ibjkji6gsickvv2a4las9asyldfcpj2c99x84")
"1h06rbrb39r3vqf6y9939vad5sl28x73jdzi7a4dc6bgjzj1ggr0")
("colReorder.bootstrap4.js"
"065fhw4v2d9rp3ic9zfb1q5d7pfq4f2949rr24hdjbspf19m3ymd")
"090g98zqiixq7avw2f1ai8vhf1g7y0s0q0kb5m0gb5nibh9grdv0")
("colReorder.bootstrap5.js"
"1bsdixwgjlgj8hfgcj4kz23bzn9pj2w6fay1bywk4k42wy9hkwcd")
"01wfa5mlvksng2r23l43s8lhn088clvlfzgjb30q8wrv1zr456ga")
("colReorder.bulma.js"
"0ld1bvcizcq6rd31sn0dcb9md7ri1b3npi64hd8nwz5jr2ln0izh")
"0bwidf58k0747zamh2db6rqidzzfg4cl8pbzqabp8wrxd0l4fz6v")
("colReorder.foundation.js"
"0nrddc8swkmsfzji518kh6ks55ykyk9p8r4x5fmf8ckr9fhjkh0s")
"16m2rdadjq6bvfip3g30w5389q1rivqr3kxnllz0p56dngsg3qnk")
("colReorder.jqueryui.js"
"1rd8hijz3prg2y36fvqczrpdzixibjy2dxgs2fmgr8wrm8k01rrm")
"1isl25m5asl0krhsbk3p91cyvfhzyf0y3mc6lcjwahzmv609jq68")
("colReorder.semanticui.js"
"17kw143ny0nq0yidsffw3cpghvlg2bzlzavfi0ihkamcn26ymxcp"))))
"0nrfxs7b2bhvzhqw9sxi7404lhrg5h6g8csf9yp4l9bpvb6cicn8"))))
((name . "DateTime")
(version . "1.1.2")
(version . "1.4.1")
(files . (("dataTables.dateTime.js"
"022znjrf95yxn72j3cbasvsrqnbxcch10jbv2gb1816ngw90ykrd"))))
"048y9d9069499sq6yz3r0j0krv7h2gaawcw26gbp1bbgjrczydqv"))))
((name . "FixedColumns")
(version . "4.1.0")
(version . "4.2.2")
(files . (("dataTables.fixedColumns.js"
"1mayfgas63gbzxbbliy56d5b4c5rkyqzvmj3mzrpwyvaf90jskxg")
"13qic9ijx211pn05h183bi4nhd3b2ma50shvw2b094mp2wfjz7zf")
("fixedColumns.bootstrap.js"
"0463y93jl926s3kmx35vw7k95zwz18z917kxiygjw1i3flbyw979")
"06dz80c5sqjkzp2la1nxjjqgm1avap2qpslwml15prcjs6xy1mwb")
("fixedColumns.bootstrap4.js"
"04z19y4qb0sqcvlra8h15vbpfw6w2brkwh5msvpn6g8hslq7xfqg")
"0ljyz6dm264hj03n6vwcpdzpjcsf9mx0w2bc6ir5r463h6w5432p")
("fixedColumns.bootstrap5.js"
"1jgwl5v6b44q8fjdaphqliyl749mmd6bjg9qgnss4xspz4ix5600")
"0rq4bjyf0g40dns9wdzzg6yr9khrcc7hys668dx495wy5349cj1h")
("fixedColumns.bulma.js"
"0dvw6adjr0h19vysmwynsg2kjs2ihm6slsybpaw50qz28is6qj1i")
"0g75ds6yvl4995d83v1nj6h9d0c46ryy6z168znw98csb35infms")
("fixedColumns.foundation.js"
"1xmxsxd5phm5r67pvd6r7rqi7l83pw6gp9a9kfjvs7a8s1fbcv7j")
"09m5ri08c7q5c96dlp4yzz8b82f8nbfras07cb9s9zcbpfnf3sz8")
("fixedColumns.jqueryui.js"
"0996m40kl7q8bg9przp4lzmp4z2flr538sv2phg3hsl0mra4yqx2")
"1fmd5bgjfqg7gila9p8q6hhsxf5hz586n14sw7c4g81kkq1f144s")
("fixedColumns.semanticui.js"
"0wwxkk7ias986c1iyd2wfd4gcarla99mcaaancgxcadqil6gs2z7"))))
"1ljnl3817sq58m0rnwyyyasak9x7i1yvy54hm0m0jkdc6xh2pv1y"))))
((name . "FixedHeader")
(version . "3.2.4")
(version . "3.3.2")
(files . (("dataTables.fixedHeader.js"
"1hz2b1987hw8xnbm7fgf1wifjsx9zzzc2y1jxa4fcdvlhyqcikqh")
"15n2jv0b42k4z202gl167lam53lg89h2h6v91k7yb92ylxbs417y")
("fixedHeader.bootstrap.js"
"1qf3pkb3svpia7g8bwyql7ma3x2g4zj5bp0d14pnv8xpc9h52r93")
"04hlrc6rl3rzn8wihh6rsjyijspwhgb033b651iwffw652ygz3bl")
("fixedHeader.bootstrap4.js"
"19jcvnk7zh4k6fd5si3b743x70qzlkqiw3m10jbc5jzbpz8sj6qd")
"1l1k7nxpjfj694chhpl6lmxg5rf0xdw42dvzqbwkqbmi0lflpb09")
("fixedHeader.bootstrap5.js"
"0p8av4ipbwfqfpkpkz9i32rcihx437rbmi4sq6s58rb97vpj1hjr")
"18ljjgyvjw5y69i46l8pzpzyipw9i8951in347sg2fddvqmbgp14")
("fixedHeader.bulma.js"
"1cs3fwx7y1an06ckr4b95crs81sl8xhgs10ggvjghbqdinzkx42v")
"0ja748f9c1g9vcdd4azzihdvqwzqgyibbw6j0f8gnn385lckhjn6")
("fixedHeader.foundation.js"
"0yd1812jrlrawv1sr4n83rl59n1gfablxbhhs8jp4h3mj3f0881p")
"094k93vbn1lks97xl60lr62l03hqy1ygb4ziw5yc935pms8bcsg8")
("fixedHeader.jqueryui.js"
"1lc0g2cag1sj3bqmh7rh5z00pmfv1srxfhwi32y4mgpzhrzpfzxn")
"0w45c6dvbiqyiyyfsqnv76c9kq4gzsk7nvgbk9z6jbw9c63ajv16")
("fixedHeader.semanticui.js"
"1v0i6dc68h8l8673fb5970igzkl7as36riv504iyg82glfi7n877"))))
"0icn69sbnvpcx1c3dwlyznaanmahl0xv520xmx8cf383l4nkka19"))))
((name . "KeyTable")
(version . "2.7.0")
(version . "2.9.0")
(files . (("dataTables.keyTable.js"
"0fhpzwdcjcigal2bbh1slq23lvp2xi16f3ninmigczk7p719jfxm")
"10b492r3kkkj1skw3m4ykfdikp7h5hhvdwiag1p4f632m8av4agz")
("keyTable.bootstrap.js"
"0hnhk6am4yl6h6bb7as935k8h2syil9hf8g7nn409yd3ws736xpj")
"0l7zarb10d2bkdvhphyphis6z100s0yb4sl81vk4icd1yqjagf5l")
("keyTable.bootstrap4.js"
"0r85mp5yf9hgl5ayzzs46dfbxa231bjlvgb8lqpyzik1m6afa51i")
"0z3x55xlvhq5qgww5q037ib72qi7lmrjzlx79n562yr47ck3hh8r")
("keyTable.bootstrap5.js"
"0k24shf3v8frjp5m055g4fcdp48m8ird6c51p514m0ky97cdfhrp")
"1d97jx4dgydra9q04qsm5lwcgh78na7lwdfpbq6nlmmdbd90rma5")
("keyTable.bulma.js"
"1fgb5v85b6fblm4dh68y5z2hpwy46b15a2x483aszac5177xw9h1")
"0v70gnb18r0l1lls74gc04a2bj6gvvxjvi34sn18ap1va4hqgj1g")
("keyTable.foundation.js"
"11fr14p33lyvs0wfcx228m600i4qcaqb44q3hk723jxcz59k17dw")
"159zcv9wrvdwiwh9prf6252fqd933997rza9wvwz8gp7nmsfg96g")
("keyTable.jqueryui.js"
"0572rxrvwyprdr8l5jkgacj2bkmhmgxjy5vybm65n54g9j19l6bc")
"1ilwqy485pnii3a3aj7v86lh84wrw12c247v9n1jjf1d39a47wps")
("keyTable.semanticui.js"
"157mqn9mhmmf7vas2das4hbpwipk3wshs8n0808q04rbijr0g2bz"))))
"1klx7v3bm5hi0aqzxlqrlkamn4m0qjxwlckg96gy3d7qfmjk37r6"))))
((name . "Responsive")
(version . "2.3.0")
(version . "2.4.1")
(files . (("dataTables.responsive.js"
"1pfc8bkg33jmzbjmdbvlvf4qi6jp42f5c9vzg59p017cwlcdai8q")
"0hfsjrc4zr7zb9f7b08qprns8558y02ahm1v0ab417f24zx9xq96")
("responsive.bootstrap.js"
"1xxlh01vmzmfwwlsa611pl2nrl2sx58rp8xmx301bfsylmp2v5b2")
"04d9bm3zzvyvbchbmp0ingh7m0w8i4lc9n9q9rfi33rz4acgv6j1")
("responsive.bootstrap4.js"
"1zjh15p7n1038sggaxv1xvcwbkhw2nk1ndx745s6cxiqb69y3i0h")
"0clymsjfv20sgc9a3v09j968hgxfb1vm0smjwylillj152zxz5xc")
("responsive.bootstrap5.js"
"0c1dwa0hq5dcb2g4h7s5fidzfm5f87gwx79zw63jxw0p6x3qs2qn")
"0y1kflpkzsvfsnmz42p2gybp8wk2acl8miy0v91r81a0s7i7v9hd")
("responsive.bulma.js"
"09gy9v9506am6w3xlkcx12b2sqp3gg09vrs3ns515f1512bnfsrm")
"0dwngvl0wd4qfhj4ba20db6lapb65wam2bvirqwwjr0ndwqkms1i")
("responsive.foundation.js"
"1qgyqw3r8a60rm9csiq5ym9bfazzyybrk8ana3mk8pxjs2cnryq7")
"1b2gvhpbfwjkdbfbndmdp4n7329v1dvgcbys418jni1w9v13alhh")
("responsive.jqueryui.js"
"10nykak2kf4sai64girh26xdmdil29jvw3zja2rpp2qzjg4172z9")
"1zl6sz3bgwdwn3ziq283p3vk3yl1ydnrm27ccav0xd1qkyngmmlw")
("responsive.semanticui.js"
"191d69i7pzh63fjkfwz8xkxh1rlbxk43xywkad7129c6hqsw4gml"))))
"1rj50gz6zcbjyvazlyy6xn86c4yyhvc53c780ld31qsqqlk91h9w"))))
((name . "RowGroup")
(version . "1.2.0")
(version . "1.3.1")
(files . (("dataTables.rowGroup.js"
"0vl3962x0syhxnxnc5cb6dx3711m3gfsfj1i715b2rc4pyxwbzi2")
"1z5642r2npxbkq7588qmcxmg4gaii22xfd0k039iwma199dql3md")
("rowGroup.bootstrap.js"
"1xfdhqgznz9x1v8spvql6b0wbna13h8cbzvkjza14nqsmccxck66")
"06qvz00qlnhvvfccmxhpgaw0jw9xrnk6fx34qk1ffw230adsz39n")
("rowGroup.bootstrap4.js"
"1xm53sda4fabwdaglngrj09bpiygkn9mm17grxbykn1jazqqdp62")
"1i460lnpsdwwf617p0ngbzn0k3jbrjxk72nmdxsni5q8w0x4hh7v")
("rowGroup.bootstrap5.js"
"1z5ii27dhi5qznp279p458zcx4q322dkwswmk45wh1sx5ws9kxcp")
"02434zhjj0s26g819m689hxspwz0hjmgm23as73x0rncmwh5n0yr")
("rowGroup.bulma.js"
"0bwa2bw7wasbvc35c1m78i7vb2yf4dwr7wp1qclw3lv8sx137i4d")
"1j0vkvgak0czjpyx99knh4fsr2zk527cxnbjp4hvb8hqh81mfxgp")
("rowGroup.foundation.js"
"0832i10vils1wv1sm10qvsnd4i2k2xkhskz6i9y2q0axkmk73hcd")
"12haka0ibz431d0ggwmvncld5aa5mh6ibicbpqlz2wg8ax83xbgi")
("rowGroup.jqueryui.js"
"0n53cd294s9mjblkykkqvd9n414bsc26wpcg5spxdscjl6hxh79p")
"08hpclvm8r7768r017spsvdj582s2i21cdjxfllvdl2yq7k5fdpg")
("rowGroup.semanticui.js"
"010wls5nf387p21fdc2k952bxq89r5kxkv7j4wbvwf8k2a18cmc9"))))
"0jjn91h59vgrbkzrxjr91nx9n2azd569qj693s7v71sq96hhfy6s"))))
((name . "RowReorder")
(version . "1.2.8")
(version . "1.3.3")
(files . (("dataTables.rowReorder.js"
"1hjh4c5dp82sxyhd38k363dmsdhpq02fmbz3wah0ggns1i4hhpq4")
"0gxi7bxgilqm6x216vpzyrdvbn1b34pz25x8zr2k10jb1m1kbxk8")
("rowReorder.bootstrap.js"
"185if2pxgc940rm49hdgln57pc5h9cszlii3bfpdf3pdc1fjhckm")
"0kjzjvwbn5d2wj6f8bqa9vgwhmwczpvig3i4zsv5rk4rpz4jiiap")
("rowReorder.bootstrap4.js"
"14129x4md57i4ff7j18m49jn5fw8r716np84cdrcawlydgjsxp4a")
"19g8n8kgbi7m42vzkq378q73k2yr0vs0qf03k7aly6ysp4413bbz")
("rowReorder.bootstrap5.js"
"1shq721y56ms72zsn00glpfm44hl120zh6nslj20w3d5maly6xp8")
"13ivzk3vhm9qwifk1nsqqdciifky9pgz2fgigxfsb9lkn3dflw0k")
("rowReorder.bulma.js"
"16rpjsbiwv4vdrmigkcnj9cyxgm2cscnvn0ac079s3qh1gi7ysv0")
"0bc4scmhwnvjybqrbmhi7ja1z5cvxy94yddwc9ij52m821shv2mi")
("rowReorder.foundation.js"
"0zg94jckymxzda2xjyj9p38y5v61cji55kak1ylq72l6a9sw8sg6")
"0a19zkdmg1hw7k48vhv36mx9mcrwk6y0vgbqp6cm2g6di5j3nwb0")
("rowReorder.jqueryui.js"
"08gm419xcixgqw0i5yv2mxyyvafhzviibifp6nv129vdxx0a5d8v")
"127ah9xh3psnasialqff7jrl4xgf4q2lnsbp73azn5gcxxp7n27j")
("rowReorder.semanticui.js"
"1zjrx2rlgw3qannsqa88pcp3i4pc87pwv7rmgfw1dar8namkr9kk"))))
"0isal8vjsrf8igfr45xhwrqi5gpvn6bw58c2z0abvdgb4c0sn26g"))))
((name . "Scroller")
(version . "2.0.7")
(version . "2.1.1")
(files . (("dataTables.scroller.js"
"0vk7kxv78nmmr5y9rqshh4rglj9wd1fhlq1jzyxz5mpdc4scn82w")
"1qi5qqk65mrbvn8qjnwph209wpgpf9sh21ynz6rrsnnyz5s5g9a4")
("scroller.bootstrap.js"
"19dl40dl8ir21xvs1j7xhm2a4py1m21xbypwn499fg2awj8vaidi")
"0v83q7p5wj9dg7gjqyrl6xr2dr2spgryc7hx8n895038p72srlh6")
("scroller.bootstrap4.js"
"0pbkgncijlafwdmyh4l65dabd18hzjh8r01cad3b9iy8cfif6iwd")
"1cyfvgklyslb23swmfdai1i4qxs3b5w3kvv40zfjvvjagk35d6vy")
("scroller.bootstrap5.js"
"0h257c782ypbncsavrlzrhzc2dpmilkgrpcfmzlyxs964c0lb03d")
"0qnj5cfiap82idp0dlm2kjiw8mg6ni309p8nfrsz01l5v6kf0gld")
("scroller.bulma.js"
"0yn1c4aj64h3h93g8x4q76zf9l8h9r3i5x6havvqx1h5q3xzrz6a")
"17cxrym29b4h7qsn1p2ybdcqvqabxbw0463crnskqjvbma245gvs")
("scroller.foundation.js"
"04bk6ink8wqay7655v93jvv86m3bn6asrsfb22i99rgxdvm8gn1z")
"0k7d9qqflkc8266ixpcrw3j2n6ci8nq3qvrl7gzb6ynpqxsxm6jm")
("scroller.jqueryui.js"
"1md5mpx5in7wzsr38yn801cmv3phm0i0ikdnpd0b1nsna5ccpj14")
"08yp9crq04mxppn8dzif8920isvmapkwc7vcxw73bq9wlmsyg1cx")
("scroller.semanticui.js"
"1dfbblbzbryjgiv31qfdjnijz19lmyijg12win3y8gsgfd4fp9zz"))))
"1p38j8362nw0x4bvvm23k5z1m4xndf4dswd9mcc6p6gfl4qj5j48"))))
((name . "SearchBuilder")
(version . "1.3.4")
(version . "1.4.2")
(files . (("dataTables.searchBuilder.js"
"02l908xd2r6vnjygwvnbyhv0qckg4nyq00zwcmpz5a2aiqz68vwn")
"1xgbl60d07wvhzvwmgvwwx01sl6srgwiym4lx4lhgdpr965l0bbl")
("searchBuilder.bootstrap.js"
"00a5sb9n180nmpghnks0xiwhpaq8nqf7gsh112vqm4m63b3nfiq7")
"1pgrr55v3ymfdgrs5835963sx1h2cp9jwms2xqxy5d8rla0hjc85")
("searchBuilder.bootstrap4.js"
"1rf58fdfjdwr86ywfapaixclcixhwd46nw0q6zprwrms1h90wbqq")
"1jhc47p5l4b9r2y0x0ixv3zz756nsbn1ks0x1fx1h34p0c4l3h22")
("searchBuilder.bootstrap5.js"
"0wizg55hxf79kapcsrjmzkr2v619bqva64s6l9f8crdzknvfxw06")
"11cvyzrd0i4p0gc89iim23bafjldn3k7wdch80f4l9wb6vjjyak8")
("searchBuilder.bulma.js"
"0sc72fkffggxrms08ffc512r2cj3k2rs0rn75r472b0mkrz7fiaa")
"03vnk9mr4ks339jmpq15rdyx4jjgf9n1w0jlb1p7ni6mc8vkycff")
("searchBuilder.foundation.js"
"0xirkl92gws8yirip39q9vsnaghxh4c86ny9n3a08mswrr5zkl4f")
"0gphbviv09wj1l2p2rdvdg1lp1wkwpmvyx3w63fdxyjqbgp5jd9a")
("searchBuilder.jqueryui.js"
"1h91w1nk5r8a8xhk891p2ljif8bxigl9x0cm0hzkxihiv9bkskyx")
"1a9csbj9mdbn9f2rshxmqn4whlqy0i5llahik1vcywp0mrm43515")
("searchBuilder.semanticui.js"
"15icf6dicb6v1sw58llrd74nsjqkghnjfn50ylyvw3rcbw6a9drl"))))
"17fqc20f4sg281y6lcj9dxbiqc95ashm5z29hi6ikwwcqxvirwa2"))))
((name . "SearchPanes")
(version . "2.0.2")
(version . "2.1.2")
(files . (("dataTables.searchPanes.js"
"1baxayq9gjkyvyv463cj2ckzplgh88800kvgkr7ji5nmbvd4qhss")
"0wskf7bynrnf0fipx3wjbikx02hxrci5d1ci3861i37kvrsrzqs0")
("searchPanes.bootstrap.js"
"0p3x6345aqhr4aw447pc9dxc0kb9pz31vvf1ikcv8li5bdcgdk4q")
"0393mj4xangzs6c755c2k3z71f9w3d7qxcb8rsx3ibsirl4rp5z1")
("searchPanes.bootstrap4.js"
"1l21c1jnsmakbi6z1kq4cy3ydirm8l25qwhzl5hwvw4kjpc0mi8n")
"060lpbnfjbi0p4yh54mck20b9dcbz9a0yhj8if8a084sz2mka16b")
("searchPanes.bootstrap5.js"
"1sgw7hxhwnm59l8c0bkk4l9vp3blf8mq4wn4zfrv4cvxlawncdr8")
"1kzbmi84svx7js8pw4h8gac2i87sjpjhq0bkglahq3m49f129br7")
("searchPanes.bulma.js"
"0yrabx503jcrzmh97xzpbbs59ba714a17sm9n1ls1yc8pmk3327x")
"0ln096w84aisivkki7k1m0nhxpjs8zk4b2givg5rd9vqjwirxc65")
("searchPanes.foundation.js"
"1f4pzr4h1hjcvnb3s7sdpdps7b29sgp3l7hbclv39dx8lmwv5fx4")
"1mldgkzhxfvvn7z1y095az8czp6qzjv5v09z8ng31dxrc9q6qlb9")
("searchPanes.jqueryui.js"
"1s1xfqdnzj16ad5z1nxpziabf4vfxzc7a7jrfh10mfhnzklzf8sa")
"05qzc36dkch66wxsn3wx13f4jd715jj0jxykmd750kk7qhqc2gfy")
("searchPanes.semanticui.js"
"1qydrghn8033zmaww9zm3fi7maakgb61vvvrqynypyrc56y53w6n"))))
"1g4j2v5757d8ylmb8kn59nq77f1gx9ifj10i215gn982shln3s0h"))))
((name . "Select")
(version . "1.4.0")
(version . "1.6.2")
(files . (("dataTables.select.js"
"1rz7ljiazy3v7xkyccn33wxij1bcz3mzkn7kpha8a3d4zy1b1n2j")
"0amnwdvmiq1pda9x0m2hfrzrq87jyl7zphil5bw6rgnj7045s36q")
("select.bootstrap.js"
"0mm5ly3p2iprlfi8ajz548rjqx8lz1sbjj5ysgqmwqg14gw7l9k7")
"0fig0dr19k6wdx7dn2ly8dfam0k2b75w7917cxl3izsnfqpxmfj5")
("select.bootstrap4.js"
"1hv6d9lwgflmxhy7mdfb9rvli2wa2cbkdhqjz64zkf1a1a7wlb5q")
"1pzm3azmq8nwkd6drfqc94dfsvkhrgcz8f1zapvpa6m12fx16nnm")
("select.bootstrap5.js"
"0ixzqpkrd24np1p9wkq857ddgvs00zb5jzpw6zwj7nbpws0qf9df")
"1ar77h6ffn452j15wvxw49d5xhh48dm4h49f16rswgshxa17x8s7")
("select.bulma.js"
"14vw871rqz4wfzy8nns9nsmjyfv0g6xdcrv1x3c8i0r53qciymqz")
"15zrswnpchagm9vm8g6ka7jwaj1zii30rwkpp1fglwy1zqkcqlxg")
("select.foundation.js"
"1zzygcbngvrqh7m22x0s23k8m5xj5fv1p466pzjs23p94qq24a2r")
"1wj4vxwx8kifqcga4fxrm8z17lnykpbxz9101xpsr57qjl5ljinx")
("select.jqueryui.js"
"1hv5zlmfifd27hylfqsji09y2hbp3m2hnb7j41418sjrxs63f6x6")
"04s2j9j82qn5hmn7fr016vgdmvhqjsqs15w7j20fzd63fs5n7q9w")
("select.semanticui.js"
"0q6q3vb6pa5nmkxy7zcnjs0bkn4ldw8ykdcfrc04bf1d2hjjaw47"))))
"0dwvmlcdci7s24g3fgglks6iqrxf1bwnb17isvwvbh8nqdnad471"))))
((name . "StateRestore")
(version . "1.1.1")
(version . "1.2.2")
(files . (("dataTables.stateRestore.js"
"0f1df3kqgvka5kcxs8dxm33g3kgdxhphr95013rz5wmwcxfbgfwb")
"0566zy26bzyyh88fzy3j6v028hnqckxhki2h1n41l9pnjfmpmks2")
("stateRestore.bootstrap.js"
"07n6z3ffdg2hqbkjh15bgp96jv0mr8xbm0zn7ckkwkyfiw7085jf")
"127z438rqaj9gzyk3cy84j0wpsrcj902cjzrqcm9w2vjvk783wri")
("stateRestore.bootstrap4.js"
"15l9ka5vq37y7axfmm8s7kfim12mir2xiqfqqf9s031647kld0am")
"1ylf5832haf4jracsph5pgxsily2v5j2zvvl6g1gnaa8kaf81a89")
("stateRestore.bootstrap5.js"
"1sdcycdnp5m65d9glch2mqd5lbaq2gaxgyl1x91bynzpnwi2q6mc")
"0kq9p0pdmvmyk7scssfpa9ngpn8q8qg2cy9jvdd40hni9dmx7hby")
("stateRestore.bulma.js"
"06ly3r8b2jwb62hj4im6kg694rp6gnjvb0fvzvivndgqk4bqz22s")
"1q1nk1mb1309v5zjfj1l5cwx9404amyf14wyrfjl2p6f3wl7w5js")
("stateRestore.foundation.js"
"17qrf8ihw4k3as9fsxhqz7qndi4k7j3x901sn6kj5yy82cgrvafa")
"1kfv8q2hn3pcqzxgm0maq5mpw1qbzj2q5y1ab53x3xi825dmgrym")
("stateRestore.jqueryui.js"
"0gcbn5n12vg2ifvqhpgb7ligjzz2qr1dp4pzn3jw8nn264warn3p")
"04w2vlx2c2gc31gvjgl6fj92nh00x21k2x1xiaj1yla159qg8ds5")
("stateRestore.semanticui.js"
"0d61jhj2chln9q39hdbapxbw90142gaizjwshh0svlnn2pd3m5nx"))))))
"1dryaqqqsfyswhx69xchx61jycxya77b65l359ry43l53gxnz13z"))))))
(javascript-sources
`(("https://cdn.datatables.net/1.12.1/js/jquery.dataTables.js"
"16wdm7gvfikwgc9zw7qdjwjc0ry55v60ldmqvza8911las26q93k"
`(("https://cdn.datatables.net/1.13.4/js/jquery.dataTables.js"
"1mk7cc8b0vcnzzqd73rbgm7arvcx69vjkgwa7y742y0zhhfnv0kx"
"datatables")
("https://cdn.datatables.net/1.12.1/js/dataTables.bootstrap.js"
"0r0gxzxg7hr95k3cgv0hscxh058qxddj11f9l1x3czivlx1pbcp4"
("https://cdn.datatables.net/1.13.4/js/dataTables.bootstrap.js"
"1ln481fm9xkwqqnza16w4wjhig7nlwxibx2ra4mklms7r4ibkhjy"
"datatables")
("https://cdn.datatables.net/1.12.1/js/dataTables.bootstrap4.js"
"0p0jbg44ipp6qkpsawndzxaxk34f5dd6jn3k6g86smrn2c8vaknr"
("https://cdn.datatables.net/1.13.4/js/dataTables.bootstrap4.js"
"1v9ws13nsgb91irhqxn30id2v8sfgmrb2fgf1giwmjhn5l2ndcfy"
"datatables")
("https://cdn.datatables.net/1.12.1/js/dataTables.bootstrap5.js"
"1qzmaqij2hxs0gn6vjqsw5bgx109qgs7qpkp3c4p44pkkmx3g58h"
("https://cdn.datatables.net/1.13.4/js/dataTables.bootstrap5.js"
"0cd8vc3xsv9kipq4h3068n2h47k66k0j49bqyq85rsvvqm63xzjb"
"datatables")
("https://cdn.datatables.net/1.12.1/js/dataTables.bulma.js"
"1gvw4al40i134gphna2pij0hq9h9cqlj1rhmncan435hzpzrxhpb"
("https://cdn.datatables.net/1.13.4/js/dataTables.bulma.js"
"012hlz3irm9bq4xqljrx67wjcvp7yap0amakjpc13gy8g6py9v46"
"datatables")
("https://cdn.datatables.net/1.12.1/js/dataTables.foundation.js"
"193hy4kyiig4zz59y4m9714l7p9gk6n9p937qlfg83dr5l9x6kdp"
("https://cdn.datatables.net/1.13.4/js/dataTables.foundation.js"
"11xn88rr9fw8rmrqczl4hhna450szsragvgrz1v1rqa6mwnmv3hq"
"datatables")
("https://cdn.datatables.net/1.12.1/js/dataTables.jqueryui.js"
"1k8a31d43jiv56dvcai5xs0ja4y521xp9h25lgsa40ccsyn33k7n"
("https://cdn.datatables.net/1.13.4/js/dataTables.jqueryui.js"
"05xwpl9f4w0ig9r858cypfv12x1v7sifkf93hmg6zss1mwhllrfn"
"datatables")
("https://cdn.datatables.net/1.12.1/js/dataTables.semanticui.js"
"01xih6l7bn3ddmhnkvyvf79xdlgdzpasx3cx4fkkijay593gl2vb"
("https://cdn.datatables.net/1.13.4/js/dataTables.semanticui.js"
"1yms35h218qm9p4pg3192sk5mlyvgjrspz4av3fj9rfl2qwn19r0"
"datatables")
("https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.js"
"01l5lw49jz2qn6k9i63dk4llar4lvvpd6xp6i45mpwfk49fbxqg2"
@ -3649,13 +3649,13 @@ using the multicore functionality of the parallel package.")
extensions)))))
(package
(name "r-dt")
(version "0.27")
(version "0.28")
(source (origin
(method url-fetch)
(uri (cran-uri "DT" version))
(sha256
(base32
"16i82f380ibl0caqvkg010zbxzav0iwwxac8zwy96c745g6xqbz3"))
"0khdl21kvgi9k7dlpfshk1xz9bkly5lq6p41plfh4g2jv1yxaxfr"))
(modules '((guix build utils)
(ice-9 match)))
(snippet
@ -3698,6 +3698,18 @@ using the multicore functionality of the parallel package.")
(mkdir-p dir)
(minify source #:target target))))
',javascript-sources)
(minify (string-append (assoc-ref inputs "datatables-plugins")
"/dataRender/ellipsis.js")
#:target "datatables-plugins/dataRender/ellipsis/source.min.js")
(minify (string-append (assoc-ref inputs "datatables-plugins")
"/filtering/type-based/accent-neutralise.js")
#:target "datatables-plugins/filtering/accent-neutralise/source.min.js")
(minify (string-append (assoc-ref inputs "datatables-plugins")
"/filtering/type-based/diacritics-neutralise.js")
#:target "datatables-plugins/filtering/diacritics-neutralise/source.min.js")
(minify (string-append (assoc-ref inputs "datatables-plugins")
"/sorting/natural.js")
#:target "datatables-plugins/sorting/natural/source.min.js")
(minify (string-append (assoc-ref inputs "datatables-plugins")
"/features/scrollResize/dataTables.scrollResize.js")
#:target "datatables-plugins/features/scrollResize/source.min.js")
@ -3727,7 +3739,7 @@ using the multicore functionality of the parallel package.")
`(("r-knitr" ,r-knitr)
("uglifyjs" ,node-uglify-js)
("datatables-plugins"
,(let ((version "1.12.0"))
,(let ((version "1.13.4"))
(origin
(method git-fetch)
(uri (git-reference
@ -3736,7 +3748,7 @@ using the multicore functionality of the parallel package.")
(file-name (git-file-name "datatables-plugins" version))
(sha256
(base32
"15kiqjy0ssd2ksvrqv8jyg9gc92ga3kn542vp1mij5hnfcbj6hf8")))))
"0igrd7pghvk2w8mpad4mnw8ldflw47wma4qpp7ymkzvxy2100k49")))))
("js-nouislider"
,(let ((version "7.0.10"))
(origin
@ -5454,14 +5466,14 @@ analysis} (PCA) by projection pursuit.")
(define-public r-rrcov
(package
(name "r-rrcov")
(version "1.7-2")
(version "1.7-3")
(source
(origin
(method url-fetch)
(uri (cran-uri "rrcov" version))
(sha256
(base32
"1bpc401515ig5i3rka7dhvxv4zr3f8zhl117pby5vrf9rc3ys08g"))))
"0shcsfxgb37ggys9d4cyfjs1p2szj52lfkva746fqsx64cvkcfw5"))))
(build-system r-build-system)
(propagated-inputs
(list r-lattice r-mvtnorm r-pcapp r-robustbase))
@ -7115,13 +7127,13 @@ Calculates confidence intervals for the difference in proportion.")
(define-public r-desctools
(package
(name "r-desctools")
(version "0.99.48")
(version "0.99.49")
(source
(origin
(method url-fetch)
(uri (cran-uri "DescTools" version))
(sha256
(base32 "0axn9sgv8cwzmrnwrpbla8zcfpii1xlsyjxbgk85xlcsmv05iq6v"))))
(base32 "0s2zh8xz06c45rbwcypgsa8shby66nm6sj90cb9d1bwb60mws8j5"))))
(properties `((upstream-name . "DescTools")))
(build-system r-build-system)
(propagated-inputs
@ -7136,7 +7148,8 @@ Calculates confidence intervals for the difference in proportion.")
r-mvtnorm
r-rcpp
r-readxl
r-rstudioapi))
r-rstudioapi
r-withr))
(native-inputs (list gfortran r-r-rsp))
(home-page "https://andrisignorell.github.io/DescTools/")
(synopsis "Tools for Descriptive Statistics")

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
;;; Copyright © 2022 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2023 Saku Laesvuori <saku@laesvuori.fi>
;;;
;;; This file is part of GNU Guix.
;;;
@ -78,11 +79,11 @@
#:use-module (guix build-system python)
#:use-module (guix build-system qt))
(define %telegram-version "4.2.2")
(define %telegram-version "4.8.1")
(define libyuv-for-telegram-desktop
(let ((commit "ad890067f661dc747a975bc55ba3767fe30d4452")
(revision "2211"))
(let ((commit "00950840d1c9bcbb3eb6ebc5aac5793e71166c8b")
(revision "2212"))
(origin
(method git-fetch)
(uri (git-reference
@ -93,62 +94,62 @@
(git-version "0" revision commit)))
(sha256
(base32
"01knnk4h247rq536097n9n3s3brxlbby3nv3ppdgsqfda3k159ll")))))
"0mm56p8iapfild2xdw4w8zi35c3xm06fgagiali644gnxdmnym6c")))))
(define cmake-helpers-for-telegram-desktop
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/desktop-app/cmake_helpers.git")
(commit "f49e254d8c5287752b5ed7b86bd84073f584768e")))
(commit "6ab5543b3dd1e40979d258e46d03376931b6c37b")))
(file-name
(git-file-name "cmake-helpers-for-telegram-desktop" %telegram-version))
(sha256
(base32
"0yqib2ndhpaj69z603knpcfga0ni978janb5i8rvhslqddvbzfjv"))))
"0y96mvzs113zh8bdw1h3i6l0pgwg93rigrday8kfdg4magz686k6"))))
(define codegen-for-telegram-desktop
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/desktop-app/codegen.git")
(commit "8815d7aec9b901191d08445f29e2edd0aeba7b2c")))
(commit "1a969faa0afb29d53af03e530775eccdfb8433f1")))
(file-name
(git-file-name "codegen-for-telegram-desktop" %telegram-version))
(sha256
(base32
"1ly958mjk25kfcpa174kvg134p9r751ixi275afj5kr57by9mbq2"))))
"1xmw8dfm51p5g20rlmzqnr72a14ngyxwq09an8clf1v5s6mmwvak"))))
(define lib-base-for-telegram-desktop
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/desktop-app/lib_base.git")
(commit "d932f5048317b05dd414116741d995c82a528542")))
(commit "fd9adb30ee906ea02c125eaa58fcfae773fdc677")))
(file-name
(git-file-name "lib-base-for-telegram-desktop" %telegram-version))
(sha256
(base32
"1fnirqxj4qq1gzx52rydrc5r6clw3316bh51dfg652jr8hj6wkp2"))))
"1m760mcfvgzia53nrs6wvjn353jvzlzln7c9fkx2dhpkigiynz83"))))
(define lib-crl-for-telegram-desktop
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/desktop-app/lib_crl.git")
(commit "4e620bc383d032aadea8e6af02661f8c76695cec")))
(commit "3d7e1e1f1321c3defd21c01882d674e485ecd8df")))
(file-name
(git-file-name "lib-crl-for-telegram-desktop" %telegram-version))
(sha256
(base32
"17bngj247qwq0dg4h37xdi5v1mk22y4yp7sp6ph3irmnz4awah0x"))))
"06mzafnjpfr5ih297dh7bxm6bgpg0wy0gv2r2732n5szyrg9sdl6"))))
(define lib-lottie-for-telegram-desktop
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/desktop-app/lib_lottie.git")
(commit "6ed1c22ed60692d2f288c9222fafd7d5cd62f904")))
(commit "3e9c2f1026e4b5aa3202fca4cc67ece36c7cebb2")))
(file-name
(git-file-name "lib-lottie-for-telegram-desktop" %telegram-version))
(sha256
@ -172,24 +173,24 @@
(method git-fetch)
(uri (git-reference
(url "https://github.com/desktop-app/lib_rpl.git")
(commit "fd31f5bf382d2679eccdb1abaf8240a56c6a7abe")))
(commit "8b1015d1bd57ef03fcd07a3eeddd3f5a9b688ade")))
(file-name
(git-file-name "lib-rpl-for-telegram-desktop" %telegram-version))
(sha256
(base32
"1fpq8nyh8wx6zkb3sjjrx9ydqzyhw4483bdk1i9blp0ijn9xxdxf"))))
"12sdhaqby5vlvd5jsj12b3xsqiaknqvijv9ydlyxclx8zail64lv"))))
(define lib-spellcheck-for-telegram-desktop
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/desktop-app/lib_spellcheck.git")
(commit "0e386e22cb6ba8a114b569840a635e096dcb645e")))
(commit "ae89fefd239ecc47d4dab7ba29f9e230376a57d3")))
(file-name
(git-file-name "lib-spellcheck-for-telegram-desktop" %telegram-version))
(sha256
(base32
"06js7ccv6z3nbd4v2p4hp2prrlmz5ww46y3yb922pp7gm317dwyw"))))
"147xbbcza5q4wcdipk5jplajzkc48971kg2s7qv5jlz33sxkw1lq"))))
(define lib-storage-for-telegram-desktop
(origin
@ -220,52 +221,52 @@
(method git-fetch)
(uri (git-reference
(url "https://github.com/desktop-app/lib_ui.git")
(commit "1ceaa0bbcfccb83dbf7f51d7f80a733ff2aa8c22")))
(commit "37531086ec21a8569deddedb11b402f8a3157b90")))
(file-name
(git-file-name "lib-ui-for-telegram-desktop" %telegram-version))
(sha256
(base32
"0kyrgxi202xwy14mnx62h1kny0434f5fxqns1ydp24q2c2cr1cxn"))))
"0l4baalwdiwcwzn3wgrbyiaryi70lswillbpkzcjpavaa2pjg6b0"))))
(define lib-webrtc-for-telegram-desktop
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/desktop-app/lib_webrtc.git")
(commit "9b11599c3c56047cfa4c68b69f1fcc93b602c33a")))
(commit "b68a95ad4d1ae9a1827671100a7fd76cbe448c3f")))
(file-name
(git-file-name "lib-webrtc-for-telegram-desktop" %telegram-version))
(sha256
(base32
"0158jx8hj4fv6qpw5pgcr2mdlihj0dxs060dg3iy61zz6q68z5dq"))))
"1c8jwdnn26n13yp0rp0l71q6xlxa6wp3cspbm3pnghw964jwgp3z"))))
(define lib-webview-for-telegram-desktop
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/desktop-app/lib_webview.git")
(commit "546df65eb2424550ed84ce14fc9c5d1bb3586f35")))
(commit "f632fc84cbc62ae8abbbd05f81d472757a337c11")))
(file-name
(git-file-name "lib-webview-for-telegram-desktop" %telegram-version))
(sha256
(base32
"0zzjwyw82bggncmmsw969lnjl04pklmqjqm77jjzadinivl52z0l"))))
"0idsfkxq7l9kgyrhifys5l4jkhvbyxkgkp0qdq9218h7g0ldw84i"))))
(define tgcalls-for-telegram-desktop
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/TelegramMessenger/tgcalls.git")
(commit "82c4921045c440b727c38e464f3a0539708423ff")))
(commit "2e2797648aac2588e7fe479c2e8b4455ec65c5e6")))
(file-name
(git-file-name "tgcalls-for-telegram-desktop" %telegram-version))
(sha256
(base32
"1109r17abh66yz91b65fn2g4ryfybnsr5g6075sjhbah1gccv9mk"))))
"193m2gkvipijqbfd6a8mhg9nd63wlnshzgspk3pip57vk21l709z"))))
(define-public webrtc-for-telegram-desktop
(let ((commit "621f3da55331733bf0d1b223786b96b68c03dca1")
(revision "327"))
(let ((commit "5098730b9eb6173f0b52068fe2555b7c1015123a")
(revision "328"))
(hidden-package
(package
(name "webrtc-for-telegram-desktop")
@ -281,18 +282,14 @@
(file-name
(git-file-name name version))
(sha256
(base32 "1ks1572k1jj7pmzwm79p2gdgi31dd4bs761bphnx32zyq4c6skxk"))
(patches
(search-patches
;; https://github.com/desktop-app/tg_owt/pull/101
"webrtc-for-telegram-desktop-fix-gcc12-cstdint.patch"))
(base32 "1lk54zlrff59rj5k9dylsgz4sdds4728psrk8m3v9qn5y8d6z8qy"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-1)))
(snippet
#~(begin
(let ((keep
'("abseil-cpp" "libsrtp" "rnnoise"
'("libsrtp" "rnnoise"
;; Not available in Guix.
"pffft")))
(with-directory-excursion "src/third_party"
@ -300,9 +297,11 @@
(lset-difference string=?
(scandir ".")
(cons* "." ".." keep)))))
;; Unbundle openh264.
;; Unbundle abseil-cpp, crc32c and openh264.
(substitute* "CMakeLists.txt"
(("\\include\\(cmake\\/libopenh264\\.cmake\\)")""))))))
(("\\include\\(cmake\\/libopenh264\\.cmake\\)")"")
(("\\include\\(cmake\\/libabsl\\.cmake\\)")"")
(("\\include\\(cmake\\/libcrc32c\\.cmake\\)")""))))))
(build-system cmake-build-system)
(arguments
(list
@ -312,16 +311,16 @@
(add-after 'unpack 'unpack-additional-sources
(lambda _
(let* ((third-party (string-append (getcwd) "/src/third_party"))
(crc32c-to (string-append third-party "/crc32c/src"))
(libyuv-to (string-append third-party "/libyuv")))
(copy-recursively #$(package-source crc32c) crc32c-to)
(copy-recursively #$libyuv-for-telegram-desktop
libyuv-to)))))))
(native-inputs (list pkg-config python-wrapper yasm))
(inputs
(list abseil-cpp-cxxstd17
crc32c
ffmpeg
glib
glibmm-next
libdrm
libglvnd
libjpeg-turbo
@ -381,6 +380,18 @@ Telegram project, for its use in telegram desktop client.")
(substitute* "meson.build"
(("werror=true") "werror=false"))))))))))
(define cld3-for-telegram-desktop
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/google/cld3.git")
(commit "b48dc46512566f5a2d41118c8c1116c4f96dc661")))
(file-name
(git-file-name "cld3-for-telegram-desktop" %telegram-version))
(sha256
(base32
"0ayrrhfdwrf4260h9fsirkhhfrcvc3qqnh6h9wj3ixij2lq0wwqb"))))
(define-public telegram-desktop
(package
(name "telegram-desktop")
@ -396,7 +407,7 @@ Telegram project, for its use in telegram desktop client.")
(file-name
(git-file-name name version))
(sha256
(base32 "16mcx4gwkl8s70a8gppxczmjsww1a3vmdrz3snfh986nvid64mq7"))
(base32 "0g47ffamh1csp79yzkv28v3qjkhjacj0c7pjf53n1ks80j5hc2j0"))
(patches
(search-patches
;; https://github.com/telegramdesktop/tdesktop/pull/24126
@ -408,7 +419,7 @@ Telegram project, for its use in telegram desktop client.")
#~(begin
(let ((keep
'(;; Not available in Guix.
"tgcalls")))
"tgcalls" "cld3")))
(with-directory-excursion "Telegram/ThirdParty"
(for-each delete-file-recursively
(lset-difference string=?
@ -461,6 +472,7 @@ Telegram project, for its use in telegram desktop client.")
("Telegram/lib_ui" #$lib-ui-for-telegram-desktop)
("Telegram/lib_webrtc" #$lib-webrtc-for-telegram-desktop)
("Telegram/lib_webview" #$lib-webview-for-telegram-desktop)
("Telegram/ThirdParty/cld3" #$cld3-for-telegram-desktop)
("Telegram/ThirdParty/tgcalls" #$tgcalls-for-telegram-desktop)))))
(add-after 'install 'glib-or-gtk-compile-schemas
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
@ -475,16 +487,18 @@ Telegram project, for its use in telegram desktop client.")
(list abseil-cpp-cxxstd17
alsa-lib
c++-gsl
crc32c
fcitx-qt5
fcitx5-qt
ffmpeg
glib
glibmm-2.64
glibmm-next
gtk+
hime
hunspell
jemalloc
kcoreaddons
kimageformats
libdispatch
libexpected
libjpeg-turbo
@ -496,9 +510,12 @@ Telegram project, for its use in telegram desktop client.")
openal
openssl
opus
plasma-wayland-protocols
pulseaudio
protobuf
qrcodegen-cpp
qtbase-5
qtdeclarative-5
qtimageformats
qtsvg-5
qtwayland-5
@ -506,6 +523,7 @@ Telegram project, for its use in telegram desktop client.")
rlottie-for-telegram-desktop
rnnoise
wayland
wayland-protocols
webkitgtk
webrtc-for-telegram-desktop
xcb-util-keysyms

View File

@ -30,6 +30,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (guix build-system python)
@ -317,3 +318,30 @@ Optional:
@end itemize")
(home-page "https://github.com/tmux-plugins/tmux-resurrect/")
(license license:expat))))
(define-public tmux-plugin-mem-cpu-load
(package
(name "tmux-plugin-mem-cpu-load")
(version "3.7.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/thewtex/tmux-mem-cpu-load")
(commit (string-append "v" version))))
(sha256
(base32
"03bax7g9jlsci44ccs50drh617ya3fzvlplwyvxfyb7mgmh85r72"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(synopsis "CPU, RAM, and load monitor for use with tmux")
(description "This package provides a lightweight program for system
monitoring in the status line of tmux.
The memory monitor displays the used and available memory.
The CPU usage monitor outputs a percent CPU usage over all processors. It
also displays a textual bar graph of the current percent usage.
The system load average is also displayed.")
(home-page "https://github.com/thewtex/tmux-mem-cpu-load")
(license license:asl2.0)))

View File

@ -587,7 +587,7 @@ driven and does not detract you from your daily work.")
(define-public nyxt
(package
(name "nyxt")
(version "3.0.0")
(version "3.1.0")
(source
(origin
(method git-fetch)
@ -596,7 +596,7 @@ driven and does not detract you from your daily work.")
(commit version)))
(sha256
(base32
"1jzlpi2iam15f0724nh6pb0zfs8d89mrf3zkvd87g99aq9w2h02a"))
"01h2430z43bh8mxb5xyvz4kqcdim1dlh1crf41pzavq2a6r2aw0z"))
(file-name (git-file-name "nyxt" version))
(modules '((guix build utils)))
(snippet

View File

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

View File

@ -1717,7 +1717,7 @@ modules for building a Wayland compositor.")
(package
(inherit swaylock)
(name "swaylock-effects")
(version "1.6.10")
(version "1.6.11")
(source
(origin
(method git-fetch)
@ -1727,7 +1727,7 @@ modules for building a Wayland compositor.")
(file-name (git-file-name name version))
(sha256
(base32
"1d8ri7bzwfr53ybgf23acz57wyhcl2f1nqprcda1v9bzfgsqfk2n"))))
"0j7dxn66xqlf6iv2arqzz7mxlh7nf85anvpyf30d2frcidarda9h"))))
(arguments
(list #:configure-flags #~'("-Dsse=false")))
(synopsis "Screen locking utility for Wayland compositors with effects")
@ -1811,7 +1811,7 @@ compository, supporting the following featuers:
(define-public waybar
(package
(name "waybar")
(version "0.9.17")
(version "0.9.18")
(source
(origin
(method git-fetch)
@ -1820,7 +1820,7 @@ compository, supporting the following featuers:
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1709ck7931804mhirnki03cvx60c4dxg668fyz6jpzy8djg5xlxi"))))
(base32 "11yia2fs5a05jlbrdhxm26c2sgmbj3iwsk3bsqcvjvv3mlsrhxkf"))))
(build-system meson-build-system)
(inputs (list date
fmt

View File

@ -1353,7 +1353,7 @@ XSLT and EXSLT.")
(define-public html-xml-utils
(package
(name "html-xml-utils")
(version "7.9")
(version "8.6")
(source
(origin
(method url-fetch)
@ -1361,7 +1361,7 @@ XSLT and EXSLT.")
"https://www.w3.org/Tools/HTML-XML-utils/html-xml-utils-"
version ".tar.gz"))
(sha256
(base32 "0gs3xvdbzhk5k12i95p5d4fgkkaldnlv45sch7pnncb0lrpcjsnq"))))
(base32 "1cjgvgrg3bjfxfl0nh55vhr37ijld7pd8bl7s8j3kkbcyfg7512y"))))
(build-system gnu-build-system)
(home-page "https://www.w3.org/Tools/HTML-XML-utils/")
(synopsis "Command line utilities to manipulate HTML and XML files")

View File

@ -6007,14 +6007,14 @@ basic eye-candy effects.")
(define-public xpra
(package
(name "xpra")
(version "4.4.4")
(version "4.4.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.xpra.org/src/xpra-"
version ".tar.xz"))
(sha256
(base32 "1cf04syxjjj965754m6r2hgq87k1sv0pwvn6mn7xy4w2588bvxm0"))
(base32 "06p9wbs23vx8f2nb8ncz84xwgcxq5ly3dcscgc2r30jn6qzw6sx3"))
(patches (search-patches "xpra-4.2-systemd-run.patch"
"xpra-4.2-install_libs.patch"))))
(build-system python-build-system)

View File

@ -6,6 +6,7 @@
;;; Copyright © 2021 raid5atemyhomework <raid5atemyhomework@protonmail.com>
;;; Copyright © 2020 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2023 Brian Cully <bjc@spork.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -296,20 +297,35 @@ singleton service type NAME, of which the returned service is an instance."
(description "This is a simple service."))))
(service type value)))
(define-syntax %modify-service
(define (%delete-service kind services)
(let loop ((found #f)
(return '())
(services services))
(match services
('()
(if found
(values return found)
(raise (formatted-message
(G_ "modify-services: service '~a' not found in service list")
(service-type-name kind)))))
((service . rest)
(if (eq? (service-kind service) kind)
(loop service return rest)
(loop found (cons service return) rest))))))
(define-syntax %apply-clauses
(syntax-rules (=> delete)
((_ svc (delete kind) clauses ...)
(if (eq? (service-kind svc) kind)
#f
(%modify-service svc clauses ...)))
((_ service)
service)
((_ svc (kind param => exp ...) clauses ...)
(if (eq? (service-kind svc) kind)
(let ((param (service-value svc)))
(service (service-kind svc)
(begin exp ...)))
(%modify-service svc clauses ...)))))
((_ ((delete kind) . rest) services)
(%apply-clauses rest (%delete-service kind services)))
((_ ((kind param => exp ...) . rest) services)
(call-with-values (lambda () (%delete-service kind services))
(lambda (svcs found)
(let ((param (service-value found)))
(cons (service (service-kind found)
(begin exp ...))
(%apply-clauses rest svcs))))))
((_ () services)
services)))
(define-syntax modify-services
(syntax-rules ()
@ -345,10 +361,8 @@ all the MINGETTY-SERVICE-TYPE instances, and it deletes instances of the
UDEV-SERVICE-TYPE.
This is a shorthand for (filter-map (lambda (svc) ...) %base-services)."
((_ services clauses ...)
(filter-map (lambda (service)
(%modify-service service clauses ...))
services))))
((_ services . clauses)
(%apply-clauses clauses services))))
;;;

View File

@ -242,12 +242,13 @@ service is transient."
;; for all of SERVICES.
(let* ((unresolved (filter (compose unspecified? live-service-transient?)
services))
(values (or (eval-there
`(and (defined? 'transient?) ;shepherd >= 0.9.0
(map (compose transient? lookup-running)
',(map (compose first
live-service-provision)
unresolved))))
(values (or (and (pair? unresolved)
(eval-there
`(and (defined? 'transient?) ;shepherd >= 0.9.0
(map (compose transient? lookup-running)
',(map (compose first
live-service-provision)
unresolved)))))
(make-list (length unresolved) #f)))
(resolved (map (lambda (unresolved transient?)
(cons unresolved

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018-2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Mathieu Othacehe <othacehe@gnu.org>
;;;
;;; This file is part of GNU Guix.
@ -57,6 +57,9 @@
evaluation-spec
evaluation-complete?
evaluation-checkouts
evaluation-start-time
evaluation-checkout-time
evaluation-completion-time
job?
job-build-id
@ -174,7 +177,13 @@ corresponding date object."
(checkouts evaluation-checkouts "checkouts" ;<checkout>*
(lambda (checkouts)
(map json->checkout
(vector->list checkouts)))))
(vector->list checkouts))))
(start-time evaluation-start-time "timestamp" ;date
seconds->date)
(checkout-time evaluation-checkout-time "checkouttime" ;date
seconds->date)
(completion-time evaluation-completion-time "evaltime" ;date
seconds->date))
(define %query-limit
;; Max number of builds requested in queries.

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012-2021, 2023 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -36,6 +36,7 @@
location-file
location-line
location-column
absolute-location
source-properties->location
location->source-properties
location->string
@ -340,6 +341,23 @@ number of arguments in ARGS matches the escapes in FORMAT."
(&formatted-message (format str)
(arguments (list args ...))))))))))
(define (absolute-location loc)
"Replace the file name in LOC by an absolute location."
(location (if (string-prefix? "/" (location-file loc))
(location-file loc)
;; 'search-path' might return #f in obscure cases, such as
;; when %LOAD-PATH includes "." or ".." and LOC comes from a
;; file in a subdirectory thereof.
(match (search-path %load-path (location-file loc))
(#f
(raise (formatted-message
(G_ "file '~a' not found on load path")
(location-file loc))))
(str str)))
(location-line loc)
(location-column loc)))
(define guix-warning-port
(make-parameter (current-warning-port)))

View File

@ -3,7 +3,7 @@
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020, 2021, 2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2022 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;;
;;; This file is part of GNU Guix.
@ -154,7 +154,7 @@ return \"Test-Simple\""
((? origin? origin)
(match (origin-uri origin)
((or (? string? url) (url _ ...))
(match (string-match (string-append "([^/]*)-v?[0-9\\.]+") url)
(match (string-match "([^/]*)-v?[0-9\\.]+" url)
(#f #f)
(m (match:substring m 1))))
(_ #f)))
@ -222,56 +222,73 @@ depend on (gnu packages perl)."
first perl-version last))))
(loop)))))))))))
(define (cpan-name->downstream-name name)
"Return the Guix package name corresponding to NAME."
(if (string-prefix? "perl-" name)
(string-downcase name)
(string-append "perl-" (string-downcase name))))
(define (cran-dependency->upstream-input dependency)
"Return the <upstream-input> corresponding to DEPENDENCY, or #f if
DEPENDENCY denotes an implicit or otherwise unnecessary dependency."
(match (cpan-dependency-module dependency)
("perl" #f) ;implicit dependency
(module
(let ((type (match (cpan-dependency-phase dependency)
((or 'configure 'build 'test)
;; "runtime" may also be needed here. See
;; https://metacpan.org/pod/CPAN::Meta::Spec#Phases,
;; which says they are required during
;; building. We have not yet had a need for
;; cross-compiled Perl modules, however, so
;; we leave it out.
'native)
('runtime
'propagated)
(_
#f))))
(and type
(not (core-module? module)) ;expensive call!
(upstream-input
(name (module->dist-name module))
(downstream-name (cpan-name->downstream-name name))
(type type)))))))
(define (cpan-module-inputs release)
"Return the list of <upstream-input> for dependencies of RELEASE, a
<cpan-release>."
(define (upstream-input<? a b)
(string<? (upstream-input-downstream-name a)
(upstream-input-downstream-name b)))
(sort (delete-duplicates
(filter-map cran-dependency->upstream-input
(cpan-release-dependencies release)))
upstream-input<?))
(define (cpan-module->sexp release)
"Return the 'package' s-expression for a CPAN module from the release data
in RELEASE, a <cpan-release> record."
(define name
(cpan-release-distribution release))
(define (guix-name name)
(if (string-prefix? "perl-" name)
(string-downcase name)
(string-append "perl-" (string-downcase name))))
(define version (cpan-release-version release))
(define source-url (cpan-source-url release))
(define (convert-inputs phases)
;; Convert phase dependencies into a list of name/variable pairs.
(match (filter-map (lambda (dependency)
(and (memq (cpan-dependency-phase dependency)
phases)
(cpan-dependency-module dependency)))
(cpan-release-dependencies release))
((inputs ...)
(sort
(delete-duplicates
;; Listed dependencies may include core modules. Filter those out.
(filter-map (match-lambda
("perl" #f) ;implicit dependency
((? core-module?) #f)
(module
(let ((name (guix-name (module->dist-name module))))
(list name
(list 'unquote (string->symbol name))))))
inputs))
(lambda args
(match args
(((a _ ...) (b _ ...))
(string<? a b))))))))
(define (maybe-inputs guix-name inputs)
(define (maybe-inputs input-type inputs)
(match inputs
(()
'())
((inputs ...)
(list (list guix-name
(list 'quasiquote inputs))))))
`((,input-type (list ,@(map (compose string->symbol
upstream-input-downstream-name)
inputs)))))))
(let ((tarball (with-store store
(download-to-store store source-url))))
(download-to-store store source-url)))
(inputs (cpan-module-inputs release)))
`(package
(name ,(guix-name name))
(name ,(cpan-name->downstream-name name))
(version ,version)
(source (origin
(method url-fetch)
@ -281,14 +298,11 @@ in RELEASE, a <cpan-release> record."
,(bytevector->nix-base32-string (file-sha256 tarball))))))
(build-system perl-build-system)
,@(maybe-inputs 'native-inputs
;; "runtime" may also be needed here. See
;; https://metacpan.org/pod/CPAN::Meta::Spec#Phases,
;; which says they are required during building. We
;; have not yet had a need for cross-compiled perl
;; modules, however, so we leave it out.
(convert-inputs '(configure build test)))
(filter (upstream-input-type-predicate 'native)
inputs))
,@(maybe-inputs 'propagated-inputs
(convert-inputs '(runtime)))
(filter (upstream-input-type-predicate 'propagated)
inputs))
(home-page ,(cpan-home name))
(synopsis ,(cpan-release-abstract release))
(description fill-in-yourself!)
@ -340,7 +354,8 @@ in RELEASE, a <cpan-release> record."
(upstream-source
(package (package-name package))
(version version)
(urls (list url)))))))
(urls (list url))
(inputs (cpan-module-inputs release)))))))
(define %cpan-updater
(upstream-updater

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015-2023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015-2017, 2019-2021, 2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
@ -113,6 +113,7 @@
((or "GPL (> 2)"
"GPL (>= 3)"
"GPL (>= 3.0)"
"GPL (>=3)"
"GNU General Public License (>= 3)")
(prefix 'gpl3+))
((or "GPL-2"
@ -164,24 +165,16 @@
rest)))))))
(fold parse '() lines)))
(define (format-inputs names)
"Generate a sorted list of package inputs from a list of package NAMES."
(map (lambda (name)
(case (%input-style)
((specification)
`(specification->package ,name))
(else
(string->symbol name))))
(sort names string-ci<?)))
(define* (maybe-inputs package-inputs #:optional (type 'inputs))
(define* (maybe-inputs package-inputs #:optional (input-type 'inputs))
"Given a list of PACKAGE-INPUTS, tries to generate the TYPE field of a
package definition."
(match package-inputs
(()
'())
((package-inputs ...)
`((,type (list ,@(format-inputs package-inputs)))))))
`((,input-type (list ,@(map (compose string->symbol
upstream-input-downstream-name)
package-inputs)))))))
(define %cran-url "https://cran.r-project.org/web/packages/")
(define %cran-canonical-url "https://cran.r-project.org/package=")
@ -511,7 +504,7 @@ referenced in build system files."
packages
(list-matches libraries-pattern line))))))))))
(set)
(find-files dir "(Makevars.in*|configure.*)"))))
(find-files dir "(Makevars(.in.*)?|configure.*)"))))
(define (directory-needs-pkg-config? dir)
"Return #T if any of the Makevars files in the src directory DIR reference
@ -520,14 +513,29 @@ the pkg-config tool."
"(Makevars.*|configure.*)"))
(define (source-dir->dependencies dir)
"Guess dependencies of R package source in DIR and return two values: a list
of package names for INPUTS and another list of names of NATIVE-INPUTS."
(values
(needed-libraries-in-directory dir)
(append
(if (directory-needs-esbuild? dir) '("esbuild") '())
(if (directory-needs-pkg-config? dir) '("pkg-config") '())
(if (directory-needs-fortran? dir) '("gfortran") '()))))
"Guess dependencies of R package source in DIR and return a list of
<upstream-input> corresponding to the dependencies guessed from source files
in DIR."
(define (native name)
(upstream-input
(name name)
(downstream-name name)
(type 'native)))
(append (map (lambda (name)
(upstream-input
(name name)
(downstream-name name)))
(needed-libraries-in-directory dir))
(if (directory-needs-esbuild? dir)
(list (native "esbuild"))
'())
(if (directory-needs-pkg-config? dir)
(list (native "pkg-config"))
'())
(if (directory-needs-fortran? dir)
(list (native "gfortran"))
'())))
(define (source->dependencies source tarball?)
"SOURCE-DIR->DEPENDENCIES, but for directories and tarballs as indicated
@ -541,7 +549,79 @@ by TARBALL?"
(source-dir->dependencies source)))
(define (vignette-builders meta)
(map cran-guix-name (listify meta "VignetteBuilder")))
(map (lambda (name)
(upstream-input
(name name)
(downstream-name (cran-guix-name name))
(type 'native)))
(listify meta "VignetteBuilder")))
(define (uri-helper repository)
(match repository
('cran cran-uri)
('bioconductor bioconductor-uri)
('git #f)
('hg #f)))
(define (cran-package-source-url meta repository)
"Return the URL of the source code referred to by META, a package in
REPOSITORY."
(case repository
((git) (assoc-ref meta 'git))
((hg) (assoc-ref meta 'hg))
(else
(match (apply (uri-helper repository)
(assoc-ref meta "Package")
(assoc-ref meta "Version")
(case repository
((bioconductor)
(list (assoc-ref meta 'bioconductor-type)))
(else '())))
((urls ...) urls)
((? string? url) url)
(_ #f)))))
(define (cran-package-propagated-inputs meta)
"Return the list of <upstream-input> derived from dependency information in
META."
(filter-map (lambda (name)
(and (not (member name
(append default-r-packages invalid-packages)))
(upstream-input
(name name)
(downstream-name (cran-guix-name name))
(type 'propagated))))
(lset-union equal?
(listify meta "Imports")
(listify meta "LinkingTo")
(delete "R" (listify meta "Depends")))))
(define* (cran-package-inputs meta repository
#:key (download-source download))
"Return the list of <upstream-input> corresponding to all the dependencies
of META, a package in REPOSITORY."
(let* ((url (cran-package-source-url meta repository))
(source (download-source url
#:method
(cond ((assoc-ref meta 'git) 'git)
((assoc-ref meta 'hg) 'hg)
(else #f))))
(tarball? (not (or (assoc-ref meta 'git)
(assoc-ref meta 'hg)))))
(sort (append (source->dependencies source tarball?)
(filter-map (lambda (name)
(and (not (member name invalid-packages))
(upstream-input
(name name)
(downstream-name
(transform-sysname name)))))
(map string-downcase
(listify meta "SystemRequirements")))
(cran-package-propagated-inputs meta)
(vignette-builders meta))
(lambda (input1 input2)
(string<? (upstream-input-downstream-name input1)
(upstream-input-downstream-name input2))))))
(define* (description->package repository meta #:key (license-prefix identity)
(download-source download))
@ -556,11 +636,6 @@ from the alist META, which was derived from the R package's DESCRIPTION file."
((cran) %cran-canonical-url)
((bioconductor) %bioconductor-url)
((git) #f)))
(uri-helper (case repository
((cran) cran-uri)
((bioconductor) bioconductor-uri)
((git) #f)
((hg) #f)))
(name (assoc-ref meta "Package"))
(synopsis (assoc-ref meta "Title"))
(version (assoc-ref meta "Version"))
@ -572,40 +647,16 @@ from the alist META, which was derived from the R package's DESCRIPTION file."
(else (match (listify meta "URL")
((url rest ...) url)
(_ (string-append canonical-url-base name))))))
(source-url (case repository
((git) (assoc-ref meta 'git))
((hg) (assoc-ref meta 'hg))
(else
(match (apply uri-helper name version
(case repository
((bioconductor)
(list (assoc-ref meta 'bioconductor-type)))
(else '())))
((urls ...) urls)
((? string? url) url)
(_ #f)))))
(source-url (cran-package-source-url meta repository))
(git? (if (assoc-ref meta 'git) #true #false))
(hg? (if (assoc-ref meta 'hg) #true #false))
(source (download-source source-url #:method (cond
(git? 'git)
(hg? 'hg)
(else #f))))
(tarball? (not (or git? hg?)))
(source-inputs source-native-inputs
(source->dependencies source tarball?))
(sysdepends (append
source-inputs
(filter (lambda (name)
(not (member name invalid-packages)))
(map string-downcase (listify meta "SystemRequirements")))))
(propagate (filter (lambda (name)
(not (member name (append default-r-packages
invalid-packages))))
(lset-union equal?
(listify meta "Imports")
(listify meta "LinkingTo")
(delete "R"
(listify meta "Depends")))))
(uri-helper (uri-helper repository))
(inputs (cran-package-inputs meta repository
#:download-source download-source))
(package
`(package
(name ,(cran-guix-name name))
@ -651,12 +702,18 @@ from the alist META, which was derived from the R package's DESCRIPTION file."
`((properties ,`(,'quasiquote ((,'upstream-name . ,name)))))
'())
(build-system r-build-system)
,@(maybe-inputs (map transform-sysname sysdepends))
,@(maybe-inputs (map cran-guix-name propagate) 'propagated-inputs)
,@(maybe-inputs
`(,@source-native-inputs
,@(vignette-builders meta))
'native-inputs)
,@(maybe-inputs (filter (upstream-input-type-predicate 'regular)
inputs)
'inputs)
,@(maybe-inputs (filter (upstream-input-type-predicate
'propagated)
inputs)
'propagated-inputs)
,@(maybe-inputs (filter (upstream-input-type-predicate 'native)
inputs)
'native-inputs)
(home-page ,(if (string-null? home-page)
(string-append base-url name)
home-page))
@ -675,7 +732,10 @@ from the alist META, which was derived from the R package's DESCRIPTION file."
(revision "1"))
,package))
(else package))
propagate)))
(filter-map (lambda (input)
(and (eq? 'propagated (upstream-input-type input))
(upstream-input-name input)))
inputs))))
(define cran->guix-package
(memoize
@ -760,9 +820,7 @@ s-expression corresponding to that package, or #f on failure."
(package (package-name pkg))
(version version)
(urls (cran-uri upstream-name version))
(input-changes
(changed-inputs pkg
(description->package 'cran meta)))))))
(inputs (cran-package-inputs meta 'cran))))))
(define* (latest-bioconductor-release pkg #:key (version #f))
"Return an <upstream-source> for the latest release of the package PKG."
@ -784,10 +842,9 @@ s-expression corresponding to that package, or #f on failure."
(package (package-name pkg))
(version latest-version)
(urls (bioconductor-uri upstream-name latest-version))
(input-changes
(changed-inputs
pkg
(cran->guix-package upstream-name #:repo 'bioconductor))))))
(inputs
(let ((meta (fetch-description 'bioconductor upstream-name)))
(cran-package-inputs meta 'bioconductor))))))
(define (cran-package? package)
"Return true if PACKAGE is an R package from CRAN."

View File

@ -272,6 +272,25 @@ the package named PACKAGE-NAME."
(assq-ref recipe ':fetcher))
#f)))
(define (elpa-dependency->upstream-input dependency)
"Convert DEPENDENCY, an sexp as returned by 'elpa-package-inputs', into an
<upstream-input>."
(match dependency
((name version)
(and (not (emacs-standard-library? (symbol->string name)))
(upstream-input
(name (symbol->string name))
(downstream-name (elpa-guix-name name))
(type 'propagated)
(min-version (if (pair? version)
(string-join (map number->string version) ".")
#f))
(max-version (match version
(() #f)
((_) #f)
((_ _) #f)
(_ min-version))))))))
(define default-files-spec
;; This contains more than just the things contained in %default-include and
;; %default-exclude, presumably because this includes source files (*.in,
@ -421,12 +440,19 @@ type '<elpa-package>'."
(elpa-version->string raw-version))))
(url (match info
((_ raw-version reqs synopsis kind . rest)
(package-source-url kind name version repo)))))
(package-source-url kind name version repo))))
(inputs (match info
((name raw-version reqs . _)
(filter-map elpa-dependency->upstream-input
(if (eq? 'nil reqs)
'()
reqs))))))
(upstream-source
(package (package-name package))
(version version)
(urls (list url))
(signature-urls (list (string-append url ".sig"))))))))
(signature-urls (list (string-append url ".sig")))
(inputs inputs))))))
(define elpa-repository
(memoize

View File

@ -2,7 +2,7 @@
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020, 2021, 2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;; Copyright © 2022 Taiju HIGASHI <higashi@taiju.info>
@ -93,9 +93,11 @@
(define (ruby-package-name name)
"Given the NAME of a package on RubyGems, return a Guix-compliant name for
the package."
(if (string-prefix? "ruby-" name)
(snake-case name)
(string-append "ruby-" (snake-case name))))
(if (string=? name "bundler")
name ;special case: no prefix
(if (string-prefix? "ruby-" name)
(snake-case name)
(string-append "ruby-" (snake-case name)))))
(define (make-gem-sexp name version hash home-page synopsis description
dependencies licenses)
@ -135,11 +137,7 @@ Optionally include a VERSION string to fetch a specific version gem."
(let* ((dependencies-names (map gem-dependency-name
(gem-dependencies-runtime
(gem-dependencies gem))))
(dependencies (map (lambda (dep)
(if (string=? dep "bundler")
"bundler" ; special case, no prefix
(ruby-package-name dep)))
dependencies-names))
(dependencies (map ruby-package-name dependencies-names))
(licenses (map string->license (gem-licenses gem))))
(values (make-gem-sexp (gem-name gem) (gem-version gem)
(gem-sha256 gem) (gem-home-page gem)
@ -178,12 +176,21 @@ package on RubyGems."
"Return an <upstream-source> for the latest release of PACKAGE."
(let* ((gem-name (guix-package->gem-name package))
(gem (rubygems-fetch gem-name))
(inputs (map (lambda (dependency)
(let ((name (gem-dependency-name dependency)))
(upstream-input
(name name)
(downstream-name
(ruby-package-name name))
(type 'propagated))))
(gem-dependencies-runtime (gem-dependencies gem))))
(version (or version (gem-version gem)))
(url (rubygems-uri gem-name version)))
(upstream-source
(package (package-name package))
(version version)
(urls (list url)))))
(urls (list url))
(inputs inputs))))
(define %gem-updater
(upstream-updater

View File

@ -8,6 +8,7 @@
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;; Copyright © 2019 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2022 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2023 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -56,7 +57,9 @@
hackage-fetch
hackage-source-url
hackage-cabal-url
hackage-package?))
hackage-package?
cabal-package-inputs))
(define ghc-standard-libraries
;; List of libraries distributed with ghc (as of 8.10.7).
@ -224,27 +227,12 @@ references to itself."
(filter (lambda (d) (not (member (string-downcase d) ignored-dependencies)))
dependencies)))
(define* (hackage-module->sexp cabal cabal-hash
#:key (include-test-dependencies? #t))
"Return the `package' S-expression for a Cabal package. CABAL is the
representation of a Cabal file as produced by 'read-cabal'. CABAL-HASH is
the hash of the Cabal file."
(define name
(cabal-package-name cabal))
(define version
(cabal-package-version cabal))
(define revision
(cabal-package-revision cabal))
(define source-url
(hackage-source-url name version))
(define own-names (cons (cabal-package-name cabal)
(filter (lambda (x) (not (eqv? x #f)))
(map cabal-library-name (cabal-package-library cabal)))))
(define* (cabal-package-inputs cabal #:key (include-test-dependencies? #t))
"Return the list of <upstream-input> for CABAL representing its
dependencies."
(define own-names
(cons (cabal-package-name cabal)
(filter-map cabal-library-name (cabal-package-library cabal))))
(define hackage-dependencies
(filter-dependencies (cabal-dependencies->names cabal) own-names))
@ -261,22 +249,54 @@ the hash of the Cabal file."
hackage-dependencies))
(define dependencies
(map string->symbol
(map hackage-name->package-name
hackage-dependencies)))
(map (lambda (name)
(upstream-input
(name name)
(downstream-name (hackage-name->package-name name))
(type 'regular)))
hackage-dependencies))
(define native-dependencies
(map string->symbol
(map hackage-name->package-name
hackage-native-dependencies)))
(map (lambda (name)
(upstream-input
(name name)
(downstream-name (hackage-name->package-name name))
(type 'native)))
hackage-native-dependencies))
(append dependencies native-dependencies))
(define* (hackage-module->sexp cabal cabal-hash
#:key (include-test-dependencies? #t))
"Return the `package' S-expression for a Cabal package. CABAL is the
representation of a Cabal file as produced by 'read-cabal'. CABAL-HASH is
the hash of the Cabal file."
(define name
(cabal-package-name cabal))
(define version
(cabal-package-version cabal))
(define revision
(cabal-package-revision cabal))
(define source-url
(hackage-source-url name version))
(define inputs
(cabal-package-inputs cabal
#:include-test-dependencies?
include-test-dependencies?))
(define (maybe-inputs input-type inputs)
(match inputs
(()
'())
((inputs ...)
(list (list input-type
`(list ,@inputs))))))
`(list ,@(map (compose string->symbol
upstream-input-downstream-name)
inputs)))))))
(define (maybe-arguments)
(match (append (if (not include-test-dependencies?)
@ -304,14 +324,18 @@ the hash of the Cabal file."
"failed to download tar archive")))))
(build-system haskell-build-system)
(properties '((upstream-name . ,name)))
,@(maybe-inputs 'inputs dependencies)
,@(maybe-inputs 'native-inputs native-dependencies)
,@(maybe-inputs 'inputs
(filter (upstream-input-type-predicate 'regular)
inputs))
,@(maybe-inputs 'native-inputs
(filter (upstream-input-type-predicate 'native)
inputs))
,@(maybe-arguments)
(home-page ,(cabal-package-home-page cabal))
(synopsis ,(cabal-package-synopsis cabal))
(description ,(beautify-description (cabal-package-description cabal)))
(license ,(string->license (cabal-package-license cabal))))
(append hackage-dependencies hackage-native-dependencies))))
inputs)))
(define* (hackage->guix-package package-name #:key
(include-test-dependencies? #t)

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 David Thompson <davet@gnu.org>
;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018, 2019, 2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
@ -37,6 +37,7 @@
(define* (json-fetch url
#:key
(http-fetch http-fetch)
(timeout 10)
;; Note: many websites returns 403 if we omit a
;; 'User-Agent' header.
(headers `((user-agent . "GNU Guile")
@ -50,7 +51,7 @@ enable caching, supply 'http-fetch/cached'."
(or (= 403 error)
(= 404 error))))
#f))
(let* ((port (http-fetch url #:headers headers))
(let* ((port (http-fetch url #:timeout timeout #:headers headers))
(result (json->scm port)))
(close-port port)
result)))

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 David Thompson <davet@gnu.org>
;;; Copyright © 2015 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2015-2017, 2019-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015-2017, 2019-2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2018, 2023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
@ -33,12 +33,16 @@
(define-module (guix import pypi)
#:use-module (ice-9 match)
#:use-module (ice-9 regex)
#:use-module (ice-9 receive)
#:use-module ((ice-9 rdelim) #:select (read-line))
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
#:use-module (srfi srfi-71)
#:autoload (gcrypt hash) (port-sha256)
#:autoload (guix base16) (base16-string->bytevector)
#:autoload (guix base32) (bytevector->nix-base32-string)
#:autoload (guix http-client) (http-fetch)
#:use-module (guix utils)
#:use-module (guix memoization)
#:use-module (guix diagnostics)
@ -55,7 +59,8 @@
#:use-module (guix packages)
#:use-module (guix upstream)
#:use-module ((guix licenses) #:prefix license:)
#:export (parse-requires.txt
#:export (%pypi-base-url
parse-requires.txt
parse-wheel-metadata
specification->requirement-name
guix-package->pypi-name
@ -67,6 +72,10 @@
;; The PyPI API (notice the rhyme) is "documented" at:
;; <https://warehouse.readthedocs.io/api-reference/json/>.
(define %pypi-base-url
;; Base URL of the PyPI API.
(make-parameter "https://pypi.org/pypi/"))
(define non-empty-string-or-false
(match-lambda
("" #f)
@ -121,9 +130,15 @@
(python-version distribution-package-python-version
"python_version"))
(define (distribution-sha256 distribution)
"Return the SHA256 hash of DISTRIBUTION as a bytevector, or #f."
(match (assoc-ref (distribution-digests distribution) "sha256")
(#f #f)
(str (base16-string->bytevector str))))
(define (pypi-fetch name)
"Return a <pypi-project> record for package NAME, or #f on failure."
(and=> (json-fetch (string-append "https://pypi.org/pypi/" name "/json"))
(and=> (json-fetch (string-append (%pypi-base-url) name "/json"))
json->pypi-project))
;; For packages found on PyPI that lack a source distribution.
@ -193,7 +208,9 @@ the input field."
(()
'())
((package-inputs ...)
`((,input-type (list ,@package-inputs))))))
`((,input-type (list ,@(map (compose string->symbol
upstream-input-downstream-name)
package-inputs)))))))
(define %requirement-name-regexp
;; Regexp to match the requirement name in a requirement specification.
@ -404,23 +421,36 @@ cannot determine package dependencies from source archive: ~a~%")
(define (compute-inputs source-url wheel-url archive)
"Given the SOURCE-URL and WHEEL-URL of an already downloaded ARCHIVE, return
a pair of lists, each consisting of a list of name/variable pairs, for the
propagated inputs and the native inputs, respectively. Also
return the unaltered list of upstream dependency names."
(define (strip-argparse deps)
(remove (cut string=? "argparse" <>) deps))
(define (requirement->package-name/sort deps)
(map string->symbol
(sort (map python->package-name deps) string-ci<?)))
(define process-requirements
(compose requirement->package-name/sort strip-argparse))
the corresponding list of <upstream-input> records."
(define (requirements->upstream-inputs deps type)
(filter-map (match-lambda
("argparse" #f)
(name (upstream-input
(name name)
(downstream-name (python->package-name name))
(type type))))
(sort deps string-ci<?)))
;; TODO: Record version number ranges in <upstream-input>.
(let ((dependencies (guess-requirements source-url wheel-url archive)))
(values (map process-requirements dependencies)
(concatenate dependencies))))
(match dependencies
((propagated native)
(append (requirements->upstream-inputs propagated 'propagated)
(requirements->upstream-inputs native 'native))))))
(define* (pypi-package-inputs pypi-package #:optional version)
"Return the list of <upstream-input> for PYPI-PACKAGE. This procedure
downloads the source and possibly the wheel of PYPI-PACKAGE."
(let* ((info (pypi-project-info pypi-package))
(version (or version (project-info-version info)))
(dist (source-release pypi-package version))
(source-url (distribution-url dist))
(wheel-url (and=> (wheel-release pypi-package version)
distribution-url)))
(call-with-temporary-output-file
(lambda (archive port)
(and (url-fetch source-url archive)
(compute-inputs source-url wheel-url archive))))))
(define (find-project-url name pypi-url)
"Try different project name substitution until the result is found in
@ -440,52 +470,85 @@ pypi-uri declaration in the generated package. You may need to replace ~s with
a substring of the PyPI URI that identifies the package.") pypi-url name))
name)))
(define (make-pypi-sexp name version source-url wheel-url home-page synopsis
description license)
"Return the `package' s-expression for a python package with the given NAME,
VERSION, SOURCE-URL, HOME-PAGE, SYNOPSIS, DESCRIPTION, and LICENSE."
(define* (pypi-package->upstream-source pypi-package #:optional version)
"Return the upstream source for the given VERSION of PYPI-PACKAGE, a
<pypi-project> record. If VERSION is omitted or #f, use the latest version."
(let* ((info (pypi-project-info pypi-package))
(version (or version (project-info-version info)))
(dist (source-release pypi-package version))
(source-url (distribution-url dist))
(wheel-url (and=> (wheel-release pypi-package version)
distribution-url)))
(let ((extra-inputs (if (string-suffix? ".zip" source-url)
(list (upstream-input
(name "zip")
(downstream-name "zip")
(type 'native)))
'())))
(upstream-source
(urls (list source-url))
(signature-urls
(if (distribution-has-signature? dist)
(list (string-append source-url ".asc"))
#f))
(inputs (append (pypi-package-inputs pypi-package)
extra-inputs))
(package (project-info-name info))
(version version)))))
(define* (make-pypi-sexp pypi-package
#:optional (version (latest-version pypi-package)))
"Return the `package' s-expression the given VERSION of PYPI-PACKAGE, a
<pypi-project> record."
(define (maybe-upstream-name name)
(if (string-match ".*\\-[0-9]+" name)
`((properties ,`'(("upstream-name" . ,name))))
'()))
(call-with-temporary-output-file
(lambda (temp port)
(and (url-fetch source-url temp)
(receive (guix-dependencies upstream-dependencies)
(compute-inputs source-url wheel-url temp)
(match guix-dependencies
((required-inputs native-inputs)
(when (string-suffix? ".zip" source-url)
(set! native-inputs (cons 'unzip native-inputs)))
(values
`(package
(name ,(python->package-name name))
(version ,version)
(source
(origin
(method url-fetch)
(uri (pypi-uri
,(find-project-url name source-url)
version
;; Some packages have been released as `.zip`
;; instead of the more common `.tar.gz`. For
;; example, see "path-and-address".
,@(if (string-suffix? ".zip" source-url)
'(".zip")
'())))
(sha256
(base32
,(guix-hash-url temp)))))
,@(maybe-upstream-name name)
(build-system pyproject-build-system)
,@(maybe-inputs required-inputs 'propagated-inputs)
,@(maybe-inputs native-inputs 'native-inputs)
(home-page ,home-page)
(synopsis ,synopsis)
(description ,(beautify-description description))
(license ,(license->symbol license)))
upstream-dependencies))))))))
(let* ((info (pypi-project-info pypi-package))
(name (project-info-name info))
(source-url (and=> (source-release pypi-package version)
distribution-url))
(sha256 (and=> (source-release pypi-package version)
distribution-sha256))
(source (pypi-package->upstream-source pypi-package version)))
(values
`(package
(name ,(python->package-name name))
(version ,version)
(source
(origin
(method url-fetch)
(uri (pypi-uri
,(find-project-url name source-url)
version
;; Some packages have been released as `.zip`
;; instead of the more common `.tar.gz`. For
;; example, see "path-and-address".
,@(if (string-suffix? ".zip" source-url)
'(".zip")
'())))
(sha256 (base32
,(and=> (or sha256
(let* ((port (http-fetch source-url))
(hash (port-sha256 port)))
(close-port port)
hash))
bytevector->nix-base32-string)))))
,@(maybe-upstream-name name)
(build-system pyproject-build-system)
,@(maybe-inputs (upstream-source-propagated-inputs source)
'propagated-inputs)
,@(maybe-inputs (upstream-source-native-inputs source)
'native-inputs)
(home-page ,(project-info-home-page info))
(synopsis ,(project-info-summary info))
(description ,(beautify-description
(project-info-summary info)))
(license ,(license->symbol
(string->license
(project-info-license info)))))
(map upstream-input-name (upstream-source-inputs source)))))
(define pypi->guix-package
(memoize
@ -515,16 +578,7 @@ package is available on PyPI, but only as a \"wheel\" containing binaries, not
source. To build it from source, refer to the upstream repository at
@uref{~a}.")
url))))))))))))
(make-pypi-sexp (project-info-name info) version
(and=> (source-release project version)
distribution-url)
(and=> (wheel-release project version)
distribution-url)
(project-info-home-page info)
(project-info-summary info)
(project-info-summary info)
(string->license
(project-info-license info))))
(make-pypi-sexp project version))
(values #f '()))))))
(define* (pypi-recursive-import package-name #:optional version)
@ -561,21 +615,7 @@ include a VERSION string to fetch a specific version."
(pypi-package (pypi-fetch pypi-name)))
(and pypi-package
(guard (c ((missing-source-error? c) #f))
(let* ((info (pypi-project-info pypi-package))
(version (or version (project-info-version info)))
(dist (source-release pypi-package version))
(url (distribution-url dist)))
(upstream-source
(urls (list url))
(signature-urls
(if (distribution-has-signature? dist)
(list (string-append url ".asc"))
#f))
(input-changes
(changed-inputs package
(pypi->guix-package pypi-name #:version version)))
(package (package-name package))
(version version)))))))
(pypi-package->upstream-source pypi-package version)))))
(define %pypi-updater
(upstream-updater

View File

@ -29,6 +29,7 @@
#:use-module (srfi srfi-35)
#:use-module (guix import json)
#:use-module (guix import hackage)
#:autoload (guix import cabal) (eval-cabal)
#:use-module (guix import utils)
#:use-module (guix memoization)
#:use-module (guix packages)
@ -157,15 +158,13 @@ PACKAGE or #f if the package is not included in the Stackage LTS release."
(warning (G_ "failed to parse ~a~%")
(hackage-cabal-url hackage-name))
#f)
(_ (let ((url (hackage-source-url hackage-name version)))
(_ (let ((url (hackage-source-url hackage-name version))
(cabal (eval-cabal (hackage-fetch hackage-name) '())))
(upstream-source
(package (package-name pkg))
(version version)
(urls (list url))
(input-changes
(changed-inputs
pkg
(stackage->guix-package hackage-name #:packages (packages))))))))))))
(inputs (cabal-package-inputs cabal))))))))))
(define (stackage-lts-package? package)
"Return whether PACKAGE is available on the default Stackage LTS release."

View File

@ -52,7 +52,18 @@
(upstream-source
(package (package-name package))
(version version)
(urls (list url)))))
(urls (list url))))
((version url (inputs ...))
(upstream-source
(package (package-name package))
(version version)
(urls (list url))
(inputs
(map (lambda (name)
(upstream-input
(name name)
(downstream-name name)))
inputs)))))
updates)
result)
result))))

View File

@ -45,6 +45,7 @@
#:use-module (guix sets)
#:use-module ((guix ui) #:select (fill-paragraph))
#:use-module (gnu packages)
#:autoload (ice-9 control) (let/ec)
#:use-module (ice-9 match)
#:use-module (ice-9 rdelim)
#:use-module (ice-9 receive)
@ -126,18 +127,26 @@ of the string VERSION is replaced by the symbol 'version."
(define (call-with-networking-exception-handler thunk)
"Invoke THUNK, returning #f if one of the usual networking exception is
thrown."
(catch #t
(lambda ()
(guard (c ((http-get-error? c) #f))
(thunk)))
(lambda (key . args)
;; Return false and move on upon connection failures and bogus HTTP
;; servers.
(unless (memq key '(gnutls-error tls-certificate-error
system-error getaddrinfo-error
bad-header bad-header-component))
(apply throw key args))
#f)))
(let/ec return
(with-exception-handler
(lambda (exception)
(cond ((http-get-error? exception)
(return #f))
(((exception-predicate &exception-with-kind-and-args) exception)
;; Return false and move on upon connection failures and bogus
;; HTTP servers.
(if (memq (exception-kind exception)
'(gnutls-error tls-certificate-error
system-error getaddrinfo-error
bad-header bad-header-component))
(return #f)
(raise-exception exception)))
(else
(raise-exception exception))))
thunk
;; Do not unwind to preserve meaningful backtraces.
#:unwind? #f)))
(define-syntax-rule (false-if-networking-error exp)
"Evaluate EXP, returning #f if a networking-related exception is thrown."

View File

@ -54,6 +54,7 @@
narinfo-hash-algorithm+value
narinfo-hash->sha256
narinfo-preferred-uris
narinfo-best-uri
valid-narinfo?
@ -309,9 +310,11 @@ than COMPRESSION2."
("gzip" (string=? compression2 "lzip"))
(_ #f)))
(define* (narinfo-best-uri narinfo #:key fast-decompression?)
"Select the \"best\" URI to download NARINFO's nar, and return three values:
the URI, its compression method (a string), and the compressed file size.
(define* (narinfo-preferred-uris narinfo #:key fast-decompression?)
"Return the sorted list of \"preferred\" nar URIs from NARINFO (preferred
comes first) where each entry is a tuple containing: the URI, its compression
method (a string), and the compressed file size.
When FAST-DECOMPRESSION? is true, prefer substitutes with faster
decompression (typically zstd) rather than substitutes with a higher
compression ratio (typically lzip)."
@ -343,6 +346,16 @@ compression ratio (typically lzip)."
((uri2 compression2 . _)
(decompresses-faster? compression2 compression1))))))
(match (sort choices (if fast-decompression? (negate speed<?) file-size<?))
(sort choices (if fast-decompression? (negate speed<?) file-size<?)))
(define* (narinfo-best-uri narinfo #:key fast-decompression?)
"Select the \"best\" URI to download NARINFO's nar, and return three values:
the URI, its compression method (a string), and the compressed file size.
When FAST-DECOMPRESSION? is true, prefer substitutes with faster
decompression (typically zstd) rather than substitutes with a higher
compression ratio (typically lzip)."
(match (narinfo-preferred-uris narinfo
#:fast-decompression? fast-decompression?)
(((uri compression file-size) _ ...)
(values uri compression file-size))))

View File

@ -312,6 +312,7 @@ expressions and blanks that were read."
('define-record-type 2)
('define-record-type* 4)
('define-configuration 2)
('package/inherit 2)
('let 2)
('let* 2)
('letrec 2)

View File

@ -860,6 +860,11 @@ WHILE-LIST."
'())
(map file-system-mapping->bind-mount
mappings))))
;; Trigger autoload now: the child process may lack (gnu build install)
;; in its file system view.
(identity evaluate-populate-directive)
(exit/status
(call-with-container file-systems
(lambda ()

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012-2013, 2015-2020, 2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2022 Remco van 't Veer <remco@remworks.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -260,10 +261,10 @@ is deprecated; use '-D'~%"))
;; Attempt to have at least SPACE bytes available in STORE.
(let ((free (free-disk-space (%store-prefix))))
(if (> free space)
(info (G_ "already ~h MiBs available on ~a, nothing to do~%")
(info (G_ "already ~,2h MiBs available on ~a, nothing to do~%")
(/ free 1024. 1024.) (%store-prefix))
(let ((to-free (- space free)))
(info (G_ "freeing ~h MiBs~%") (/ to-free 1024. 1024.))
(info (G_ "freeing ~,2h MiBs~%") (/ to-free 1024. 1024.))
(collect-garbage store to-free)))))
(define (delete-generations store pattern)
@ -327,10 +328,10 @@ is deprecated; use '-D'~%"))
(ensure-free-space store free-space))
(min-freed
(let-values (((paths freed) (collect-garbage store min-freed)))
(info (G_ "freed ~h MiBs~%") (/ freed 1024. 1024.))))
(info (G_ "freed ~,2h MiBs~%") (/ freed 1024. 1024.))))
(else
(let-values (((paths freed) (collect-garbage store)))
(info (G_ "freed ~h MiBs~%") (/ freed 1024. 1024.)))))))
(info (G_ "freed ~,2h MiBs~%") (/ freed 1024. 1024.)))))))
((list-roots)
(assert-no-extra-arguments)
(list-roots))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013-2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
@ -369,42 +369,6 @@ warn about packages that have no matching updater."
(G_ "~a: updating from version ~a to version ~a...~%")
(package-name package)
(package-version package) version)
(for-each
(lambda (change)
(define field
(match (upstream-input-change-type change)
('native 'native-inputs)
('propagated 'propagated-inputs)
(_ 'inputs)))
(define name
(package-name package))
(define loc
(package-field-location package field))
(define change-name
(upstream-input-change-name change))
(match (list (upstream-input-change-action change)
(upstream-input-change-type change))
(('add 'regular)
(info loc (G_ "~a: consider adding this input: ~a~%")
name change-name))
(('add 'native)
(info loc (G_ "~a: consider adding this native input: ~a~%")
name change-name))
(('add 'propagated)
(info loc (G_ "~a: consider adding this propagated input: ~a~%")
name change-name))
(('remove 'regular)
(info loc (G_ "~a: consider removing this input: ~a~%")
name change-name))
(('remove 'native)
(info loc (G_ "~a: consider removing this native input: ~a~%")
name change-name))
(('remove 'propagated)
(info loc (G_ "~a: consider removing this propagated input: ~a~%")
name change-name))))
(upstream-source-input-changes source))
(let ((hash (file-hash* output)))
(update-package-source package source hash)))
(warning (G_ "~a: version ~a could not be \

View File

@ -226,23 +226,6 @@ doing it."
(G_ "would be edited~%")))
str)))
(define (absolute-location loc)
"Replace the file name in LOC by an absolute location."
(location (if (string-prefix? "/" (location-file loc))
(location-file loc)
;; 'search-path' might return #f in obscure cases, such as
;; when %LOAD-PATH includes "." or ".." and LOC comes from a
;; file in a subdirectory thereof.
(match (search-path %load-path (location-file loc))
(#f
(raise (formatted-message
(G_ "file '~a' not found on load path")
(location-file loc))))
(str str)))
(location-line loc)
(location-column loc)))
(define (trivial-package-arguments? package)
"Return true if PACKAGE has zero arguments or only \"trivial\" arguments
guaranteed not to refer to input labels."

View File

@ -481,18 +481,29 @@ STATUS-PORT."
(leave (G_ "unsupported substitute URI scheme: ~a~%")
(uri->string uri)))))
(let ((uri compression file-size
(narinfo-best-uri narinfo
#:fast-decompression?
%prefer-fast-decompression?)))
(unless print-build-trace?
(format (current-error-port)
(G_ "Downloading ~a...~%") (uri->string uri)))
(define (try-fetch choices)
(match choices
(((uri compression file-size) rest ...)
(guard (c ((and (pair? rest) (http-get-error? c))
(warning (G_ "download from '~a' failed, trying next URL~%")
(uri->string uri))
(try-fetch rest)))
(let ((port download-size (fetch uri)))
(unless print-build-trace?
(format (current-error-port)
(G_ "Downloading ~a...~%") (uri->string uri)))
(values port uri compression download-size))))
(()
(leave (G_ "no valid nar URLs for ~a at ~a~%")
(narinfo-path narinfo)
(narinfo-uri-base narinfo)))))
(let* ((raw download-size
;; 'guix publish' without '--cache' doesn't specify a
;; Content-Length, so DOWNLOAD-SIZE is #f in this case.
(fetch uri))
(let ((choices (narinfo-preferred-uris narinfo
#:fast-decompression?
%prefer-fast-decompression?)))
;; 'guix publish' without '--cache' doesn't specify a Content-Length, so
;; DOWNLOAD-SIZE is #f in this case.
(let* ((raw uri compression download-size (try-fetch choices))
(progress
(let* ((dl-size (or download-size
(and (equal? compression "none")

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014-2017, 2019, 2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;;
;;; This file is part of GNU Guix.
@ -21,7 +21,10 @@
#:use-module (ice-9 threads)
#:use-module (web server)
#:use-module (web server http)
#:use-module (web request)
#:use-module (web response)
#:use-module (web uri)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-11)
#:use-module (ice-9 match)
#:export (with-http-server
@ -60,12 +63,13 @@ actually listened at (in case %http-server-port was 0)."
(strerror err))
(values #f #f)))))
(define* (%local-url #:optional (port (%http-server-port)))
(define* (%local-url #:optional (port (%http-server-port))
#:key (path "/foo/bar"))
(when (= port 0)
(error "no web server is running!"))
;; URL to use for 'home-page' tests.
(string-append "http://localhost:" (number->string port)
"/foo/bar"))
path))
(define* (call-with-http-server responses+data thunk)
"Call THUNK with an HTTP server running and returning RESPONSES+DATA on HTTP
@ -81,6 +85,18 @@ The port listened at will be set for the dynamic extent of THUNK."
(((? integer? code) data)
(list (build-response #:code code
#:reason-phrase "Such is life")
data))
(((? string? path) (? integer? code) data)
(list path
(build-response #:code code
#:headers
(if (string? data)
'()
'((content-type ;binary data
. (application/octet-stream
(charset
. "ISO-8859-1")))))
#:reason-phrase "Such is life")
data)))
responses+data))
@ -116,19 +132,37 @@ The port listened at will be set for the dynamic extent of THUNK."
http-write
(@@ (web server http) http-close))
(define bad-request
(build-response #:code 400 #:reason-phrase "Unexpected request"))
(define (server-body)
(define (handle request body)
(match responses
(((response data) rest ...)
(set! responses rest)
(values response data))))
(values response data))
((((? string?) response data) ...)
(let ((path (uri-path (request-uri request))))
(match (assoc path responses)
(#f (values bad-request ""))
((_ response data)
(if (eq? 'GET (request-method request))
;; Note: Use 'assoc-remove!' to remove only the first entry
;; with PATH as its key. That way, RESPONSES can contain
;; the same path several times.
(let ((rest (assoc-remove! responses path)))
(set! responses rest)
(values response data))
(values bad-request ""))))))))
(let-values (((socket port) (open-http-server-socket)))
(set! %http-real-server-port port)
(catch 'quit
(lambda ()
(run-server handle stub-http-server
`(#:socket ,socket)))
;; Let HANDLE refer to '%http-server-port' if needed.
(parameterize ((%http-server-port %http-real-server-port))
(run-server handle stub-http-server
`(#:socket ,socket))))
(lambda _
(close-port socket)))))

View File

@ -996,6 +996,8 @@ building for ~a instead of ~a, so tuning cannot be guessed~%")
(display (G_ "
--with-patch=PACKAGE=FILE
add FILE to the list of patches of PACKAGE"))
(display (G_ "
--tune[=CPU] tune relevant packages for CPU--e.g., \"skylake\""))
(display (G_ "
--with-configure-flag=PACKAGE=FLAG
append FLAG to the configure flags of PACKAGE"))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2010-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2010-2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;;; Copyright © 2019, 2022 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
@ -38,6 +38,7 @@
#:use-module (guix hash)
#:use-module (guix store)
#:use-module ((guix derivations) #:select (built-derivations derivation->output-path))
#:autoload (guix read-print) (object->string*)
#:autoload (gcrypt hash) (port-sha256)
#:use-module (guix monads)
#:use-module (srfi srfi-1)
@ -55,7 +56,20 @@
upstream-source-urls
upstream-source-signature-urls
upstream-source-archive-types
upstream-source-input-changes
upstream-source-inputs
upstream-input-type-predicate
upstream-source-regular-inputs
upstream-source-native-inputs
upstream-source-propagated-inputs
upstream-input
upstream-input?
upstream-input-name
upstream-input-downstream-name
upstream-input-type
upstream-input-min-version
upstream-input-max-version
url-predicate
url-prefix-predicate
@ -68,12 +82,6 @@
upstream-updater-predicate
upstream-updater-import
upstream-input-change?
upstream-input-change-name
upstream-input-change-type
upstream-input-change-action
changed-inputs
%updaters
lookup-updater
@ -102,78 +110,40 @@
(urls upstream-source-urls) ;list of strings|git-reference
(signature-urls upstream-source-signature-urls ;#f | list of strings
(default #f))
(input-changes upstream-source-input-changes
(default '()) (thunked)))
(inputs upstream-source-inputs ;#f | list of <upstream-input>
(delayed) (default #f))) ;delayed because optional and costly
;; Representation of an upstream input change.
(define-record-type* <upstream-input-change>
upstream-input-change make-upstream-input-change
upstream-input-change?
(name upstream-input-change-name) ;string
(type upstream-input-change-type) ;symbol: regular | native | propagated
(action upstream-input-change-action)) ;symbol: add | remove
;; Representation of a dependency as expressed by upstream.
(define-record-type* <upstream-input>
upstream-input make-upstream-input
upstream-input?
(name upstream-input-name) ;upstream package name
(downstream-name upstream-input-downstream-name) ;Guix package name
(type upstream-input-type ;'regular | 'native | 'propagated
(default 'regular))
(min-version upstream-input-min-version
(default 'any))
(max-version upstream-input-max-version
(default 'any)))
(define (changed-inputs package package-sexp)
"Return a list of input changes for PACKAGE based on the newly imported
S-expression PACKAGE-SEXP."
(match package-sexp
((and expr ('package fields ...))
(let* ((input->name (match-lambda ((name pkg . out) name)))
(new-regular
(match expr
((path *** ('inputs
('quasiquote ((label ('unquote sym)) ...)))) label)
((path *** ('inputs
('list sym ...))) (map symbol->string sym))
(_ '())))
(new-native
(match expr
((path *** ('native-inputs
('quasiquote ((label ('unquote sym)) ...)))) label)
((path *** ('native-inputs
('list sym ...))) (map symbol->string sym))
(_ '())))
(new-propagated
(match expr
((path *** ('propagated-inputs
('quasiquote ((label ('unquote sym)) ...)))) label)
((path *** ('propagated-inputs
('list sym ...))) (map symbol->string sym))
(_ '())))
(current-regular
(map input->name (package-inputs package)))
(current-native
(map input->name (package-native-inputs package)))
(current-propagated
(map input->name (package-propagated-inputs package))))
(append-map
(match-lambda
((action type names)
(map (lambda (name)
(upstream-input-change
(name name)
(type type)
(action action)))
names)))
`((add regular
,(lset-difference equal?
new-regular current-regular))
(remove regular
,(lset-difference equal?
current-regular new-regular))
(add native
,(lset-difference equal?
new-native current-native))
(remove native
,(lset-difference equal?
current-native new-native))
(add propagated
,(lset-difference equal?
new-propagated current-propagated))
(remove propagated
,(lset-difference equal?
current-propagated new-propagated))))))
(_ '())))
(define (upstream-input-type-predicate type)
"Return a predicate that returns true when passed an <upstream-input> record
of the given TYPE (a symbol such as 'propagated)."
(lambda (source)
(eq? type (upstream-input-type source))))
(define (input-type-filter type)
"Return a procedure that, given an <upstream-source>, returns the subset of
its inputs that have the given TYPE (a symbol such as 'native)."
(lambda (source)
"Return the subset of inputs of SOURCE that have the given TYPE."
(filter (lambda (input)
(eq? type (upstream-input-type input)))
(upstream-source-inputs source))))
(define upstream-source-regular-inputs (input-type-filter 'regular))
(define upstream-source-native-inputs (input-type-filter 'native))
(define upstream-source-propagated-inputs (input-type-filter 'propagated))
(define* (url-predicate matching-url?)
"Return a predicate that returns true when passed a package whose source is
@ -550,6 +520,85 @@ this method: ~s")
(package-name package)))
(values #f #f #f))))
(define (update-package-inputs package source)
"Update the input fields of the definition of PACKAGE according to those
specified in SOURCE, an <upstream-source>."
(define (update-field field source-inputs package-inputs)
(define loc
(package-field-location package field))
(define new
(map (compose string->symbol upstream-input-downstream-name)
(source-inputs source)))
(define old
(match (package-inputs package)
(((labels (? package? packages)) ...)
labels)
(_
'())))
(define unchanged?
(equal? new old))
(if (and loc (not unchanged?))
(edit-expression (location->source-properties
(absolute-location loc))
(lambda (str)
(object->string* `(list ,@new)
(location-column loc))))
(unless unchanged?
;; XXX: Bail out when FIELD isn't already present in the source.
;; TODO: Add the field if it's missing.
(warning (package-location package)
(G_ "~a: '~a' field not found; leaving it unchanged~%")
(package-name package) field)
(warning (package-location package)
(G_ "~a: expected '~a' value: ~s~%")
(package-name package) field new))))
(define (filtered-inputs source-inputs extra-property ignore-property)
;; Return a procedure that behaves like SOURCE-INPUTS but additionally
;; honors EXTRA-PROPERTY and IGNORE-PROPERTY from PACKAGE.
(lambda (source)
(let* ((inputs (source-inputs source))
(properties (package-properties package))
(ignore (or (assoc-ref properties ignore-property) '()))
(extra (or (assoc-ref properties extra-property) '())))
(append (if (null? ignore)
inputs
(remove (lambda (input)
(member (upstream-input-downstream-name input)
ignore))
inputs))
(map (lambda (name)
(upstream-input
(name name)
(downstream-name name)))
extra)))))
(define regular-inputs
(filtered-inputs upstream-source-regular-inputs
'updater-extra-inputs
'updater-ignored-inputs))
(define native-inputs
(filtered-inputs upstream-source-native-inputs
'updater-extra-native-inputs
'updater-ignored-native-inputs))
(define propagated-inputs
(filtered-inputs upstream-source-propagated-inputs
'updater-extra-propagated-inputs
'updater-ignored-propagated-inputs))
(for-each update-field
'(inputs native-inputs propagated-inputs)
(list regular-inputs
native-inputs
propagated-inputs)
(list package-inputs
package-native-inputs
package-propagated-inputs)))
(define* (update-package-source package source hash)
"Modify the source file that defines PACKAGE to refer to SOURCE, an
<upstream-source> whose tarball has SHA256 HASH (a bytevector). Return the
@ -604,9 +653,7 @@ new version string if an update was made, and #f otherwise."
;; function of the person who uploads the package. Note that
;; package definitions usually concatenate fragments of the URL,
;; which is why we only attempt to replace a subset of the URL.
(let ((properties (assq-set! (location->source-properties loc)
'filename file))
(replacements `((,old-version . ,version)
(let ((replacements `((,old-version . ,version)
(,old-hash . ,hash)
,@(if (and old-commit new-commit)
`((,old-commit . ,new-commit))
@ -615,8 +662,11 @@ new version string if an update was made, and #f otherwise."
`((,(dirname old-url) .
,(dirname new-url)))
'()))))
(and (edit-expression properties
(and (edit-expression (location->source-properties
(absolute-location loc))
(cut update-expression <> replacements))
(or (not (upstream-source-inputs source))
(update-package-inputs package source))
version))
(begin
(warning (G_ "~a: could not locate source file")

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

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