diff --git a/doc/guix.texi b/doc/guix.texi index 3c5864ec1a..12ecc1b952 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -5276,8 +5276,7 @@ but also the package modules from your own repository. The result in modules: @example -$ guix pull --list-generations -@dots{} +$ guix describe Generation 19 Aug 27 2018 16:20:48 guix d894ab8 repository URL: https://git.savannah.gnu.org/git/guix.git @@ -5287,16 +5286,13 @@ Generation 19 Aug 27 2018 16:20:48 repository URL: https://example.org/variant-packages.git branch: master commit: dd3df5e2c8818760a8fc0bd699e55d3b69fef2bb - 11 new packages: variant-gimp, variant-emacs-with-cool-features, @dots{} - 4 packages upgraded: emacs-racket-mode@@0.0.2-2.1b78827, @dots{} @end example @noindent -The output of @command{guix pull} above shows that Generation@tie{}19 includes -both Guix and packages from the @code{variant-personal-packages} channel. Among -the new and upgraded packages that are listed, some like @code{variant-gimp} and -@code{variant-emacs-with-cool-features} might come from -@code{variant-packages}, while others come from the Guix default channel. +The output of @command{guix describe} above shows that we're now running +Generation@tie{}19 and that it includes +both Guix and packages from the @code{variant-personal-packages} channel +(@pxref{Invoking guix describe}). @node Using a Custom Guix Channel @section Using a Custom Guix Channel @@ -5326,10 +5322,11 @@ addressed below (@pxref{Channel Authentication}). @cindex pinning, channels @cindex replicating Guix @cindex reproducibility, of Guix -The @command{guix pull --list-generations} output above shows precisely which -commits were used to build this instance of Guix. We can thus replicate it, -say, on another machine, by providing a channel specification in -@file{~/.config/guix/channels.scm} that is ``pinned'' to these commits: +The @command{guix describe} command shows precisely which commits were +used to build the instance of Guix we're using (@pxref{Invoking guix +describe}). We can replicate this instance on another machine or at a +different point in time by providing a channel specification ``pinned'' +to these commits that looks like this: @lisp ;; Deploy specific commits of my channels of interest. @@ -5343,18 +5340,36 @@ say, on another machine, by providing a channel specification in (commit "dd3df5e2c8818760a8fc0bd699e55d3b69fef2bb"))) @end lisp -The @command{guix describe --format=channels} command can even generate this -list of channels directly (@pxref{Invoking guix describe}). The resulting -file can be used with the @option{-C} option of @command{guix pull} -(@pxref{Invoking guix pull}) or @command{guix time-machine} -(@pxref{Invoking guix time-machine}). +To obtain this pinned channel specification, the easiest way is to run +@command{guix describe} and to save its output in the @code{channels} +format in a file, like so: -At this point the two machines run the @emph{exact same Guix}, with access to -the @emph{exact same packages}. The output of @command{guix build gimp} on -one machine will be exactly the same, bit for bit, as the output of the same -command on the other machine. It also means both machines have access to all -the source code of Guix and, transitively, to all the source code of every -package it defines. +@example +guix describe -f channels > channels.scm +@end example + +The resulting @file{channels.scm} file can be passed to the @option{-C} +option of @command{guix pull} (@pxref{Invoking guix pull}) or +@command{guix time-machine} (@pxref{Invoking guix time-machine}), as in +this example: + +@example +guix time-machine -C channels.scm -- shell python -- python3 +@end example + +Given the @file{channels.scm} file, the command above will always fetch +the @emph{exact same Guix instance}, then use that instance to run the +exact same Python (@pxref{Invoking guix shell}). On any machine, at any +time, it ends up running the exact same binaries, bit for bit. + +@cindex lock files +Pinned channels address a problem similar to ``lock files'' as +implemented by some deployment tools---they let you pin and reproduce a +set of packages. In the case of Guix though, you are effectively +pinning the entire package set as defined at the given channel commits; +in fact, you are pinning all of Guix, including its core modules and +command-line tools. You're also getting strong guarantees that you are, +indeed, obtaining the exact same software. This gives you super powers, allowing you to track the provenance of binary artifacts with very fine grain, and to reproduce software environments at diff --git a/gnu/local.mk b/gnu/local.mk index 2bcf966101..33b8194dc1 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1018,8 +1018,7 @@ dist_patch_DATA = \ %D%/packages/patches/ecl-16-libffi.patch \ %D%/packages/patches/efibootmgr-remove-extra-decl.patch \ %D%/packages/patches/efivar-211.patch \ - %D%/packages/patches/eigen-remove-openmp-error-counting.patch \ - %D%/packages/patches/eigen-stabilise-sparseqr-test.patch \ + %D%/packages/patches/eigen-fix-strict-aliasing-bug.patch \ %D%/packages/patches/einstein-build.patch \ %D%/packages/patches/elfutils-tests-ptrace.patch \ %D%/packages/patches/elixir-path-length.patch \ @@ -1632,8 +1631,8 @@ dist_patch_DATA = \ %D%/packages/patches/perl-www-curl-fix-struct-void.patch \ %D%/packages/patches/perl-www-curl-remove-symbol.patch \ %D%/packages/patches/phoronix-test-suite-fsdg.patch \ - %D%/packages/patches/php-bug-74093-test.patch \ - %D%/packages/patches/php-openssl_x509_checkpurpose_basic.patch \ + %D%/packages/patches/php-bug-74093-test.patch \ + %D%/packages/patches/php-curl-compat.patch \ %D%/packages/patches/picard-fix-id3-rename-test.patch \ %D%/packages/patches/picprog-non-intel-support.patch \ %D%/packages/patches/pidgin-add-search-path.patch \ diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 95fbdb5e36..bb71373aa9 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -986,20 +986,17 @@ extends it by a set of algebraic capabilities.") (define-public eigen (package (name "eigen") - (version "3.3.8") + (version "3.4.0") (source (origin - (method url-fetch) - (uri (list - (string-append "https://bitbucket.org/eigen/eigen/get/" - version ".tar.bz2") - (string-append "mirror://debian/pool/main/e/eigen3/eigen3_" - version ".orig.tar.bz2"))) + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/libeigen/eigen.git") + (commit version))) (sha256 (base32 - "1vxrsncfnkyq6gwxpsannpryp12mk7lc8f42ybvz3saf7icwc582")) - (file-name (string-append name "-" version ".tar.bz2")) - (patches (search-patches "eigen-remove-openmp-error-counting.patch" - "eigen-stabilise-sparseqr-test.patch")) + "0k1c4qnymwwvm68rv6s0cyk08xbw65ixvwqccsh36c2axcqk3znp")) + (file-name (git-file-name name version)) + (patches (search-patches "eigen-fix-strict-aliasing-bug.patch")) (modules '((guix build utils))) (snippet ;; There are 3 test failures in the "unsupported" directory, diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 498252aaf4..e84eb188ff 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -426,7 +426,7 @@ astronomical image-processing packages like Drizzle, Swarp or SExtractor.") (define-public gnuastro (package (name "gnuastro") - (version "0.17") + (version "0.18") (source (origin (method url-fetch) @@ -434,7 +434,7 @@ astronomical image-processing packages like Drizzle, Swarp or SExtractor.") version ".tar.lz")) (sha256 (base32 - "1gq37axs9l556pxxmnh47h088gbmp7sk3xjg59qzk2bsycg3dkgh")))) + "1y9ig2kkwiwl0rmp9ip9n83fyjjpg2cc2pxzvdzr8rysq5az357y")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-static"))) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 262994c998..66654b99fc 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -4352,7 +4352,7 @@ code, used in @code{libtoxcore}.") (define-public gsm (package (name "gsm") - (version "1.0.19") + (version "1.0.20") (source (origin (method url-fetch) @@ -4360,8 +4360,7 @@ code, used in @code{libtoxcore}.") (string-append "http://www.quut.com/" name "/" name "-" version ".tar.gz")) (sha256 - (base32 - "1xkha9ss5g5qnfaybi8il0mcvp8knwg9plgh8404vh58d0pna0s9")))) + (base32 "1gwhmqs24c14gc9qr91iqb2jkbr3qqy4dvf27yf8j7mq322w65b3")))) (build-system gnu-build-system) (arguments `(#:test-target "tst" @@ -4374,8 +4373,7 @@ code, used in @code{libtoxcore}.") ;; mediastreamer. (substitute* "Makefile" (("^CCFLAGS.*" all) - (string-append all "CCFLAGS += -fPIC\n"))) - #t)) + (string-append all "CCFLAGS += -fPIC\n"))))) (add-before 'install 'pre-install (lambda _ (let ((out (assoc-ref %outputs "out"))) @@ -4384,8 +4382,7 @@ code, used in @code{libtoxcore}.") (mkdir-p (string-append out "/man/man1")) (mkdir-p (string-append out "/man/man3")) (mkdir-p (string-append out "/bin")) - (mkdir-p (string-append out "/lib"))) - #t)) + (mkdir-p (string-append out "/lib"))))) (add-after 'install 'post-install (lambda _ (let ((out (assoc-ref %outputs "out"))) @@ -4393,8 +4390,7 @@ code, used in @code{libtoxcore}.") (string-append out "/include")) (mkdir-p (string-append out "/include/gsm")) (copy-recursively "inc" - (string-append out "/include/gsm"))) - #t)) + (string-append out "/include/gsm"))))) (delete 'configure)))) ; no configure script (synopsis "GSM 06.10 lossy speech compression library") (description "This C library provides an encoder and a decoder for the GSM diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm index c8157bfdcd..9876192f5f 100644 --- a/gnu/packages/clojure.scm +++ b/gnu/packages/clojure.scm @@ -43,36 +43,44 @@ ;; The libraries below are needed to run the tests. (libraries `(("core-specs-alpha-src" - ,(lib "core.specs.alpha/archive/core.specs.alpha-" - "0.1.24" - "0v2a0svf1ar2y42ajxwsjr7zmm5j7pp2zwrd2jh3k7xzd1p9x1fv")) + ,(lib "core.specs.alpha/archive/v" + "0.2.62" + "0v6nhghsigpzm8y7dykfm318q5dvk5l8sykmn1hr0qgs1jsjqh9j")) ("data-generators-src" ,(lib "data.generators/archive/data.generators-" - "0.1.2" - "0kki093jp4ckwxzfnw8ylflrfqs8b1i1wi9iapmwcsy328dmgzp1")) + "1.0.0" + "0s3hf1njvs68b8igasikvzagzqxl0gbri7w2qhzsypkhfh60v2cp")) + ("java-classpath-src" + ,(lib "java.classpath/archive/java.classpath-" + "1.0.0" + "178zajjsc9phk5l61r8w9hcpk0wgc9a811pl7kjgvn7rg4l7fh7j")) ("spec-alpha-src" - ,(lib "spec.alpha/archive/spec.alpha-" - "0.1.143" - "00alf0347licdn773w2jarpllyrbl52qz4d8mw61anjksacxylzz")) + ,(lib "spec.alpha/archive/v" + "0.3.218" + "0h5nd9xlind1a2vmllr2yfhnirgj2pm5dndgqzrly78l5iwcc3wa")) ("test-check-src" - ,(lib "test.check/archive/test.check-" - "0.9.0" - "0p0mnyhr442bzkz0s4k5ra3i6l5lc7kp6ajaqkkyh4c2k5yck1md")) + ,(lib "test.check/archive/v" + "1.1.1" + "0kx8l79mhpnn94rpsgc7nac7gb222g7a47mzrycj8crfc54wf0c1")) ("test-generative-src" ,(lib "test.generative/archive/test.generative-" - "0.5.2" - "1pjafy1i7yblc7ixmcpfq1lfbyf3jaljvkgrajn70sws9xs7a9f8")) + "1.0.0" + "0yy2vc38s4j5n94jdcjx1v7l2gdq0lywam31id1jh07sx37lv5il")) ("tools-namespace-src" ,(lib "tools.namespace/archive/tools.namespace-" - "0.2.11" - "10baak8v0hnwz2hr33bavshm7y49mmn9zsyyms1dwjz45p5ymhy0")))) + "1.0.0" + "1ifpk93m33rj2xm1qnnninlsdvm1liqmsp9igr63pjjwwwjw1cnn")) + ("tools-reader-src" + ,(lib "tools.reader/archive/tools.reader-" + "1.3.2" + "1n4dhg61iyypnjbxmihhqjb7lfpc0lzfvlk4jd8w0yr6za414f3a")))) (library-names (match libraries (((library-name _) ...) library-name)))) (package (name "clojure") - (version "1.10.0") + (version "1.11.1") (source (let ((name+version (string-append name "-" version))) (origin (method git-fetch) @@ -81,18 +89,23 @@ (commit name+version))) (file-name (string-append name+version "-checkout")) (sha256 - (base32 "1kcyv2836acs27vi75hvf3r773ahv2nlh9b3j9xa9m9sdanz1h83"))))) + (base32 "1xbab21rm9zvhmw1i2h5lqm7612vrdkxprq0rgb2i3sbgsxcdsn4"))))) (build-system ant-build-system) (inputs `(("jre" ,icedtea))) (arguments `(#:imported-modules ((guix build clojure-utils) + (guix build clojure-build-system) (guix build guile-build-system) ,@%ant-build-system-modules) #:modules ((guix build ant-build-system) + ((guix build clojure-build-system) #:prefix clj:) (guix build clojure-utils) (guix build java-utils) (guix build utils) + (guix build syscalls) + (ice-9 match) + (ice-9 regex) (srfi srfi-26)) #:test-target "test" #:phases @@ -106,22 +119,60 @@ "--extract" "--verbose" "--file" (assoc-ref inputs name) - "--strip-components=1")) - (copy-recursively (string-append name "/src/main/clojure/") - "src/clj/")) + "--strip-components=1"))) (for-each extract-library ',library-names) + (copy-recursively "core-specs-alpha-src/src/main/clojure" + "src/clj/") + (copy-recursively "spec-alpha-src/src/main/clojure" + "src/clj/") #t)) (add-after 'unpack-library-sources 'fix-manifest-classpath (lambda _ (substitute* "build.xml" (("") "")) #t)) + (add-after 'unpack-library-sources 'clojure-spec-skip-macros + ;; Disable spec macro instrumentation when compiling clojure.spec + ;; See: https://clojure.atlassian.net/browse/CLJ-2254 + (lambda _ + (substitute* "build.xml" + (("") + ,(string-join + '("" + "\n") + "\n"))) + #t)) + (add-after 'unpack-library-sources 'clojure-spec-compile + ;; Compile and include clojure.spec.alpha & clojure.core.specs.alpha + (lambda _ + (substitute* "build.xml" + (("") + ,(string-join + '("" + "" + "" + "" + "")))) + #t)) + (add-before 'build 'maven-classpath-properties + (lambda _ + (define (make-classpath libraries) + (string-join (map (lambda (library) + (string-append library "/src/main/clojure")) + libraries) ":")) + (with-output-to-file "maven-classpath.properties" + (lambda () + (let ((classpath (make-classpath ',library-names))) + (display (string-append "maven.compile.classpath=" classpath "\n")) + (display (string-append "maven.test.classpath=" classpath "\n"))))) + #t)) (add-after 'build 'build-javadoc ant-build-javadoc) (replace 'install (install-jars "./")) (add-after 'install-license-files 'install-doc (cut install-doc #:doc-dirs '("doc/clojure/") <...>)) (add-after 'install-doc 'install-javadoc - (install-javadoc "target/javadoc/"))))) + (install-javadoc "target/javadoc/")) + (add-after 'reset-gzip-timestamps 'reset-class-timestamps clj:reset-class-timestamps)))) (native-inputs libraries) (home-page "https://clojure.org/") (synopsis "Lisp dialect running on the JVM") @@ -153,14 +204,14 @@ designs.") (define-public clojure-tools (package (name "clojure-tools") - (version "1.10.3.1040") + (version "1.11.1.1149") (source (origin (method url-fetch) (uri (string-append "https://download.clojure.org/install/clojure-tools-" version ".tar.gz")) - (sha256 (base32 "0xvr9nmk9q789vp32zmmzj4macv8v7y9ivnfd6lf7i8vxgg6hvgv")) + (sha256 (base32 "196wl87br8zg3npfwpr5c1q0knxd1810vzgb0b6h195hyjf6i210")) ;; Remove AOT compiled JAR. The other JAR only contains uncompiled ;; Clojure source code. (snippet @@ -224,7 +275,15 @@ Clojure repl, use Clojure and Java libraries, and start Clojure programs.") (arguments '(#:source-dirs '("src/main/clojure/") #:test-dirs '("src/test/clojure/") - #:doc-dirs '())) + #:doc-dirs '() + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-import + (lambda _ + (substitute* + "src/main/clojure/clojure/algo/generic/math_functions.clj" + (("clojure.algo.generic.math-functions") + "clojure.algo.generic.math-functions\n(:refer-clojure :exclude [abs])"))))))) (synopsis "Generic versions of common functions") (description "Generic versions of commonly used functions, implemented as multimethods @@ -261,31 +320,29 @@ defining and using monads and useful monadic functions.") (license license:epl1.0))) (define-public clojure-core-match - (let ((commit "1837ffbd4a150e8f3953b2d9ed5cf4a4ad3720a7") - (revision "1")) ; this is the 1st commit buildable with clojure 1.9 - (package - (name "clojure-core-match") - (version (git-version "0.3.0-alpha5" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/clojure/core.match") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "04bdlp5dgkrqzrz0lw3mfwmygj2218qnm1cz3dkb9wy4m0238s4d")))) - (build-system clojure-build-system) - (arguments - '(#:source-dirs '("src/main/clojure") - #:test-dirs '("src/test/clojure") - #:doc-dirs '())) - (synopsis "Optimized pattern matching for Clojure") - (description - "An optimized pattern matching library for Clojure. + (package + (name "clojure-core-match") + (version "1.0.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/clojure/core.match") + (commit (string-append "core.match-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ajpxjv4yc282cm0jw8819fay2j6jqp9nfy69k7vll09q7vqsd22")))) + (build-system clojure-build-system) + (arguments + '(#:source-dirs '("src/main/clojure") + #:test-dirs '("src/test/clojure") + #:doc-dirs '())) + (synopsis "Optimized pattern matching for Clojure") + (description + "An optimized pattern matching library for Clojure. It supports Clojure 1.5.1 and later as well as ClojureScript.") - (home-page "https://github.com/clojure/core.match") - (license license:epl1.0)))) + (home-page "https://github.com/clojure/core.match") + (license license:epl1.0))) (define-public clojure-data-codec (package @@ -354,8 +411,7 @@ lazy - should allow parsing and emitting of large XML documents") (license license:epl1.0))) (define-public clojure-instaparse - (let ((commit "dcfffad5b065e750f0f5835f017cdd8188b8ca2e") - (version "1.4.9")) ; upstream forget to tag this release + (let ((version "1.4.12")) (package (name "clojure-instaparse") (version version) @@ -363,14 +419,27 @@ lazy - should allow parsing and emitting of large XML documents") (method git-fetch) (uri (git-reference (url "https://github.com/Engelberg/instaparse") - (commit commit))) + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "002mrgin4z3dqy88r1lak7smd0m7x8d22vmliw0m6w6mh5pa17lk")))) + "1xdiwsv1dc8mvrmvgs4xdqk3z6ddsammc6brhcb771yhimx8jjcr")))) (build-system clojure-build-system) (arguments - '(#:doc-dirs '("docs/"))) + '(;; Disabled AOT, because of failing test: No implementation of + ;; method: :conj-flat of protocol: + ;; #'instaparse.auto-flatten-seq/ConjFlat found for class: + ;; instaparse.auto_flatten_seq.AutoFlattenSeq + #:aot-exclude '(#:all) + #:doc-dirs '("docs/") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-import + (lambda _ + (substitute* + "test/instaparse/defparser_test.cljc" + (("AssertionError") + "Exception"))))))) (synopsis "No grammar left behind") (description "Instaparse aims to be the simplest way to build parsers in Clojure. @@ -458,7 +527,7 @@ concise, powerful tests.") (define-public clojure-tools-cli (package (name "clojure-tools-cli") - (version "0.4.2") + (version "1.0.206") (home-page "https://github.com/clojure/tools.cli") (source (origin (method git-fetch) @@ -467,7 +536,7 @@ concise, powerful tests.") (commit (string-append "tools.cli-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1yqlm8lwbcjm0dp032z7vzc4bdlmc4jixznvf4adsqhvqw85hvj2")))) + (base32 "1hvk5zacl3fr8lfcbfgckaicqjx697j0kzw2x5hwj8j5xlr8ri2r")))) (build-system clojure-build-system) (arguments '(#:source-dirs '("src/main/clojure/") @@ -482,7 +551,7 @@ work with command-line arguments.") (define-public clojure-tools-deps-alpha (package (name "clojure-tools-deps-alpha") - (version "0.12.1104") + (version "0.14.1212") (home-page "https://github.com/clojure/tools.deps.alpha") (source (origin (method git-fetch) @@ -492,7 +561,7 @@ work with command-line arguments.") (file-name (git-file-name name version)) (sha256 (base32 - "174m83n5m3arai2vbg434zjibbsr3r4pp7lz3adja8lxq7g21r80")))) + "0r8qfihii6cf95kl86x6zfldnm7wlkgda2qmq3340j1x03v244dd")))) (build-system clojure-build-system) (arguments `(#:source-dirs '("src/main/clojure" "src/main/resources") @@ -544,7 +613,7 @@ dependency graph expansion and the creation of classpaths.") (define-public clojure-tools-gitlibs (package (name "clojure-tools-gitlibs") - (version "2.4.172") + (version "2.4.181") (home-page "https://github.com/clojure/tools.gitlibs") (source (origin (method git-fetch) @@ -554,7 +623,7 @@ dependency graph expansion and the creation of classpaths.") (file-name (git-file-name name version)) (sha256 (base32 - "19d83wigmigy66f5i61a3ishg7zrlv8jngj8m9brsh9v38a0fwdr")))) + "1d8c79f33axghadwqa955yjfsxa6fgl8jq4nfll2zrp6sjw0597k")))) (build-system clojure-build-system) (arguments '(#:source-dirs '("src/main/clojure") diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 5ae5efc330..8330f0d157 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -1474,7 +1474,7 @@ output randomness while retaining speed, simplicity, and conciseness.") (define-public libconfini (package (name "libconfini") - (version "1.16.3") + (version "1.16.4") (source (origin (method git-fetch) (uri (git-reference @@ -1483,10 +1483,12 @@ output randomness while retaining speed, simplicity, and conciseness.") (file-name (git-file-name name version)) (sha256 (base32 - "01g8ai2z4fwshk06k824j6ib8nfb3cwxs5kqpqjvv4k5ayzm892h")))) + "002lmf1b2phmc6s348k00yx5shrcc7psn3pgqvraxvr6n8g747jx")))) (build-system gnu-build-system) (arguments - `(#:phases + `(#:configure-flags + (list "--disable-static") + #:phases (modify-phases %standard-phases (replace 'bootstrap (lambda _ (invoke "sh" "bootstrap" "--noconfigure")))))) diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm index d1a9c4dd6d..5d88cb0372 100644 --- a/gnu/packages/crates-graphics.scm +++ b/gnu/packages/crates-graphics.scm @@ -2087,8 +2087,31 @@ interactive applications.") images in AVIF format.") (license license:bsd-3))) +(define-public rust-raw-window-handle-0.4 + (package + (name "rust-raw-window-handle") + (version "0.4.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "raw-window-handle" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0hgvrqbr2b62zhq4ryv08h92mwis9v8f7j9pwcgxzlp7nswvw05q")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cty" ,rust-cty-0.2)))) + (home-page "https://github.com/rust-windowing/raw-window-handle") + (synopsis "Interoperability library for Rust Windowing applications") + (description + "Interoperability library for Rust Windowing applications.") + (license license:expat))) + (define-public rust-raw-window-handle-0.3 (package + (inherit rust-raw-window-handle-0.4) (name "rust-raw-window-handle") (version "0.3.3") (source @@ -2100,14 +2123,8 @@ images in AVIF format.") (sha256 (base32 "04c2wir7qq3g2b143yav52a1g5ack8ffqx2bpmrn9bc0dix1li0a")))) - (build-system cargo-build-system) (arguments - `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)))) - (home-page "https://github.com/rust-windowing/raw-window-handle") - (synopsis "Interoperability library for Rust Windowing applications") - (description - "Interoperability library for Rust Windowing applications.") - (license license:expat))) + `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)))))) (define-public rust-resize-0.3 (package diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index fbb701d064..75009b6cf1 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -23,7 +23,7 @@ ;;; Copyright © 2021, 2022 Petr Hodina ;;; Copyright © 2021, 2022 Ricardo Wurmus ;;; Copyright © 2021 Jacob Hrbek -;;; Copyright © 2021 Nicolas Graves +;;; Copyright © 2021, 2022 Nicolas Graves ;;; Copyright © 2022 Aleksandr Vityazev ;;; Copyright © 2022 Marius Bakke ;;; Copyright © 2022 Evgenii Lepikhin @@ -1815,23 +1815,24 @@ Rust, using gimli.") ("rust-memmap" ,rust-memmap-0.7) ("rust-rustc-test" ,rust-rustc-test-0.3)))))) -(define-public rust-adler-0.2 +(define-public rust-adler-1 (package (name "rust-adler") - (version "0.2.3") + (version "1.0.2") (source (origin (method url-fetch) (uri (crate-uri "adler" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0zpdsrfq5bd34941gmrlamnzjfbsx0x586afb7b0jqhr8g1lwapf")))) + (base32 "1zim79cvzd5yrkzl3nyfx0avijwgk9fqv3yrscdy1cc79ih02qpj")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-compiler-builtins" ,rust-compiler-builtins-0.1) - ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)))) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3)))) (home-page "https://github.com/jonas-schievink/adler") (synopsis "Implementation of the Adler-32 checksum") (description @@ -1842,6 +1843,20 @@ checksum, used in the zlib compression format.") license:asl2.0 (license:non-copyleft "https://spdx.org/licenses/0BSD.html"))))) +(define-public rust-adler-0.2 + (package + (inherit rust-adler-1) + (name "rust-adler") + (version "0.2.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "adler" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0zpdsrfq5bd34941gmrlamnzjfbsx0x586afb7b0jqhr8g1lwapf")))) + (build-system cargo-build-system))) + (define-public rust-adler32-1 (package (name "rust-adler32") @@ -9438,8 +9453,35 @@ spreadsheet file.") ("rust-serde" ,rust-serde-1) ("rust-zip" ,rust-zip-0.5)))))) +(define-public rust-calloop-0.9 + (package + (name "rust-calloop") + (version "0.9.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "calloop" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "10mbcsd7fj3cg0a463h3003wycv955cnj4pm2gla2sp5xxhyqbmz")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ;XXX fails without stdin, fixed in 0.11 + #:cargo-inputs + (("rust-futures-io" ,rust-futures-io-0.3) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-log" ,rust-log-0.4) + ("rust-nix" ,rust-nix-0.22)) + #:cargo-development-inputs + (("rust-futures" ,rust-futures-0.3)))) + (home-page "https://github.com/Smithay/calloop") + (synopsis "Callback-based event loop") + (description "This package provides a callback-based event loop.") + (license license:expat))) + (define-public rust-calloop-0.6 (package + (inherit rust-calloop-0.9) (name "rust-calloop") (version "0.6.5") (source @@ -9454,11 +9496,7 @@ spreadsheet file.") `(#:skip-build? #t #:cargo-inputs (("rust-log" ,rust-log-0.4) - ("rust-nix" ,rust-nix-0.18)))) - (home-page "https://github.com/Smithay/calloop") - (synopsis "Callback-based event loop") - (description "This package provides a callback-based event loop.") - (license license:expat))) + ("rust-nix" ,rust-nix-0.18)))))) (define-public rust-calloop-0.4 (package @@ -10166,8 +10204,32 @@ using linear constraints, like ``this button must line up with this text box''.") (license (list license:expat license:asl2.0)))) +(define-public rust-cast-0.3 + (package + (name "rust-cast") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "cast" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1dbyngbyz2qkk0jn2sxil8vrz3rnpcj142y184p9l4nbl9radcip")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-quickcheck" ,rust-quickcheck-1)))) + (home-page "https://github.com/japaric/cast.rs") + (synopsis + "Ergonomic, checked cast functions for primitive types") + (description + "Ergonomic, checked cast functions for primitive types.") + (license (list license:expat license:asl2.0)))) + (define-public rust-cast-0.2 (package + (inherit rust-cast-0.3) (name "rust-cast") (version "0.2.3") (source @@ -10185,13 +10247,7 @@ box''.") #:cargo-inputs (("rust-rustc-version" ,rust-rustc-version-0.2)) #:cargo-development-inputs - (("rust-quickcheck" ,rust-quickcheck-0.9)))) - (home-page "https://github.com/japaric/cast.rs") - (synopsis - "Ergonomic, checked cast functions for primitive types") - (description - "Ergonomic, checked cast functions for primitive types.") - (license (list license:expat license:asl2.0)))) + (("rust-quickcheck" ,rust-quickcheck-0.9)))))) (define-public rust-cblas-sys-0.1 (package @@ -12231,6 +12287,25 @@ idiomatic wrappers for Mac OS X's CommonCrypto library.") "Common path finds the common prefix between a set of paths.") (license (list license:expat license:asl2.0)))) +(define-public rust-const-cstr-0.3 + (package + (name "rust-const-cstr") + (version "0.3.0") + (source (origin + (method url-fetch) + (uri (crate-uri "const-cstr" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "19ij6m8s16d0i7vma535l7w4x8bcanjcxs7c6n7sci86ydghnggd")))) + (build-system cargo-build-system) + (home-page "https://github.com/cybergeek94/const-cstr") + (synopsis "Create static C-compatible strings from Rust string literals") + (description + "This crate lets you create static C-compatible strings from Rust string +literals.") + (license (list license:expat license:asl2.0)))) + ;; This package requires features which are unavailable ;; on the stable releases of Rust. (define-public rust-compiler-builtins-0.1 @@ -18391,8 +18466,33 @@ Central Dispatch.") Google's diff-match-patch.") (license (list license:expat license:asl2.0)))) +(define-public rust-dlib-0.5 + (package + (name "rust-dlib") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "dlib" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1547hy7nrhkrb2i09va244c0h8mr845ccbs2d2mc414c68bpa6xc")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ;FIXME: Several macros are not found. + #:cargo-inputs + (("rust-libloading" ,rust-libloading-0.7)))) + (home-page "https://github.com/vberger/dlib") + (synopsis "Helper macros for manually loading optional system libraries") + (description + "This package provides helper macros for handling manually loading optional +system libraries.") + (license license:expat))) + (define-public rust-dlib-0.4 (package + (inherit rust-dlib-0.5) (name "rust-dlib") (version "0.4.2") (source @@ -18404,18 +18504,11 @@ Google's diff-match-patch.") (sha256 (base32 "0xlsf3lrz9hd7q3ff6lp5mw4kn3nbryn746kd07i93r6wg8ia7xi")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-libloading" ,rust-libloading-0.6)))) (inputs - (list rust-libloading-0.6)) - (home-page "https://github.com/vberger/dlib") - (synopsis "Helper macros for manually loading optional system libraries") - (description - "This package provides helper macros for handling manually loading optional -system libraries.") - (license license:expat))) + (list rust-libloading-0.6)))) (define-public rust-dlv-list-0.2 (package @@ -23025,6 +23118,27 @@ macOS API for file changes notifications") `(#:skip-build? #t ; only available on macOS #:cargo-inputs (("rust-libc" ,rust-libc-0.2)))))) +(define-public rust-fslock-0.2 + (package + (name "rust-fslock") + (version "0.2.1") + (source (origin + (method url-fetch) + (uri (crate-uri "fslock" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1yrv9j44k3njzpnh8m2jc0gr3hklzyzwfj3gmsdklbi76n4jnh84")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-winapi" ,rust-winapi-0.3)))) + (home-page "https://github.com/brunoczim/fslock") + (synopsis "Lock file library") + (description "This package provides a library to use files as locks.") + (license license:expat))) + (define-public rust-fst-0.4 (package (name "rust-fst") @@ -30580,8 +30694,38 @@ kernel32.") "This package provides a Log macro for log's kv-unstable backend.") (license (list license:expat license:asl2.0)))) +(define-public rust-language-tags-0.3 + (package + (name "rust-language-tags") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "language-tags" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "124k6w9nx33q4xs8rpa9f7klshrsa0x4f7qngdwq890lpdj5jd6l")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs + (("rust-bencher" ,rust-bencher-0.1) + ("rust-serde-json" ,rust-serde-json-1)))) + (home-page "https://github.com/pyfisch/rust-language-tags") + (synopsis "Language tags for Rust") + (description + "Language tags can be used identify human languages, scripts e.g. Latin +script, countries and other regions. They are commonly used in HTML and HTTP +@code{Content-Language} and @code{Accept-Language} header fields. This package +currently supports parsing (fully conformant parser), formatting and comparing +language tags.") + (license license:expat))) + (define-public rust-language-tags-0.2 (package + (inherit rust-language-tags-0.3) (name "rust-language-tags") (version "0.2.2") (source @@ -30592,21 +30736,11 @@ kernel32.") (sha256 (base32 "16hrjdpa827carq5x4b8zhas24d8kg4s16m6nmmn1kb7cr5qh7d9")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-heapsize" ,rust-heapsize-0.3) - ("rust-heapsize-plugin" ,rust-heapsize-plugin-0.1)))) - (home-page "https://github.com/pyfisch/rust-language-tags") - (synopsis "Language tags for Rust") - (description - "Language tags can be used identify human languages, scripts e.g. Latin -script, countries and other regions. They are commonly used in HTML and HTTP -@code{Content-Language} and @code{Accept-Language} header fields. This package -currently supports parsing (fully conformant parser), formatting and comparing -language tags.") - (license license:expat))) + ("rust-heapsize-plugin" ,rust-heapsize-plugin-0.1)))))) (define-public rust-lab-0.11 (package @@ -34799,8 +34933,36 @@ float parser.") (sha256 (base32 "0xynhr97vyv5n5lls41dl7bfa3ba122lix9mqij1l7yprl6n6r4w")))))) +(define-public rust-miniz-oxide-0.5 + (package + (name "rust-miniz-oxide") + (version "0.5.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "miniz_oxide" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1k1wfxb35v129mhqy14yqhrj3wvknafrwygiq7zvi0m5iml7ap3g")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-adler" ,rust-adler-1) + ("rust-compiler-builtins" ,rust-compiler-builtins-0.1) + ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1) + ("rust-simd-adler32" ,rust-simd-adler32-0.3)))) + (home-page "https://github.com/Frommi/miniz_oxide/tree/master/miniz_oxide") + (synopsis "Pure rust replacement for the miniz DEFLATE/zlib encoder/decoder") + (description + "A pure rust replacement for the miniz DEFLATE/zlib encoder/decoder. Using +@code{flate2} with the @code{rust_backend} feature provides an easy to use +streaming API for miniz_oxide.") + (license (list license:expat license:zlib license:asl2.0)))) + (define-public rust-miniz-oxide-0.4 (package + (inherit rust-miniz-oxide-0.5) (name "rust-miniz-oxide") (version "0.4.3") (source @@ -34810,22 +34972,13 @@ float parser.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "17d1xp29v5xgh4vahxld14w1c1hgh38qmxpv7i18wy096gn2cb8g")))) - (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-adler" ,rust-adler-0.2) ("rust-autocfg" ,rust-autocfg-1) ("rust-compiler-builtins" ,rust-compiler-builtins-0.1) ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1) - ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)))) - (home-page "https://github.com/Frommi/miniz_oxide/tree/master/miniz_oxide") - (synopsis "Pure rust replacement for the miniz DEFLATE/zlib encoder/decoder") - (description - "A pure rust replacement for the miniz DEFLATE/zlib encoder/decoder. Using -@code{flate2} with the @code{rust_backend} feature provides an easy to use -streaming API for miniz_oxide.") - (license (list license:expat license:zlib license:asl2.0)))) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)))))) (define-public rust-miniz-oxide-0.3 (package @@ -34841,8 +34994,7 @@ streaming API for miniz_oxide.") (base32 "198n4hfpq0qcxf275l6fpzh7b9cl7ck2xs6pjgpds74bazv9yrxa")))) (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-adler32" ,rust-adler32-1)))))) + `(#:cargo-inputs (("rust-adler32" ,rust-adler32-1)))))) (define-public rust-miniz-oxide-0.2 (package @@ -34857,7 +35009,8 @@ streaming API for miniz_oxide.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "17f92krv9hhsyc38prpfyn99m2hqhr4fgszpsla66a6gcrnpbhxn")))))) + "17f92krv9hhsyc38prpfyn99m2hqhr4fgszpsla66a6gcrnpbhxn")))) + (arguments `(#:skip-build? #t)))) (define-public rust-miniz-oxide-c-api-0.2 (package @@ -35830,8 +35983,65 @@ quick compile time, and minimal dependencies.") #:cargo-inputs (("rust-rayon" ,rust-rayon-1)))))) +(define-public rust-nalgebra-0.29 + (package + (name "rust-nalgebra") + (version "0.29.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "nalgebra" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1zri11vkrbk3ayvy8xqcdvvyjvfcbl5a18x8z82racnn11zfn1nm")) + (modules '((guix build utils))))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ;TODO: how to enable required features? + #:cargo-inputs + (("rust-abomonation" ,rust-abomonation-0.7) + ("rust-alga" ,rust-alga-0.9) + ("rust-approx" ,rust-approx-0.5) + ("rust-bytemuck" ,rust-bytemuck-1) + ("rust-glam" ,rust-glam-0.17) + ("rust-glam" ,rust-glam-0.16) + ("rust-glam" ,rust-glam-0.15) + ("rust-glam" ,rust-glam-0.14) + ("rust-glam" ,rust-glam-0.13) + ("rust-matrixcompare-core" ,rust-matrixcompare-core-0.1) + ("rust-matrixmultiply" ,rust-matrixmultiply-0.3) + ("rust-mint" ,rust-mint-0.5) + ("rust-nalgebra-macros" ,rust-nalgebra-macros-0.1) + ("rust-num-complex" ,rust-num-complex-0.4) + ("rust-num-rational" ,rust-num-rational-0.4) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-pest" ,rust-pest-2) + ("rust-pest-derive" ,rust-pest-derive-2) + ("rust-proptest" ,rust-proptest-1) + ("rust-quickcheck" ,rust-quickcheck-1) + ("rust-rand" ,rust-rand-0.8) + ("rust-rand-distr" ,rust-rand-distr-0.4) + ("rust-rkyv" ,rust-rkyv-0.6) + ("rust-serde" ,rust-serde-1) + ("rust-simba" ,rust-simba-0.6) + ("rust-typenum" ,rust-typenum-1)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-itertools" ,rust-itertools-0.10) + ("rust-matrixcompare" ,rust-matrixcompare-0.3) + ("rust-rand-isaac" ,rust-rand-isaac-0.3) + ("rust-rand-xorshift" ,rust-rand-xorshift-0.3) + ("rust-serde-json" ,rust-serde-json-1)))) + (home-page "https://nalgebra.org") + (synopsis "Linear algebra library") + (description + "This package provides a general-purpose linear algebra library with +transformations and statically-sized or dynamically-sized matrices.") + (license license:bsd-3))) + (define-public rust-nalgebra-0.26 (package + (inherit rust-nalgebra-0.29) (name "rust-nalgebra") (version "0.26.2") (source @@ -35877,13 +36087,7 @@ quick compile time, and minimal dependencies.") ("rust-matrixcompare" ,rust-matrixcompare-0.2) ("rust-rand-isaac" ,rust-rand-isaac-0.3) ("rust-rand-xorshift" ,rust-rand-xorshift-0.3) - ("rust-serde-json" ,rust-serde-json-1)))) - (home-page "https://nalgebra.org") - (synopsis "Linear algebra library") - (description - "This package provides a general-purpose linear algebra library with -transformations and statically-sized or dynamically-sized matrices.") - (license license:bsd-3))) + ("rust-serde-json" ,rust-serde-json-1)))))) (define-public rust-nalgebra-0.21 (package @@ -38402,8 +38606,37 @@ Rust.") (description "Numeric syntax extensions in Rust.") (license (list license:expat license:asl2.0)))) +(define-public rust-num-enum-0.5 + (package + (name "rust-num-enum") + (version "0.5.7") + (source + (origin + (method url-fetch) + (uri (crate-uri "num_enum" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1j8rq7i4xnbzy72z82k41469xlj1bmn4ixagd9wlbvv2ark9alyg")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #false ;missing files + #:cargo-inputs + (("rust-num-enum-derive" ,rust-num-enum-derive-0.5)) + #:cargo-development-inputs + (("rust-anyhow" ,rust-anyhow-1) + ("rust-rustversion" ,rust-rustversion-1) + ("rust-trybuild" ,rust-trybuild-1) + ("rust-walkdir" ,rust-walkdir-2)))) + (home-page "https://github.com/illicitonion/num_enum") + (synopsis "Macros easing inter-operation between primitives and enums") + (description + "This library provides procedural macros to make inter-operation between +primitives and enums easier.") + (license (list license:bsd-3 license:expat license:asl2.0)))) + (define-public rust-num-enum-0.4 (package + (inherit rust-num-enum-0.5) (name "rust-num-enum") (version "0.4.3") (source @@ -38420,15 +38653,37 @@ Rust.") (("rust-derivative" ,rust-derivative-2) ("rust-num-enum" ,rust-num-enum-0.4) ("rust-num-enum-derive" ,rust-num-enum-derive-0.4)))) + (license license:bsd-3))) + +(define-public rust-num-enum-derive-0.5 + (package + (name "rust-num-enum-derive") + (version "0.5.7") + (source + (origin + (method url-fetch) + (uri (crate-uri "num_enum_derive" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1kj6b8f2fx8prlcl6y1k97668s5aiia4f9gjlk0nmpak3rj9h11v")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ;FIXME: some doc tests fail + #:cargo-inputs + (("rust-proc-macro-crate" ,rust-proc-macro-crate-1) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) (home-page "https://github.com/illicitonion/num_enum") - (synopsis "Macros easing inter-operation between primitives and enums") + (synopsis "Procedural macros to ease operation between primitives and enums") (description - "This library provides procedural macros to make inter-operation between + "This package provides procedural macros to make inter-operation between primitives and enums easier.") (license license:bsd-3))) (define-public rust-num-enum-derive-0.4 (package + (inherit rust-num-enum-derive-0.5) (name "rust-num-enum-derive") (version "0.4.3") (source @@ -38445,13 +38700,7 @@ primitives and enums easier.") (("rust-proc-macro-crate" ,rust-proc-macro-crate-0.1) ("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quote" ,rust-quote-1) - ("rust-syn" ,rust-syn-1)))) - (home-page "https://github.com/illicitonion/num_enum") - (synopsis "Procedural macros to ease operation between primitives and enums") - (description - "This package provides procedural macros to make inter-operation between -primitives and enums easier.") - (license license:bsd-3))) + ("rust-syn" ,rust-syn-1)))))) (define-public rust-num-format-0.4 (package @@ -47948,19 +48197,18 @@ Rust.") (description "This package provides core APIs for Rayon.") (license (list license:asl2.0 license:expat)))) -(define-public rust-rctree-0.3 +(define-public rust-rctree-0.4 (package (name "rust-rctree") - (version "0.3.3") + (version "0.4.0") (source (origin (method url-fetch) (uri (crate-uri "rctree" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1a54z2b850albiqx9vw009p9xg363vqzh1ybkwb89zn8375jk7my")))) + "1s92472lniqn2c0b5ln8ssl014x0raiyzkk0hagrvsd6far2iq4s")))) (build-system cargo-build-system) (home-page "https://github.com/RazrFalcon/rctree") (synopsis "DOM-like tree implemented using reference counting") @@ -47968,6 +48216,20 @@ Rust.") reference counting.") (license license:expat))) +(define-public rust-rctree-0.3 + (package + (inherit rust-rctree-0.4) + (name "rust-rctree") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "rctree" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1a54z2b850albiqx9vw009p9xg363vqzh1ybkwb89zn8375jk7my")))))) + (define-public rust-rdrand-0.4 (package (name "rust-rdrand") @@ -52530,8 +52792,31 @@ computation (experimental)") cipher.") (license (list license:expat license:asl2.0)))) +(define-public rust-safe-arch-0.6 + (package + (name "rust-safe-arch") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "safe_arch" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0ad5ykwgq9ll1ymp83d9cayzj8q191rik71ga5wzkndhrkj22j3r")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bytemuck" ,rust-bytemuck-1)))) + (home-page "https://github.com/Lokathor/safe_arch") + (synopsis "Access core::arch safely") + (description "This package exposes @code{core::arch} safely via +@code{#[cfg()]}.") + (license (list license:zlib license:asl2.0 license:expat)))) + + (define-public rust-safe-arch-0.5 (package + (inherit rust-safe-arch-0.6) (name "rust-safe-arch") (version "0.5.2") (source @@ -52541,16 +52826,10 @@ cipher.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "01ffy9aw9v1n4bcwl525zw3gnh18jk7aq38iqcn51bwnjrnkvzy1")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-bytemuck" ,rust-bytemuck-1)))) - (home-page "https://github.com/Lokathor/safe_arch") - (synopsis "Access core::arch safely") - (description "This package exposes @code{core::arch} safely via -@code{#[cfg()]}.") - (license (list license:zlib license:asl2.0 license:expat)))) + (("rust-bytemuck" ,rust-bytemuck-1)))))) (define-public rust-safemem-0.3 (package @@ -53740,8 +54019,39 @@ macOS and iOS.") (("rust-core-foundation-sys" ,rust-core-foundation-sys-0.2) ("rust-libc" ,rust-libc-0.2)))))) +(define-public rust-selectors-0.23 + (package + (name "rust-selectors") + (version "0.23.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "selectors" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "17w7slv2bkksvbq6pggx3db23vh1g022hxv06smilwmyhv38gspx")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-cssparser" ,rust-cssparser-0.28) + ("rust-derive-more" ,rust-derive-more-0.99) + ("rust-fxhash" ,rust-fxhash-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-phf" ,rust-phf-0.8) + ("rust-phf-codegen" ,rust-phf-codegen-0.8) + ("rust-precomputed-hash" ,rust-precomputed-hash-0.1) + ("rust-servo-arc" ,rust-servo-arc-0.1) + ("rust-smallvec" ,rust-smallvec-1)))) + (home-page "https://github.com/servo/servo") + (synopsis "CSS Selectors matching for Rust") + (description "This package provides CSS Selectors matching for Rust.") + (license license:mpl2.0))) + (define-public rust-selectors-0.22 (package + (inherit rust-selectors-0.23) (name "rust-selectors") (version "0.22.0") (source @@ -53768,11 +54078,7 @@ macOS and iOS.") ("rust-smallvec" ,rust-smallvec-1) ("rust-thin-slice" ,rust-thin-slice-0.1)) #:cargo-development-inputs - (("rust-phf-codegen" ,rust-phf-codegen-0.8)))) - (home-page "https://github.com/servo/servo") - (synopsis "CSS Selectors matching for Rust") - (description "This package provides CSS Selectors matching for Rust.") - (license license:mpl2.0))) + (("rust-phf-codegen" ,rust-phf-codegen-0.8)))))) (define-public rust-selectors-0.21 (package @@ -55067,8 +55373,35 @@ for later processing.") (description "This package provides YAML support for Serde.") (license (list license:expat license:asl2.0)))) +(define-public rust-serial-test-0.6 + (package + (name "rust-serial-test") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "serial-test" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "05gcah6s133r44y4z5qskx7prs1vjlzgv06h4l2xb8gp30fw9g75")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-document-features" ,rust-document-features-0.2) + ("rust-fslock" ,rust-fslock-0.2) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-parking-lot" ,rust-parking-lot-0.11) + ("rust-serial-test-derive" ,rust-serial-test-derive-0.6)))) + (home-page "https://github.com/palfrey/serial_test") + (synopsis "Allows for the creation of serialised Rust tests") + (description + "This package allows for the creation of serialised Rust tests.") + (license license:expat))) + (define-public rust-serial-test-0.5 (package + (inherit rust-serial-test-0.6) (name "rust-serial-test") (version "0.5.1") (source @@ -55079,17 +55412,11 @@ for later processing.") (string-append name "-" version ".tar.gz")) (sha256 (base32 "0pchc7imdi9wv8xxnwkb9lzs6cg06ghs0gaajjb834y8837wpg70")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-lazy-static" ,rust-lazy-static-1) ("rust-parking-lot" ,rust-parking-lot-0.11) - ("rust-serial-test-derive" ,rust-serial-test-derive-0.5)))) - (home-page "https://github.com/palfrey/serial_test") - (synopsis "Allows for the creation of serialised Rust tests") - (description - "This package allows for the creation of serialised Rust tests.") - (license license:expat))) + ("rust-serial-test-derive" ,rust-serial-test-derive-0.5)))))) (define-public rust-serial-test-0.1 (package @@ -55109,8 +55436,37 @@ for later processing.") `(#:cargo-inputs (("rust-lazy-static" ,rust-lazy-static-1)))))) +(define-public rust-serial-test-derive-0.6 + (package + (name "rust-serial-test-derive") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "serial_test_derive" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1s6aj2bs0rr8hnralx16bvbqlbrihmii7cyplggk5yv0gp6vr098")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro-error" ,rust-proc-macro-error-1) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-rustversion" ,rust-rustversion-1) + ("rust-syn" ,rust-syn-1)) + #:cargo-development-inputs + (("rust-env-logger" ,rust-env-logger-0.7) + ("rust-trybuild" ,rust-trybuild-1)))) + (home-page "https://github.com/palfrey/serial_test") + (synopsis "Helper crate for serial_test") + (description + "This package is an helper crate for @code{rust-serial-test}.") + (license license:expat))) + (define-public rust-serial-test-derive-0.5 (package + (inherit rust-serial-test-derive-0.6) (name "rust-serial-test-derive") (version "0.5.1") (source @@ -55120,19 +55476,13 @@ for later processing.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1m8sd97xr8dn6p9by0xwfqm0rz8cbn1ghs5l1fv1xd6xzvgddb5j")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quote" ,rust-quote-1) ("rust-syn" ,rust-syn-1)) #:cargo-development-inputs - (("rust-env-logger" ,rust-env-logger-0.7)))) - (home-page "https://github.com/palfrey/serial_test") - (synopsis "Helper crate for serial_test") - (description - "This package is an helper crate for @code{rust-serial-test}.") - (license license:expat))) + (("rust-env-logger" ,rust-env-logger-0.7)))))) (define-public rust-serial-test-derive-0.1 (package @@ -56239,32 +56589,33 @@ It's not intended to be used directly. See the signature crate's documentation for additional details.") (license (list license:asl2.0 license:expat)))) -(define-public rust-simba-0.1 +(define-public rust-simba-0.6 (package (name "rust-simba") - (version "0.1.5") + (version "0.6.0") (source (origin (method url-fetch) (uri (crate-uri "simba" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1chz3abrvrj4qz86gwrrzajsl5zcc2l0dhxi39mymbgscw9ip4zv")))) + "0px0nncs3ki86pjcldz40mhvraywh7y9jypfcqqdcihs287q9dzh")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-approx" ,rust-approx-0.3) + (("rust-approx" ,rust-approx-0.5) ("rust-cordic" ,rust-cordic-0.1) ("rust-decimal" ,rust-decimal-2) ("rust-fixed" ,rust-fixed-1) - ("rust-num-complex" ,rust-num-complex-0.2) + ("rust-libm" ,rust-libm-0.2) + ("rust-num-complex" ,rust-num-complex-0.4) ("rust-num-traits" ,rust-num-traits-0.2) ("rust-packed-simd" ,rust-packed-simd-0.3) - ("rust-paste" ,rust-paste-0.1) - ("rust-rand" ,rust-rand-0.7) - ("rust-wide" ,rust-wide-0.4)))) + ("rust-paste" ,rust-paste-1) + ("rust-rand" ,rust-rand-0.8) + ("rust-serde" ,rust-serde-1) + ("rust-wide" ,rust-wide-0.7)))) (home-page "https://github.com/dimforge/simba") (synopsis "SIMD algebra for Rust") (description "This package provides a set of mathematical traits to @@ -56274,7 +56625,7 @@ pattern in Rust.") (define-public rust-simba-0.5 (package - (inherit rust-simba-0.1) + (inherit rust-simba-0.6) (name "rust-simba") (version "0.5.1") (source @@ -56284,7 +56635,6 @@ pattern in Rust.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0p1x1ndajy4j3dr9zbh79cz5k0hbj4p9bagd7cj00gc5aws0d0lf")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -56299,12 +56649,11 @@ pattern in Rust.") ("rust-paste" ,rust-paste-1) ("rust-rand" ,rust-rand-0.8) ("rust-serde" ,rust-serde-1) - ("rust-wide" ,rust-wide-0.6)))) - (license license:asl2.0))) + ("rust-wide" ,rust-wide-0.6)))))) (define-public rust-simba-0.4 (package - (inherit rust-simba-0.1) + (inherit rust-simba-0.5) (name "rust-simba") (version "0.4.0") (source @@ -56331,6 +56680,34 @@ pattern in Rust.") ("rust-wide" ,rust-wide-0.6)))) (license license:asl2.0))) +(define-public rust-simba-0.1 + (package + (inherit rust-simba-0.4) + (name "rust-simba") + (version "0.1.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "simba" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1chz3abrvrj4qz86gwrrzajsl5zcc2l0dhxi39mymbgscw9ip4zv")))) + (arguments + `(#:cargo-inputs + (("rust-approx" ,rust-approx-0.3) + ("rust-cordic" ,rust-cordic-0.1) + ("rust-decimal" ,rust-decimal-2) + ("rust-fixed" ,rust-fixed-1) + ("rust-num-complex" ,rust-num-complex-0.2) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-packed-simd" ,rust-packed-simd-0.3) + ("rust-paste" ,rust-paste-0.1) + ("rust-rand" ,rust-rand-0.7) + ("rust-wide" ,rust-wide-0.4)))) + (license license:bsd-3))) + (define-public rust-simd-0.2 (package (name "rust-simd") @@ -56383,6 +56760,33 @@ CPUs, as well as raw interfaces to platform-specific instructions. #:cargo-development-inputs (("rust-cfg-if" ,rust-cfg-if-0.1)))))) +(define-public rust-simd-adler32-0.3 + (package + (name "rust-simd-adler32") + (version "0.3.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "simd-adler32" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "060b9v15s3miq06582cj2ywam92ph6xs34s62mc8az3xc4wxz98l")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-adler" ,rust-adler-1) + ("rust-adler32" ,rust-adler32-1) + ("rust-criterion" ,rust-criterion-0.3) + ("rust-rand" ,rust-rand-0.8)))) + (home-page "https://github.com/mcountryman/simd-adler32") + (synopsis + "Adler-32 rolling hash algorithm implementation") + (description + "This package provides a SIMD-accelerated Adler-32 rolling hash algorithm +implementation in Rust.") + (license license:expat))) + (define-public rust-simd-helpers-0.1 (package (name "rust-simd-helpers") @@ -56475,6 +56879,32 @@ extensions.") (description "This package provides a diff library for Rust.") (license license:asl2.0))) +(define-public rust-similar-asserts-1 + (package + (name "rust-similar-asserts") + (version "1.2.0") + (source (origin + (method url-fetch) + (uri (crate-uri "similar-asserts" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1789db0fm85p4zvy44b2jwdjgw6h2b51bi133kak2l1pl8qzbjb4")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-console" ,rust-console-0.15) + ("rust-serde" ,rust-serde-1) + ("rust-similar" ,rust-similar-2)) + #:cargo-development-inputs + (("rust-serde" ,rust-serde-1)))) + (home-page "https://github.com/mitsuhiko/similar-asserts") + (synopsis "Asserts macros with colorized diff output") + (description + "This crate provides @code{assert_eq!}-like macros with colorized +diff output.") + (license license:asl2.0))) + (define-public rust-simplelog-0.11 (package (name "rust-simplelog") @@ -61034,8 +61464,28 @@ without a mutable reference.") (description "This package lets you temporarily take a T from a &mut T.") (license license:expat))) +(define-public rust-takeable-option-0.5 + (package + (name "rust-takeable-option") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "takeable-option" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "182axkm8pq7cynsfn65ar817mmdhayrjmbl371yqp8zyzhr8kbin")))) + (build-system cargo-build-system) + (home-page "https://docs.rs/takeable-option/") + (synopsis "Small wrapper around option") + (description + "This package provides a small wrapper around option.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-takeable-option-0.4 (package + (inherit rust-takeable-option-0.5) (name "rust-takeable-option") (version "0.4.0") (source @@ -61046,13 +61496,7 @@ without a mutable reference.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0hvd6vk4ksgg2y99498jw52ric4lxm0i6ygpzqm95gdrhvsxyynp")))) - (build-system cargo-build-system) - (home-page "https://docs.rs/takeable-option/") - (synopsis "Small wrapper around option") - (description - "This package provides a small wrapper around option.") - (license (list license:asl2.0 license:expat)))) + "0hvd6vk4ksgg2y99498jw52ric4lxm0i6ygpzqm95gdrhvsxyynp")))))) (define-public rust-tap-1 (package @@ -62459,6 +62903,33 @@ into mod, giving clear and readable test results.") for TLS).") (license (list license:expat license:asl2.0)))) +(define-public rust-test-generator-0.3 + (package + (name "rust-test-generator") + (version "0.3.0") + (source (origin + (method url-fetch) + (uri (crate-uri "test-generator" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1h03y4503jhhrks4m7xqfjya9lsx3ip5dlbldr7mgcws6j8bx5za")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-glob" ,rust-glob-0.3) + ("rust-proc-macro2" ,rust-proc-macro2-0.4) + ("rust-quote" ,rust-quote-0.6) + ("rust-syn" ,rust-syn-0.15)))) + (home-page "https://github.com/frehberg/test-generator") + (synopsis "Generate parameterized tests from different input parameters") + (description + "This crate provides @code{#[test_resources]} and @code{#[bench_resources]} +procedural macro attributes that generates multiple parameterized tests using +one body with different resource input parameters. A test is generated for +each resource matching the specific resource location pattern.") + (license license:asl2.0))) + (define-public rust-tester-0.5 (package (name "rust-tester") @@ -69220,8 +69691,28 @@ If that fails, no determination is made, and calls return None.") (base32 "1pf91pvj8n6akh7w6j5ypka6aqz08b3qpzgs0ak2kjf4frkiljwi")))))) +(define-public rust-version-compare-0.1 + (package + (name "rust-version-compare") + (version "0.1.0") + (source (origin + (method url-fetch) + (uri (crate-uri "version-compare" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0wyasmnqqngvm54x0gsxbwpxznvn747jkp0dx1nnppy1j9xj927y")))) + (build-system cargo-build-system) + (home-page "https://github.com/timvisee/version-compare") + (synopsis "Rust library to easily compare version numbers") + (description + "This package provides a Rust library to easily compare version +numbers, and test them against various comparison operators.") + (license license:expat))) + (define-public rust-version-compare-0.0.11 (package + (inherit rust-version-compare-0.1) (name "rust-version-compare") (version "0.0.11") (source @@ -69231,14 +69722,7 @@ If that fails, no determination is made, and calls return None.") (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "06v688jg6gd00zvm3cp7qh2h3mz8cs2ngr09bnwxhyddxrcwh60w")))) - (build-system cargo-build-system) - (home-page "https://github.com/timvisee/version-compare") - (synopsis "Rust library to easily compare version numbers") - (description - "This package provides a Rust library to easily compare version -numbers, and test them against various comparison operators.") - (license license:expat))) + (base32 "06v688jg6gd00zvm3cp7qh2h3mz8cs2ngr09bnwxhyddxrcwh60w")))))) (define-public rust-version-compare-0.0 rust-version-compare-0.0.11) @@ -70826,8 +71310,53 @@ It locates installed executable in cross platforms.") environment.") (license (list license:expat license:boost1.0)))) +(define-public rust-wide-0.7 + (package + (name "rust-wide") + (version "0.7.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "wide" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0psw31mh21cn4w7i0klsz7law8p8iddsqir8x35cf6n3vb8s5axk")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bytemuck" ,rust-bytemuck-1) + ("rust-safe-arch" ,rust-safe-arch-0.6)))) + (home-page "https://github.com/Lokathor/wide") + (synopsis "Rust for wide blocks") + (description "This crate has data types for blocks of primitives packed +together and used as a single unit. This works very well with SIMD/vector +hardware of various targets. Both in terms of explicit SIMD usage and also in +terms of allowing LLVM's auto-vectorizer to do its job.") + (license (list license:zlib license:asl2.0 license:expat)))) + +(define-public rust-wide-0.6 + (package + (inherit rust-wide-0.7) + (name "rust-wide") + (version "0.6.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "wide" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "16yqf8xsvns21clg3rk8nljq4qnsfqg240smbjqa0z520k3fgfs6")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bytemuck" ,rust-bytemuck-1) + ("rust-safe-arch" ,rust-safe-arch-0.5)))))) + (define-public rust-wide-0.4 (package + (inherit rust-wide-0.6) (name "rust-wide") (version "0.4.6") (source @@ -70843,32 +71372,7 @@ environment.") (arguments `(#:cargo-inputs (("rust-bytemuck" ,rust-bytemuck-1)))) - (home-page "https://github.com/Lokathor/wide") - (synopsis "Rust for wide blocks") - (description "This crate has data types for blocks of primitives packed -together and used as a single unit. This works very well with SIMD/vector -hardware of various targets. Both in terms of explicit SIMD usage and also in -terms of allowing LLVM's auto-vectorizer to do its job.") - (license license:zlib))) - -(define-public rust-wide-0.6 - (package - (inherit rust-wide-0.4) - (name "rust-wide") - (version "0.6.5") - (source - (origin - (method url-fetch) - (uri (crate-uri "wide" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "16yqf8xsvns21clg3rk8nljq4qnsfqg240smbjqa0z520k3fgfs6")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-bytemuck" ,rust-bytemuck-1) - ("rust-safe-arch" ,rust-safe-arch-0.5)))) - (license (list license:zlib license:asl2.0 license:expat)))) + (license (list license:zlib)))) (define-public rust-widestring-0.4 (package @@ -71971,6 +72475,35 @@ Read/Write streams as well as low-level in-memory encoding and decoding.") library.") (license (list license:expat license:asl2.0)))) +(define-public rust-yeslogic-fontconfig-sys-3 + (package + (name "rust-yeslogic-fontconfig-sys") + (version "3.2.0") + (source (origin + (method url-fetch) + (uri (crate-uri "yeslogic-fontconfig-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "11n3126s717rjqxhf5js3hc0qq8qv7jbicbiyszyp5yk6s8ddfzj")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-const-cstr" ,rust-const-cstr-0.3) + ("rust-dlib" ,rust-dlib-0.5) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-pkg-config" ,rust-pkg-config-0.3)))) + (native-inputs + (list pkg-config)) + (inputs + (list fontconfig)) + (home-page "https://github.com/yeslogic/fontconfig-rs") + (synopsis "Raw bindings to Fontconfig without a vendored C library") + (description + "This package provides a wrapper around the @code{Fontconfig} library, +for locating fonts.") + (license license:expat))) + (define-public rust-zbase32-0.1 (package (name "rust-zbase32") diff --git a/gnu/packages/datamash.scm b/gnu/packages/datamash.scm index 4ce1dbda7d..ac5094935a 100644 --- a/gnu/packages/datamash.scm +++ b/gnu/packages/datamash.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2018 Eric Bavier -;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner +;;; Copyright © 2016-2020, 2022 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -35,7 +35,7 @@ (define-public datamash (package (name "datamash") - (version "1.7") + (version "1.8") (source (origin (method url-fetch) @@ -43,7 +43,7 @@ version ".tar.gz")) (sha256 (base32 - "1cxdlhgz3wzjqlq8bgwad93fgqymk2abbldfzw1ffnhcp4mmjjjp")))) + "1zgn55gvf60w2rs5f7vx7vdp50j89ki7mmjvm81xs5pngs67xnbs")))) (native-inputs (list which ;for tests perl)) ;for help2man diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 47b15e588f..90035f7255 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -1401,7 +1401,7 @@ wrapper for disk usage querying and visualisation.") (define-public qdirstat (package (name "qdirstat") - (version "1.8") + (version "1.8.1") (source (origin (method git-fetch) (uri (git-reference @@ -1410,7 +1410,7 @@ wrapper for disk usage querying and visualisation.") (file-name (git-file-name name version)) (sha256 (base32 - "079rmy3j0442y5gjh6la6w1j6jaw83wklamrf19yxi20zsm99xs7")))) + "04vpdlwk01kgmc4r5rnrmrgd4sf2kfh1rjzb2rjkfxdd4pbghsy9")))) (arguments `(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index aa10b96fdf..a6521eafb5 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -333,14 +333,14 @@ and BOOTP/TFTP for network booting of diskless machines.") ;; When updating, check whether isc-dhcp's bundled copy should be as well. ;; The BIND release notes are available here: ;; https://www.isc.org/bind/ - (version "9.16.30") + (version "9.16.31") (source (origin (method url-fetch) (uri (string-append "https://ftp.isc.org/isc/bind9/" version "/bind-" version ".tar.xz")) (sha256 - (base32 "1nv02apqpqk7mi1330jgsacpplhgnkx6mba5nmbsx1x72gqc77q0")) + (base32 "1yvwdvcyy996p50j7nr4b010w16jjj5czw15g87wf1dn6xncp8lc")) (patches (search-patches "bind-re-add-attr-constructor-priority.patch")))) (build-system gnu-build-system) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 312cb58b28..702378c206 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -5758,7 +5758,7 @@ keywords and smart indentation.") (define-public emacs-robot-log (package (name "emacs-robot-log") - (version "0.1.3") + (version "0.1.4") (source (origin (method git-fetch) (uri (git-reference @@ -5767,7 +5767,7 @@ keywords and smart indentation.") (file-name (git-file-name name version)) (sha256 (base32 - "0pv0kljx2n2n7ql6rfw1x63mbd1k2qwbq3zkw452lb8jmnp7dr3y")))) + "1l9yxryrhvylh2x17cczd8v8978w1nv8173d4l9hv0cr26kp5b68")))) (build-system emacs-build-system) (native-inputs (list python-robotframework)) (arguments (list #:tests? #t)) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 6eefd14d7e..bf32187dde 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -2791,13 +2791,13 @@ program that can perform mesh processing tasks in batch mode, without a GUI.") (define-public poke (package (name "poke") - (version "2.3") + (version "2.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/poke/poke-" version ".tar.gz")) (sha256 - (base32 "0rn7ph7fvbwasf7jhai122sniqjkw81p0kvbxjlv6z6s2q8wz41n")) + (base32 "0ivfzslpdy0n9wcdjyascnqczppaxcq0x4x6hblqqwy62xcjh7l4")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index a792bd8700..c6063c42c4 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -1478,13 +1478,13 @@ compatible directories.") (define-public python-dropbox (package (name "python-dropbox") - (version "11.25.0") + (version "11.33.0") (source (origin (method url-fetch) (uri (pypi-uri "dropbox" version)) (sha256 - (base32 "0vq9c2hp2amsxr2ys2mlgqp6a8hxmvrcwav70ri7wjzalfs32gj6")))) + (base32 "1hd9gprvcr6h0p8fxhynf97qf6799whfpsmr73g619392598nqvw")))) (build-system python-build-system) (arguments '(#:tests? #f)) ; Tests require a network connection. (native-inputs @@ -1500,7 +1500,7 @@ Dropbox API v2.") (define-public dbxfs (package (name "dbxfs") - (version "1.0.51") + (version "1.0.63") (source (origin ;; Release tarball contains files not in git repository. @@ -1511,7 +1511,7 @@ Dropbox API v2.") (file-name (git-file-name name version)) (sha256 (base32 - "0bidb1gg5lqa1561f20qnj7gy323q65qwzfrb8h8gs6dsl3g6yfg")) + "1vzfhw3z2r0rb6s0qdzirh3pl7rv1z8xmxa0z5h7h1wqhpl05ai7")) (patches (search-patches "dbxfs-remove-sentry-sdk.patch")))) (build-system python-build-system) (arguments diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 44b050795d..ce4709773d 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2017 Rene Saavedra ;;; Copyright © 2017 Leo Famulari ;;; Copyright © 2017 Nikita -;;; Copyright © 2017, 2018, 2020, 2021 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018, 2020–2022 Tobias Geerinckx-Rice ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2018, 2019, 2020, 2021 Ludovic Courtès ;;; Copyright © 2019, 2020 Marius Bakke @@ -460,7 +460,18 @@ implementing the pen protocol for manipulating glyphs.") (arguments (substitute-keyword-arguments (package-arguments python-fontpens-bootstrap) ((#:tests? _ #f) - #t))) + #t) + ((#:phases phases #~%standard-phases) + #~(modify-phases #$phases + (add-after 'unpack 'drop-flaky-docstring + ;; XXX This assertion fails on certain (Intel?) machines, but not + ;; others (AMD?), so we can't patch in a ‘correct’ value. Just + ;; drop it until the proper fix lands upstream. Reported there + ;; as . + (lambda _ + (substitute* "Lib/fontPens/penTools.py" + ((".*\\(\\(0, 0), \\(50, 20), \\(100, 40)).*") "") + ((".*107\\.70329614269009.*") "")))))))) (native-inputs (modify-inputs (package-native-inputs python-fontpens-bootstrap) (append python-fontparts-bootstrap diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index c0e8114c93..100e7ace9f 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -1550,6 +1550,8 @@ broadband (2G/3G/4G) devices and connections. Whether built-in devices, USB dongles, bluetooth-paired telephones, or professional RS232/USB devices with external power supplies, ModemManager is able to prepare and configure the modems and setup connections with them.") + (properties + '((upstream-name . "ModemManager"))) (license license:gpl2+))) (define-public telepathy-logger diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 96ec260dec..55fbe583ef 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -21,7 +21,7 @@ ;;; Copyright © 2016 Alex Griffin ;;; Copyright © 2016, 2017 Nikita ;;; Copyright © 2016 David Craven -;;; Copyright © 2016–2021 Tobias Geerinckx-Rice +;;; Copyright © 2016–2022 Tobias Geerinckx-Rice ;;; Copyright © 2017 Thomas Danckaert ;;; Copyright © 2017 Hartmut Goebel ;;; Copyright © 2017, 2018 nee @@ -1846,7 +1846,7 @@ either on a local, or remote machine via a number of methods.") (define-public gnome-commander (package (name "gnome-commander") - (version "1.14.2") + (version "1.14.3") (source (origin (method url-fetch) @@ -1854,7 +1854,7 @@ either on a local, or remote machine via a number of methods.") (version-major+minor version) "/" "gnome-commander-" version ".tar.xz")) (sha256 - (base32 "1s8fdwp0z1smzkwrsvssp9g3yak6z4cdk0qx0c4qmwca9z9fyy0k")))) + (base32 "0yzx9slg632iflw9p96nlh9i50dhacq7hrzpkj8b48mr1zkxrn3q")))) (build-system glib-or-gtk-build-system) (native-inputs (list desktop-file-utils diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 4579a3f8a6..394fd7ddc8 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -366,8 +366,8 @@ in C/C++.") ;; XXXX: Workaround 'snippet' limitations. (define computed-origin-method (@@ (guix packages) computed-origin-method)) -(define %icecat-version "91.11.0-guix0-preview1") -(define %icecat-build-id "20220628000000") ;must be of the form YYYYMMDDhhmmss +(define %icecat-version "91.12.0-guix0-preview1") +(define %icecat-build-id "20220726000000") ;must be of the form YYYYMMDDhhmmss ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat' @@ -389,11 +389,11 @@ in C/C++.") "firefox-" upstream-firefox-version ".source.tar.xz")) (sha256 (base32 - "1905595fsydd8q4bqxsp5gb4h9s47qjj90wjrqv4ky8yxs9bx6z5")))) + "0p1bhc1qla4a7iqk0fc6sj224ld6wplpmj4yw6nfx1b8hbqqy2vc")))) - (upstream-icecat-base-version "91.11.0") ; maybe older than base-version + (upstream-icecat-base-version "91.12.0") ; maybe older than base-version ;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version)) - (gnuzilla-commit "65a61287a5142a9403ec00d973cb5e5d658a3c71") + (gnuzilla-commit "298024d727053a1609df4003fb4438836d5181f4") (gnuzilla-source (origin (method git-fetch) @@ -405,7 +405,7 @@ in C/C++.") (string-take gnuzilla-commit 8))) (sha256 (base32 - "02mg7vg0bv5lxkdg86z18mf43rx7sh5i2w69lnirr8zqcrr5yd48")))) + "1lgz6knklxbrqr1vaj9d0y0997f4f6v44a8cng8ihkmn7aa7lvwg")))) ;; 'search-patch' returns either a valid file name or #f, so wrap it ;; in 'assume-valid-file-name' to avoid 'local-file' warnings. diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index ea510142f8..be466b1cc3 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021, 2022 Efraim Flashner ;;; Copyright © 2016–2022 Tobias Geerinckx-Rice ;;; Copyright © 2016 Eric Bavier -;;; Copyright © 2016, 2017, 2020, 2021 Arun Isaac +;;; Copyright © 2016, 2017, 2020, 2021, 2022 Arun Isaac ;;; Copyright © 2016, 2017 Kei Kebreau ;;; Copyright © 2017 Nikita ;;; Copyright © 2017,2019,2020 Hartmut Goebel @@ -55,6 +55,7 @@ #:use-module (gnu packages assembly) #:use-module (gnu packages autotools) #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages boost) #:use-module (gnu packages check) #:use-module (gnu packages cmake) @@ -2380,7 +2381,7 @@ Wacom-style graphics tablets.") (define-public phockup (package (name "phockup") - (version "1.7.1") + (version "1.9.0") (source (origin (method git-fetch) @@ -2390,7 +2391,7 @@ Wacom-style graphics tablets.") (file-name (git-file-name name version)) (sha256 (base32 - "0nqd89g4ppwc96gxyh9npain7ipnzj66p6n3irsvhrpi4k54h388")))) + "1xs2h3nj19wsfffl87akinx14drk5nn2svjwyj0csv10apk0q4pp")))) (build-system copy-build-system) (arguments `(#:install-plan '(("src" "share/phockup/") @@ -2400,8 +2401,8 @@ Wacom-style graphics tablets.") (add-after 'unpack 'configure (lambda* (#:key inputs #:allow-other-keys) (substitute* (list "src/dependency.py" "src/exif.py") - (("exiftool") - (search-input-file inputs "/bin/exiftool"))))) + (("'exiftool'") + (string-append "'" (search-input-file inputs "/bin/exiftool") "'"))))) (add-before 'install 'check (lambda _ (invoke "pytest"))) @@ -2419,7 +2420,7 @@ Wacom-style graphics tablets.") ,(search-path-as-string->list (getenv "GUIX_PYTHONPATH")))))))))) (inputs - (list perl-image-exiftool python python-tqdm)) + (list bash-minimal perl-image-exiftool python python-tqdm)) (native-inputs (list python-pytest python-pytest-mock)) (home-page "https://github.com/ivandokov/phockup") diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm index 45cc2cda0d..8a5967f7b4 100644 --- a/gnu/packages/libusb.scm +++ b/gnu/packages/libusb.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Theodoros Foradis ;;; Copyright © 2017 Jonathan Brielmaier -;;; Copyright © 2018, 2020, 2021 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2020–2022 Tobias Geerinckx-Rice ;;; Copyright © 2018 Vagrant Cascadian ;;; Copyright © 2020 Marius Bakke ;;; Copyright © 2020 Christopher Howard @@ -28,6 +28,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages libusb) + #:use-module (guix gexp) #:use-module (gnu packages) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) @@ -471,14 +472,14 @@ over USB.") (define-public libmtp (package (name "libmtp") - (version "1.1.19") + (version "1.1.20") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/libmtp/libmtp/" version "/libmtp-" version ".tar.gz")) (sha256 (base32 - "0a1jlf5b2c2vylkvdd3cxjs20a96jlbrdyx7rwai5rzmcdpszd6y")))) + "1l2npk3b5v9cxhs2g01w3b13mxvin881cr085r0cyi2p5yn1s6f9")))) (build-system gnu-build-system) (native-inputs (list pkg-config)) @@ -488,11 +489,9 @@ over USB.") ;; libmtp.pc refers to all these. (list libusb)) (arguments - `(#:configure-flags - (list "--disable-static" - (string-append "--with-udev=" - (assoc-ref %outputs "out") - "/lib/udev")))) + (list #:configure-flags + #~(list "--disable-static" + (string-append "--with-udev=" #$output "/lib/udev")))) (home-page "http://libmtp.sourceforge.net/") (synopsis "Library implementing the Media Transfer Protocol") (description "Libmtp implements an MTP (Media Transfer Protocol) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 3efbb1e2d0..051bf9eeaa 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -352,7 +352,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The current "stable" kernels. That is, the most recently released major ;; versions that are still supported upstream. -(define-public linux-libre-5.18-version "5.18.12") +(define-public linux-libre-5.18-version "5.18.14") (define-public linux-libre-5.18-gnu-revision "gnu") (define deblob-scripts-5.18 (linux-libre-deblob-scripts @@ -362,7 +362,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0vjpn8iw9yg39sr6jfhzyvivf159h9zfgnjamwa283zfll0h0a53"))) (define-public linux-libre-5.18-pristine-source (let ((version linux-libre-5.18-version) - (hash (base32 "09wmgfrnv1df6jg9v3svwhvnxl0j6h4f240p903xlmgj884lvds0"))) + (hash (base32 "1bsnk2rskdkimciij5q3hjs00lc7ks1h1qh9kc4s7lrk252lczg1"))) (make-linux-libre-source version (%upstream-linux-source version hash) @@ -371,7 +371,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The "longterm" kernels — the older releases with long-term upstream support. ;; Here are the support timelines: ;; -(define-public linux-libre-5.15-version "5.15.55") +(define-public linux-libre-5.15-version "5.15.57") (define-public linux-libre-5.15-gnu-revision "gnu") (define deblob-scripts-5.15 (linux-libre-deblob-scripts @@ -381,12 +381,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "129qlhwdv2mfb85gbvq03kkbdfp73b444rryr4rrbvi0jmq4cp24"))) (define-public linux-libre-5.15-pristine-source (let ((version linux-libre-5.15-version) - (hash (base32 "1k7x7fp675wglfd357n7hjidnm3j8zj3gcymyazg6fkcid8bvxhy"))) + (hash (base32 "1zgh43pgn8fsyxzksfw6llxqw6fc8qassfn9a18k2xn83xd0kqv2"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.15))) -(define-public linux-libre-5.10-version "5.10.131") +(define-public linux-libre-5.10-version "5.10.133") (define-public linux-libre-5.10-gnu-revision "gnu1") (define deblob-scripts-5.10 (linux-libre-deblob-scripts @@ -396,12 +396,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1981axxswghza3iadp94q54y8w30h9w9vyq4cbjiiv9alvbv0pb8"))) (define-public linux-libre-5.10-pristine-source (let ((version linux-libre-5.10-version) - (hash (base32 "1ki11mvl3dky7iih90znr47vr66dxnlwrqwg2jkk1hqn5i243i4b"))) + (hash (base32 "03i84g3pfh24f10zsdyyqyv9fhy01ah9lk02y48hqwnabdylqp1v"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.10))) -(define-public linux-libre-5.4-version "5.4.206") +(define-public linux-libre-5.4-version "5.4.207") (define-public linux-libre-5.4-gnu-revision "gnu1") (define deblob-scripts-5.4 (linux-libre-deblob-scripts @@ -411,12 +411,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1vnjbdyssa7dwyjl9kg35alwvf7yh597cl74yr1wy2gk5bc9paw6"))) (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "1asvc7y1f938icspxx39n6y6r0w9mp0k9vik84rsx1hzzv0db41c"))) + (hash (base32 "1wwpd26qhv6i00p0yxjisns6qiz9bfrxvn1xb4ylwr8ls7zyx78v"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.252") +(define-public linux-libre-4.19-version "4.19.253") (define-public linux-libre-4.19-gnu-revision "gnu1") (define deblob-scripts-4.19 (linux-libre-deblob-scripts @@ -426,12 +426,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "00i91lx938nqlgy63hiricqd0fnbbf26vgya9c5lb7m1f4x324im"))) (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "0ac7k6x9h8gqi37n8d4fyi52h4cmzyy8f5vfv1aiihww4kvzca7v"))) + (hash (base32 "1jc2j0wskgr1bdzpz6sn2bvafpviiin6mwr93yykcczzfjijr8yz"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.288") +(define-public linux-libre-4.14-version "4.14.289") (define-public linux-libre-4.14-gnu-revision "gnu1") (define deblob-scripts-4.14 (linux-libre-deblob-scripts @@ -441,12 +441,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "00i91lx938nqlgy63hiricqd0fnbbf26vgya9c5lb7m1f4x324im"))) (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "0yyzxyz66mfngx3ll3pl43413xb67iyxddzh3lpzqcfg7d0rxfwz"))) + (hash (base32 "1v24mv49skgijcbafgai0glrzwiv2j1hndkz7v6ygc18jxh5fqg6"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) -(define-public linux-libre-4.9-version "4.9.323") +(define-public linux-libre-4.9-version "4.9.324") (define-public linux-libre-4.9-gnu-revision "gnu1") (define deblob-scripts-4.9 (linux-libre-deblob-scripts @@ -456,7 +456,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0bib3641dbcqdkx3anna3caxnsg3nw9cnmhcklq0s93g3m57041h"))) (define-public linux-libre-4.9-pristine-source (let ((version linux-libre-4.9-version) - (hash (base32 "1h96ai9w5q2axhliw85aymdsg8py9y6gl8big5r2gwkbls6h7pa3"))) + (hash (base32 "0g51vfp0g3py82l3q66p7nvl03h6l1nlny18gangji75a3c39yh4"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.9))) @@ -3229,7 +3229,7 @@ processes currently causing I/O.") (define-public iotop (package (name "iotop") - (version "1.21") + (version "1.22") (source (origin (method git-fetch) @@ -3238,7 +3238,7 @@ processes currently causing I/O.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "03wdnkfl51dapilg6r9vjga1xrl9lxlypfz07k50nscvbq8v8fb7")))) + (base32 "04a77qir35s1bwvd39qddx2kfizdbf5jxlnz8zmy1cnrigbwcy1h")))) (build-system gnu-build-system) (arguments (list #:make-flags diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 2f6d22fe7d..51d74bd8af 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -95,6 +95,7 @@ #:use-module (gnu packages mpi) #:use-module (gnu packages ncurses) #:use-module (gnu packages networking) + #:use-module (gnu packages package-management) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) @@ -22779,3 +22780,91 @@ binding @code{*debugger-hook*} is not enough -- most notably, for (arguments ;; Tests fail on ECL: https://github.com/phoe/trivial-custom-debugger/issues/3 '(#:tests? #f)))) + +(define-public sbcl-ospm + (package + (name "sbcl-ospm") + (version "0.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/atlas-engineer/ospm") + (commit version))) + (file-name (git-file-name "cl-ospm" version)) + (sha256 + (base32 "1b64ar6x08bcig4brlsim445favjf1zhyj6qz018cildp3xs4miz")))) + (build-system asdf-build-system/sbcl) + (inputs + (list sbcl-alexandria + sbcl-calispel + sbcl-hu.dwim.defclass-star + sbcl-local-time + sbcl-moptilities + sbcl-named-readtables + sbcl-serapeum + sbcl-trivia)) + (native-inputs + ;; FIXME: Tests have execution errors because of Guix being run in a container. + (list sbcl-lisp-unit2 guix)) + (home-page "https://github.com/atlas-engineer/ospm") + (synopsis "System package manager in Common Lisp") + (description + "This library is a universal interface to the operating system package manager. +It has extensive support for Guix, among others: + +@itemize +@item package listing and searching; +@item package installation and uninstallation; +@item package file listing; +@item profile listing; +@item manifest listing and installation; +@item generation listing, switching and deletion. +@end itemize\n") + (license license:bsd-3))) + +(define-public cl-ospm + (let ((pkg (sbcl-package->cl-source-package sbcl-ospm))) + (package + (inherit pkg) + (inputs + (cons (list "osicat" cl-osicat) + (package-inputs pkg)))))) + +(define-public sbcl-ndebug + (package + (name "sbcl-ndebug") + (version "0.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/atlas-engineer/ndebug") + (commit version))) + (file-name (git-file-name "ndebug" version)) + (sha256 + (base32 "0wdp0wqk6clq3hh9yqmgdm55x50b5m7ly9004j2c8k5zz1rgi4rr")))) + (build-system asdf-build-system/sbcl) + (inputs + (list + sbcl-dissect + sbcl-lparallel + sbcl-slime-swank + sbcl-trivial-custom-debugger)) + (native-inputs + (list sbcl-lisp-unit2)) + (home-page "https://github.com/atlas-engineer/ndebug/") + (synopsis "Toolkit to build UI-aware Common Lisp debugger hooks") + (description + "NDebug provides a small set of utilities to make graphical (or, rather +non-REPL-resident) Common Lisp applications easier to integrate with the +standard Lisp debugger (@code{*debugger-hook*}, namely) and +implementation-specific debugger hooks (via @code{trivial-custom-debugger}), +especially in a multi-threaded context.") + (license license:bsd-3))) + +(define-public cl-ndebug + (sbcl-package->cl-source-package sbcl-ndebug)) + +(define-public ecl-ndebug + (sbcl-package->ecl-package sbcl-ndebug)) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index b68a798715..eee082ed8e 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -583,7 +583,7 @@ end-to-end encryption.") (define-public axc (package (name "axc") - (version "0.3.6") + (version "0.3.7") (source (origin (method git-fetch) @@ -593,12 +593,13 @@ end-to-end encryption.") (modules '((guix build utils))) (snippet `(begin - ;; Submodules + ;; Empty directories meant to hold submodules that we provide as + ;; proper inputs below. (delete-file-recursively "lib"))) (file-name (git-file-name name version)) (sha256 - (base32 "05sv7l6lk0xk4wb2bspc2sdpygrb1f0szzi82a1kyfm0fjz887b3")))) + (base32 "0b02b9flri374f8aw6xfz7mm9s57rb7393r8mdphv7kcsf76i7i5")))) (build-system cmake-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -2080,39 +2081,38 @@ support, and more.") (define-public freetalk (package (name "freetalk") - (version "4.1") + (version "4.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/freetalk/freetalk-" version ".tar.gz")) (sha256 (base32 - "1rmrn7a1bb7vm26yaklrvx008a9qhwc32s57dwrlf40lv9gffwny")))) + "105mw7pg2mcp85r82cs4rv77nwvbw8025047364jzbq6lwllynxv")))) (build-system gnu-build-system) (arguments - `(#:configure-flags - (list "CFLAGS=-fcommon") - #:phases - (modify-phases %standard-phases - ;; For 'system' commands in Scheme code. - (add-after 'install 'wrap-program - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bash (assoc-ref inputs "bash")) - (coreutils (assoc-ref inputs "coreutils")) - (less (assoc-ref inputs "less"))) - (wrap-program (string-append out "/bin/freetalk") - `("PATH" ":" prefix - ,(map (lambda (dir) - (string-append dir "/bin")) - (list bash coreutils less)))) - #t)))))) + (list #:phases + #~(modify-phases %standard-phases + (add-after 'install 'wrap-program + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/freetalk") + `("PATH" ":" suffix + ,(map (lambda (command) + (dirname + (search-input-file + inputs (string-append "bin/" command)))) + ;; This list is not exhaustive: we assume that, + ;; e.g., cat is packaged with other coreutils. + (list "bash" ; src/{commands,util}.c et al + "cat" ; extensions/first-time-run.sh + "less")))))))))) ; extensions/history.scm. (native-inputs (list autoconf automake pkg-config texinfo)) (inputs (list bash glib - guile-2.0 + guile-3.0 less loudmouth readline)) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 697fae8fc0..520d64d33c 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -3287,33 +3287,34 @@ from the command line.") (define-public qtractor (package (name "qtractor") - (version "0.9.26") + (version "0.9.27") (source (origin (method url-fetch) (uri (string-append "https://downloads.sourceforge.net/qtractor/" "qtractor-" version ".tar.gz")) (sha256 (base32 - "02r4dhhbn3dzhqi5cnm2vwimqk10bdlpy233n4a3590qg4krnqkd")))) + "11131hb6n13n51rr319jhaa9jjxl9q8n9vkxq3si7gcxlli6pdbs")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; no "check" target (inputs - `(("qt" ,qtbase-5) - ("qtx11extras" ,qtx11extras) - ("alsa-lib" ,alsa-lib) - ("jack" ,jack-1) - ("libsndfile" ,libsndfile) - ("ladspa" ,ladspa) - ("lv2" ,lv2) - ("lilv" ,lilv) - ("suil" ,suil) - ("libsamplerate" ,libsamplerate) - ("libvorbis" ,libvorbis) - ("libmad" ,libmad) - ("rubberband" ,rubberband) - ("liblo" ,liblo) - ("zlib" ,zlib))) + (list alsa-lib + jack-1 + ladspa + liblo + libmad + libsamplerate + libsndfile + libvorbis + lilv + lv2 + qtbase-5 + qtsvg + qtx11extras + rubberband + suil + zlib)) (native-inputs (list pkg-config qttools)) (home-page "https://qtractor.org/") diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 9101aac472..85ded36804 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -906,14 +906,14 @@ residing in IPv4-only networks, even when they are behind a NAT device.") (define-public ndisc6 (package (name "ndisc6") - (version "1.0.5") + (version "1.0.6") (source (origin (method url-fetch) (uri (string-append "https://www.remlab.net/files/ndisc6/ndisc6-" version ".tar.bz2")) (sha256 (base32 - "0lgkbnnll8nrr7h63ywd42sg8fiv6jhhymd7rnml8a3yqjgjz4rn")))) + "1yrw8maj1646d498ax8xi0jmzk80idrc5x0913x5rwg1kc7224x7")))) (build-system gnu-build-system) (home-page "https://www.remlab.net/ndisc6/") (synopsis "IPv6 diagnostic tools") @@ -3506,8 +3506,8 @@ and targeted primarily for asynchronous processing of HTTP-requests.") ;; on, introducing nondeterminism (see: ;; https://github.com/savoirfairelinux/opendht/issues/626). (substitute* "tests/Makefile.am" - (("tests/dhtrunnertester.(h|cpp)$" all) - (string-append "# " all))))) + (("\\bdhtrunnertester\\.(h|cpp)\\b") + "")))) (add-after 'unpack 'fix-python-installation-prefix ;; Specify the installation prefix for the compiled Python module ;; that would otherwise attempt to installs itself to Python's own @@ -4111,14 +4111,14 @@ stamps.") (define-public nbd (package (name "nbd") - (version "3.23") + (version "3.24") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/nbd/nbd/" version "/nbd-" version ".tar.xz")) (sha256 - (base32 "1d2phi0m9x32p9zddv9fpkhj1rbhlvq93wsn9niy7i3aavn71x6y")))) + (base32 "036ib2d5722sx9nn7jydqfpl5ici5if2z7g8xrskzcx74dniaxv8")))) (build-system gnu-build-system) (inputs (list glib)) diff --git a/gnu/packages/patches/dbxfs-remove-sentry-sdk.patch b/gnu/packages/patches/dbxfs-remove-sentry-sdk.patch index e4f660000d..6f7ba53542 100644 --- a/gnu/packages/patches/dbxfs-remove-sentry-sdk.patch +++ b/gnu/packages/patches/dbxfs-remove-sentry-sdk.patch @@ -1,38 +1,48 @@ sentry-sdk provides a link to sentry.io, a service which monitors applications deployed in the wild. Defaults to true. Best to just remove the option. ---- - dbxfs/main.py | 16 ---------------- - setup.py | 1 - - 2 files changed, 17 deletions(-) - diff --git a/dbxfs/main.py b/dbxfs/main.py -index 5a6cea1..5d00818 100755 +index 458e82a..784dd2a 100755 --- a/dbxfs/main.py +++ b/dbxfs/main.py -@@ -40,8 +40,6 @@ import userspacefs +@@ -43,8 +43,6 @@ import userspacefs import keyring from keyring.errors import KeyringError -import sentry_sdk - - from block_tracing import block_tracing, BLOCK_TRACING_INHERITS + from block_tracing import block_tracing from dbxfs.dbxfs import FileSystem as DropboxFileSystem -@@ -299,12 +297,6 @@ def _main(argv=None): - config['keyring_user'] = keyring_user - save_config = True +@@ -127,16 +125,6 @@ def on_new_process(proc_args): + level = [logging.WARNING, logging.INFO, logging.DEBUG][min(2, verbose)] + logging.basicConfig(level=level, handlers=[logging_stream], format=format_) -- if not config.get("asked_send_error_reports", False): -- if yes_no_input("Would you like to help us improve %s by providing anonymous error reports?" % (APP_NAME,), default_yes=True): -- config['send_error_reports'] = True -- config['asked_send_error_reports'] = True +- if int(proc_args.get('send_error_reports', '0')): +- version = proc_args['version'] +- try: +- sentry_sdk.init("https://b4b13ebd300849bd92260507a594e618@sentry.io/1293235", +- release='%s@%s' % (APP_NAME, version), +- with_locals=False) +- sentry_sdk.set_user(dict(id=proc_args['sentry_user'])) +- except Exception: +- log.warning("Failed to initialize sentry", exc_info=True) +- + def create_fs(fs_args): + refresh_token = fs_args.get('refresh_token') + access_token = fs_args.get('access_token') +@@ -527,10 +515,6 @@ deprecated, this functionality will be removed in the future. + config['asked_send_error_reports'] = True + save_config = True + +- if config.get("send_error_reports", False) and not isinstance(config.get("sentry_user", None), str): +- config['sentry_user'] = uuid.uuid4().hex - save_config = True - - if save_access_token and yes_no_input("Do you want \"%s\" to be the default mount point?" % (mount_point,), default_yes=True): + if save_refresh_token and yes_no_input("Do you want \"%s\" to be the default mount point?" % (mount_point,), default_yes=True): config['mount_point'] = mount_point save_config = True -@@ -315,14 +307,6 @@ def _main(argv=None): +@@ -541,15 +525,6 @@ deprecated, this functionality will be removed in the future. log.info("Starting %s...", APP_NAME) @@ -41,24 +51,31 @@ index 5a6cea1..5d00818 100755 - sentry_sdk.init("https://b4b13ebd300849bd92260507a594e618@sentry.io/1293235", - release='%s@%s' % (APP_NAME, version), - with_locals=False) +- sentry_sdk.set_user(dict(id=config['sentry_user'])) - except Exception: - log.warning("Failed to initialize sentry", exc_info=True) - if cache_folder is None: cache_folder = os.path.join(appdirs.user_cache_dir(APP_NAME), "file_cache") try: +@@ -602,8 +577,6 @@ deprecated, this functionality will be removed in the future. + proc_args['verbose'] = str(args.verbose) + proc_args['version'] = version + proc_args['send_error_reports'] = str(int(config.get('send_error_reports', False))) +- if config.get('send_error_reports', False): +- proc_args['sentry_user'] = config['sentry_user'] + + return userspacefs.simple_main(mount_point, display_name, + ('dbxfs.main.create_fs', fs_args), diff --git a/setup.py b/setup.py -index 89e25c6..f940d47 100644 +index ae696e9..869d0db 100644 --- a/setup.py +++ b/setup.py -@@ -43,7 +43,6 @@ setup( +@@ -47,7 +47,6 @@ setup( "privy>=6.0,<7", "keyring>=15.1.0", "keyrings.alt>=3.1,<5", -- "sentry_sdk>=0.3,<1", +- "sentry_sdk>=1.0,<2", ], extras_require={ 'safefs': ["safefs"], --- -2.28.0 - diff --git a/gnu/packages/patches/eigen-fix-strict-aliasing-bug.patch b/gnu/packages/patches/eigen-fix-strict-aliasing-bug.patch new file mode 100644 index 0000000000..139d633c44 --- /dev/null +++ b/gnu/packages/patches/eigen-fix-strict-aliasing-bug.patch @@ -0,0 +1,73 @@ +From f046e326d9e30772725d8fb26dc33328e418d9d3 Mon Sep 17 00:00:00 2001 +From: Antonio Sanchez +Date: Fri, 17 Sep 2021 12:49:01 -0700 +Subject: [PATCH] Fix strict aliasing bug causing product_small failure. + +Packet loading is skipped due to aliasing violation, leading to nullopt matrix +multiplication. + +Fixes #2327. + + +(cherry picked from commit 3c724c44cff3f9e2e9e35351abff0b5c022b320d) +--- + Eigen/src/Core/arch/AVX/Complex.h | 4 +++- + Eigen/src/Core/arch/AVX512/Complex.h | 4 +++- + Eigen/src/Core/arch/SSE/Complex.h | 11 +++-------- + 3 files changed, 9 insertions(+), 10 deletions(-) + +diff --git a/Eigen/src/Core/arch/AVX/Complex.h b/Eigen/src/Core/arch/AVX/Complex.h +index ab7bd6c65..e9096c0a1 100644 +--- a/Eigen/src/Core/arch/AVX/Complex.h ++++ b/Eigen/src/Core/arch/AVX/Complex.h +@@ -99,7 +99,9 @@ template<> EIGEN_STRONG_INLINE Packet4cf ploadu(const std::complex EIGEN_STRONG_INLINE Packet4cf pset1(const std::complex& from) + { +- return Packet4cf(_mm256_castpd_ps(_mm256_broadcast_sd((const double*)(const void*)&from))); ++ const float re = std::real(from); ++ const float im = std::imag(from); ++ return Packet4cf(_mm256_set_ps(im, re, im, re, im, re, im, re)); + } + + template<> EIGEN_STRONG_INLINE Packet4cf ploaddup(const std::complex* from) +diff --git a/Eigen/src/Core/arch/AVX512/Complex.h b/Eigen/src/Core/arch/AVX512/Complex.h +index 49c72b3f1..074253859 100644 +--- a/Eigen/src/Core/arch/AVX512/Complex.h ++++ b/Eigen/src/Core/arch/AVX512/Complex.h +@@ -97,7 +97,9 @@ template<> EIGEN_STRONG_INLINE Packet8cf ploadu(const std::complex EIGEN_STRONG_INLINE Packet8cf pset1(const std::complex& from) + { +- return Packet8cf(_mm512_castpd_ps(pload1((const double*)(const void*)&from))); ++ const float re = std::real(from); ++ const float im = std::imag(from); ++ return Packet8cf(_mm512_set_ps(im, re, im, re, im, re, im, re, im, re, im, re, im, re, im, re)); + } + + template<> EIGEN_STRONG_INLINE Packet8cf ploaddup(const std::complex* from) +diff --git a/Eigen/src/Core/arch/SSE/Complex.h b/Eigen/src/Core/arch/SSE/Complex.h +index 8fe22da46..215bfd7bb 100644 +--- a/Eigen/src/Core/arch/SSE/Complex.h ++++ b/Eigen/src/Core/arch/SSE/Complex.h +@@ -106,14 +106,9 @@ template<> EIGEN_STRONG_INLINE Packet2cf ploadu(const std::complex EIGEN_STRONG_INLINE Packet2cf pset1(const std::complex& from) + { +- Packet2cf res; +-#ifdef EIGEN_VECTORIZE_SSE3 +- res.v = _mm_castpd_ps(_mm_loaddup_pd(reinterpret_cast(&from))); +-#else +- res.v = _mm_castpd_ps(_mm_load_sd(reinterpret_cast(&from))); +- res.v = _mm_movelh_ps(res.v, res.v); +-#endif +- return res; ++ const float re = std::real(from); ++ const float im = std::imag(from); ++ return Packet2cf(_mm_set_ps(im, re, im, re)); + } + + template<> EIGEN_STRONG_INLINE Packet2cf ploaddup(const std::complex* from) { return pset1(*from); } +-- +2.37.0 + diff --git a/gnu/packages/patches/eigen-remove-openmp-error-counting.patch b/gnu/packages/patches/eigen-remove-openmp-error-counting.patch deleted file mode 100644 index 556474e8b3..0000000000 --- a/gnu/packages/patches/eigen-remove-openmp-error-counting.patch +++ /dev/null @@ -1,64 +0,0 @@ -From ef3cc72cb65e2d500459c178c63e349bacfa834f Mon Sep 17 00:00:00 2001 -From: Luke Peterson -Date: Thu, 8 Oct 2020 12:16:53 -0700 -Subject: [PATCH] Remove error counting in OpenMP parallelize_gemm - -This resolves a compilation error associated with -Eigen::eigen_assert_exception. It also eliminates the counting of -exceptions that may occur in the OpenMP parallel section. If an -unhandled exception occurs in this section, the behavior is non-conforming -according to the OpenMP specification. ---- - Eigen/src/Core/products/Parallelizer.h | 14 +++++--------- - test/CMakeLists.txt | 2 +- - 2 files changed, 6 insertions(+), 10 deletions(-) - -diff --git a/Eigen/src/Core/products/Parallelizer.h b/Eigen/src/Core/products/Parallelizer.h -index 67b2442b5..a3cc05b77 100644 ---- a/Eigen/src/Core/products/Parallelizer.h -+++ b/Eigen/src/Core/products/Parallelizer.h -@@ -132,8 +132,7 @@ void parallelize_gemm(const Functor& func, Index rows, Index cols, Index depth, - - ei_declare_aligned_stack_constructed_variable(GemmParallelInfo,info,threads,0); - -- int errorCount = 0; -- #pragma omp parallel num_threads(threads) reduction(+: errorCount) -+ #pragma omp parallel num_threads(threads) - { - Index i = omp_get_thread_num(); - // Note that the actual number of threads might be lower than the number of request ones. -@@ -152,14 +151,11 @@ void parallelize_gemm(const Functor& func, Index rows, Index cols, Index depth, - info[i].lhs_start = r0; - info[i].lhs_length = actualBlockRows; - -- EIGEN_TRY { -- if(transpose) func(c0, actualBlockCols, 0, rows, info); -- else func(0, rows, c0, actualBlockCols, info); -- } EIGEN_CATCH(...) { -- ++errorCount; -- } -+ if(transpose) -+ func(c0, actualBlockCols, 0, rows, info); -+ else -+ func(0, rows, c0, actualBlockCols, info); - } -- if (errorCount) EIGEN_THROW_X(Eigen::eigen_assert_exception()); - #endif - } - -diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt -index 0747aa6cb..b02577780 100644 ---- a/test/CMakeLists.txt -+++ b/test/CMakeLists.txt -@@ -163,7 +163,7 @@ ei_add_test(constructor) - ei_add_test(linearstructure) - ei_add_test(integer_types) - ei_add_test(unalignedcount) --if(NOT EIGEN_TEST_NO_EXCEPTIONS) -+if(NOT EIGEN_TEST_NO_EXCEPTIONS AND NOT EIGEN_TEST_OPENMP) - ei_add_test(exceptions) - endif() - ei_add_test(redux) --- -GitLab - diff --git a/gnu/packages/patches/eigen-stabilise-sparseqr-test.patch b/gnu/packages/patches/eigen-stabilise-sparseqr-test.patch deleted file mode 100644 index b95b46077a..0000000000 --- a/gnu/packages/patches/eigen-stabilise-sparseqr-test.patch +++ /dev/null @@ -1,74 +0,0 @@ -From: Tobias Geerinckx-Rice -Date: Mon, 16 Mar 2020 22:51:37 +0000 -Subject: gnu: eigen: Stabilise sparseqr test. - -Taken verbatim from this[0] upstream commit. - -[0]: https://gitlab.com/libeigen/eigen/-/commit/3b5deeb546d4017b24846f5b0dc3296a50a039fe - -From 3b5deeb546d4017b24846f5b0dc3296a50a039fe Mon Sep 17 00:00:00 2001 -From: Gael Guennebaud -Date: Tue, 19 Feb 2019 22:57:51 +0100 -Subject: [PATCH] bug #899: make sparseqr unit test more stable by 1) trying - with larger threshold and 2) relax rank computation for rank-deficient - problems. - ---- - test/sparseqr.cpp | 31 ++++++++++++++++++++++++++----- - 1 file changed, 26 insertions(+), 5 deletions(-) - -diff --git a/test/sparseqr.cpp b/test/sparseqr.cpp -index 3ffe62314..3576cc626 100644 ---- a/test/sparseqr.cpp -+++ b/test/sparseqr.cpp -@@ -43,6 +43,7 @@ int generate_sparse_rectangular_problem(MatrixType& A, DenseMat& dA, int maxRows - - template void test_sparseqr_scalar() - { -+ typedef typename NumTraits::Real RealScalar; - typedef SparseMatrix MatrixType; - typedef Matrix DenseMat; - typedef Matrix DenseVector; -@@ -91,14 +92,34 @@ template void test_sparseqr_scalar() - exit(0); - return; - } -- -- VERIFY_IS_APPROX(A * x, b); -- -- //Compare with a dense QR solver -+ -+ // Compare with a dense QR solver - ColPivHouseholderQR dqr(dA); - refX = dqr.solve(b); - -- VERIFY_IS_EQUAL(dqr.rank(), solver.rank()); -+ bool rank_deficient = A.cols()>A.rows() || dqr.rank() we might have to increase the threshold -+ // to get a correct solution. -+ RealScalar th = RealScalar(20)*dA.colwise().norm().maxCoeff()*(A.rows()+A.cols()) * NumTraits::epsilon(); -+ for(Index k=0; (k<16) && !test_isApprox(A*x,b); ++k) -+ { -+ th *= RealScalar(10); -+ solver.setPivotThreshold(th); -+ solver.compute(A); -+ x = solver.solve(b); -+ } -+ } -+ -+ VERIFY_IS_APPROX(A * x, b); -+ -+ // For rank deficient problem, the estimated rank might -+ // be slightly off, so let's only raise a warning in such cases. -+ if(rank_deficient) ++g_test_level; -+ VERIFY_IS_EQUAL(solver.rank(), dqr.rank()); -+ if(rank_deficient) --g_test_level; -+ - if(solver.rank()==A.cols()) // full rank - VERIFY_IS_APPROX(x, refX); - // else --- -2.24.1 - diff --git a/gnu/packages/patches/php-curl-compat.patch b/gnu/packages/patches/php-curl-compat.patch new file mode 100644 index 0000000000..0617251194 --- /dev/null +++ b/gnu/packages/patches/php-curl-compat.patch @@ -0,0 +1,17 @@ +Fix test result with cURL 7.83 and later. + +Taken from upstream: + + https://github.com/php/php-src/commit/a4179e4c92b6365d39e09cb9cd63c476848013af + +diff --git a/ext/curl/tests/curl_basic_007.phpt b/ext/curl/tests/curl_basic_007.phpt +index 3b53658d6a7e..3834e4674f82 100644 +--- a/ext/curl/tests/curl_basic_007.phpt ++++ b/ext/curl/tests/curl_basic_007.phpt +@@ -20,5 +20,5 @@ curl_close($ch); + + ?> + --EXPECTF-- +-string(%d) "No URL set!%w" ++string(%d) "No URL set%A" + int(3) diff --git a/gnu/packages/patches/php-openssl_x509_checkpurpose_basic.patch b/gnu/packages/patches/php-openssl_x509_checkpurpose_basic.patch deleted file mode 100644 index 427965f231..0000000000 --- a/gnu/packages/patches/php-openssl_x509_checkpurpose_basic.patch +++ /dev/null @@ -1,108 +0,0 @@ -From 98175fc7f1623873ceb2e9a017a319d19bfb3912 Mon Sep 17 00:00:00 2001 -From: "Christoph M. Becker" -Date: Sun, 12 Dec 2021 13:41:37 +0100 -Subject: [PATCH] Fix openssl_x509_checkpurpose_basic.phpt - -This test fails because san-cert.pem and san-ca.pem have expired. We -fix that by using the CertificateGenerator to generate temporary certs -during the test run. Since san-cert.pem and san-ca.pem have been -identical, we only generate one certificate. - -Closes GH-7763. ---- - .../openssl_x509_checkpurpose_basic.phpt | 10 +++++- - ext/openssl/tests/san-ca.pem | 15 --------- - ext/openssl/tests/san-cert.pem | 31 ------------------- - 3 files changed, 9 insertions(+), 47 deletions(-) - delete mode 100644 ext/openssl/tests/san-ca.pem - delete mode 100644 ext/openssl/tests/san-cert.pem - -diff --git a/ext/openssl/tests/openssl_x509_checkpurpose_basic.phpt b/ext/openssl/tests/openssl_x509_checkpurpose_basic.phpt -index 99b4f0bdff31..35629bd93626 100644 ---- a/ext/openssl/tests/openssl_x509_checkpurpose_basic.phpt -+++ b/ext/openssl/tests/openssl_x509_checkpurpose_basic.phpt -@@ -8,10 +8,14 @@ if (OPENSSL_VERSION_NUMBER < 0x10000000) die("skip Output requires OpenSSL 1.0") - ?> - --FILE-- - saveCaCert(__DIR__ . "/san-cert.pem"); -+ - $cert = "file://" . __DIR__ . "/cert.crt"; - $bert = "file://" . __DIR__ . "/bug41033.pem"; - $sert = "file://" . __DIR__ . "/san-cert.pem"; --$cpca = __DIR__ . "/san-ca.pem"; -+$cpca = __DIR__ . "/san-cert.pem"; - $utfl = __DIR__ . "/sni_server_uk.pem"; - $rcrt = openssl_x509_read($cert); - -@@ -84,6 +88,10 @@ var_dump(openssl_x509_checkpurpose($sert, X509_PURPOSE_SMIME_ENCRYPT, array($cpc - var_dump(openssl_x509_checkpurpose($sert, X509_PURPOSE_CRL_SIGN, array($cpca), $utfl)); - var_dump(openssl_x509_checkpurpose($sert, X509_PURPOSE_ANY, array($cpca), $utfl)); - ?> -+--CLEAN-- -+ - --EXPECT-- - bool(false) - bool(false) -diff --git a/ext/openssl/tests/san-ca.pem b/ext/openssl/tests/san-ca.pem -deleted file mode 100644 -index 88682ba2dcf6..000000000000 ---- a/ext/openssl/tests/san-ca.pem -+++ /dev/null -@@ -1,15 +0,0 @@ -------BEGIN CERTIFICATE----- --MIICYTCCAcqgAwIBAgIJAIaqxtY5dwjtMA0GCSqGSIb3DQEBBQUAMFMxCzAJBgNV --BAYTAlVTMQswCQYDVQQIEwJNTjEUMBIGA1UEBxMLTWlubmVhcG9saXMxITAfBgNV --BAsTGERvbWFpbiBDb250cm9sIFZhbGlkYXRlZDAeFw0xMzA5MjQwODA1NTFaFw0y --MTEyMTEwODA1NTFaMFMxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJNTjEUMBIGA1UE --BxMLTWlubmVhcG9saXMxITAfBgNVBAsTGERvbWFpbiBDb250cm9sIFZhbGlkYXRl --ZDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAsFGqfbU/8D+KjroQl4XMyt9m --dcSP7iZtqphOu9nVZxYAAqfaqj8FnC/pwYV3TU6ZHndLTQAllwYT3sQBQPPGmZQ9 --clSIMEL003t3pi4ZVXkttG6Vvr+Z9PBcHhlKLQ7WMHnn4qctllWXTSoyTQpkETF3 --Fc3mrG5G37BhoUno7NECAwEAAaM9MDswOQYDVR0RBDIwMIILZXhhbXBsZS5vcmeC --D3d3dy5leGFtcGxlLm9yZ4IQdGVzdC5leGFtcGxlLm9yZzANBgkqhkiG9w0BAQUF --AAOBgQBf/FZhzheIcQJ+dyTk8xQ/nJLvpmBhbd1LNtfwk/MsC9UHsz4QXs9sBw1k --rH0FjoqgM6avj7zKHJFTj6q7Rd+OX5V4HynYPhX67sWbN3KWEHffL98nGGd/bo3X --pSjNk5vnyKYiwdUUe11Ac9csh0HcSBbhOYjy0T/i9AlQcKbuCg== -------END CERTIFICATE----- -diff --git a/ext/openssl/tests/san-cert.pem b/ext/openssl/tests/san-cert.pem -deleted file mode 100644 -index 923d490e72fd..000000000000 ---- a/ext/openssl/tests/san-cert.pem -+++ /dev/null -@@ -1,31 +0,0 @@ -------BEGIN CERTIFICATE----- --MIICYTCCAcqgAwIBAgIJAIaqxtY5dwjtMA0GCSqGSIb3DQEBBQUAMFMxCzAJBgNV --BAYTAlVTMQswCQYDVQQIEwJNTjEUMBIGA1UEBxMLTWlubmVhcG9saXMxITAfBgNV --BAsTGERvbWFpbiBDb250cm9sIFZhbGlkYXRlZDAeFw0xMzA5MjQwODA1NTFaFw0y --MTEyMTEwODA1NTFaMFMxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJNTjEUMBIGA1UE --BxMLTWlubmVhcG9saXMxITAfBgNVBAsTGERvbWFpbiBDb250cm9sIFZhbGlkYXRl --ZDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAsFGqfbU/8D+KjroQl4XMyt9m --dcSP7iZtqphOu9nVZxYAAqfaqj8FnC/pwYV3TU6ZHndLTQAllwYT3sQBQPPGmZQ9 --clSIMEL003t3pi4ZVXkttG6Vvr+Z9PBcHhlKLQ7WMHnn4qctllWXTSoyTQpkETF3 --Fc3mrG5G37BhoUno7NECAwEAAaM9MDswOQYDVR0RBDIwMIILZXhhbXBsZS5vcmeC --D3d3dy5leGFtcGxlLm9yZ4IQdGVzdC5leGFtcGxlLm9yZzANBgkqhkiG9w0BAQUF --AAOBgQBf/FZhzheIcQJ+dyTk8xQ/nJLvpmBhbd1LNtfwk/MsC9UHsz4QXs9sBw1k --rH0FjoqgM6avj7zKHJFTj6q7Rd+OX5V4HynYPhX67sWbN3KWEHffL98nGGd/bo3X --pSjNk5vnyKYiwdUUe11Ac9csh0HcSBbhOYjy0T/i9AlQcKbuCg== -------END CERTIFICATE----- -------BEGIN PRIVATE KEY----- --MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALBRqn21P/A/io66 --EJeFzMrfZnXEj+4mbaqYTrvZ1WcWAAKn2qo/BZwv6cGFd01OmR53S00AJZcGE97E --AUDzxpmUPXJUiDBC9NN7d6YuGVV5LbRulb6/mfTwXB4ZSi0O1jB55+KnLZZVl00q --Mk0KZBExdxXN5qxuRt+wYaFJ6OzRAgMBAAECgYB11e5iWvqjPmQEZRdnnJU0VD8u --n7ItT+Nk6qtb4gY8Abj6DWIW+01th5vqqJ8FvGyartFVYa69kuM+srG/zevAZWeu --fGZtwiwZR4DRSyRcPp4rnNiksK3dkAZA6UewmRDPv8uyHJlXc5i+Ft1ILJ5Q5jgn --UkC4z3EJP5Se9KZywQJBAOO4lRq42wLsYr2SDrQDSs4leie3FKc2bgvjF7Djosh1 --ZYbf55F5b9w1zgnccmni2HkqOnyFu4SKarmXyCsYxrkCQQDGNvnUh7/zZswrdWZ/ --PMp9zVDTh/5Oc2B4ByNLw1ERDwYhjchKgPRlQvn4cp3Pwf3UYPQ/8XGXzzEJey3A --r0rZAkBf/tDEOgcBPXsGZQrTscuYCU5sbY5ESvqrAilbhSp7DJom+D5bIfEYyIm5 --uHd20Yzlzvpmwc1huyPwZt6X5FLpAkATDReoGMAXSesXxjnqwtIHk2NQYYLM0YQV --JUJ8NrKk/Bevw+vbVVeoH+7ctU97t36JGiR/vNoZKD3jVmaIXZDJAkEA4wJbwzIo --L32mu9VmZa7wjmfkraQEmXTPaA5D9lNC0AwRTgkj+x2Qe1vawNblNK9PPLBDdplQ --L//53ADq/wv5rA== -------END PRIVATE KEY----- diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index a0c4b4dc15..f269449a92 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -660,26 +660,26 @@ interaction.") (define-public podofo (package (name "podofo") - (version "0.9.7") + (version "0.9.8") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/podofo/podofo/" version "/podofo-" version ".tar.gz")) (sha256 (base32 - "1f0yvkx6nf99fp741w2y706d8bs9824x1z2gqm3rdy5fv8bfgwkw")))) + "0m2icjy35jd0900g0fyfrmf0zsldv1chfc1q0zcqlaqrbzhhgrjx")))) (build-system cmake-build-system) (native-inputs (list cppunit pkg-config)) (inputs - `(("libjpeg" ,libjpeg-turbo) - ("libtiff" ,libtiff) - ("fontconfig" ,fontconfig) - ("freetype" ,freetype) - ("libpng" ,libpng) - ("lua" ,lua-5.1) - ("openssl" ,openssl) - ("zlib" ,zlib))) + (list fontconfig + freetype + libjpeg-turbo + libpng + libtiff + lua-5.1 + openssl + zlib)) (arguments `(#:configure-flags (list "-DPODOFO_BUILD_SHARED=ON") @@ -690,8 +690,7 @@ interaction.") (let ((freetype (assoc-ref inputs "freetype"))) ;; Look for freetype include files in the correct place. (substitute* "cmake/modules/FindFREETYPE.cmake" - (("/usr/local") freetype))) - #t))))) + (("/usr/local") freetype)))))))) (home-page "http://podofo.sourceforge.net") (synopsis "Tools to work with the PDF file format") (description diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 93284da2bc..bdd1756d40 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2147,14 +2147,14 @@ CPAN::Meta object are present.") (define-public perl-cpanel-json-xs (package (name "perl-cpanel-json-xs") - (version "4.26") + (version "4.30") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RU/RURBAN/" "Cpanel-JSON-XS-" version ".tar.gz")) (sha256 - (base32 "0c07jfh6pq0f3hlhg0cqmznna7rlcflgrqv17mbkz9gnvg4x3szv")))) + (base32 "1d5xwk3j3pvc2s439vjrnhwcx44wkskda9mrwv3ix2c6pp7slpsn")))) (build-system perl-build-system) (propagated-inputs (list perl-common-sense)) diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm index 191dcafb4a..fdea27160d 100644 --- a/gnu/packages/php.scm +++ b/gnu/packages/php.scm @@ -61,7 +61,7 @@ (define-public php (package (name "php") - (version "7.4.26") + (version "7.4.30") (home-page "https://secure.php.net/") (source (origin (method url-fetch) @@ -69,10 +69,9 @@ "php-" version ".tar.xz")) (sha256 (base32 - "1y0f1xgfi8cks6npdhrycg8r9g3q0pikqgf5h4xafpy8znmb61g3")) - (patches - (search-patches "php-bug-74093-test.patch" - "php-openssl_x509_checkpurpose_basic.patch")) + "03d7icwys4ikl45q3rgsxv1m3i7kfxhykpx75nn7jzn6697s6wpa")) + (patches (search-patches "php-bug-74093-test.patch" + "php-curl-compat.patch")) (modules '((guix build utils))) (snippet '(with-directory-excursion "ext" diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index fcac915282..141c3d681e 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -22003,14 +22003,14 @@ package updates.") (define-public python-userspacefs (package (name "python-userspacefs") - (version "2.0.4") + (version "2.0.5") (source (origin (method url-fetch) (uri (pypi-uri "userspacefs" version)) (sha256 (base32 - "06f2gsiypas270nqfjir4wwjlpkjp097pm6zchc7k20ggg32gv1k")))) + "0v0qkdwfc61s2yiq7d7amin93x5biypfmi9pfhf8yj1rdpx5yvsx")))) (build-system python-build-system) (propagated-inputs (list python-fusepyng)) diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index 2caefd3dd0..a8a42f0544 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -360,25 +360,18 @@ has a small feature set similar to a traditional Bourne shell.") (define-public es (package (name "es") - (version "0.9.1") + (version "0.9.2") (source (origin - (method url-fetch) + (method url-fetch/tarbomb) (uri (string-append "https://github.com/wryun/es-shell/releases/" "download/v" version "/es-" version ".tar.gz")) (sha256 - (base32 - "1fplzxc6lncz2lv2fyr2ig23rgg5j96rm2bbl1rs28mik771zd5h")) + (base32 "1pgmqhsk14wyvl489sxdy7kdl2gwrsq1xvkip0z90kh888mlh9n9")) (file-name (string-append name "-" version ".tar.gz")))) (build-system gnu-build-system) (arguments - `(#:test-target "test" - #:phases - (modify-phases %standard-phases - (add-before 'configure 're-enter-rootdir - ;; The tarball has no folder. - (lambda _ - (chdir "..")))))) + (list #:test-target "test")) (inputs (list readline)) (native-inputs diff --git a/gnu/packages/toolkits.scm b/gnu/packages/toolkits.scm index fd3385122e..3030e3aa49 100644 --- a/gnu/packages/toolkits.scm +++ b/gnu/packages/toolkits.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2022 Maxim Cournoyer -;;; Copyright © 2020 Tobias Geerinckx-Rice +;;; Copyright © 2020, 2022 Tobias Geerinckx-Rice ;;; Copyright © 2022 John Kehayias ;;; ;;; This file is part of GNU Guix. @@ -32,7 +32,7 @@ (define-public imgui (package (name "imgui") - (version "1.87") + (version "1.88") (source (origin (method git-fetch) (uri (git-reference @@ -41,7 +41,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "10qil22s5qak3as41787iz273sibpq1bq66bakgn7yvhj5fym6hz")) + "13cw4hx55y5z678r558hv7znfz666wh0w849c5padnj4nkpbihdi")) (modules '((guix build utils))) (snippet ;; Remove bundled fonts. diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 612f69597f..6652ac717f 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -221,14 +221,14 @@ Python 3.3 and later, rather than on Python 2.") (define-public git (package (name "git") - (version "2.37.0") + (version "2.37.1") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/software/scm/git/git-" version ".tar.xz")) (sha256 (base32 - "07s1jmsc1d4dlmr3qpibfzj14gy1gm049zp2vp1lw36h3dqs2zwz")))) + "001m3gnal902hv22gp1m44c6247357pb80db0svms74gidmjq5n8")))) (build-system gnu-build-system) (native-inputs `(("native-perl" ,perl) @@ -248,7 +248,7 @@ Python 3.3 and later, rather than on Python 2.") version ".tar.xz")) (sha256 (base32 - "1q68mnbpznapxxyjpysjx5lz8m6y25frxl5yshgx139c0xcr64c0")))) + "098yz8kzvzmmrkyiv8j79s5nryws302pnq6jcbrqbidrziwcxkjd")))) ;; For subtree documentation. ("asciidoc" ,asciidoc) ("docbook-xsl" ,docbook-xsl) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 68ab7c7143..5600baf638 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1559,14 +1559,14 @@ operate properly.") (define-public ffmpeg-5 (package (name "ffmpeg") - (version "5.0.1") + (version "5.1") (source (origin (method url-fetch) (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" version ".tar.xz")) (sha256 (base32 - "0yq0jcdc4qm5znrzylj3dsicrkk2n3n8bv28vr0a506fb7iglbpg")))) + "00wbd5skv6ba5yqq4ca505ncckhvpzwflcsall7madg2bsmnmssm")))) (build-system gnu-build-system) (inputs (append @@ -5384,7 +5384,7 @@ brightness, contrast, and frame rate.") (define-public get-iplayer (package (name "get-iplayer") - (version "3.27") + (version "3.30") (source (origin (method git-fetch) @@ -5393,7 +5393,7 @@ brightness, contrast, and frame rate.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "077y31gg020wjpx5pcivqgkqawcjxh5kjnvq97x2gd7i3wwc30qi")))) + (base32 "1kzsdq1mhm5h83bbdbhh3jhpfvq4f13ly22mfd6vvmhj8mq084pi")))) (build-system perl-build-system) (arguments `(#:tests? #f ; no tests @@ -5408,8 +5408,7 @@ brightness, contrast, and frame rate.") (man (string-append out "/share/man/man1"))) (install-file "get_iplayer" bin) (install-file "get_iplayer.cgi" bin) - (install-file "get_iplayer.1" man)) - #t)) + (install-file "get_iplayer.1" man)))) (add-after 'install 'wrap-program (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -5420,8 +5419,7 @@ brightness, contrast, and frame rate.") prefix (,(string-append perllib ":" (getenv "PERL5LIB"))))) (wrap-program (string-append out "/bin/get_iplayer.cgi") `("PERL5LIB" ":" - prefix (,(string-append perllib ":" (getenv "PERL5LIB"))))) - #t)))))) + prefix (,(string-append perllib ":" (getenv "PERL5LIB"))))))))))) (inputs (list perl-mojolicious perl-lwp-protocol-https perl-xml-libxml)) (home-page "https://github.com/get-iplayer/get_iplayer") diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index e184f54e81..136574b270 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -2334,14 +2334,14 @@ administrators and developers in managing the database.") (define-public osinfo-db (package (name "osinfo-db") - (version "20211216") + (version "20220516") (source (origin (method url-fetch) (uri (string-append "https://releases.pagure.org/libosinfo/osinfo-db-" version ".tar.xz")) (sha256 (base32 - "10hhpciqk4lzsj66zkdvghd1i5zh6hg1fn9as4qhwcr1wnqfgv09")))) + "0vfsdk3c6n6y04c5rf92m31zvl969kaniyx2fqywbp69mzc6j3yn")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index af6be7257d..3ab7dc6be9 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -22,6 +22,7 @@ ;;; Copyright © 2022 Lu hui ;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2022 Jean-Pierre De Jesus DIAZ +;;; Copyright © 2022 Arun Isaac ;;; ;;; This file is part of GNU Guix. ;;; @@ -676,13 +677,13 @@ the user specifically asks to proxy, so the @dfn{VPN} interface no longer (define-public openconnect (package (name "openconnect") - (version "8.10") + (version "9.01") (source (origin (method url-fetch) (uri (string-append "ftp://ftp.infradead.org/pub/openconnect/" "openconnect-" version ".tar.gz")) (sha256 - (base32 "1cdsx4nsrwawbsisfkldfc9i4qn60g03vxb13nzppr2br9p4rrih")))) + (base32 "1iz4j00031a5ircrx30lkiwf58yl9kc827m4ssck4yg963wgmmxk")))) (build-system gnu-build-system) (propagated-inputs (list libxml2 gnutls zlib)) @@ -769,7 +770,7 @@ and probably others.") (define-public openfortivpn (package (name "openfortivpn") - (version "1.15.0") + (version "1.17.3") (source (origin (method git-fetch) (uri (git-reference @@ -778,7 +779,7 @@ and probably others.") (file-name (git-file-name name version)) (sha256 (base32 - "1qsfgpxg553s8rc9cyrc4k96z0pislxsdxb9wyhp8fdprkak2mw2")))) + "0an58f0qcyxdx3d5zb5m8vi45a0251b950b5lh16572n8z2g6s2l")))) (build-system gnu-build-system) (native-inputs (list autoconf automake pkg-config)) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 9342873bc0..29526c8002 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -2871,7 +2871,7 @@ application classes.") "08jvibq4v8xjj0c3cr93h0w8w0c88ajwjn37xjy7ygxl9krlffp6")))) (build-system perl-build-system) (native-inputs - (list perl-module-install perl-test-www-mechanize-catalyst)) + (list perl-module-install perl-pod-parser perl-test-www-mechanize-catalyst)) (propagated-inputs (list perl-catalyst-runtime perl-moose perl-namespace-autoclean starman)) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index d345bc461d..6100008393 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -161,6 +161,48 @@ specified window, otherwise it outputs the title of the active window. With outputs when titles change.") (license license:unlicense))) +(define-public xvkbd + (package + (name "xvkbd") + (version "4.1") + (source + (origin + (method url-fetch) + (uri (string-append "http://t-sato.in.coocan.jp/xvkbd/xvkbd-" + version ".tar.gz")) + (sha256 + (base32 "1x5yldv9y99cw5hzzs73ygdn1z80zns9hz0baa355r711zghfbcm")))) + (build-system gnu-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-bugs + ;; Both variables are inexplicably but explicitly set to + ;; $(pkg-config --variable=VARIABLE xt) instead of our own. + (lambda _ + (substitute* "Makefile.in" + (("^(appdefaultdir|datarootdir) = .*" _ variable) + (string-append variable " = @" variable "@\n")))))))) + (native-inputs + (list pkg-config)) + (inputs + (list libxaw libxmu libxtst)) + (home-page "http://t-sato.in.coocan.jp/xvkbd/") + (synopsis "Virtual computer keyboard for the X Window System") + (description + "The @acronym{xvkbd, X virtual keyboard} displays a drawing of a computer +keyboard in a window on the screen. Clicking on its keys sends the +corresponding keystroke(s) to other X clients, as if typed on a physical +keyboard. + +This is useful for systems without keyboard hardware but with a pointing device, +such as kiosk terminals or handheld devices with touch screens. + +A limited number of keyboard layouts are available, as is dictionary completion. +You can also use xvkbd to send a series of predetermined keystrokes from the +command line, without displaying a keyboard at all.") + (license license:gpl2+))) + (define-public arandr (package (name "arandr") diff --git a/guix/build/clojure-build-system.scm b/guix/build/clojure-build-system.scm index 7d494078ea..cacbefb386 100644 --- a/guix/build/clojure-build-system.scm +++ b/guix/build/clojure-build-system.scm @@ -22,11 +22,15 @@ ant-build)) #:use-module (guix build clojure-utils) #:use-module (guix build java-utils) + #:use-module (guix build syscalls) #:use-module (guix build utils) + #:use-module (ice-9 match) + #:use-module (ice-9 regex) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:export (%standard-phases - clojure-build)) + clojure-build + reset-class-timestamps)) ;; Commentary: ;; @@ -108,6 +112,55 @@ priority over TEST-INCLUDE." jar-names))) #t) +(define (regular-jar-file? file stat) + "Predicate returning true if FILE is ending on '.jar' +and STAT indicates it is a regular file." + (and (string-suffix? ".jar" file) + (eq? 'regular (stat:type stat)))) + +;; XXX: The only difference compared to 'strip-jar-timestamps' in +;; ant-build-system.scm is the date. TODO: Adjust and factorize. +(define* (reset-class-timestamps #:key outputs #:allow-other-keys) + "Unpack all jar archives, reset the timestamp of all contained class files, +and repack them. This is necessary to ensure that archives are reproducible." + (define (repack-archive jar) + (format #t "resetting class timestamps and repacking ~a\n" jar) + + ;; Note: .class files need to be strictly newer than source files, + ;; otherwise the Clojure compiler will recompile sources. + (let* ((early-1980 315619200) ; 1980-01-02 UTC + (dir (mkdtemp! "jar-contents.XXXXXX")) + (manifest (string-append dir "/META-INF/MANIFEST.MF"))) + (with-directory-excursion dir + (invoke "jar" "xf" jar)) + (delete-file jar) + (for-each (lambda (file) + (let ((s (lstat file))) + (unless (eq? (stat:type s) 'symlink) + (when (string-match "^(.*)\\.class$" file) + (utime file early-1980 early-1980))))) + (find-files dir #:directories? #t)) + ;; The jar tool will always set the timestamp on the manifest file + ;; and the containing directory to the current time, even when we + ;; reuse an existing manifest file. To avoid this we use "zip" + ;; instead of "jar". It is important that the manifest appears + ;; first. + (with-directory-excursion dir + (let* ((files (find-files "." ".*" #:directories? #t)) + ;; To ensure that the reference scanner can detect all + ;; store references in the jars we disable compression + ;; with the "-0" option. + (command (if (file-exists? manifest) + `("zip" "-0" "-X" ,jar ,manifest ,@files) + `("zip" "-0" "-X" ,jar ,@files)))) + (apply invoke command))) + (utime jar 0 0))) + (for-each (match-lambda + ((output . directory) + (for-each repack-archive + (find-files directory regular-jar-file?)))) + outputs)) + (define-with-docs install "Standard 'install' phase for clojure-build-system." (install-jars "./")) @@ -119,7 +172,8 @@ priority over TEST-INCLUDE." (replace 'build build) (replace 'check check) (replace 'install install) - (add-after 'install-license-files 'install-doc install-doc))) + (add-after 'install-license-files 'install-doc install-doc) + (add-after 'reset-gzip-timestamps 'reset-class-timestamps reset-class-timestamps))) (define* (clojure-build #:key inputs diff --git a/guix/download.scm b/guix/download.scm index 1a80e3abd2..d459ba8cf1 100644 --- a/guix/download.scm +++ b/guix/download.scm @@ -269,49 +269,55 @@ (kde "https://download.kde.org/" "https://download.kde.org/Attic/" ; for when it gets archived. - ;; Mirrors from http://files.kde.org/extra/mirrors.html + ;; I could not find the classic static mirror list anymore. Instead, + ;; add ‘.mirrorlist’ to the end of a recent download.kde.org tarball URL. ;; Europe - "http://mirror.easyname.at/kde" - "http://mirror.karneval.cz/pub/kde" - "http://ftp.fi.muni.cz/pub/kde/" - "http://mirror.oss.maxcdn.com/kde/" - "http://ftp5.gwdg.de/pub/linux/kde/" - "http://ftp-stud.fht-esslingen.de/Mirrors/ftp.kde.org/pub/kde/" - "http://mirror.klaus-uwe.me/kde/ftp/" - "http://kde.beta.mirror.ga/" - "http://kde.alpha.mirror.ga/" - "http://mirror.netcologne.de/kde" - "http://vesta.informatik.rwth-aachen.de/ftp/pub/mirror/kde/" - "http://ftp.rz.uni-wuerzburg.de/pub/unix/kde/" - "http://mirrors.dotsrc.org/kde/" - "http://ftp.funet.fi/pub/mirrors/ftp.kde.org/pub/kde/" - "http://kde-mirror.freenux.org/" - "http://mirrors.ircam.fr/pub/KDE/" - "http://www-ftp.lip6.fr/pub/X11/kde/" - "http://fr2.rpmfind.net/linux/KDE/" + "https://mirrors.xtom.de/kde/" + "https://mirror.lyrahosting.com/pub/kde/" + "https://mirrors.xtom.nl/kde/" + "https://mirror.hs-esslingen.de/Mirrors/ftp.kde.org/pub/kde/" + "https://mirror.kumi.systems/kde/ftp/" + "https://mirrors.ircam.fr/pub/KDE/" + "https://ftp.gwdg.de/pub/linux/kde/" + "https://mirrors.gethosted.online/kde/pub/kde/" + "https://fr2.rpmfind.net/linux/KDE/" + "https://mirror.faigner.de/kde/ftp/" + "https://www.mirrorservice.org/sites/download.kde.org/" + "https://mirrors.ukfast.co.uk/sites/kde.org/ftp/" + "https://mirrors.dotsrc.org/kde/" "http://kde.mirror.anlx.net/" - "http://www.mirrorservice.org/sites/ftp.kde.org/pub/kde/" - "http://ftp.heanet.ie/mirrors/ftp.kde.org/" - "http://ftp.nluug.nl/pub/windowing/kde/" - "http://ftp.surfnet.nl/windowing/kde/" - "http://ftp.icm.edu.pl/pub/unix/kde/" - "http://ftp.pbone.net/pub/kde/" - "http://piotrkosoft.net/pub/mirrors/ftp.kde.org/" - "http://mirrors.fe.up.pt/pub/kde/" - "http://ftp.iasi.roedu.net/pub/mirrors/ftp.kde.org/" - "http://ftp.acc.umu.se/mirror/kde.org/ftp/" - "http://kde.ip-connect.vn.ua/" + "https://mirror.karneval.cz/pub/kde/" + "https://ftp.fi.muni.cz/pub/kde/" + "https://www-ftp.lip6.fr/pub/X11/kde/" + "https://ftp.icm.edu.pl/pub/unix/kde/" + "https://kde.mirror.garr.it/kde/ftp/" + "https://ftp.acc.umu.se/mirror/kde.org/ftp/" + "https://mirrors.up.pt/pub/kde/" + "https://mirrors.nav.ro/kde/" + "https://mirrors.xtom.ee/kde/" + "https://ftp.funet.fi/pub/mirrors/ftp.kde.org/pub/kde/" + "https://kde.ip-connect.vn.ua/" + "https://mirrors.netix.net/kde/" + "https://ftp.cc.uoc.gr/mirrors/kde/" ;; North America - "http://mirror.its.dal.ca/kde/" - "http://mirror.csclub.uwaterloo.ca/kde/" - "http://mirror.cc.columbia.edu/pub/software/kde/" - "http://kde.mirrors.hoobly.com/" - "http://ftp.ussg.iu.edu/kde/" - "http://mirrors.mit.edu/kde/" - "http://kde.mirrors.tds.net/pub/kde/" + "https://mirror.its.dal.ca/kde/" + "https://nnenix.mm.fcix.net/kdeftp/" + "https://mirrors.mit.edu/kde/" + "https://mirror.csclub.uwaterloo.ca/kde/" + "https://mirror.fcix.net/kdeftp/" + "https://mirrors.ocf.berkeley.edu/kde/" + "https://mirrors.xtom.com/kde/" + ;; South America + "https://kde.c3sl.ufpr.br/" + ;; Asia + "https://mirrors.bfsu.edu.cn/kde/" + "https://ftp-srv2.kddi-research.jp/pub/X11/kde/" + "https://mirrors.xtom.jp/kde/" + "https://mirrors.xtom.hk/kde/" + ;; Africa + "http://mirror.retentionrange.co.bw/kde/" ;; Oceania - "http://ftp.kddlabs.co.jp/pub/X11/kde/" - "http://kde.mirror.uber.com.au/") + "https://mirrors.xtom.au/kde/") (openbsd "https://ftp.openbsd.org/pub/OpenBSD/" ;; Anycast CDN redirecting to your friendly local mirror. diff --git a/guix/scripts/deploy.scm b/guix/scripts/deploy.scm index 27478eabc0..2c76645173 100644 --- a/guix/scripts/deploy.scm +++ b/guix/scripts/deploy.scm @@ -76,6 +76,9 @@ Perform the deployment specified by FILE.\n")) (lambda args (show-version-and-exit "guix deploy"))) + (option '(#\n "dry-run") #f #f + (lambda (opt name arg result) + (alist-cons 'dry-run? #t result))) (option '(#\x "execute") #f #f (lambda (opt name arg result) (alist-cons 'execute-command? #t result))) @@ -110,14 +113,20 @@ Perform the deployment specified by FILE.\n")) environment-modules)))) (load* file module))) -(define (show-what-to-deploy machines) +(define* (show-what-to-deploy machines #:key (dry-run? #f)) "Show the list of machines to deploy, MACHINES." (let ((count (length machines))) - (format (current-error-port) - (N_ "The following ~d machine will be deployed:~%" - "The following ~d machines will be deployed:~%" + (if dry-run? + (format (current-error-port) + (N_ "The following ~d machine would be deployed:~%" + "The following ~d machines would be deployed:~%" + count) count) - count) + (format (current-error-port) + (N_ "The following ~d machine will be deployed:~%" + "The following ~d machines will be deployed:~%" + count) + count)) (display (indented-string (fill-paragraph (string-join (map machine-display-name machines) ", ") @@ -241,6 +250,7 @@ otherwise." #:argument-handler handle-argument)) (file (assq-ref opts 'file)) (machines (and file (load-source-file file))) + (dry-run? (assoc-ref opts 'dry-run?)) (execute-command? (assoc-ref opts 'execute-command?))) (unless file (leave (G_ "missing deployment file argument~%"))) @@ -254,7 +264,8 @@ otherwise." (with-build-handler (build-notifier #:use-substitutes? (assoc-ref opts 'substitutes?) #:verbosity - (assoc-ref opts 'verbosity)) + (assoc-ref opts 'verbosity) + #:dry-run? dry-run?) (parameterize ((%graft? (assq-ref opts 'graft?))) (if execute-command? (match command @@ -270,7 +281,8 @@ otherwise." (_ (leave (G_ "'-x' specified but no command given~%")))) (begin - (show-what-to-deploy machines) - (map/accumulate-builds store - (cut deploy-machine* store <>) - machines)))))))))) + (show-what-to-deploy machines #:dry-run? dry-run?) + (unless dry-run? + (map/accumulate-builds store + (cut deploy-machine* store <>) + machines))))))))))) diff --git a/tests/texlive.scm b/tests/texlive.scm index f718e3a0a0..c1bd50b75f 100644 --- a/tests/texlive.scm +++ b/tests/texlive.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017 Ricardo Wurmus +;;; Copyright © 2017, 2022 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -184,6 +184,7 @@ completely compatible with Plain TeX.") "tex/texsis/config/") ('base32 (? string? hash)) #:trivial? #t)) + ('version . any) ('propagated-inputs ('list 'texlive-cm 'texlive-hyphen-base