diff options
author | Mark H Weaver <mhw@netris.org> | 2018-04-10 00:42:22 -0400 |
---|---|---|
committer | Mark H Weaver <mhw@netris.org> | 2018-04-10 00:42:22 -0400 |
commit | f89aa1521af69b0e1a1350c2380579788b0f8945 (patch) | |
tree | 5009cca687ac669ef846920877cbfb6fffdd9893 /gnu | |
parent | 169c658f7f286efae397fa3eda55b1c56fa92a01 (diff) | |
parent | 60e1de6d95bd32b4996c199708541781b8f828fd (diff) | |
download | guix-f89aa1521af69b0e1a1350c2380579788b0f8945.tar guix-f89aa1521af69b0e1a1350c2380579788b0f8945.tar.gz |
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu')
89 files changed, 3338 insertions, 1737 deletions
diff --git a/gnu/bootloader.scm b/gnu/bootloader.scm index 736f119527..4f2c71cb5a 100644 --- a/gnu/bootloader.scm +++ b/gnu/bootloader.scm @@ -146,7 +146,8 @@ "Return the list of bootloader modules." (all-modules (map (lambda (entry) `(,entry . "gnu/bootloader")) - %load-path))) + %load-path) + #:warn warn-about-load-error)) (define %bootloaders ;; The list of publically-known bootloaders. diff --git a/gnu/local.mk b/gnu/local.mk index 91ccb474bc..f0ee61b642 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -544,6 +544,7 @@ MODULES_NOT_COMPILED += \ patchdir = $(guilemoduledir)/%D%/packages/patches dist_patch_DATA = \ %D%/packages/patches/4store-fix-buildsystem.patch \ + %D%/packages/patches/4store-unset-preprocessor-directive.patch \ %D%/packages/patches/a2ps-CVE-2001-1593.patch \ %D%/packages/patches/a2ps-CVE-2014-0466.patch \ %D%/packages/patches/abiword-explictly-cast-bools.patch \ @@ -589,8 +590,9 @@ dist_patch_DATA = \ %D%/packages/patches/ceph-skip-collect-sys-info-test.patch \ %D%/packages/patches/ceph-skip-unittest_blockdev.patch \ %D%/packages/patches/chmlib-inttypes.patch \ - %D%/packages/patches/clang-libc-search-path.patch \ + %D%/packages/patches/clang-3.5-libc-search-path.patch \ %D%/packages/patches/clang-3.8-libc-search-path.patch \ + %D%/packages/patches/clang-6.0-libc-search-path.patch \ %D%/packages/patches/clang-runtime-asan-build-fixes.patch \ %D%/packages/patches/clang-runtime-esan-build-fixes.patch \ %D%/packages/patches/classpath-aarch64-support.patch \ @@ -619,6 +621,7 @@ dist_patch_DATA = \ %D%/packages/patches/cyrus-sasl-CVE-2013-4122.patch \ %D%/packages/patches/dbus-helper-search-path.patch \ %D%/packages/patches/deja-dup-use-ref-keyword-for-iter.patch \ + %D%/packages/patches/delly-use-system-libraries.patch \ %D%/packages/patches/dfu-programmer-fix-libusb.patch \ %D%/packages/patches/diffutils-gets-undeclared.patch \ %D%/packages/patches/diffutils-getopt.patch \ diff --git a/gnu/packages.scm b/gnu/packages.scm index 97e6cb347f..1a37a17342 100644 --- a/gnu/packages.scm +++ b/gnu/packages.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com> @@ -110,8 +110,25 @@ for system '~a'") file-name system))))))) (define %distro-root-directory - ;; Absolute file name of the module hierarchy. - (dirname (search-path %load-path "guix.scm"))) + ;; Absolute file name of the module hierarchy. Since (gnu packages …) might + ;; live in a directory different from (guix), try to get the best match. + (letrec-syntax ((dirname* (syntax-rules () + ((_ file) + (dirname file)) + ((_ file head tail ...) + (dirname (dirname* file tail ...))))) + (try (syntax-rules () + ((_ (file things ...) rest ...) + (match (search-path %load-path file) + (#f + (try rest ...)) + (absolute + (dirname* absolute things ...)))) + ((_) + #f)))) + (try ("gnu/packages/base.scm" gnu/ packages/) + ("gnu/packages.scm" gnu/) + ("guix.scm")))) (define %package-module-path ;; Search path for package modules. Each item must be either a directory @@ -142,7 +159,9 @@ for system '~a'") (define* (fold-packages proc init #:optional - (modules (all-modules (%package-module-path))) + (modules (all-modules (%package-module-path) + #:warn + warn-about-load-error)) #:key (select? (negate hidden-package?))) "Call (PROC PACKAGE RESULT) for each available package defined in one of MODULES that matches SELECT?, using INIT as the initial value of RESULT. It diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 408a4a5f41..8d988a08a2 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -471,13 +471,13 @@ detection, and lossless compression.") (define-public borg (package (name "borg") - (version "1.1.4") + (version "1.1.5") (source (origin (method url-fetch) (uri (pypi-uri "borgbackup" version)) (sha256 - (base32 "1cicqwh85wfp65y00qaq6q4i4jcyy9b66qz5gpl80qc880wab912")) + (base32 "0gbdnq7ks46diz6y2pf6wpwkb9hy6hp3immi7jg3h7w72b3ycmj3")) (modules '((guix build utils))) (snippet '(begin @@ -510,6 +510,17 @@ detection, and lossless compression.") ;; HOME=/homeless-shelter. (setenv "HOME" "/tmp") #t))) + ;; Later versions of msgpack were disallowed to some warnings and lack + ;; of support for Python versions that we don't support anyways. So, + ;; it's okay to to keep using more recents versions of msgpack for + ;; Borg. Also see the note about msgpack in the list of inputs. + ;; https://github.com/borgbackup/borg/issues/3517#issuecomment-357221978 + (add-before 'build 'adjust-msgpack-dependency + (lambda _ + (substitute* "setup.py" + (("msgpack-python>=0.4.6,<0.5.0") + "msgpack-python>=0.4.6")) + #t)) ;; The tests need to be run after Borg is installed. (delete 'check) (add-after 'install 'check diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index f557dce8e5..09581d9fde 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2018 Roel Janssen <roel@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,7 +22,9 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system r) - #:use-module (gnu packages)) + #:use-module (gnu packages) + #:use-module (gnu packages statistics) + #:use-module (gnu packages bioinformatics)) (define-public r-hpar (package @@ -40,3 +43,30 @@ (description "This package provides a simple interface to and data from the Human Protein Atlas project.") (license license:artistic2.0))) + +(define-public r-regioner + (package + (name "r-regioner") + (version "1.10.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "regioneR" version)) + (sha256 + (base32 + "1vprp3l929hwzmvgskbhawfgnrymwc9n2rxd16rgagnv1dxnjxfp")))) + (properties `((upstream-name . "regioneR"))) + (build-system r-build-system) + (propagated-inputs + `(("r-memoise" ,r-memoise) + ("r-genomicranges" ,r-genomicranges) + ("r-bsgenome" ,r-bsgenome) + ("r-rtracklayer" ,r-rtracklayer) + ("r-genomeinfodb" ,r-genomeinfodb) + ("r-iranges" ,r-iranges))) + (home-page "https://bioconductor.org/packages/regioneR/") + (synopsis "Association analysis of genomic regions") + (description "This package offers a statistical framework based on +customizable permutation tests to assess the association between genomic +region sets and other genomic features.") + (license license:artistic2.0))) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index d4380f86ac..5af4947b68 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -2039,10 +2039,57 @@ normalized and standardized files, multiple visualizations can be created to identify enrichments with functional annotations of the genome.") (license license:gpl3+))) +(define-public delly + (package + (name "delly") + (version "0.7.7") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/tobiasrausch/delly/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0dkwy3pyxmi6dhh1lpsr3698ri5sslw9qz67hfys0bz8dgrqwabj")) + (patches (search-patches "delly-use-system-libraries.patch")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; There are no tests to run. + #:make-flags '("PARALLEL=1") ; Allow parallel execution at run-time. + #:phases + (modify-phases %standard-phases + (delete 'configure) ; There is no configure phase. + (replace 'install + (lambda _ + (let ((bin (string-append (assoc-ref %outputs "out") "/bin")) + (templates (string-append (assoc-ref %outputs "out") + "/share/delly/templates"))) + (mkdir-p bin) + (mkdir-p templates) + (copy-recursively "excludeTemplates" templates) + (install-file "src/cov" bin) + (install-file "src/delly" bin) + (install-file "src/dpe" bin))))))) + (native-inputs + `(("python" ,python-2))) + (inputs + `(("boost" ,boost) + ("htslib" ,htslib) + ("zlib" ,zlib) + ("bzip2" ,bzip2))) + (home-page "https://github.com/tobiasrausch/delly") + (synopsis "Integrated structural variant prediction method") + (description "Delly is an integrated structural variant prediction method +that can discover and genotype deletions, tandem duplications, inversions and +translocations at single-nucleotide resolution in short-read massively parallel +sequencing data. It uses paired-ends and split-reads to sensitively and +accurately delineate genomic rearrangements throughout the genome.") + (license license:gpl3+))) + (define-public diamond (package (name "diamond") - (version "0.9.18") + (version "0.9.19") (source (origin (method url-fetch) (uri (string-append @@ -2051,7 +2098,7 @@ identify enrichments with functional annotations of the genome.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1vi2nddmy7knrv8gsprwqp6a40k63n3f2dfvx22ipjhrg9xir96f")))) + "0c4y8l90vdxmglb0w37y0413v11qzcwg8sdmy9k0c0gr3bsq7dzs")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; no "check" target @@ -3698,7 +3745,7 @@ sequencing tag position and orientation.") (define-public mafft (package (name "mafft") - (version "7.313") + (version "7.394") (source (origin (method url-fetch) (uri (string-append @@ -3707,7 +3754,7 @@ sequencing tag position and orientation.") (file-name (string-append name "-" version ".tgz")) (sha256 (base32 - "0r83qmg2if8mi6jyx3xdf8ar2gcxl7r9nmj98jr7lxym97v61a2k")))) + "0bacjkxfg944p5khhyh5rd4y7wkjc9qk4v2jjj442sqlq0f8ar7b")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no automated tests, though there are tests in the read me @@ -3784,7 +3831,7 @@ sequences).") (define-public mash (package (name "mash") - (version "1.1.1") + (version "2.0") (source (origin (method url-fetch) (uri (string-append @@ -3793,7 +3840,7 @@ sequences).") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "08znbvqq5xknfhmpp3wcj574zvi4p7i8zifi67c9qw9a6ikp42fj")) + "00fx14vpmgsijwxd1xql3if934l82v8ckqgjjyyhnr36qb9qrskv")) (modules '((guix build utils))) (snippet '(begin @@ -3813,7 +3860,9 @@ sequences).") (modify-phases %standard-phases (add-after 'unpack 'fix-includes (lambda _ - (substitute* '("src/mash/Sketch.cpp" "src/mash/CommandFind.cpp") + (substitute* '("src/mash/Sketch.cpp" + "src/mash/CommandFind.cpp" + "src/mash/CommandScreen.cpp") (("^#include \"kseq\\.h\"") "#include \"htslib/kseq.h\"")) #t)) @@ -10960,34 +11009,41 @@ droplet sequencing. It has been particularly tailored for Drop-seq.") (define-public sambamba (package (name "sambamba") - (version "0.6.5") + (version "0.6.7-10-g223fa20") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/lomereiter/sambamba/" - "archive/v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/lomereiter/sambamba.git") + (commit (string-append "v" version)))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "17076gijd65a3f07zns2gvbgahiz5lriwsa6dq353ss3jl85d8vy")))) + "1zb9hrxglxqh13ava9wwri30cvf85hjnbn8ccnr8l60a3k5avczn")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; there is no test target - #:make-flags - '("D_COMPILER=ldc2" - ;; Override "--compiler" flag only. - "D_FLAGS=--compiler=ldc2 -IBioD -g -d" - "sambamba-ldmd2-64") + `(#:tests? #f ; there is no test target + #:parallel-build? #f ; not supported #:phases (modify-phases %standard-phases (delete 'configure) - (add-after 'unpack 'place-biod + (add-after 'unpack 'fix-ldc-version + (lambda _ + (substitute* "gen_ldc_version_info.py" + (("/usr/bin/env.*") (which "python"))) + (substitute* "Makefile" + (("\\$\\(shell which ldmd2\\)") (which "ldmd2"))) + #t)) + (add-after 'unpack 'place-biod-and-undead (lambda* (#:key inputs #:allow-other-keys) (copy-recursively (assoc-ref inputs "biod") "BioD") + (copy-recursively (assoc-ref inputs "undead") "undeaD") #t)) (add-after 'unpack 'unbundle-prerequisites (lambda _ (substitute* "Makefile" + (("htslib/libhts.a lz4/lib/liblz4.a") + "-L-lhts -L-llz4") ((" htslib-static lz4-static") "")) #t)) (replace 'install @@ -11000,8 +11056,9 @@ droplet sequencing. It has been particularly tailored for Drop-seq.") (native-inputs `(("ldc" ,ldc) ("rdmd" ,rdmd) + ("python" ,python2-minimal) ("biod" - ,(let ((commit "1248586b54af4bd4dfb28ebfebfc6bf012e7a587")) + ,(let ((commit "c778e4f2d8bacea7499283ce39f5577b232732c6")) (origin (method git-fetch) (uri (git-reference @@ -11012,7 +11069,20 @@ droplet sequencing. It has been particularly tailored for Drop-seq.") "-checkout")) (sha256 (base32 - "1m8hi1n7x0ri4l6s9i0x6jg4z4v94xrfdzp7mbizdipfag0m17g3"))))))) + "1z90562hg47i63gx042wb3ak2vqjg5z7hwgn9bp2pdxfg3nxrw37"))))) + ("undead" + ,(let ((commit "92803d25c88657e945511f0976a0c79d8da46e89")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dlang/undeaD.git") + (commit commit))) + (file-name (string-append "undead-" + (string-take commit 9) + "-checkout")) + (sha256 + (base32 + "0vq6n81vzqvgphjw54lz2isc1j8lcxwjdbrhqz1h5gwrvw9w5138"))))))) (inputs `(("lz4" ,lz4) ("htslib" ,htslib-for-sambamba))) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index b1534e09a4..98d12a12f6 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Corentin Bocquillon <corentin@nybble.fr> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,6 +24,7 @@ #:use-module (guix utils) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix build-system cmake) #:use-module (gnu packages) #:use-module (gnu packages compression) #:use-module (gnu packages python) @@ -68,6 +70,28 @@ from scons. While scons focuses on being 100% correct when building, bam makes a few sacrifices to acquire fast full and incremental build times.") (license license:bsd-3))) +(define-public bear + (package + (name "bear") + (version "2.3.11") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/rizsotto/Bear/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1m0w0wqnz983l7fpp5p9pdsqr7n3ybrzp8ywjcvn0rihsrzj65j6")))) + (build-system cmake-build-system) + (home-page "https://github.com/rizsotto/Bear") + (synopsis "Tool for generating a compilation database") + (description "A JSON compilation database is used in the Clang project to +provide information on how a given compilation unit is processed. With this, +it is easy to re-run the compilation with alternate programs. Bear is used to +generate such a compilation database.") + (license license:gpl3+))) + (define-public meson (package (name "meson") diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index c214f8bf8e..4578961acc 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -273,13 +273,13 @@ format.") (define-public cppcheck (package (name "cppcheck") - (version "1.82") + (version "1.83") (source (origin (method url-fetch) (uri (string-append "https://github.com/danmar/cppcheck/archive/" version ".tar.gz")) (sha256 - (base32 "0zywpd9hbsx23aj33pk5mbr0fz1ijhqzxlnqgwjfwgg6g2k48i2j")) + (base32 "15ghxwmyy09cd9mi008k4jn09c441j86qyaa4dz0is7f5dv5cdkx")) (file-name (string-append name "-" version ".tar.gz")))) (build-system cmake-build-system) (home-page "http://cppcheck.sourceforge.net") @@ -2025,3 +2025,28 @@ retried.") (define-public python2-pyhamcrest (package-with-python2 python-pyhamcrest)) + +(define-public unittest-cpp + (package + (name "unittest-cpp") + (version "2.0.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/unittest-cpp/unittest-cpp/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1fgmna2la7z4pwwy2gd10gpgi2q1fk89npjfvkmzvhkxhyc231bl")))) + (arguments + `(#:tests? #f)) ; It's run after build automatically. + (build-system cmake-build-system) + (home-page "https://github.com/unittest-cpp/unittest-cpp") + (synopsis "Lightweight unit testing framework for C++") + (description "UnitTest++ is a lightweight unit testing framework for C++. +It was designed to do test-driven development on a wide variety of platforms. +Simplicity, portability, speed, and small footprint are all very important +aspects of UnitTest++. UnitTest++ is mostly standard C++ and makes minimal use +of advanced library and language features, which means it should be easily +portable to just about any platform.") + (license license:expat))) diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index 98632bd412..59561b18bb 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -184,8 +184,8 @@ their dependencies.") (license l:gpl3+)))) (define-public cuirass - (let ((commit "326264c8e9445cb94d7fb33aab5ef93dc99ffe57") - (revision "14")) + (let ((commit "f090c0f4786c789070e2eae740914e06ab0ab989") + (revision "15")) (package (name "cuirass") (version (string-append "0.0.1-" revision "." (string-take commit 7))) @@ -197,7 +197,7 @@ their dependencies.") (file-name (string-append name "-" version)) (sha256 (base32 - "0l6433l63r1zyq9hg89q9l6zgydm7bm35xdvb0g22w1d6wvi48ls")))) + "0aj1z9svsjvjlb6gas6032ygwhv7ld4iw7g3as852x9nfd2zck98")))) (build-system gnu-build-system) (arguments '(#:modules ((guix build utils) diff --git a/gnu/packages/cobol.scm b/gnu/packages/cobol.scm index 752e028374..75c8c53bbe 100644 --- a/gnu/packages/cobol.scm +++ b/gnu/packages/cobol.scm @@ -59,7 +59,7 @@ ("ncurses" ,ncurses) ("newcob" ,(origin (method url-fetch) - (uri "http://www.itl.nist.gov/div897/ctg/suites/newcob.val.Z") + (uri "https://www.itl.nist.gov/div897/ctg/suites/newcob.val.Z") (sha256 (base32 "1yb1plmv4firfnbb119r2vh1hay221w1ya34nyz0qwsxppfr56hy")))))) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 10b191051d..6ce0ed1424 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2018 Roel Janssen <roel@gnu.org> -;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Raoul Bonnal <ilpuccio.febo@gmail.com> ;;; Copyright © 2018 Vijayalakshmi Vedantham <vijimay12@gmail.com> ;;; Copyright © 2018 Sahithi Yarlagadda <sahi@swecha.net> @@ -1027,14 +1027,14 @@ or excesses over a high threshold.") (define-public r-lmtest (package (name "r-lmtest") - (version "0.9-35") + (version "0.9-36") (source (origin (method url-fetch) (uri (cran-uri "lmtest" version)) (sha256 (base32 - "107br1l7p52wxvazs031f4h5ryply97qywg9dzrkw4ydnvqq4j9g")))) + "0sym9sm1vl6bbgq01jhz1plxqmgh8hrgrn7rw0mwvsalcn6id7xy")))) (build-system r-build-system) (propagated-inputs `(("r-zoo" ,r-zoo))) @@ -1619,14 +1619,14 @@ created using basic graphics.") (define-public r-broom (package (name "r-broom") - (version "0.4.3") + (version "0.4.4") (source (origin (method url-fetch) (uri (cran-uri "broom" version)) (sha256 (base32 - "119pc2jnxvm13cvd77c7d14p3bn68f4jm310vj3yfck40101n9if")))) + "081x87sy6dmfvkgwfjrl5ax51k77ciyzg9x3xql25vdi92rmwj3m")))) (build-system r-build-system) (propagated-inputs `(("r-dplyr" ,r-dplyr) @@ -2601,16 +2601,16 @@ published results; and a routine for graphical display.") (define-public r-network (package (name "r-network") - (version "1.13.0") + (version "1.13.0.1") (source (origin (method url-fetch) (uri (cran-uri "network" version)) (sha256 (base32 - "11sg330xb7gcnl3f6lwhhjdabz6mk43828i2np635pqw4s4yl13s")))) + "1bbkbqkqf1d7irfwh08c13c2pfypir1ssvlqrln83irqns1ikdv0")))) (build-system r-build-system) - (home-page "http://statnet.org/") + (home-page "https://statnet.org/") (synopsis "Classes for relational data") (description "This package provides tools to create and modify network objects. The @@ -2632,7 +2632,7 @@ supports arbitrary vertex/edge/graph attributes.") (properties `((upstream-name . "statnet.common"))) (build-system r-build-system) - (home-page "http://www.statnet.org") + (home-page "https://statnet.org") (synopsis "R scripts and utilities used by the Statnet software") (description "This package provides non-statistical utilities used by the software developed by the Statnet Project.") @@ -2653,7 +2653,7 @@ software developed by the Statnet Project.") (propagated-inputs `(("r-network" ,r-network) ("r-statnet-common" ,r-statnet-common))) - (home-page "http://www.statnet.org") + (home-page "https://statnet.org") (synopsis "Tools for social network analysis") (description "This package provides a range of tools for social network analysis, @@ -3654,3 +3654,53 @@ and Eclat.") time formats, @code{parse_date} parses dates in unspecified formats, and @code{format_iso_8601} formats a date in ISO 8601 format.") (license license:gpl2))) + +(define-public r-abc-data + (package + (name "r-abc-data") + (version "1.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "abc.data" version)) + (sha256 + (base32 + "1bv1n68ah714ws58cf285n2s2v5vn7382lfjca4jxph57lyg8hmj")))) + (properties `((upstream-name . "abc.data"))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/web/packages/abc.data/") + (synopsis "Data for Approximate Bayesian Computation (ABC) package") + (description + "This package contains data which are used by functions of the abc +package which implements several @dfn{Approximate Bayesian Computation} (ABC) +algorithms for performing parameter estimation, model selection, and +goodness-of-fit.") + (license license:gpl3+))) + +(define-public r-abc + (package + (name "r-abc") + (version "2.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "abc" version)) + (sha256 + (base32 + "0ngzaaz2y2s03fhngvwipmy4kq38xrmyddaz6a6l858rxvadrlhb")))) + (build-system r-build-system) + (propagated-inputs + `(("r-abc-data" ,r-abc-data) + ("r-locfit" ,r-locfit) + ("r-mass" ,r-mass) + ("r-nnet" ,r-nnet) + ("r-quantreg" ,r-quantreg))) + (home-page "https://cran.r-project.org/web/packages/abc/") + (synopsis "Tools for Approximate Bayesian Computation (ABC)") + (description + "This package implements several @dfn{Approximate Bayesian +Computation} (ABC) algorithms for performing parameter estimation, model +selection, and goodness-of-fit. Cross-validation tools are also available for +measuring the accuracy of ABC estimates, and to calculate the +misclassification probabilities of different models.") + (license license:gpl3+))) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 00d19a8d12..a574e652eb 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 David Thompson <davet@gnu.org> ;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name> +;;; Copyright © 2016, 2017, 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox> ;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is> @@ -34,10 +34,10 @@ #:use-module (gnu packages boost) #:use-module (gnu packages compression) #:use-module (gnu packages cryptsetup) + #:use-module (gnu packages databases) #:use-module (gnu packages gettext) #:use-module (gnu packages gnupg) #:use-module (gnu packages image) - #:use-module (gnu packages pkg-config) #:use-module (gnu packages libbsd) #:use-module (gnu packages libffi) #:use-module (gnu packages linux) @@ -45,6 +45,8 @@ #:use-module (gnu packages password-utils) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) #:use-module (gnu packages readline) #:use-module (gnu packages search) #:use-module (gnu packages serialization) @@ -711,3 +713,49 @@ of magnet links and a wide range of hash sums like CRC32, MD4, MD5, SHA1, SHA256, SHA512, SHA3, AICH, ED2K, Tiger, DC++ TTH, BitTorrent BTIH, GOST R 34.11-94, RIPEMD-160, HAS-160, EDON-R, Whirlpool and Snefru.") (license (license:non-copyleft "file://COPYING")))) + +(define-public botan + (package + (name "botan") + (version "2.5.0") + (source (origin + (method url-fetch) + (uri (string-append "https://botan.randombit.net/releases/" + "Botan-" version ".tgz")) + (sha256 + (base32 + "06zvwknhwfrkdvq2sybqbqhnd2d4nq2cszlnsddql13z7vh1z8xq")))) + (build-system gnu-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref %outputs "out")) + (lib (string-append out "/lib"))) + (invoke "python" "./configure.py" + (string-append "--prefix=" out) + ;; Otherwise, the `botan` executable cannot find + ;; libbotan. + (string-append "--ldflags=-Wl,-rpath=" lib) + "--with-rst2man" + ;; Recommended by upstream + "--with-zlib" "--with-bzip2" "--with-sqlite3")))) + (replace 'check + (lambda _ (invoke "./botan-test")))))) + (native-inputs + `(("python" ,python-minimal-wrapper) + ("python-docutils" ,python-docutils))) + (inputs + `(("sqlite" ,sqlite) + ("bzip2" ,bzip2) + ("zlib" ,zlib))) + (synopsis "Cryptographic library in C++11") + (description "Botan is a cryptography library, written in C++11, offering +the tools necessary to implement a range of practical systems, such as TLS/DTLS, +PKIX certificate handling, PKCS#11 and TPM hardware support, password hashing, +and post-quantum crypto schemes. In addition to the C++, botan has a C89 API +specifically designed to be easy to call from other languages. A Python binding +using ctypes is included, and several other language bindings are available.") + (home-page "https://botan.randombit.net") + (license license:bsd-2))) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 1b3941b623..01b897da22 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -12,7 +12,7 @@ ;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is> -;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org> +;;; Copyright © 2016, 2017, 2018 Roel Janssen <roel@gnu.org> ;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca> @@ -125,7 +125,8 @@ (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "004fmcf1w75zhc1x3zc6kc97j4jqn2v5nhk6yb3z3cpfrhzi9j50")) - (patches (list (search-patch "4store-fix-buildsystem.patch"))))) + (patches (search-patches "4store-unset-preprocessor-directive.patch" + "4store-fix-buildsystem.patch")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl) @@ -1650,7 +1651,7 @@ database. Various higher level database abstractions.") (define-public perl-db-file (package (name "perl-db-file") - (version "1.840") + (version "1.841") (source (origin (method url-fetch) @@ -1660,7 +1661,7 @@ database. Various higher level database abstractions.") ".tar.gz")) (sha256 (base32 - "1i5jz85z4hpx15lw6ix27pyvrf0ziyh4z33lii4d3wnhz83lg1mp")))) + "11fks42kgscpia0mxx4lc9krm7q4gv6w7m5h3m2jr3dl7viv36hn")))) (build-system perl-build-system) (inputs `(("bdb" ,bdb))) (native-inputs `(("perl-test-pod" ,perl-test-pod))) @@ -1682,14 +1683,14 @@ database. Various higher level database abstractions.") (define-public lmdb (package (name "lmdb") - (version "0.9.21") + (version "0.9.22") (source (origin (method url-fetch) (uri (string-append "https://github.com/LMDB/lmdb/archive/" "LMDB_" version ".tar.gz")) (sha256 (base32 - "0ndmj07hkm2ic60z1f4rdscxs7pq45hk9fibjyv5nhfclhsvd1qi")))) + "0a7a8535csrvw71mrgx680m5d17bnxmmhcccij30idifi1cpi4pk")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -2038,10 +2039,16 @@ implementation for Python.") (base32 "12dqam1gc1v93l0bj0vlpvjqppki6y1hqrlznywxnw0rrz9pb002")))) (build-system gnu-build-system) (arguments - `(#:tests? #f)) ; Tests require a network connection. + `(#:tests? #f ; Tests require a network connection. + ;; TODO: Removing the libsrc/zlib source directory breaks the build. + ;; This indicates that the internal zlib code may still be used. + #:configure-flags '("--without-internal-zlib" + "--with-readline"))) (inputs `(("openssl" ,openssl) - ("net-tools" ,net-tools))) + ("net-tools" ,net-tools) + ("readline" ,readline) + ("zlib" ,zlib))) (home-page "http://vos.openlinksw.com/owiki/wiki/VOS/") (synopsis "Multi-model database system") (description "Virtuoso is a scalable cross-platform server that combines diff --git a/gnu/packages/debian.scm b/gnu/packages/debian.scm index 3c3189e073..01df30c558 100644 --- a/gnu/packages/debian.scm +++ b/gnu/packages/debian.scm @@ -1,4 +1,5 @@ ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by @@ -111,7 +112,7 @@ contains the archive keys used for that.") (define-public debootstrap (package (name "debootstrap") - (version "1.0.93") + (version "1.0.95") (source (origin (method url-fetch) @@ -119,7 +120,7 @@ contains the archive keys used for that.") name "_" version ".tar.gz")) (sha256 (base32 - "1nyp9fwb7xrk1vin81dmgx2g9rb52yg4gwz4rcx97gamw4mlvbfd")))) + "1xpd1yblcgwhri64hzgxhalpf5j8gqbmkrsm1fs0pbwiy0wdz0ry")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm index 4334203f7b..d09280a3d4 100644 --- a/gnu/packages/dictionaries.scm +++ b/gnu/packages/dictionaries.scm @@ -211,7 +211,7 @@ It comes with a German-English dictionary with approximately 270,000 entries.") (define-public grammalecte (package (name "grammalecte") - (version "0.6.2") + (version "0.6.3.1") (source (origin (method url-fetch/zipbomb) @@ -219,8 +219,21 @@ It comes with a German-English dictionary with approximately 270,000 entries.") "Grammalecte-fr-v" version ".zip")) (sha256 (base32 - "0pvblclvbxbfgmq0cvmpmzpf6bi6r41arndwprl7ab9kci9hi8j2")))) + "0jlzrhpx9qvjdq679w188p86x09yfjf3l0h4scjl9w26yyp53gr8")))) (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-setup + ;; Fix typos in "setup.py". In particular, add the new + ;; "graphspell" module introduced in 0.6.2. Reported upstream: + ;; <https://www.dicollecte.org/thread.php?prj=fr&t=709> + (lambda _ + (substitute* "setup.py" + (("packages=\\['grammalecte', 'grammalecte.fr'\\],") + "packages=['grammalecte', 'grammalecte.fr', 'grammalecte.graphspell'],") + (("_dictionaries/French.bdic") "graphspell/_dictionaries/fr.bdic")) + #t))))) (home-page "https://www.dicollecte.org") (synopsis "French spelling and grammar checker") (description "Grammalecte is a grammar checker dedicated to the French diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 4bb2e69049..d42afb2285 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2017 Nils Gillmann <ng0@n0.is> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2018 Vijayalakshmi Vedantham <vijimay12@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -809,3 +810,25 @@ provides features like a web browseable API and authentication policies.") "@code{django-crispy-forms} lets you easily build, customize and reuse forms using your favorite CSS framework, without writing template code.") (license license:expat))) + +(define-public python-django-override-storage + (package + (name "python-django-override-storage") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "django-override-storage" version)) + (sha256 + (base32 + "0sqz1mh0yn8b1bzz2gr2azfiynljigm5gkzavp5n17zd3j2jg57x")))) + (build-system python-build-system) + (propagated-inputs + `(("python-django" ,python-django))) + (home-page + "https://github.com/danifus/django-override-storage") + (synopsis "Django test helpers to manage file storage side effects") + (description + "This project provides tools to help reduce the side effects of using +FileFields during tests.") + (license license:expat))) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 0011ee057b..7a5bef2a70 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -21,7 +21,7 @@ ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com> -;;; Copyright © 2017 Kyle Meyer <kyle@kyleam.com> +;;; Copyright © 2017, 2018 Kyle Meyer <kyle@kyleam.com> ;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2017 George Clemmer <myglc2@gmail.com> ;;; Copyright © 2017 Feng Shu <tumashu@163.com> @@ -29,9 +29,11 @@ ;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com> ;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com> -;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org> ;;; Copyright © 2017, 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2018 Sohom Bhattacharjee <soham.bhattacharjee15@gmail.com> +;;; Copyright © 2018 Mathieu Lirzin <mthl@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -99,6 +101,7 @@ #:use-module (gnu packages fribidi) #:use-module (gnu packages gd) #:use-module (gnu packages fontutils) + #:use-module (gnu packages password-utils) #:use-module (guix utils) #:use-module (srfi srfi-1) #:use-module (ice-9 match)) @@ -383,7 +386,7 @@ when typing parentheses directly or commenting out code line by line.") (define-public git-modes (package (name "emacs-git-modes") - (version "1.2.6") + (version "1.2.7") (source (origin (method url-fetch) (uri (string-append @@ -392,7 +395,7 @@ when typing parentheses directly or commenting out code line by line.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "18z04wn5ird9l0h6n6x97v0kyzdj73832bj9qakm3fjjl7vcn0pw")))) + "1mzl70s0xyysnjq1j10mc5vn9i022n5vd82kxsgp4xxqq7gc4qnx")))) (build-system emacs-build-system) (home-page "https://github.com/magit/git-modes") (synopsis "Emacs major modes for Git configuration files") @@ -3911,7 +3914,7 @@ If you want to mark a folder manually as a project just create an empty (define-public emacs-elfeed (package (name "emacs-elfeed") - (version "2.2.0") + (version "2.3.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/skeeto/elfeed/archive/" @@ -3919,7 +3922,7 @@ If you want to mark a folder manually as a project just create an empty (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0d7i93l3b0ck3iad9ddqp7sqa8w16hnamrby8bwvl316rqk4lzlf")))) + "1fd1mx0q1qb9vgdzls5ppxfriyid48blg8smgjspiazp7kxakzxv")))) (build-system emacs-build-system) (arguments `(#:phases @@ -4164,7 +4167,7 @@ the file buffer.") (define-public emacs-helm (package (name "emacs-helm") - (version "2.8.5") + (version "2.9.0") (source (origin (method url-fetch) (uri (string-append @@ -4173,7 +4176,7 @@ the file buffer.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "15xlnjm9rsbn0xq7xc09y52h2kn41zwn7ldryammf6i46wl02kq3")))) + "1798gn0za11cxdbi436javfczv4abniccxcl0jppl463r8lzb8is")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-async" ,emacs-async) @@ -4193,7 +4196,7 @@ not tied in the trap of backward compatibility.") (define-public emacs-helm-swoop (package (name "emacs-helm-swoop") - (version "1.7.2") + (version "1.7.4") (source (origin (method url-fetch) (uri (string-append @@ -4203,7 +4206,7 @@ not tied in the trap of backward compatibility.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1z34pfi0gsk054pxr906ilaalaw0xz3s536163gf9ykkwmc2356d")))) + "1ssivsjzlnkg049cg993l8fp09l5nhpz6asj7w5c91zp5kpc6fh7")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-helm" ,emacs-helm))) @@ -4511,14 +4514,14 @@ passive voice.") (name "emacs-org") ;; emacs-org-contrib inherits from this package. Please update its sha256 ;; checksum as well. - (version "20180327") + (version "9.1.9") (source (origin (method url-fetch) - (uri (string-append "https://orgmode.org/elpa/org-" + (uri (string-append "http://elpa.gnu.org/packages/org-" version ".tar")) (sha256 (base32 - "0xmlzlxf15996sd3gj3naiz383d17ngjd9963p4h9kssrkjlwljy")))) + "16yr0srfzsrzv2b1f2wjk8gb2pyhsgj2hxbscixirkxqz674c5cl")))) (build-system emacs-build-system) (home-page "https://orgmode.org/") (synopsis "Outline-based notes management and organizer") @@ -4532,13 +4535,14 @@ reproducible research.") (package (inherit emacs-org) (name "emacs-org-contrib") + (version "20180327") (source (origin (method url-fetch) (uri (string-append "https://orgmode.org/elpa/org-plus-contrib-" - (package-version emacs-org) ".tar")) + version ".tar")) (sha256 (base32 - "1nqn7m1x9w5y356ylv5hia6v62pqfz9g3rzjbiffjxyyc34xvpfm")))) + "1y1nn0bxnh9y4a3zrqng8n639j5da5387q2314sr3a8ggy1nb93s")))) (arguments `(#:modules ((guix build emacs-build-system) (guix build utils) @@ -4559,8 +4563,7 @@ reproducible research.") string=? contrib-files org+contrib-files))) (with-directory-excursion (string-append - out "/share/emacs/site-lisp/guix.d/org-contrib-" - ,(package-version emacs-org)) + out "/share/emacs/site-lisp/guix.d/org-contrib-" ,version) (for-each delete-file duplicates)) #t)))))) (propagated-inputs @@ -7425,3 +7428,125 @@ the same values you get in a terminal.") "Deft is an Emacs mode for quickly browsing, filtering, and editing directories of plain text notes, inspired by Notational Velocity.") (license license:bsd-3))) + +(define-public emacs-anzu + (package + (name "emacs-anzu") + (version "0.62") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/syohex/emacs-anzu/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "16cg3897x5znbmgk7sdy0qyd0fbic9dmmz0dchq2vz5z29yhg4cz")))) + (build-system emacs-build-system) + (home-page "https://github.com/syohex/emacs-anzu") + (synopsis "Show number of matches in mode-line while searching") + (description + "Anzu provides a minor mode which displays \"current match/total +matches\" in the mode line in various search modes. This is an Emacs port of +Anzu.zim.") + (license license:gpl3+))) + +(define-public emacs-emmet-mode + (package + (name "emacs-emmet-mode") + (version "1.0.8") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/smihica/emmet-mode" + "/archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0g3p22yabfcp98cfv9dgl9il2m2pd53isq2q11vb3s7qyn31f7zj")))) + (build-system emacs-build-system) + (home-page "https://github.com/smihica/emmet-mode") + (synopsis "Unofficial Emmet's support for Emacs") + (description + "Unfold CSS-selector-like expressions to markup. It is intended to be +used with SGML-like languages: XML, HTML, XHTML, XSL, etc.") + (license license:gpl3+))) + +(define-public emacs-password-store + (package + (name "emacs-password-store") + (version "1.7.1") + (source (origin + (method url-fetch) + (uri + (string-append "https://git.zx2c4.com/password-store/snapshot/" + "password-store-" version ".tar.xz")) + (sha256 + (base32 + "0scqkpll2q8jhzcgcsh9kqz0gwdpvynivqjmmbzax2irjfaiklpn")))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'extract-el-file + (lambda _ + (copy-file "contrib/emacs/password-store.el" "password-store.el") + (delete-file-recursively "contrib") + (delete-file-recursively "man") + (delete-file-recursively "src") + (delete-file-recursively "tests")))))) + (propagated-inputs + `(("emacs-f" ,emacs-f) + ("emacs-s" ,emacs-s) + ("password-store" ,password-store))) + (home-page "https://git.zx2c4.com/password-store/tree/contrib/emacs") + (synopsis "Password store (pass) support for Emacs") + (description + "This package provides functions for working with pass (\"the +standard Unix password manager\").") + (license license:gpl2+))) + +(define-public emacs-pass + (package + (name "emacs-pass") + (version "1.7") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/NicolasPetton/pass/archive/" + version ".tar.gz")) + (sha256 + (base32 + "0zlx9v6z0q3w9qhq9bq6vb7sli4c9x7qccm2wq55j0nw7bwy2yvj")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-password-store" ,emacs-password-store) + ("emacs-f" ,emacs-f))) + (home-page "https://github.com/NicolasPetton/pass") + (synopsis "Major mode for @file{password-store.el}") + (description "This is a major mode for managing password-store (pass) +keychains. The keychain entries are displayed in a directory-like structure +and can be consulted and modified.") + (license license:gpl3+))) + +(define-public emacs-evil-anzu + (package + (name "emacs-evil-anzu") + (version "0.03") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/syohex/emacs-evil-anzu" + "/archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "032hh2946z529cizqsg8pm6cpn5qdj8lfk3qskmx6xv3g2ra56ns")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-evil" ,emacs-evil) + ("emacs-anzu" ,emacs-anzu))) + (home-page "https://github.com/syohex/emacs-evil-anzu") + (synopsis "Anzu for evil-mode") + (description "@code{anzu} provides a minor mode that displays the current +match and total match information in the mode-line in various search modes.") + (license license:gpl3+))) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 9e65d5f46b..b0da0bb423 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -398,7 +398,7 @@ Super Game Boy, BS-X Satellaview, and Sufami Turbo.") (define-public mgba (package (name "mgba") - (version "0.6.1") + (version "0.6.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/mgba-emu/mgba/archive/" @@ -406,7 +406,7 @@ Super Game Boy, BS-X Satellaview, and Sufami Turbo.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0xmq1q1j71hnpd49wm91cqq8w5zdhb921cm17jchp4qjmaqgwy3w")) + "0x7a9i1jdic3haf5fkd7x16vwqpf4jqdiw56a5fc4gx4jhn9yhi2")) (modules '((guix build utils))) (snippet ;; Make sure we don't use the bundled software. @@ -1061,7 +1061,7 @@ emulation community. It provides highly accurate emulation.") version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0fdribjfc5zz9brzhqcxw6m76kvyg13l67aiigszv4wsjd5j3gpz")))) + (base32 "1wykv0w0kdlh7lh0k1ig0lpk5vh4c7r19jlfa9103jmjlryrq679")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no tests diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index c236d8cd67..ee62eb5a8b 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -568,43 +568,24 @@ image, etc. Besides viewing Gerbers, you may also view Excellon drill files as well as pick-place files.") (license license:gpl2+))) -(define-public ao - (let ((commit "fb288c945aa7e30d9be10a564edad7e1b6a6c1ae") - (revision "1")) +(define-public libfive + (let ((commit "9d857d1923abecb0e5935b9287d22661f6efaac5") + (revision "2")) (package - (name "ao-cad") ;XXX: really "ao", but it collides with libao + (name "libfive") (version (git-version "0" revision commit)) (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/mkeeter/ao") + (url "https://github.com/libfive/libfive") (commit commit))) (sha256 (base32 - "0syplfqiq7ng7md44yriq5cz41jp8q9z3pl2iwkkllds6p9ylyal")) - (file-name (git-file-name name version)) - (patches (search-patches "ao-cad-aarch64-support.patch")) - (modules '((guix build utils))) - (snippet - ;; Remove bundled libraries: Eigen, glm, and catch. TODO: - ;; Unbundle efsw <https://github.com/diegostamigni/efsw>. - '(begin - (delete-file-recursively "vendor") - - ;; Use #include <catch.hpp>. - (substitute* (find-files "." "\\.[ch]pp$") - (("catch/catch\\.hpp") - "catch.hpp")) - #t)))) + "1r40kyx30wz31cwwlfvfh7fgqkxq3n8dxhswpi9qpf4r5h3l8wsn")) + (file-name (git-file-name name version)))) (build-system cmake-build-system) (arguments - `(;; Have the RUNPATH of libao.so point to $libdir, where libefsw.so - ;; lives. - #:configure-flags (list (string-append "-DCMAKE_SHARED_LINKER_FLAGS=" - "-Wl,-rpath=" - (assoc-ref %outputs "out") - "/lib")) - + `(#:tests? #f ; no "test" target #:phases (modify-phases %standard-phases (add-after 'unpack 'remove-native-compilation @@ -618,64 +599,29 @@ as well as pick-place files.") (setenv "CPLUS_INCLUDE_PATH" (string-append eigen "/include/eigen3:" (getenv "CPLUS_INCLUDE_PATH"))) - #t))) - (add-after 'install 'install-guile-bindings - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; Install the Guile bindings (the build system only installs - ;; libao.so.) - (let* ((out (assoc-ref outputs "out")) - (moddir (string-append out "/share/guile/site/2.0"))) - (install-file "bind/libao.so" - (string-append out "/lib")) - - ;; Go to the source directory. - (with-directory-excursion ,(string-append "../" - name "-" version - "-checkout") - (substitute* "bind/guile/ao/sys/libao.scm" - (("\\(define libao \\(dynamic-link .*$") - (string-append "(define libao (dynamic-link \"" - out "/lib/libao\")) ;"))) - - (copy-recursively "bind/guile/ao" (string-append moddir "/ao")) - - (substitute* "bin/ao-guile" - (("\\(add-to-load-path .*") - (string-append "(add-to-load-path \"" moddir "\")"))) - - (install-file "bin/ao-guile" - (string-append out "/bin")) - - ;; Allow Ao to dlopen the relevant GL libraries. Otherwise - ;; it fails with: - ;; Couldn't find current GLX or EGL context. - (let ((mesa (assoc-ref inputs "mesa"))) - (wrap-program (string-append out "/bin/ao-guile") - `("LD_LIBRARY_PATH" ":" prefix - (,(string-append mesa "/lib"))))) - #t))))))) + #t)))))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("boost" ,boost) ("catch" ,catch-framework) ("libpng" ,libpng) - ("glfw" ,glfw) - ("libepoxy" ,libepoxy) - ("mesa" ,mesa) + ("qtbase" ,qtbase) ("eigen" ,eigen) - ("glm" ,glm) - ("guile" ,guile-2.0))) - (home-page "http://www.mattkeeter.com/projects/ao/") + ("guile" ,guile-2.2))) + (home-page "https://libfive.com") (synopsis "Tool for programmatic computer-aided design") (description - "Ao is a tool for programmatic computer-aided design (CAD). In Ao, -solid models are defined as Scheme scripts, and there are no opaque function -calls into the geometry kernel: everything is visible to the user. Even -fundamental, primitive shapes are represented as code in the user-level + "Libfive is a tool for programmatic computer-aided design (CAD). In +libfive, solid models are defined as Scheme scripts, and there are no opaque +function calls into the geometry kernel: everything is visible to the user. +Even fundamental, primitive shapes are represented as code in the user-level language.") (license (list license:lgpl2.1+ ;library - license:gpl2+))))) ;Guile bindings + license:gpl2+))))) ;Guile bindings and GUI + +(define-public ao + (deprecated-package "ao-cad" libfive)) ;; We use kicad from a git commit, because support for boost 1.61.0 has been ;; recently added. diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index f296afec5a..e158cab2be 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -431,13 +431,13 @@ resolution.") (define-public libotf (package (name "libotf") - (version "0.9.13") + (version "0.9.16") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/m17n/libotf-" version ".tar.gz")) (sha256 - (base32 "0239zvfan56w7vrppriwy77fzb10ag9llaz15nsraps2a2x6di3v")))) + (base32 "0sq6g3xaxw388akws6qrllp3kp2sxgk2dv4j79k6mm52rnihrnv8")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index a0134c37fe..0f2a3d66e3 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -766,7 +766,7 @@ interfaces, based on the useradd, usermod and userdel commands.") (define-public libmbim (package (name "libmbim") - (version "1.12.4") + (version "1.16.0") (source (origin (method url-fetch) (uri (string-append @@ -774,7 +774,7 @@ interfaces, based on the useradd, usermod and userdel commands.") name "-" version ".tar.xz")) (sha256 (base32 - "0flpgzsqpjgybjkx4smbb4rjxf2w1xgd1v9gmz61rvl89qasznbv")))) + "1hpsjc7bzmakzvj8z9fffvqknc38fa8ridpmklq46jyxxnz51jn8")))) (build-system gnu-build-system) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-mkenums diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index db13ac0eff..d73c536d4c 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -386,7 +386,7 @@ support.") (define-public tiled (package (name "tiled") - (version "1.1.3") + (version "1.1.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/bjorn/tiled/archive/v" @@ -394,7 +394,7 @@ support.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "08bxl6vc7ynnji4r6ij9ayr2jixvfhv4daplw5p96s0gkhdqd90k")))) + "0xb3zwcdk7khdrza6spl02g5n2xbij6nbszv8vi27vagjnmz1wxh")))) (build-system gnu-build-system) (inputs `(("qtbase" ,qtbase) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index cb7d6c8c5b..fda8c5c661 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2578,7 +2578,7 @@ and the GLib main loop, to integrate well with GNOME applications.") (define-public libsecret (package (name "libsecret") - (version "0.18.5") + (version "0.18.6") (source (origin (method url-fetch) (uri (string-append @@ -2587,7 +2587,7 @@ and the GLib main loop, to integrate well with GNOME applications.") name "-" version ".tar.xz")) (sha256 (base32 - "1cychxc3ff8fp857iikw0n2s13s2mhw2dn1mr632f7w3sn6vvrww")))) + "0vynag97a9bnnb8ipah45av8xg8jzmhd572rw3zj78s1pa8ciysy")))) (build-system gnu-build-system) (outputs '("out" "doc")) (arguments diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index 288e14ebcd..939bdf9148 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -186,13 +186,16 @@ authentication and support for SSL3 and TLS.") (define-public gnurl (package (name "gnurl") - (version "7.58.0") + (version "7.59.0") (source (origin (method url-fetch) - (uri (string-append "mirror://gnu/gnunet/" name "-" version ".tar.xz")) + (uri (list (string-append "mirror://gnu/gnunet/" name "-" version ".tar.xz") + ;; TODO: Remove once gnurl-7.59.0 release has synced to ftp.gnu.org + (string-append "https://ftp.n0.is/pub/releases/gnurl/" + name "-" version ".tar.xz"))) (sha256 (base32 - "1yyswsz0csplqi8hlhqaxlafqn5kh5016j8k2gaxziv4cb343znx")))) + "0fdwqxs4crzj1nbq3lz0xbqjiiqpq16vpll09gryyq4c1y6lbyib")))) (build-system gnu-build-system) (outputs '("out" "doc")) ; 1.5 MiB of man3 pages diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 08c78ec790..6405c985f5 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -38,6 +38,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages curl) #:use-module (gnu packages crypto) + #:use-module (gnu packages emacs) #:use-module (gnu packages openldap) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) @@ -740,6 +741,16 @@ including tools for signing keys, keyring analysis, and party preparation. (ftp-directory . "/gcrypt/pinentry") (upstream-name . "pinentry"))))) +(define-public pinentry-emacs + (package + (inherit pinentry-tty) + (name "pinentry-emacs") + (arguments + `(#:configure-flags '("--enable-pinentry-emacs"))) + (description + "Pinentry provides a console and an Emacs interface that allows users to +enter a passphrase when required by @code{gpg} or other software."))) + (define-public pinentry-gtk2 (package (inherit pinentry-tty) diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm index e07c9f4acb..e913c25904 100644 --- a/gnu/packages/gps.scm +++ b/gnu/packages/gps.scm @@ -147,7 +147,7 @@ between two other data points.") (define-public gama (package (name "gama") - (version "1.21") + (version "1.22") (source (origin (method url-fetch) @@ -155,7 +155,7 @@ between two other data points.") version ".tar.gz")) (sha256 (base32 - "0yy8czw5dldbw1qj5v2h2wfh397bfx5wd3lrrgs8m1qdf1njnhcq")))) + "01q3g2zi5d5r2l10hc8jwwz6w61dwkv7nyj9xd67vvq0gajw0a7r")))) (build-system gnu-build-system) (arguments '(#:parallel-tests? #f)) ; race condition (native-inputs diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm index 35ea129326..2b7438c902 100644 --- a/gnu/packages/graphviz.scm +++ b/gnu/packages/graphviz.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com> +;;; Copyright © 2018 Mathieu Lirzin <mthl@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -43,6 +44,7 @@ #:use-module (gnu packages gd) #:use-module (gnu packages swig) #:use-module (gnu packages python) + #:use-module (gnu packages tex) #:use-module ((guix licenses) #:prefix license:)) (define-public graphviz @@ -240,3 +242,36 @@ graphs in Graphviz's DOT language, written in pure Python.") (define-public python2-pydot (package-with-python2 python-pydot)) + +(define-public dot2tex + (package + (name "dot2tex") + (version "2.9.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "dot2tex" version)) + (sha256 + (base32 + "0jhdwp0wv2h0xb7j2s5xiv7i8yaqgfpwwqcyrjvaxkfwsynm8gkx")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2)) + (inputs + `(("texlive-latex-preview" ,texlive-latex-preview) + ("graphviz" ,graphviz))) + (propagated-inputs + `(("python-pyparsing" ,python2-pyparsing))) + (home-page "https://github.com/kjellmf/dot2tex") + (synopsis "Graphviz to LaTeX converter") + (description + "The purpose of @code{dot2tex} is to give graphs generated by Graphviz a +more LaTeX friendly look and feel. This is accomplished by converting +@code{xdot} output from Graphviz to a series of PSTricks or PGF/TikZ commands. +This approach allows: + +@itemize @bullet +@item Typesetting labels with LaTeX, allowing mathematical notation +@item Using native PSTricks and PGF/TikZ commands for drawing arrows +@item Using backend specific styles to customize the output +@end itemize") + (license license:expat))) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index ef4f5e15ee..58b0abcecf 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -416,7 +417,7 @@ compression formats through the use of the libav library.") (define-public python-gst (package (name "python-gst") - (version "1.12.4") + (version "1.12.5") (source (origin (method url-fetch) (uri (string-append @@ -424,7 +425,7 @@ compression formats through the use of the libav library.") "gst-python-" version ".tar.xz")) (sha256 (base32 - "1sm3dy10klf6i3w6a6mz0rnm29l2lxci5hr8346496jwc7v6mki0")))) + "1x8g9mdkf6hzhlkx6nhrrp607p8g4zkhl3crs8vh504zpbbf71ip")))) (build-system gnu-build-system) (arguments ;; XXX: Factorize python-sitedir with python-build-system. diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index a9c0a21fce..e008e3b167 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -1951,8 +1951,8 @@ is not available for Guile 2.0.") (license license:lgpl3+))) (define-public guile-git - (let ((revision "5") - (commit "2bb9fbbf93cf93496718efc85ad9394aefa21029")) + (let ((revision "6") + (commit "36f93c174adc396c90ec3a6923487f0444fe5d69")) (package (name "guile-git") (version (string-append "0.0-" revision "." (string-take commit 7))) @@ -1962,14 +1962,15 @@ is not available for Guile 2.0.") (uri (git-reference (url home-page) (commit commit))) (sha256 (base32 - "0z3v0v89dyp35zx2h2gsq6v29lba3wbzabc5n2g4hx2fcb6q5qqy")) + "0z1dvn0scx59pbgjkpacam7p5n7630z4qm8fazim7ixq9xv3s8wx")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases ;; FIXME: On i686, bytestructures miscalculates the offset ;; of the 'old-file' and 'new-file' fields within the - ;; '%diff-delta' structure. + ;; '%diff-delta' structure. See + ;; <https://github.com/TaylanUB/scheme-bytestructures/issues/30>. ,@(if (string=? (%current-system) "x86_64-linux") '() '((add-before 'check 'skip-tests diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm index 9593e4c109..6b1d769313 100644 --- a/gnu/packages/haskell-check.scm +++ b/gnu/packages/haskell-check.scm @@ -27,6 +27,7 @@ (define-module (gnu packages haskell-check) #:use-module (gnu packages) #:use-module (gnu packages haskell) + #:use-module (gnu packages haskell-crypto) #:use-module (guix build-system haskell) #:use-module (guix download) #:use-module ((guix licenses) #:prefix license:) @@ -793,3 +794,33 @@ Haskell, inspired by the Ruby library RSpec.") "Nanospec is a lightweight implementation of a subset of Hspec's API with minimal dependencies.") (license license:expat))) + +(define-public ghc-crypto-cipher-tests + (package + (name "ghc-crypto-cipher-tests") + (version "0.0.11") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "crypto-cipher-tests-" version "/" + "crypto-cipher-tests-" version ".tar.gz")) + (sha256 + (base32 + "19wqignlq90qwpam01hnmmrxaxh5lkax9l1l6rlbi4a07nvp1dnz")))) + (build-system haskell-build-system) + (inputs `(("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-mtl" ,ghc-mtl) + ("ghc-hunit" ,ghc-hunit) + ("ghc-test-framework" ,ghc-test-framework) + ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2) + ("ghc-test-framework-hunit" ,ghc-test-framework-hunit) + ("ghc-byteable" ,ghc-byteable) + ("ghc-securemem" ,ghc-securemem) + ("ghc-crypto-cipher-types" ,ghc-crypto-cipher-types))) + (home-page "https://github.com/vincenthz/hs-crypto-cipher") + (synopsis "Generic cryptography cipher tests for Haskell") + (description " This Haskell package contains generic tests for +cryptographic ciphers, and is used by the test runners of various Haskell +implementations of cryptographic ciphers.") + (license license:bsd-3))) diff --git a/gnu/packages/haskell-crypto.scm b/gnu/packages/haskell-crypto.scm index e4d4e56388..b0be30cb6b 100644 --- a/gnu/packages/haskell-crypto.scm +++ b/gnu/packages/haskell-crypto.scm @@ -530,3 +530,133 @@ list validation.") "This package provides a library to handle system accessors and storage for X.509 certificates.") (license license:bsd-3))) + +(define-public ghc-crypto-cipher-types + (package + (name "ghc-crypto-cipher-types") + (version "0.0.9") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "crypto-cipher-types-" version "/" + "crypto-cipher-types-" version ".tar.gz")) + (sha256 + (base32 + "03qa1i1kj07pfrxsi7fiaqnnd0vi94jd4jfswbmnm4gp1nvzcwr0")))) + (build-system haskell-build-system) + (inputs `(("ghc-byteable" ,ghc-byteable) + ("ghc-securemem" ,ghc-securemem))) + (home-page "https://github.com/vincenthz/hs-crypto-cipher") + (synopsis "Generic cryptography cipher types for Haskell") + (description "This Haskell package provides basic typeclasses and types +for symmetric ciphers.") + (license license:bsd-3))) + +(define-public ghc-cipher-aes + (package + (name "ghc-cipher-aes") + (version "0.2.11") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "cipher-aes-" version "/" + "cipher-aes-" version ".tar.gz")) + (sha256 + (base32 + "05ahz6kjq0fl1w66gpiqy0vndli5yx1pbsbw9ni3viwqas4p3cfk")))) + (build-system haskell-build-system) + (inputs `(("ghc-byteable" ,ghc-byteable) + ("ghc-securemem" ,ghc-securemem) + ("ghc-crypto-cipher-types" ,ghc-crypto-cipher-types))) + (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-test-framework" ,ghc-test-framework) + ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2) + ("ghc-crypto-cipher-tests" ,ghc-crypto-cipher-tests))) + (home-page "https://github.com/vincenthz/hs-cipher-aes") + (synopsis "AES cipher implementation with advanced mode of operations for +Haskell") + (description "This Haskell package provides AES cipher implementation. + +The modes of operations available are ECB (Electronic code book), CBC (Cipher +block chaining), CTR (Counter), XTS (XEX with ciphertext stealing), +GCM (Galois Counter Mode). + +The AES implementation uses AES-NI when available (on x86 and x86-64 +architecture), but fallback gracefully to a software C implementation. + +The software implementation uses S-Boxes, which might suffer for cache timing +issues. However do notes that most other known software implementations, +including very popular one (openssl, gnutls) also uses similar +implementation. If it matters for your case, you should make sure you have +AES-NI available, or you'll need to use a different implementation.") + (license license:bsd-3))) + +(define-public ghc-crypto-random + (package + (name "ghc-crypto-random") + (version "0.0.9") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "crypto-random-" version "/" + "crypto-random-" version ".tar.gz")) + (sha256 + (base32 + "0139kbbb2h7vshf68y3fvjda29lhj7jjwl4vq78w4y8k8hc7l2hp")))) + (build-system haskell-build-system) + (inputs `(("ghc-securemem" ,ghc-securemem) + ("ghc-vector" ,ghc-vector))) + (home-page "https://github.com/vincenthz/hs-crypto-random") + (synopsis "Simple cryptographic random related types for Haskell") + (description "Simple cryptographic random related types: a safe +abstraction for CPRNGs.") + (license license:bsd-3))) + +(define-public ghc-cprng-aes + (package + (name "ghc-cprng-aes") + (version "0.6.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "cprng-aes-" version "/" + "cprng-aes-" version ".tar.gz")) + (sha256 + (base32 + "1wr15kbmk1g3l8a75n0iwbzqg24ixv78slwzwb2q6rlcvq0jlnb4")))) + (build-system haskell-build-system) + (inputs `(("ghc-byteable" ,ghc-byteable) + ("ghc-crypto-random" ,ghc-crypto-random) + ("ghc-cipher-aes" ,ghc-cipher-aes))) + (home-page "https://github.com/vincenthz/hs-cprng-aes") + (synopsis "Crypto Pseudo Random Number Generator using AES in counter mode +in Haskell") + (description "Simple crypto pseudo-random-number-generator with really +good randomness property. + +Using ent, a randomness property maker on one 1Mb sample: + +@itemize +@item Entropy = 7.999837 bits per byte. +@item Optimum compression would reduce the size of this 1048576 byte file by 0 +percent. +@item Chi square distribution for 1048576 samples is 237.02. +@item Arithmbetic mean value of data bytes is 127.3422 (127.5 = random). +@item Monte Carlo value for Pi is 3.143589568 (error 0.06 percent). +@end itemize + +Compared to urandom with the same sampling: + +@itemize +@item Entropy = 7.999831 bits per byte. +@item Optimum compression would reduce the size of this 1048576 byte file by 0 +percent. +@item Chi square distribution for 1048576 samples is 246.63. +@item Arithmetic mean value of data bytes is 127.6347 (127.5 = random). +@item Monte Carlo value for Pi is 3.132465868 (error 0.29 percent). +@end itemize") + (license license:bsd-3))) diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm index 1190bc63a5..1f19f82f3f 100644 --- a/gnu/packages/haskell-web.scm +++ b/gnu/packages/haskell-web.scm @@ -901,3 +901,281 @@ of a JSON value into a @code{Data.Aeson.Value}.") (synopsis "Unicode aware uri-encoding") (description "Unicode aware uri-encoding for Haskell.") (license license:bsd-3))) + +(define-public ghc-path-pieces + (package + (name "ghc-path-pieces") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "path-pieces-" version "/" + "path-pieces-" version ".tar.gz")) + (sha256 + (base32 + "0vx3sivcsld76058925hym2j6hm3g71f0qjr7v59f1g2afgx82q8")))) + (build-system haskell-build-system) + (inputs `(("ghc-text" ,ghc-text))) + (native-inputs `(("ghc-hunit" ,ghc-hunit) + ("ghc-hspec" ,ghc-hspec) + ("ghc-quickcheck" ,ghc-quickcheck))) + (home-page "https://github.com/yesodweb/path-pieces") + (synopsis "Used in Yesod to automatically marshall data in the request path") + (description "This Haskell package provides two typeclasses for converting +Haskell data types to and from route pieces.") + (license license:bsd-3))) + +(define-public ghc-skein + (package + (name "ghc-skein") + (version "1.0.9.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "skein-" version "/" + "skein-" version ".tar.gz")) + (sha256 + (base32 + "1jdqdk0rz2wnvw735clnj8jh0a9rkrbqjg7vk3w6wczdql6cm0pq")))) + (build-system haskell-build-system) + (inputs `(("ghc-cereal" ,ghc-cereal) + ("ghc-tagged" ,ghc-tagged) + ("ghc-crpto-api" ,ghc-crypto-api))) + (native-inputs `(("ghc-hspec" ,ghc-hspec))) + (home-page "https://github.com/yesodweb/path-pieces") + (synopsis "Skein family of cryptographic hash functions for Haskell") + (description "@uref{(http://www.skein-hash.info, Skein} is a family of +fast secure cryptographic hash functions designed by Niels Ferguson, Stefan +Lucks, Bruce Schneier, Doug Whiting, Mihir Bellare, Tadayoshi Kohno, Jon +Callas and Jesse Walker. + +This Haskell package uses bindings to the optimized C implementation of Skein.") + (license license:bsd-3))) + +(define-public ghc-clientsession + (package + (name "ghc-clientsession") + (version "0.9.1.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "clientsession-" version "/" + "clientsession-" version ".tar.gz")) + (sha256 + (base32 + "0s6h4ykj16mpf7nlw2iqn2ji0p8g1fn5ni0s7yqaili6vv2as5ar")))) + (build-system haskell-build-system) + (inputs `(("ghc-cereal" ,ghc-cereal) + ("ghc-tagged" ,ghc-tagged) + ("ghc-crypto-api" ,ghc-crypto-api) + ("ghc-skein" ,ghc-skein) + ("ghc-base64-bytestring" ,ghc-base64-bytestring) + ("ghc-entropy" ,ghc-entropy) + ("ghc-cprng-aes" ,ghc-cprng-aes) + ("ghc-cipher-aes" ,ghc-cipher-aes) + ("ghc-crypto-random" ,ghc-crypto-random) + ("ghc-setenv" ,ghc-setenv))) + (native-inputs `(("ghc-hunit" ,ghc-hunit) + ("ghc-hspec" ,ghc-hspec) + ("ghc-quickcheck" ,ghc-quickcheck))) + (home-page "https://github.com/yesodweb/clientsession/tree/master") + (synopsis "Haskell library for securely store session data in a +client-side cookie") + (description "This Haskell package achieves security through AES-CTR +encryption and Skein-MAC-512-256 authentication. Uses Base64 encoding to +avoid any issues with characters.") + (license license:expat))) + +(define-public ghc-yesod-core + (package + (name "ghc-yesod-core") + (version "1.4.37") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "yesod-core-" version "/" + "yesod-core-" version ".tar.gz")) + (sha256 + (base32 + "0ww8hl0cx2g58zrdx3j6d5m2xwhssbajdqws1xk6rzl7rpfm1b9j")))) + (build-system haskell-build-system) + (inputs `(("ghc-wai" ,ghc-wai) + ("ghc-extra" ,ghc-extra) + ("ghc-text" ,ghc-text) + ("ghc-shakespeare" ,ghc-shakespeare) + ("ghc-blaze-builder" ,ghc-blaze-builder) + ("ghc-mtl" ,ghc-mtl) + ("ghc-clientsession" ,ghc-clientsession) + ("ghc-random" ,ghc-random) + ("ghc-cereal" ,ghc-cereal) + ("ghc-old-locale" ,ghc-old-locale) + ("ghc-unordered-containers" ,ghc-unordered-containers) + ("ghc-monad-control" ,ghc-monad-control) + ("ghc-transformers-base" ,ghc-transformers-base) + ("ghc-cookie" ,ghc-cookie) + ("ghc-http-types" ,ghc-http-types) + ("ghc-case-insensitive" ,ghc-case-insensitive) + ("ghc-parsec" ,ghc-parsec) + ("ghc-vector" ,ghc-vector) + ("ghc-aeson" ,ghc-aeson) + ("ghc-fast-logger" ,ghc-fast-logger) + ("ghc-wai-logger" ,ghc-wai-logger) + ("ghc-monad-logger" ,ghc-monad-logger) + ("ghc-conduit" ,ghc-conduit) + ("ghc-resourcet" ,ghc-resourcet) + ("ghc-lifted-base" ,ghc-lifted-base) + ("ghc-blaze-html" ,ghc-blaze-html) + ("ghc-blaze-markup" ,ghc-blaze-markup) + ("ghc-data-default" ,ghc-data-default) + ("ghc-safe" ,ghc-safe) + ("ghc-warp" ,ghc-warp) + ("ghc-unix-compat" ,ghc-unix-compat) + ("ghc-conduit-extra" ,ghc-conduit-extra) + ("ghc-exceptions" ,ghc-exceptions) + ("ghc-deepseq-generics" ,ghc-deepseq-generics) + ("ghc-mwc-random" ,ghc-mwc-random) + ("ghc-primitive" ,ghc-primitive) + ("ghc-word8" ,ghc-word8) + ("ghc-auto-update" ,ghc-auto-update) + ("ghc-semigroups" ,ghc-semigroups) + ("ghc-byteable" ,ghc-byteable))) + (native-inputs `(("ghc-hspec" ,ghc-hspec) + ("ghc-path-pieces" ,ghc-path-pieces) + ("ghc-hunit" ,ghc-hunit) + ("ghc-hspec-expectations" ,ghc-hspec-expectations) + ("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-network" ,ghc-network) + ("ghc-async" ,ghc-async) + ("ghc-streaming-commons" ,ghc-streaming-commons) + ("ghc-wai-extra" ,ghc-wai-extra))) + (home-page "https://www.yesodweb.com") + (synopsis "Core package for the Yesod web framework") + (description "This Haskell package provides all core functionality, for +Yesod, on which other packages can be built. It provides dispatch, handler +functions, widgets, etc.") + (license license:expat))) + +(define-public ghc-yesod-persistent + (package + (name "ghc-yesod-persistent") + (version "1.4.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "yesod-persistent-" version "/" + "yesod-persistent-" version ".tar.gz")) + (sha256 + (base32 + "0kiksw46c8ww9yiwl28pkrppx8d6fhsasr0hvmsliqbrp16likj8")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: hspec-discover not available in PATH. + (inputs `(("ghc-yesod-core" ,ghc-yesod-core) + ("ghc-persistent" ,ghc-persistent) + ("ghc-persistent-template" ,ghc-persistent-template) + ("ghc-blaze-builder" ,ghc-blaze-builder) + ("ghc-conduit" ,ghc-conduit) + ("ghc-resourcet" ,ghc-resourcet) + ("ghc-resource-pool" ,ghc-resource-pool))) + (native-inputs `(("ghc-hspec" ,ghc-hspec) + ("ghc-wai-extra" ,ghc-wai-extra) + ("ghc-yesod-core" ,ghc-yesod-core) + ("ghc-persistent-sqlite" ,ghc-persistent-sqlite) + ("ghc-text" ,ghc-text))) + (home-page "http://www.yesodweb.com/") + (synopsis "Helpers for using Persistent from Yesod") + (description "This Haskell package provides helpers for using Persistent +from Yesod.") + (license license:expat))) + +(define-public ghc-yesod-form + (package + (name "ghc-yesod-form") + (version "1.4.16") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/yesod-form/yesod-form-" + version + ".tar.gz")) + (sha256 + (base32 + "0lij3m5vn8nvh6y88r1dhk03xmmjwmjzazm307nc2wvc5fmx9p2j")))) + (build-system haskell-build-system) + (inputs + `(("ghc-yesod-core" ,ghc-yesod-core) + ("ghc-yesod-persistent" ,ghc-yesod-persistent) + ("ghc-shakespeare" ,ghc-shakespeare) + ("ghc-persistent" ,ghc-persistent) + ("ghc-data-default" ,ghc-data-default) + ("ghc-xss-sanitize" ,ghc-xss-sanitize) + ("ghc-blaze-builder" ,ghc-blaze-builder) + ("ghc-email-validate" ,ghc-email-validate) + ("ghc-text" ,ghc-text) + ("ghc-wai" ,ghc-wai) + ("ghc-blaze-html" ,ghc-blaze-html) + ("ghc-blaze-markup" ,ghc-blaze-markup) + ("ghc-attoparsec" ,ghc-attoparsec) + ("ghc-byteable" ,ghc-byteable) + ("ghc-aeson" ,ghc-aeson) + ("ghc-resourcet" ,ghc-resourcet) + ("ghc-semigroups" ,ghc-semigroups) + ("ghc-network-uri" ,ghc-network-uri) + ("ghc-hspec" ,ghc-hspec))) + (home-page "https://www.yesodweb.com") + (synopsis "Form handling support for Yesod Web Framework") + (description "This Haskell package provies a set of basic form inputs such +as text, number, time, checkbox, select, textarea, etc through the +@code{Yesod.Form.Fields} module. Also, there is @code{Yesod.Form.Nic} module +providing richtext field using Nic editor. ") + (license license:expat))) + +(define-public ghc-yesod + (package + (name "ghc-yesod") + (version "1.4.5") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/yesod/yesod-" + version ".tar.gz")) + (sha256 + (base32 + "1sg66nq8yaas2m5nqsdrxricvcizd1ik02zqk60sxh3wna08fz16")))) + (build-system haskell-build-system) + (inputs + `(("ghc-yesod-core" ,ghc-yesod-core) + ("ghc-yesod-persistent" ,ghc-yesod-persistent) + ("ghc-yesod-form" ,ghc-yesod-form) + ("ghc-monad-control" ,ghc-monad-control) + ("ghc-wai" ,ghc-wai) + ("ghc-wai-extra" ,ghc-wai-extra) + ("ghc-warp" ,ghc-warp) + ("ghc-blaze-html" ,ghc-blaze-html) + ("ghc-blaze-markup" ,ghc-blaze-markup) + ("ghc-aeson" ,ghc-aeson) + ("ghc-data-default-class" ,ghc-data-default-class) + ("ghc-unordered-containers" ,ghc-unordered-containers) + ("ghc-yaml" ,ghc-yaml) + ("ghc-text" ,ghc-text) + ("ghc-monad-logger" ,ghc-monad-logger) + ("ghc-fast-logger" ,ghc-fast-logger) + ("ghc-conduit" ,ghc-conduit) + ("ghc-conduit-extra" ,ghc-conduit-extra) + ("ghc-resourcet" ,ghc-resourcet) + ("ghc-shakespeare" ,ghc-shakespeare) + ("ghc-streaming-commons" ,ghc-streaming-commons) + ("ghc-wai-logger" ,ghc-wai-logger) + ("ghc-semigroups" ,ghc-semigroups))) + (home-page "https://www.yesodweb.com") + (synopsis "Framework for creating type-safe, RESTful web applications") + (description "The Haskell package package groups together the various +Yesod related packages into one cohesive whole. This is the version of Yesod, +whereas most of the core code lives in @code{ghc-yesod-core}.") + (license license:expat))) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index b6f8addf8e..f2c546d08b 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -6253,7 +6253,7 @@ better for some purposes.") (define-public ghc-conduit-extra (package (name "ghc-conduit-extra") - (version "1.1.13.3") + (version "1.1.14") (source (origin (method url-fetch) @@ -6262,7 +6262,7 @@ better for some purposes.") version ".tar.gz")) (sha256 (base32 - "0j3cqpkrn7lbpviv6w0gjh93fjjbh1an2sq0yz7svaawja8civy2")))) + "1ij3qcfk7q90fl6gklpy2k5ka9jgzrvs8frq0gy7gdcgyaabqfkg")))) (build-system haskell-build-system) (inputs `(("ghc-conduit" ,ghc-conduit) @@ -7824,7 +7824,7 @@ bytestrings and their hexademical representation.") (define-public ghc-psqueues (package (name "ghc-psqueues") - (version "0.2.2.3") + (version "0.2.6.0") (source (origin (method url-fetch) @@ -7833,7 +7833,7 @@ bytestrings and their hexademical representation.") "psqueues-" version ".tar.gz")) (sha256 (base32 - "1dd6xv1wjxj1xinx155b14hijw8fafrg4096srzdzj7xyqq7qxbd")))) + "0n39s1i88j6s7vvsdhpbhcr3gpbwlzabwcc3nbd7nqb4kb4i0sls")))) (build-system haskell-build-system) (inputs `(("ghc-hashable" ,ghc-hashable))) @@ -7844,7 +7844,7 @@ bytestrings and their hexademical representation.") ("ghc-test-framework" ,ghc-test-framework) ("ghc-test-framework-hunit" ,ghc-test-framework-hunit) ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2))) - (home-page "https://github.com/bttr/psqueues") + (home-page "https://github.com/jaspervdj/psqueues") (synopsis "Pure priority search queues") (description "The psqueues package provides @uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in @@ -8001,6 +8001,7 @@ Double.") (base32 "1sv5vabsx332v1lpb6v3jv4zrzvpx1n7yprzd8wlcda5vsc5a6zp")))) (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: 1 test fails. (inputs `(("ghc-vector" ,ghc-vector) ("ghc-vector-th-unbox" ,ghc-vector-th-unbox))) @@ -8304,7 +8305,8 @@ and regression and autocorrelation analysis. "0bszq6fijnr4pmadzz89smj7kfmzx0ca3wd9ga8gv0in9jk9vgp1")))) (build-system haskell-build-system) (inputs `(("ghc-vector" ,ghc-vector) - ("ghc-semigroups" ,ghc-semigroups))) + ("ghc-semigroups" ,ghc-semigroups) + ("ghc-text" ,ghc-text))) (home-page "https://github.com/snoyberg/mono-traversable") (synopsis "Typeclasses for dealing with various chunked data representations for Haskell") @@ -8865,4 +8867,605 @@ Foundation has the following goals: @end enumerate\n") (license license:bsd-3))) +(define-public ghc-stm-chans + (package + (name "ghc-stm-chans") + (version "3.0.0.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "stm-chans-" version "/" + "stm-chans-" version ".tar.gz")) + (sha256 + (base32 + "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13")))) + (build-system haskell-build-system) + (inputs `(("ghc-stm" ,ghc-stm))) + (home-page "https://hackage.haskell.org/package/stm-chans") + (synopsis "Additional types of channels for ghc-stm") + (description "This Haskell package offers a collection of channel types, +similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional +features.") + (license license:bsd-3))) + +(define-public ghc-monad-loops + (package + (name "ghc-monad-loops") + (version "0.4.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "monad-loops-" version "/" + "monad-loops-" version ".tar.gz")) + (sha256 + (base32 + "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky")))) + (build-system haskell-build-system) + (native-inputs `(("ghc-tasty" ,ghc-tasty) + ("ghc-tasty-hunit" ,ghc-tasty-hunit))) + (home-page "https://github.com/mokus0/monad-loops") + (synopsis "Monadic loops for Haskell") + (description "This Haskell package provides some useful control +operators for looping.") + (license license:public-domain))) + +(define-public ghc-monad-logger + (package + (name "ghc-monad-logger") + (version "0.3.25.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "monad-logger-" version "/" + "monad-logger-" version ".tar.gz")) + (sha256 + (base32 + "0yv4fsi566zrn30j2g5l901lyqgmflhvzy4hji7ikcbh5d45m920")))) + (build-system haskell-build-system) + (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat) + ("ghc-text" ,ghc-text) + ("ghc-stm" ,ghc-stm) + ("ghc-stm-chans" ,ghc-stm-chans) + ("ghc-lifted-base" ,ghc-lifted-base) + ("ghc-resourcet" ,ghc-resourcet) + ("ghc-conduit" ,ghc-conduit) + ("ghc-conduit-extra" ,ghc-conduit-extra) + ("ghc-fast-logger" ,ghc-fast-logger) + ("ghc-transformers-base" ,ghc-transformers-base) + ("ghc-monad-control" ,ghc-monad-control) + ("ghc-monad-loops" ,ghc-monad-loops) + ("ghc-mtl" ,ghc-mtl) + ("ghc-blaze-builder" ,ghc-blaze-builder) + ("ghc-exceptions" ,ghc-exceptions))) + (home-page "https://github.com/kazu-yamamoto/logger") + (synopsis "Provides a class of monads which can log messages for Haskell") + (description "This Haskell package uses a monad transformer approach +for logging. + +This package provides Template Haskell functions for determining source +code locations of messages.") + (license license:expat))) + +(define-public ghc-shakespeare + (package + (name "ghc-shakespeare") + (version "2.0.14") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "shakespeare-" version "/" + "shakespeare-" version ".tar.gz")) + (sha256 + (base32 + "0j5zx8ka7d7scvb9shm7k3376qzl3k4kpim9aqqfs6n86901zpl4")))) + (build-system haskell-build-system) + (inputs `(("ghc-parsec" ,ghc-parsec) + ("ghc-text" ,ghc-text) + ("ghc-aeson" ,ghc-aeson) + ("ghc-blaze-markup" ,ghc-blaze-markup) + ("ghc-blaze-html" ,ghc-blaze-html) + ("ghc-exceptions" ,ghc-exceptions) + ("ghc-vector" ,ghc-vector) + ("ghc-unordered-containers" ,ghc-unordered-containers) + ("ghc-scientific" ,ghc-scientific))) + (native-inputs `(("ghc-hspec" ,ghc-hspec) + ("ghc-hunit" ,ghc-hunit) + ("hspec-discover" ,hspec-discover))) + (home-page "https://www.yesodweb.com/book/shakespearean-templates") + (synopsis "Family of type-safe template languages for Haskell") + (description "This Haskell package provides a family of type-safe +templates with simple variable interpolation. Shakespeare templates can +be used inline with a quasi-quoter or in an external file and it +interpolates variables according to the type being inserted.") + (license license:expat))) + +(define-public ghc-securemem + (package + (name "ghc-securemem") + (version "0.1.9") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "securemem-" version "/" + "securemem-" version ".tar.gz")) + (sha256 + (base32 + "0dkhhjxa7njc3qbgvd5a23rkvr39vj2kn2a9nk6yjg7a8b2hvdpy")))) + (build-system haskell-build-system) + (inputs `(("ghc-byteable" ,ghc-byteable) + ("ghc-memory" ,ghc-memory))) + (home-page "https://github.com/vincenthz/hs-securemem") + (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for +Haskell") + (description "SecureMem is similar to ByteString, except that it provides +a memory chunk that will be auto-scrubbed after it run out of scope.") + (license license:bsd-3))) + +(define-public ghc-resource-pool + (package + (name "ghc-resource-pool") + (version "0.2.3.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "resource-pool-" version "/" + "resource-pool-" version ".tar.gz")) + (sha256 + (base32 + "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6")))) + (build-system haskell-build-system) + (inputs `(("ghc-hashable" ,ghc-hashable) + ("ghc-monad-control" ,ghc-monad-control) + ("ghc-transformers-base" ,ghc-transformers-base) + ("ghc-stm" ,ghc-stm) + ("ghc-vector" ,ghc-vector))) + (home-page "https://github.com/bos/pool") + (synopsis "Striped resource pooling implementation in Haskell") + (description "This Haskell package provides striped pooling abstraction +for managing flexibly-sized collections of resources such as database +connections.") + (license license:bsd-3))) + +(define-public ghc-attoparsec-iso8601 + (package + (name "ghc-attoparsec-iso8601") + (version "1.0.0.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "attoparsec-iso8601-" version "/" + "attoparsec-iso8601-" version ".tar.gz")) + (sha256 + (base32 + "12l55b76bhya9q89mfmqmy6sl5v39b6gzrw5rf3f70vkb23nsv5a")))) + (build-system haskell-build-system) + (inputs `(("ghc-attoparsec" ,ghc-attoparsec) + ("ghc-base-compat" ,ghc-base-compat) + ("ghc-text" ,ghc-text))) + (home-page "https://github.com/bos/aeson") + (synopsis "Parse ISO 8601 dates") + (description "Haskell library for parsing of ISO 8601 dates, originally +from aeson.") + (license license:bsd-3))) + +(define-public ghc-th-lift-instances + (package + (name "ghc-th-lift-instances") + (version "0.1.11") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "th-lift-instances-" version "/" + "th-lift-instances-" version ".tar.gz")) + (sha256 + (base32 + "1f56cp6ckcalld5jchv0kxpjkwcsixd7smd0g7r8cg67ppx6m90x")))) + (build-system haskell-build-system) + (inputs `(("ghc-th-lift" ,ghc-th-lift) + ("ghc-vector" ,ghc-vector) + ("ghc-text" ,ghc-text))) + (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck))) + (home-page "https://github.com/bennofs/th-lift-instances") + (synopsis "Lift instances for template-haskell for common data types") + (description "Most data types in the Haskell platform do not have Lift +instances. This package provides orphan instances for containers, text, +bytestring and vector.") + (license license:bsd-3))) + +(define-public ghc-generics-sop + (package + (name "ghc-generics-sop") + (version "0.3.1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "generics-sop-" version "/" + "generics-sop-" version ".tar.gz")) + (sha256 + (base32 + "1bazlhgmxcwv7vd44jhdx74cnhmaz6yy47jxfycapjj4mjrnp0x7")))) + (build-system haskell-build-system) + (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat))) + (home-page "https://github.com/well-typed/generics-sop") + (synopsis "Generic Programming using True Sums of Products for Haskell") + (description "This Haskell package supports the definition of generic +functions. Datatypes are viewed in a uniform, structured way: the choice +between constructors is represented using an n-ary sum, and the arguments of +each constructor are represented using an n-ary product.") + (license license:bsd-3))) + +(define-public ghc-uri-bytestring + (package + (name "ghc-uri-bytestring") + (version "0.3.1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "uri-bytestring-" version "/" + "uri-bytestring-" version ".tar.gz")) + (sha256 + (base32 + "04qjv1sgyrdg538290p9hqnvyxnahvr5cjwl8vm1rn9j0fv3ymq9")))) + (build-system haskell-build-system) + (inputs `(("ghc-attoparsec" ,ghc-attoparsec) + ("ghc-fail" ,ghc-fail) + ("ghc-blaze-builder" ,ghc-blaze-builder) + ("ghc-th-lift-instances" ,ghc-th-lift-instances))) + (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec) + ("ghc-hunit" ,ghc-hunit) + ("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-tasty" ,ghc-tasty) + ("ghc-tasty-hunit" ,ghc-tasty-hunit) + ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck) + ("ghc-base-compat" ,ghc-base-compat) + ("ghc-quickcheck-instances" ,ghc-quickcheck-instances) + ("ghc-semigroups" ,ghc-semigroups) + ("ghc-generics-sop" ,ghc-generics-sop))) + (home-page "https://github.com/Soostone/uri-bytestring") + (synopsis "Haskell URI parsing as ByteStrings") + (description "This Haskell package aims to be an RFC3986 compliant URI +parser that uses ByteStrings for parsing and representing the URI data.") + (license license:bsd-3))) + +(define-public ghc-time-locale-compat + (package + (name "ghc-time-locale-compat") + (version "0.1.1.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "time-locale-compat-" version "/" + "time-locale-compat-" version ".tar.gz")) + (sha256 + (base32 + "1vdcfr2hp9qh3ag90x6ikbdf42wiqpdylnplffna54bpnilbyi4i")))) + (build-system haskell-build-system) + (home-page "https://github.com/khibino/haskell-time-locale-compat") + (synopsis "Compatibility of TimeLocale between old-locale and time-1.5") + (description "This Haskell package contains wrapped name module for +TimeLocale.") + (license license:bsd-3))) + +(define-public ghc-http-api-data + (package + (name "ghc-http-api-data") + (version "0.3.7.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "http-api-data-" version "/" + "http-api-data-" version ".tar.gz")) + (sha256 + (base32 + "1zbmf0kkfsw7pfznisi205gh7jd284gfarxsyiavd2iw26akwqwc")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.9 + (inputs `(("ghc-attoparsec" ,ghc-attoparsec) + ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601) + ("ghc-hashable" ,ghc-hashable) + ("ghc-http-types" ,ghc-http-types) + ("ghc-text" ,ghc-text) + ("ghc-time-locale-compat" ,ghc-time-locale-compat) + ("ghc-unordered-containers" ,ghc-unordered-containers) + ("ghc-uri-bytestring" ,ghc-uri-bytestring) + ("ghc-uuid-types" ,ghc-uuid-types))) + (home-page "https://github.com/fizruk/http-api-data") + (synopsis "Convert to/from HTTP API data like URL pieces, headers and +query parameters") + (description "This Haskell package defines typeclasses used for converting +Haskell data types to and from HTTP API data.") + (license license:bsd-3))) + +(define-public ghc-persistent + (package + (name "ghc-persistent") + (version "2.7.3.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "persistent-" version "/" + "persistent-" version ".tar.gz")) + (sha256 + (base32 + "1jbvavdvr9qz5ld7vf6l1jgiadhmxx6zc4vqsdk9ivfq6d5wlg1p")))) + (build-system haskell-build-system) + (inputs `(("ghc-old-locale" ,ghc-old-locale) + ("ghc-text" ,ghc-text) + ("ghc-conduit" ,ghc-conduit) + ("ghc-resourcet" ,ghc-resourcet) + ("ghc-exceptions" ,ghc-exceptions) + ("ghc-monad-control" ,ghc-monad-control) + ("ghc-lifted-base" ,ghc-lifted-base) + ("ghc-resource-pool" ,ghc-resource-pool) + ("ghc-path-pieces" ,ghc-path-pieces) + ("ghc-http-api-data" ,ghc-http-api-data) + ("ghc-aeson" ,ghc-aeson) + ("ghc-monad-logger" ,ghc-monad-logger) + ("ghc-transformers-base" ,ghc-transformers-base) + ("ghc-base64-bytestring" ,ghc-base64-bytestring) + ("ghc-unordered-containers" ,ghc-unordered-containers) + ("ghc-vector" ,ghc-vector) + ("ghc-attoparsec" ,ghc-attoparsec) + ("ghc-haskell-src-meta" ,ghc-haskell-src-meta) + ("ghc-blaze-html" ,ghc-blaze-html) + ("ghc-blaze-markup" ,ghc-blaze-markup) + ("ghc-silently" ,ghc-silently) + ("ghc-mtl" ,ghc-mtl) + ("ghc-fast-logger" ,ghc-fast-logger) + ("ghc-scientific" ,ghc-scientific) + ("ghc-tagged" ,ghc-tagged))) + (native-inputs `(("ghc-hspec" ,ghc-hspec))) + (home-page "https://www.yesodweb.com/book/persistent") + (synopsis "Type-safe, multi-backend data serialization for Haskell") + (description "This Haskell package allows Haskell programs to access data +storage sytems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe +way.") + (license license:expat))) + +(define-public ghc-aeson-compat + (package + (name "ghc-aeson-compat") + (version "0.3.7.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "aeson-compat-" version "/" + "aeson-compat-" version ".tar.gz")) + (sha256 + (base32 + "1jya3lm9imclhb8qqihv39hhb62vvs3qpws7pc5fc23vwg0hsx2r")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10 + (inputs `(("ghc-base-compat" ,ghc-base-compat) + ("ghc-aeson" ,ghc-aeson) + ("ghc-attoparsec" ,ghc-attoparsec) + ("ghc-attoparsec" ,ghc-attoparsec-iso8601) + ("ghc-exceptions" ,ghc-exceptions) + ("ghc-hashable" ,ghc-hashable) + ("ghc-scientific" ,ghc-scientific) + ("ghc-text" ,ghc-text) + ("ghc-time-locale-compat" ,ghc-time-locale-compat) + ("ghc-unordered-containers" ,ghc-unordered-containers) + ("ghc-vector" ,ghc-vector) + ("ghc-tagged" ,ghc-tagged) + ("ghc-semigroups" ,ghc-semigroups) + ("ghc-nats" ,ghc-nats))) + (home-page "https://github.com/phadej/aeson-compat") + (synopsis "Compatibility layer for ghc-aeson") + (description "This Haskell package provides compatibility layer for +ghc-aeson.") + (license license:bsd-3))) + +(define-public ghc-persistent-template + (package + (name "ghc-persistent-template") + (version "2.5.3.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "persistent-template-" version "/" + "persistent-template-" version ".tar.gz")) + (sha256 + (base32 + "0449piw3n02q7dag7k1pakfmzmf3ms4wk1qmnagczpm1ckajinwd")))) + (build-system haskell-build-system) + (inputs `(("ghc-persistent" ,ghc-persistent) + ("ghc-monad-control" ,ghc-monad-control) + ("ghc-text" ,ghc-text) + ("ghc-aeson" ,ghc-aeson) + ("ghc-aeson-compat" ,ghc-aeson-compat) + ("ghc-monad-logger" ,ghc-monad-logger) + ("ghc-unordered-containers" ,ghc-unordered-containers) + ("ghc-tagged" ,ghc-tagged) + ("ghc-path-pieces" ,ghc-path-pieces) + ("ghc-http-api-data" ,ghc-http-api-data))) + (native-inputs `(("ghc-hspec" ,ghc-hspec) + ("ghc-quickcheck" ,ghc-quickcheck))) + (home-page "https://www.yesodweb.com/book/persistent") + (synopsis "Type-safe, non-relational, multi-backend persistence") + (description "This Haskell package provides interfaces and helper +functions for the ghc-persistent package.") + (license license:expat))) + +(define-public ghc-unliftio-core + (package + (name "ghc-unliftio-core") + (version "0.1.1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "unliftio-core-" version "/" + "unliftio-core-" version ".tar.gz")) + (sha256 + (base32 + "1193fplsjm1lcr05xwvkj1rsyzx74i755f6kw3ikmxbsv0bv0l3m")))) + (build-system haskell-build-system) + (home-page + "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme") + (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO") + (description "This Haskell package provides the core @code{MonadUnliftIO} +typeclass, instances for base and transformers, and basic utility +functions.") + (license license:expat))) + +(define-public ghc-microlens + (package + (name "ghc-microlens") + (version "0.4.8.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "microlens-" version "/" + "microlens-" version ".tar.gz")) + (sha256 + (base32 + "17qx2mbqdrlnkc3gxq8njbp7qw8nh51drmz6fc8khgj9bls5ni2k")))) + (build-system haskell-build-system) + (home-page + "https://github.com/aelve/microlens") + (synopsis "Provides a tiny lens Haskell library with no dependencies") + (description "This Haskell package provides a lens library, just like +@code{ghc-lens}, but smaller. It provides essential lenses and +traversals (like @code{_1} and @code{_Just}), as well as ones which are simply +nice to have (like @code{each}, @code{at}, and @code{ix}), and some +combinators (like @code{failing} and @code{singular}), but everything else is +stripped. As the result, this package has no dependencies.") + (license license:bsd-3))) + +(define-public ghc-microlens-th + (package + (name "ghc-microlens-th") + (version "0.4.1.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "microlens-th-" version "/" + "microlens-th-" version ".tar.gz")) + (sha256 + (base32 + "15a12cqxlgbcn1n73zwrxnp2vfm8b0ma0a0sdd8zmjbs8zy3np4f")))) + (build-system haskell-build-system) + (inputs `(("ghc-microlens" ,ghc-microlens))) + (home-page + "https://github.com/aelve/microlens") + (synopsis "Automatic generation of record lenses for +@code{ghc-microlens}") + (description "This Haskell package lets you automatically generate lenses +for data types; code was extracted from the lens package, and therefore +generated lenses are fully compatible with ones generated by lens (and can be +used both from lens and microlens).") + (license license:bsd-3))) + +(define-public ghc-unliftio + (package + (name "ghc-unliftio") + (version "0.2.4.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/unliftio/unliftio-" + version + ".tar.gz")) + (sha256 + (base32 + "0vpncmwaq5zb6bziqfns4qdgxmq8ky0rlxna2yngxp170s5zxx9z")))) + (build-system haskell-build-system) + (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH + (inputs + `(("ghc-async" ,ghc-async) + ("ghc-stm" ,ghc-stm) + ("ghc-unliftio-core" ,ghc-unliftio-core))) + (native-inputs `(("ghc-hspec" ,ghc-hspec))) + (home-page "https://github.com/fpco/unliftio") + (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to +IO (batteries included)") + (description "This Haskell package provides the core @code{MonadUnliftIO} +typeclass, a number of common instances, and a collection of common functions +working with it.") + (license license:expat))) + +(define-public ghc-persistent-sqlite + (package + (name "ghc-persistent-sqlite") + (version "2.6.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "persistent-sqlite-" version "/" + "persistent-sqlite-" version ".tar.gz")) + (sha256 + (base32 + "16mc2ra0hbyyc8ckjlxxc11bpskdymbr8c3g6ih6wzik639xprbm")))) + (build-system haskell-build-system) + (inputs `(("ghc-persistent" ,ghc-persistent) + ("ghc-unliftio-core" ,ghc-unliftio-core) + ("ghc-aeson" ,ghc-aeson) + ("ghc-conduit" ,ghc-conduit) + ("ghc-monad-logger" ,ghc-monad-logger) + ("ghc-microlens-th" ,ghc-microlens-th) + ("ghc-resourcet" ,ghc-resourcet) + ("ghc-old-locale" ,ghc-old-locale) + ("ghc-resource-pool" ,ghc-resource-pool) + ("ghc-unordered-containers" ,ghc-unordered-containers))) + (native-inputs `(("ghc-hspec" ,ghc-hspec) + ("ghc-persistent-template" ,ghc-persistent-template) + ("ghc-temporary" ,ghc-temporary) + ("ghc-text" ,ghc-text))) + (home-page + "https://www.yesodweb.com/book/persistent") + (synopsis "Backend for the persistent library using sqlite3") + (description "This Haskell package includes a thin sqlite3 wrapper based +on the direct-sqlite package, as well as the entire C library, so there are no +system dependencies.") + (license license:expat))) + +(define-public ghc-email-validate + (package + (name "ghc-email-validate") + (version "2.3.2.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/" + "email-validate/email-validate-" + version + ".tar.gz")) + (sha256 + (base32 + "0qvxysiap3r4mi3xff5nsk9qv6diqxfgwj186bypbamzvzlz0lav")))) + (build-system haskell-build-system) + (inputs + `(("ghc-attoparsec" ,ghc-attoparsec) + ("ghc-hspec" ,ghc-hspec) + ("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-doctest" ,ghc-doctest))) + (home-page + "https://github.com/Porges/email-validate-hs") + (synopsis "Email address validator for Haskell") + (description + "This Haskell package provides a validator that can validate an email +address string against RFC 5322.") + (license license:bsd-3))) + ;;; haskell.scm ends here diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index c3b86bb58d..3802256ca1 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -337,13 +337,13 @@ official designation is ISO/IEC 29199-2). This library is an implementation of t (define-public jpegoptim (package (name "jpegoptim") - (version "1.4.4") + (version "1.4.5") (source (origin (method url-fetch) (uri (string-append "http://www.kokkonen.net/tjko/src/jpegoptim-" version ".tar.gz")) (sha256 (base32 - "1cn1i0g1xjdwa12w0ifbnzgb1vqbpr8ji6h05vxksj79vyi3x849")))) + "1mngi8c4mhzwa7i4wqrqq6i80cqj4adbacblfvk6dy573wywyxmi")))) (build-system gnu-build-system) (inputs `(("libjpeg" ,libjpeg))) (arguments @@ -355,7 +355,7 @@ official designation is ISO/IEC 29199-2). This library is an implementation of t the Huffman tables) and \"lossy\" optimization based on setting maximum quality factor.") (license license:gpl2+) - (home-page "http://www.kokkonen.net/tjko/projects.html#jpegoptim"))) + (home-page "https://www.kokkonen.net/tjko/projects.html#jpegoptim"))) (define-public libicns (package diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 5249d3bb89..2b8ba7035d 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -4193,6 +4193,66 @@ in the @code{java.lang} package. The following classes are included: @end itemize\n") (license license:asl2.0))) +(define-public java-commons-bsf + (package + (name "java-commons-bsf") + (version "2.4.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://apache/commons/bsf/source/bsf-src-" + version ".tar.gz")) + (sha256 + (base32 + "1sbamr8jl32p1jgf59nw0b2w9qivyg145954hm6ly54cfgsqrdas")) + (modules '((guix build utils))) + (snippet + '(begin + (for-each delete-file + (find-files "." "\\.jar$")) + #t)))) + (build-system ant-build-system) + (arguments + `(#:build-target "jar" + #:tests? #f; No test file + #:modules ((guix build ant-build-system) + (guix build utils) + (guix build java-utils) + (sxml simple)) + #:phases + (modify-phases %standard-phases + (add-before 'build 'create-properties + (lambda _ + ;; This file is missing from the distribution + (call-with-output-file "build-properties.xml" + (lambda (port) + (sxml->xml + `(project (@ (basedir ".") (name "build-properties") (default "")) + (property (@ (name "project.name") (value "bsf"))) + (property (@ (name "source.level") (value "1.5"))) + (property (@ (name "build.lib") (value "build/jar"))) + (property (@ (name "src.dir") (value "src"))) + (property (@ (name "tests.dir") (value "src/org/apache/bsf/test"))) + (property (@ (name "build.tests") (value "build/test-classes"))) + (property (@ (name "build.dest") (value "build/classes")))) + port))))) + (replace 'install (install-jars "build"))))) + (native-inputs + `(("java-junit" ,java-junit))) + (inputs + `(("java-commons-logging-minimal" ,java-commons-logging-minimal))) + (home-page "https://commons.apache.org/proper/commons-bsf") + (synopsis "Bean Scripting Framework") + (description "The Bean Scripting Framework (BSF) is a set of Java classes +which provides scripting language support within Java applications, and access +to Java objects and methods from scripting languages. BSF allows one to write +JSPs in languages other than Java while providing access to the Java class +library. In addition, BSF permits any Java application to be implemented in +part (or dynamically extended) by a language that is embedded within it. This +is achieved by providing an API that permits calling scripting language engines +from within Java, as well as an object registry that exposes Java objects to +these scripting language engines.") + (license license:asl2.0))) + (define-public java-jsr305 (package (name "java-jsr305") @@ -5395,14 +5455,14 @@ logging framework for Java."))) (define-public java-commons-cli (package (name "java-commons-cli") - (version "1.3.1") + (version "1.4") (source (origin (method url-fetch) (uri (string-append "mirror://apache/commons/cli/source/" "commons-cli-" version "-src.tar.gz")) (sha256 (base32 - "1fkjn552i12vp3xxk21ws4p70fi0lyjm004vzxsdaz7gdpgyxxyl")))) + "05hgi2z01fqz374y719gl1dxzqvzci5af071zm7vxrjg9vczipm1")))) (build-system ant-build-system) ;; TODO: javadoc (arguments @@ -9139,6 +9199,39 @@ similar in functionality to BSD editline and GNU readline but with additional features that bring it on par with the Z shell line editor.") (license license:bsd-3))) +(define-public java-jline-2 + (package + (inherit java-jline) + (version "2.14.5") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/jline/jline2/archive/jline-" + version ".tar.gz")) + (sha256 + (base32 + "1c6qa26mf0viw8hg4jnv72s7i1qb1gh1l8rrzcdvqhqhx82rkdlf")))) + (arguments + `(#:jdk ,icedtea-8 + ,@(package-arguments java-jline))) + (inputs + `(("java-jansi" ,java-jansi) + ("java-jansi-native" ,java-jansi-native))) + (native-inputs + `(("java-powermock-modules-junit4" ,java-powermock-modules-junit4) + ("java-powermock-modules-junit4-common" ,java-powermock-modules-junit4-common) + ("java-powermock-api-easymock" ,java-powermock-api-easymock) + ("java-powermock-api-support" ,java-powermock-api-support) + ("java-powermock-core" ,java-powermock-core) + ("java-powermock-reflect" ,java-powermock-reflect) + ("java-easymock" ,java-easymock) + ("java-jboss-javassist" ,java-jboss-javassist) + ("java-objenesis" ,java-objenesis) + ("java-asm" ,java-asm) + ("java-hamcrest-core" ,java-hamcrest-core) + ("java-cglib" ,java-cglib) + ("java-junit" ,java-junit) + ("java-hawtjni" ,java-hawtjni))))) + (define-public java-xmlunit (package (name "java-xmlunit") @@ -9241,3 +9334,235 @@ Java programmers to create two-dimensional charts and plots. The library features an assortment of graph styles, including advanced scatter plots, bar graphs, and pie charts.") (license license:lgpl2.1+))) + +(define-public java-commons-httpclient + (package + (name "java-commons-httpclient") + (version "3.1") + (source (origin + (method url-fetch) + (uri (string-append "https://archive.apache.org/dist/httpcomponents/" + "commons-httpclient/source/commons-httpclient-" + version "-src.tar.gz")) + (sha256 + (base32 + "1wlpn3cfy3d4inxy6g7wxcsa8p7sshn6aldk9y4ia3lb879rd97r")))) + (build-system ant-build-system) + (arguments + `(#:build-target "compile" + #:test-target "test" + #:tests? #f; requires junit-textui (junit 3) + #:phases + (modify-phases %standard-phases + (add-before 'build 'fix-accent + (lambda _ + (for-each (lambda (file) + (with-fluids ((%default-port-encoding "ISO-8859-1")) + (substitute* file + (("\\* @author Ortwin .*") "* @author Ortwin Glueck\n")))) + '("src/java/org/apache/commons/httpclient/HttpContentTooLargeException.java" + "src/examples/TrivialApp.java" "src/examples/ClientApp.java" + "src/test/org/apache/commons/httpclient/TestHttps.java" + "src/test/org/apache/commons/httpclient/TestURIUtil2.java")))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (invoke "ant" "dist" + (string-append "-Ddist.home=" (assoc-ref outputs "out") + "/share/java")) + #t))))) + (propagated-inputs + `(("java-commons-logging" ,java-commons-logging-minimal) + ("java-commons-codec" ,java-commons-codec))) + (home-page "https://hc.apache.org") + (synopsis "HTTP/1.1 compliant HTTP agent implementation") + (description "This package contains an HTTP/1.1 compliant HTTP agent +implementation. It also provides reusable components for client-side +authentication, HTTP state management, and HTTP connection management.") + (license license:asl2.0))) + +(define-public java-commons-vfs + (package + (name "java-commons-vfs") + (version "2.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://apache/commons/vfs/source/" + "commons-vfs2-distribution-" version "-src.tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1cnq1iaghbp4cslpnvwbp83i5v234x87irssqynhwpfgw7caf1s3")) + (modules '((guix build utils))) + (snippet + '(begin + (for-each delete-file + (find-files "." "\\.jar$")) + #t)))) + (build-system ant-build-system) + (arguments + `(#:jar-name "commons-vfs.jar" + #:source-dir "commons-vfs2/src/main/java" + #:test-dir "commons-vfs2/src/test" + ; FIXME: tests depend on many things: apache sshd, hadoop, ftpserver, ... + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-before 'build 'remove-hadoop-and-webdav + ; Remove these files as they are not required and depend on difficult + ; packages. + (lambda _ + (for-each delete-file-recursively + '("commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/webdav" + "commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/hdfs"))))))) + (inputs + `(("java-commons-collections4" ,java-commons-collections4) + ("java-commons-compress" ,java-commons-compress) + ("java-commons-httpclient" ,java-commons-httpclient) + ("java-commons-logging-minimal" ,java-commons-logging-minimal) + ("java-commons-net" ,java-commons-net) + ("java-jsch" ,java-jsch))) + (home-page "http://commons.apache.org/proper/commons-vfs/") + (synopsis "Java filesystem library") + (description "Commons VFS provides a single API for accessing various +different file systems. It presents a uniform view of the files from various +different sources, such as the files on local disk, on an HTTP server, or +inside a Zip archive.") + (license license:asl2.0))) + +(define-public java-jakarta-oro + (package + (name "java-jakarta-oro") + (version "2.0.8") + (source (origin + (method url-fetch) + (uri (string-append "https://archive.apache.org/dist/jakarta/oro/" + "jakarta-oro-" version ".tar.gz")) + (sha256 + (base32 + "0rpmnsskiwmsy8r0sckz5n5dbvh3vkxx8hpm177c754r8xy3qksc")) + (modules '((guix build utils))) + (snippet + `(begin + (delete-file (string-append "jakarta-oro-" ,version ".jar")) + #t)))) + (build-system ant-build-system) + (arguments + `(#:build-target "package" + #:tests? #f; tests are run as part of the build process + #:phases + (modify-phases %standard-phases + (replace 'install + (install-jars ,(string-append "jakarta-oro-" version)))))) + (home-page "https://jakarta.apache.org/oro/") + (synopsis "Text-processing for Java") + (description "The Jakarta-ORO Java classes are a set of text-processing +Java classes that provide Perl5 compatible regular expressions, AWK-like +regular expressions, glob expressions, and utility classes for performing +substitutions, splits, filtering filenames, etc. This library is the successor +of the OROMatcher, AwkTools, PerlTools, and TextTools libraries originally +from ORO, Inc.") + (license license:asl1.1))) + +(define-public java-native-access + (package + (name "java-native-access") + (version "4.5.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/java-native-access/jna/" + "archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0zrpzkib6b905i018a9pqlzkqinphywr6y4jwv6mwp63jjqvqkd9")) + (modules '((guix build utils))) + (snippet + `(begin + (for-each delete-file (find-files "." ".*.jar")) + (delete-file-recursively "native/libffi") + (delete-file-recursively "dist") + #t)))) + (build-system ant-build-system) + (arguments + `(#:tests? #f; FIXME: tests require reflections.jar + #:test-target "test" + #:make-flags (list "-Ddynlink.native=true") + #:phases + (modify-phases %standard-phases + (add-before 'build 'fix-build.xml + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "build.xml" + ;; Since we removed the bundled ant.jar, give the correct path + (("lib/ant.jar") (string-append (assoc-ref inputs "ant") "/lib/ant.jar")) + ;; We removed generated native libraries. We can only rebuild one + ;; so don't fail if we can't find a native library for another architecture. + (("zipfileset") "zipfileset erroronmissingarchive=\"false\"")) + ;; Copy test dependencies + (copy-file (string-append (assoc-ref inputs "java-junit") + "/share/java/junit.jar") + "lib/junit.jar") + (copy-file (string-append (assoc-ref inputs "java-hamcrest-core") + "/share/java/hamcrest-core.jar") + "lib/hamcrest-core.jar") + ;; FIXME: once reflections.jar is built, copy it to lib/test. + #t)) + (add-before 'build 'build-native + (lambda _ + (invoke "ant" "-Ddynlink.native=true" "native") + #t)) + (replace 'install + (install-jars "build"))))) + (inputs + `(("libffi" ,libffi) + ("libx11" ,libx11) + ("libxt" ,libxt))) + (native-inputs + `(("java-junit" ,java-junit) + ("java-hamcrest-core" ,java-hamcrest-core))) + (home-page "https://github.com/java-native-access/jna") + (synopsis "Access to native shared libraries from Java") + (description "JNA provides Java programs easy access to native shared +libraries without writing anything but Java code - no JNI or native code is +required. JNA allows you to call directly into native functions using natural +Java method invocation.") + ;; Java Native Access project (JNA) is dual-licensed under 2 + ;; alternative Free licenses: LGPL 2.1 or later and Apache License 2.0. + (license (list + license:asl2.0 + license:lgpl2.1+)))) + +(define-public java-native-access-platform + (package + (inherit java-native-access) + (name "java-native-access-platform") + (arguments + `(#:test-target "test" + #:tests? #f; require jna-test.jar + #:phases + (modify-phases %standard-phases + (add-before 'build 'chdir + (lambda _ + (chdir "contrib/platform") + #t)) + (add-after 'chdir 'fix-ant + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "nbproject/project.properties" + (("../../build/jna.jar") + (string-append (assoc-ref inputs "java-native-access") + "/share/java/jna.jar")) + (("../../lib/hamcrest-core-.*.jar") + (string-append (assoc-ref inputs "java-hamcrest-core") + "/share/java/hamcrest-core.jar")) + (("../../lib/junit.jar") + (string-append (assoc-ref inputs "java-junit") + "/share/java/junit.jar"))) + #t)) + (replace 'install + (install-jars "dist"))))) + (inputs + `(("java-native-access" ,java-native-access))) + (synopsis "Cross-platform mappings for jna") + (description "java-native-access-platfrom has cross-platform mappings +and mappings for a number of commonly used platform functions, including a +large number of Win32 mappings as well as a set of utility classes that +simplify native access."))) diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm index 6288c443ad..eeeec406a8 100644 --- a/gnu/packages/javascript.scm +++ b/gnu/packages/javascript.scm @@ -373,7 +373,7 @@ means that these shams cause many ES5 methods to silently fail.") (define-public mujs (package (name "mujs") - (version "1.0.2") + (version "1.0.3") (source (origin (method git-fetch) (uri (git-reference @@ -382,7 +382,7 @@ means that these shams cause many ES5 methods to silently fail.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1angy1higk8bvh69frjhq1m6znhd75fzalaydz5rfzkdfyw52jgy")))) + "15ml3rzjl44lqdb1yxipdh8bhh0rvk2g6w6sjv667q8xywijwqv8")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/ldc.scm b/gnu/packages/ldc.scm index aca2cab0a2..2613db0abd 100644 --- a/gnu/packages/ldc.scm +++ b/gnu/packages/ldc.scm @@ -138,8 +138,8 @@ and freshness without requiring additional information from the user.") ("tzdata" ,tzdata) ("zlib" ,zlib))) (native-inputs - `(("llvm" ,llvm) - ("clang" ,clang) + `(("llvm" ,llvm-3.8) + ("clang" ,clang-3.8) ("python-lit" ,python-lit) ("python-wrapper" ,python-wrapper) ("unzip" ,unzip) @@ -246,8 +246,8 @@ bootstrapping more recent compilers written in D.") (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc")) (invoke "make" "test" "-j" (number->string (parallel-job-count)))))))) (native-inputs - `(("llvm" ,llvm) - ("clang" ,clang) + `(("llvm" ,llvm-3.8) + ("clang" ,clang-3.8) ("ldc" ,ldc-bootstrap) ("python-lit" ,python-lit) ("python-wrapper" ,python-wrapper) diff --git a/gnu/packages/libcanberra.scm b/gnu/packages/libcanberra.scm index e1812c578c..e7f4195ed4 100644 --- a/gnu/packages/libcanberra.scm +++ b/gnu/packages/libcanberra.scm @@ -139,7 +139,7 @@ sounds for various system events.") (source (origin (method url-fetch) - (uri (string-append "https://files.crash.cx/releases/" + (uri (string-append "http://ftp.n0.is/pub/releases/" "pycanberra-" version ".tar.xz")) (sha256 (base32 @@ -152,5 +152,5 @@ sounds for various system events.") (synopsis "Ctypes wrapper for the libcanberra API") (description "Pycanberra is a basic Python wrapper for libcanberra.") - (home-page "https://code.crash.cx/pycanberra/log.html") + (home-page "http://c.n0.is/ng0/pycanberra/") (license lgpl2.1+))) diff --git a/gnu/packages/license.scm b/gnu/packages/license.scm index 2ef2108df2..053f79811e 100644 --- a/gnu/packages/license.scm +++ b/gnu/packages/license.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -107,7 +108,7 @@ statements and serializes in normalized format.") (define-public licensecheck (package (name "licensecheck") - (version "3.0.33") + (version "3.0.34") (source (origin (method url-fetch) (uri (string-append @@ -115,7 +116,7 @@ statements and serializes in normalized format.") "v" version ".tar.gz")) (sha256 (base32 - "0wydxb2jks1k3bxkcp7p0pazh5v3awbbcf6haplvwzkkayszhgs4")))) + "0k0acybgibdqg1h6xqnba1jb0spmw7hpq0jbrs7n7gfj22wkz0vd")))) (build-system perl-build-system) (native-inputs `(("perl-regexp-pattern" ,perl-regexp-pattern) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index a702e85f79..584d72a1c0 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -284,6 +284,9 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." ("bc" ,bc) ("openssl" ,openssl) ("kmod" ,kmod) + ("elfutils" ,elfutils) ; Needed to enable CONFIG_STACK_VALIDATION + ("flex" ,flex) + ("bison" ,bison) ;; On x86, build with GCC-7 for full retpoline support. ;; FIXME: Remove this when our default compiler has retpoline support. ,@(match (system->linux-architecture @@ -383,8 +386,8 @@ It has been modified to remove all non-free binary blobs.") ;; supports qemu "virt" machine and possibly a large number of ARM boards. ;; See : https://wiki.debian.org/DebianKernel/ARMMP. -(define %linux-libre-version "4.15.13") -(define %linux-libre-hash "1z9f3m44n5w9ayad08h6nvx4nihc28h2jplk4jvyaj0460v8d11f") +(define %linux-libre-version "4.15.16") +(define %linux-libre-hash "1nzdaypvw8abas6xr6ijk2wc9f0b6q72xw6ypalwx33p7sdqwrzq") (define-public linux-libre (make-linux-libre %linux-libre-version @@ -392,8 +395,8 @@ It has been modified to remove all non-free binary blobs.") %linux-compatible-systems #:configuration-file kernel-config)) -(define %linux-libre-4.14-version "4.14.30") -(define %linux-libre-4.14-hash "1j1vnr4397y4js7i24jdpfq85mc50b7kjz7gz1bbbrmda6cflwig") +(define %linux-libre-4.14-version "4.14.33") +(define %linux-libre-4.14-hash "0ps9whsxc20gw5ags18rgkwgy6fzg66by70g8xjds7nijpzgl69m") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version @@ -402,20 +405,20 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.9 - (make-linux-libre "4.9.90" - "0mzy6wcxp9m9icb8mvsbywp1lrbvbv6n8rs3xszqm43dxy9zj1jd" + (make-linux-libre "4.9.93" + "0flmsh4xy7ymyzwm8y4x4id798mx6vy3d6ala7x1bq41hf00075p" %intel-compatible-systems #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.124" - "1368x0wki8zhk0hwz36hrkp2lr2kbm9i0fwzws201h3y85mldgh4" + (make-linux-libre "4.4.127" + "1av536sp6ancx0fy71wpmqv4r66pksrcjbnrcjggard6im4c8pjy" %intel-compatible-systems #:configuration-file kernel-config)) (define-public linux-libre-4.1 - (make-linux-libre "4.1.50" - "1hl1pk724v2waa55bhxfmxyz9nl6pkcj4dc3l80jfvqdfgr55mm2" + (make-linux-libre "4.1.51" + "0l8lpwjpckp44hjyx5qrxqdwwi97gyyc1n6pmk66cr3fpdhnk540" %intel-compatible-systems #:configuration-file kernel-config)) @@ -910,14 +913,15 @@ Zerofree requires the file system to be unmounted or mounted read-only.") (define-public strace (package (name "strace") - (version "4.21") + (version "4.22") + (home-page "https://strace.io") (source (origin (method url-fetch) - (uri (string-append "https://github.com/strace/strace/releases/" - "download/v" version "/strace-" version ".tar.xz")) + (uri (string-append home-page "/files/" version + "/strace-" version ".tar.xz")) (sha256 (base32 - "0dsw6xcfrmygidp1dj2ch8cl8icrar7789snkb2r8gh78kdqhxjw")))) + "17dkpnsjxmys1ydidm9wcvc3wscsz44fmlxw3dclspn9cj9d1306")))) (build-system gnu-build-system) (arguments '(#:phases @@ -928,7 +932,6 @@ Zerofree requires the file system to be unmounted or mounted read-only.") (("/bin/sh") (which "sh"))) #t))))) (native-inputs `(("perl" ,perl))) - (home-page "https://strace.io/") (synopsis "System call tracer for Linux") (description "strace is a system call tracer, i.e. a debugging tool which prints out a @@ -1122,8 +1125,7 @@ configure the Linux 2.4.x and later IPv4 packet filtering ruleset This package also includes @command{ip6tables}, which is used to configure the IPv6 packet filter. -Both commands are targeted at system administrators. -") +Both commands are targeted at system administrators.") (license license:gpl2+))) (define-public ebtables @@ -1184,7 +1186,7 @@ that the Ethernet protocol is much simpler than the IP protocol.") (define-public iproute (package (name "iproute2") - (version "4.15.0") + (version "4.16.0") (source (origin (method url-fetch) (uri (string-append @@ -1192,7 +1194,7 @@ that the Ethernet protocol is much simpler than the IP protocol.") version ".tar.xz")) (sha256 (base32 - "0mc3g4kj7h3jhwz2b2gdf41gp6bhqn7axh4mnyvhkdnpk5m63m28")))) + "02pfalg319jpbjz273ph725br8dnkzpfvi98azi9yd6p1w128p0c")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no test suite diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index cf60d2aa0d..98592ad090 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com> ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Roel Janssen <roel@gnu.org> +;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,7 +41,7 @@ (define-public llvm (package (name "llvm") - (version "3.8.1") + (version "6.0.0") (source (origin (method url-fetch) @@ -48,7 +49,7 @@ version "/llvm-" version ".src.tar.xz")) (sha256 (base32 - "1ybmnid4pw2hxn12ax5qa5kl1ldfns0njg8533y3mzslvd5cx0kf")))) + "0224xvfg6h40y5lrbnb9qaq3grmdc5rg00xq03s1wxjfbf8krx8z")))) (build-system cmake-build-system) (native-inputs `(("python" ,python-2) ;bytes->str conversion in clang>=3.7 needs python-2 @@ -131,7 +132,7 @@ compiler. In LLVM this library is called \"compiler-rt\".") (supported-systems (delete "mips64el-linux" %supported-systems)))) (define* (clang-from-llvm llvm clang-runtime hash - #:key (patches '("clang-libc-search-path.patch"))) + #:key (patches '())) (package (name "clang") (version (package-version llvm)) @@ -176,23 +177,49 @@ compiler. In LLVM this library is called \"compiler-rt\".") (lambda* (#:key inputs #:allow-other-keys) (let ((libc (assoc-ref inputs "libc")) (compiler-rt (assoc-ref inputs "clang-runtime"))) - (substitute* "lib/Driver/Tools.cpp" - ;; Patch the 'getLinuxDynamicLinker' function to that - ;; it uses the right dynamic linker file name. - (("/lib64/ld-linux-x86-64.so.2") - (string-append libc - ,(glibc-dynamic-linker))) - - ;; Link to libclang_rt files from clang-runtime. - (("TC\\.getDriver\\(\\)\\.ResourceDir") - (string-append "\"" compiler-rt "\""))) - - ;; Same for libc's libdir, to allow crt1.o & co. to be - ;; found. - (substitute* "lib/Driver/ToolChains.cpp" - (("@GLIBC_LIBDIR@") - (string-append libc "/lib"))) + (case (string->number ,(version-major + (package-version clang-runtime))) + ((6) + ;; Link to libclang_rt files from clang-runtime. + (substitute* "lib/Driver/ToolChain.cpp" + (("getDriver\\(\\)\\.ResourceDir") + (string-append "\"" compiler-rt "\""))) + + ;; Make "LibDir" refer to <glibc>/lib so that it + ;; uses the right dynamic linker file name. + (substitute* "lib/Driver/ToolChains/Linux.cpp" + (("(^[[:blank:]]+LibDir = ).*" _ declaration) + (string-append declaration "\"" libc "/lib\";\n")) + + ;; Make sure libc's libdir is on the search path, to + ;; allow crt1.o & co. to be found. + (("@GLIBC_LIBDIR@") + (string-append libc "/lib")))) + ((3) + (substitute* "lib/Driver/Tools.cpp" + ;; Patch the 'getLinuxDynamicLinker' function so that + ;; it uses the right dynamic linker file name. + (("/lib64/ld-linux-x86-64.so.2") + (string-append libc + ,(glibc-dynamic-linker)))) + + ;; Link to libclang_rt files from clang-runtime. + ;; This substitution needed slight adjustment in 3.8. + (if (< 3.8 (string->number ,(version-major+minor + (package-version + clang-runtime)))) + (substitute* "lib/Driver/Tools.cpp" + (("TC\\.getDriver\\(\\)\\.ResourceDir") + (string-append "\"" compiler-rt "\""))) + (substitute* "lib/Driver/ToolChain.cpp" + (("getDriver\\(\\)\\.ResourceDir") + (string-append "\"" compiler-rt "\"")))) + ;; Make sure libc's libdir is on the search path, to + ;; allow crt1.o & co. to be found. + (substitute* "lib/Driver/ToolChains.cpp" + (("@GLIBC_LIBDIR@") + (string-append libc "/lib"))))) #t)))))) ;; Clang supports the same environment variables as GCC. @@ -216,13 +243,12 @@ code analysis tools.") (define-public clang-runtime (clang-runtime-from-llvm llvm - "0p0y85c7izndbpg2l816z7z7558axq11d5pwkm4h11sdw7d13w0d" - '("clang-runtime-asan-build-fixes.patch"))) + "16m7rvh3w6vq10iwkjrr1nn293djld3xm62l5zasisaprx117k6h")) (define-public clang (clang-from-llvm llvm clang-runtime - "1prc72xmkgx8wrzmrr337776676nhsp1qd3mw2bvb22bzdnq7lsc" - #:patches '("clang-3.8-libc-search-path.patch"))) + "0cnznvfyl3hgbg8gj58pmwf0pvd2sv5k3ccbivy6q6ggv7c6szg0" + #:patches '("clang-6.0-libc-search-path.patch"))) (define-public llvm-3.9.1 (package (inherit llvm) @@ -247,7 +273,31 @@ code analysis tools.") (define-public clang-3.9.1 (clang-from-llvm llvm-3.9.1 clang-runtime-3.9.1 "0qsyyb40iwifhhlx9a3drf8z6ni6zwyk3bvh0kx2gs6yjsxwxi76" - #:patches '())) + #:patches '("clang-3.8-libc-search-path.patch"))) + +(define-public llvm-3.8 + (package (inherit llvm) + (name "llvm") + (version "3.8.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://llvm.org/releases/" + version "/llvm-" version ".src.tar.xz")) + (sha256 + (base32 + "1ybmnid4pw2hxn12ax5qa5kl1ldfns0njg8533y3mzslvd5cx0kf")))))) + +(define-public clang-runtime-3.8 + (clang-runtime-from-llvm + llvm-3.8 + "0p0y85c7izndbpg2l816z7z7558axq11d5pwkm4h11sdw7d13w0d" + '("clang-runtime-asan-build-fixes.patch"))) + +(define-public clang-3.8 + (clang-from-llvm llvm-3.8 clang-runtime-3.8 + "1prc72xmkgx8wrzmrr337776676nhsp1qd3mw2bvb22bzdnq7lsc" + #:patches '("clang-3.8-libc-search-path.patch"))) (define-public llvm-3.7 (package (inherit llvm) @@ -269,7 +319,8 @@ code analysis tools.") (define-public clang-3.7 (clang-from-llvm llvm-3.7 clang-runtime-3.7 - "0x065d0w9b51xvdjxwfzjxng0gzpbx45fgiaxpap45ragi61dqjn")) + "0x065d0w9b51xvdjxwfzjxng0gzpbx45fgiaxpap45ragi61dqjn" + #:patches '("clang-3.5-libc-search-path.patch"))) (define-public llvm-3.6 (package (inherit llvm) @@ -291,7 +342,8 @@ code analysis tools.") (define-public clang-3.6 (clang-from-llvm llvm-3.6 clang-runtime-3.6 - "1wwr8s6lzr324hv4s1k6na4j5zv6n9kdhi14s4kb9b13d93814df")) + "1wwr8s6lzr324hv4s1k6na4j5zv6n9kdhi14s4kb9b13d93814df" + #:patches '("clang-3.5-libc-search-path.patch"))) (define-public llvm-3.5 (package (inherit llvm) @@ -315,7 +367,8 @@ code analysis tools.") (define-public clang-3.5 (clang-from-llvm llvm-3.5 clang-runtime-3.5 - "0846h8vn3zlc00jkmvrmy88gc6ql6014c02l4jv78fpvfigmgssg")) + "0846h8vn3zlc00jkmvrmy88gc6ql6014c02l4jv78fpvfigmgssg" + #:patches '("clang-3.5-libc-search-path.patch"))) (define-public llvm-for-extempore (package (inherit llvm-3.7) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index a2f7b183d5..bb6a1300e8 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -259,14 +259,14 @@ aliasing facilities to work just as they would on normal mail.") (define-public mutt (package (name "mutt") - (version "1.9.3") + (version "1.9.4") (source (origin (method url-fetch) (uri (string-append "https://bitbucket.org/mutt/mutt/downloads/" "mutt-" version ".tar.gz")) (sha256 (base32 - "1qbngck1pq1jkpnbpcwcb2q2zqrkgp0nd68wwp57bprxjgb8a6j3")) + "1pxmw5yyizb9bqbai6lihv6zxmw0znjfb60zaldwh6hc6lkbzlgl")) (patches (search-patches "mutt-store-references.patch")))) (build-system gnu-build-system) (inputs @@ -747,14 +747,14 @@ invoking @command{notifymuch} from the post-new hook.") (define-public notmuch (package (name "notmuch") - (version "0.26") + (version "0.26.1") (source (origin (method url-fetch) (uri (string-append "https://notmuchmail.org/releases/notmuch-" version ".tar.gz")) (sha256 (base32 - "1pvn1n7giv8n3xlazi3wpscdqhd2yak0fgv68aj23myr5bnr9s6k")))) + "0dx8nhdmkaqabxcgxfa757m99fi395y76h9ynx8539yh9m7y9xyk")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) @@ -906,7 +906,7 @@ and search library.") (define-public getmail (package (name "getmail") - (version "5.5") + (version "5.6") (source (origin (method url-fetch) @@ -914,7 +914,7 @@ and search library.") name "-" version ".tar.gz")) (sha256 (base32 - "0l43lbnrnyyrq8mlnw37saq6v0mh3nkirdq1dwnsrihykzjjwf70")))) + "16nmvj80szr6yvcxxgmxn2lxqpjqqj4xg5a0b66zhvck6j42q3a6")))) (build-system python-build-system) (arguments `(#:tests? #f ; no tests diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm index 52df4c6967..88f64fdb66 100644 --- a/gnu/packages/mate.scm +++ b/gnu/packages/mate.scm @@ -154,7 +154,7 @@ from Mint-X-F and Faenza-Fresh icon packs.") (define-public mate-themes (package (name "mate-themes") - (version "3.22.15") + (version "3.22.16") (source (origin (method url-fetch) (uri (string-append "https://pub.mate-desktop.org/releases/themes/" @@ -162,7 +162,7 @@ from Mint-X-F and Faenza-Fresh icon packs.") version ".tar.xz")) (sha256 (base32 - "0cmlbj6vlkavdirc5xnsgwmy0m11bj9yrbv1dkq46n1s23rvv6wg")))) + "1k8qp2arjv4vj8kyjhjgyj5h46jy0darlfh48l5h25623z1firdj")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index ab3cd17d52..2f6c6d6277 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015 Fabian Harfert <fhmgufs@web.de> ;;; Copyright © 2016 Roel Janssen <roel@gnu.org> -;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net> +;;; Copyright © 2016, 2018 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be> @@ -56,6 +56,7 @@ #:use-module (guix build-system r) #:use-module (guix build-system ruby) #:use-module (gnu packages algebra) + #:use-module (gnu packages audio) #:use-module (gnu packages autotools) #:use-module (gnu packages bison) #:use-module (gnu packages boost) @@ -79,6 +80,7 @@ #:use-module (gnu packages java) #:use-module (gnu packages less) #:use-module (gnu packages lisp) + #:use-module (gnu packages linux) #:use-module (gnu packages logging) #:use-module (gnu packages lua) #:use-module (gnu packages gnome) @@ -95,6 +97,7 @@ #:use-module (gnu packages popt) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) #:use-module (gnu packages python-web) #:use-module (gnu packages qt) @@ -1345,7 +1348,11 @@ can solve two kinds of problems: ("zlib" ,zlib) ("curl" ,curl) ("texinfo" ,texinfo) - ("graphicsmagick" ,graphicsmagick))) + ("graphicsmagick" ,graphicsmagick) + ("suitesparse" ,suitesparse) + ("libsndfile" ,libsndfile) + ("portaudio" ,portaudio) + ("alsa-lib" ,alsa-lib))) (native-inputs `(("lzip" ,lzip) ("gfortran" ,gfortran) @@ -1385,6 +1392,31 @@ Work may be performed both at the interactive command-line as well as via script files.") (license license:gpl3+))) +(define-public qtoctave + (package (inherit octave) + (name "qtoctave") + (inputs + `(("qscintilla" ,qscintilla) + ("qt" ,qtbase) + ,@(package-inputs octave))) + (native-inputs + `(("qttools" , qttools) ;for lrelease + ,@(package-native-inputs octave))) + (arguments + (substitute-keyword-arguments (package-arguments octave) + ((#:phases phases) + `(modify-phases ,phases + (add-before 'configure 'patch-qscintilla-library-name + (lambda* (#:key inputs #:allow-other-keys) + ;; The QScintilla library that the Octave configure script tries + ;; to link with should be named libqscintilla-qt5.so, but the + ;; QScintilla input provides the shared library as + ;; libqscintilla2_qt5.so. + (substitute* "configure" + (("qscintilla2-qt5") + "qscintilla2_qt5")) + #t)))))))) + (define-public opencascade-oce (package (name "opencascade-oce") @@ -3522,7 +3554,11 @@ supports compressed MAT files, as well as newer (version 7.3) MAT files.") (build-system cmake-build-system) (arguments '(#:configure-flags - '("-DBUILD_TESTING=ON"))) + '("-DBUILD_TESTING=ON" + ;; By default, Vc will optimize for the CPU of the build machine. + ;; Setting this to "none" makes it create portable binaries. See + ;; "cmake/OptimizeForArchitecture.cmake". + "-DTARGET_ARCHITECTURE=none"))) (synopsis "SIMD vector classes for C++") (description "Vc provides portable, zero-overhead C++ types for explicitly data-parallel programming. It is a library designed to ease explicit diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index db5407e01f..e93c0a4c88 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014, 2017 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is> ;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca> @@ -914,16 +914,17 @@ connect with friends and family without anyone else listening in.") (define-public pybitmessage (package (name "pybitmessage") - (version "0.6.2") + (version "0.6.3.2") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/Bitmessage/" - "PyBitmessage/archive/v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/Bitmessage/PyBitmessage.git") + (commit version))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1in2mhaxkp2sx8pgvifq9dk1z8b2x3imf1anr0z926vwxwjrf85w")))) + "1lmhbpwsqh1v93krlqqhafw2pc3y0qp8zby186yllbph6s8kdp35")))) (propagated-inputs ;; TODO: ;; Package "pyopencl", required in addition to numpy for OpenCL support. diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index 5904fef8d3..9a3db21bae 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -470,21 +470,21 @@ compression format (.mpc files).") (define-public eyed3 (package (name "eyed3") - (version "0.8") + (version "0.8.5") (source (origin (method url-fetch) - (uri (string-append - "http://eyed3.nicfit.net/releases/eyeD3-" - version ".tar.gz")) + (uri (pypi-uri "eyeD3" version)) (sha256 (base32 - "1dcswb0f6w3b05s1v43pq8fmavkd5g88ysndn9160wlaa1v9n40h")))) + "0rkx859z82wqnfb0dzpa1647cq43aqb39ri9rd5r3jz597qr9zdd")))) (build-system python-build-system) (arguments `(#:tests? #f)) ; the required test data contains copyrighted material. (propagated-inputs - `(("python-six" ,python-six) - ("python-grako" ,python-grako))) + `(("python-grako" ,python-grako) + ("python-magic" ,python-magic) + ("python-pathlib" ,python-pathlib) + ("python-six" ,python-six))) (synopsis "MP3 tag ID3 metadata editor") (description "eyeD3 is a Python tool for working with audio files, specifically mp3 files containing ID3 metadata (i.e. song info). It provides a @@ -510,12 +510,13 @@ command-line tool.") (arguments `(#:tests? #f ; tests require googletest *sources* ;;#:configure-flags '("-DBUILD_TESTS=ON") ; for building the tests + #:configure-flags '("-DBUILD_TOOLS=ON") ; for fpcalc #:test-target "check")) (inputs ;; requires one of FFmpeg (prefered), FFTW3 or vDSP ;; use the same ffmpeg version as for acoustid-fingerprinter `(("ffmpeg" ,ffmpeg) - ("boots" ,boost))) + ("boost" ,boost))) (home-page "https://acoustid.org/chromaprint") (synopsis "Audio fingerprinting library") (description "Chromaprint is a library for calculating audio diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 0fe1145512..be7aadf9ce 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -437,19 +437,28 @@ background while you work.") (define-public hydrogen (package (name "hydrogen") - (version "0.9.7") + (version "1.0.0-beta1") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/hydrogen-music/hydrogen/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/hydrogen-music/hydrogen.git") + (commit version))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1dy2jfkdw0nchars4xi4isrz66fqn53a9qk13bqza7lhmsg3s3qy")))) + "0nv83l70j5bjz2wd6n3a8cq3bmgrvdvg6g2hjhc1g5h6xnbqsh9x")))) (build-system cmake-build-system) (arguments - `(#:test-target "tests")) + `(#:test-target "tests" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-data-directory + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "CMakeLists.txt" + (("/usr/share/pixmaps") + (string-append (assoc-ref outputs "out") + "/share/pixmaps"))) + #t))))) (native-inputs `(("cppunit" ,cppunit) ("pkg-config" ,pkg-config))) @@ -462,7 +471,8 @@ background while you work.") ("libsndfile" ,libsndfile) ("libtar" ,libtar) ("lrdf" ,lrdf) - ("qt" ,qt-4) + ("qtbase" ,qtbase) + ("qtxmlpatterns" ,qtxmlpatterns) ("zlib" ,zlib))) (home-page "http://www.hydrogen-music.org") (synopsis "Drum machine") @@ -1256,7 +1266,7 @@ users to select LV2 plugins and run them with jalv.") (define-public synthv1 (package (name "synthv1") - (version "0.8.6") + (version "0.9.0") (source (origin (method url-fetch) (uri @@ -1264,7 +1274,7 @@ users to select LV2 plugins and run them with jalv.") "/synthv1-" version ".tar.gz")) (sha256 (base32 - "141ah1gnv5r2k846v5ay15q9q90h01p74240a56vlxqh20z43g92")))) + "1skynjg6ip0qfbqqkybfjh6xcwxagq89ghl08f7sp7j0sz5qdcwp")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; There are no tests. @@ -1290,7 +1300,7 @@ oscillators and stereo effects.") (define-public drumkv1 (package (name "drumkv1") - (version "0.8.6") + (version "0.9.0") (source (origin (method url-fetch) (uri @@ -1298,7 +1308,7 @@ oscillators and stereo effects.") "/drumkv1-" version ".tar.gz")) (sha256 (base32 - "0fwxrfyp15a4m77mzz4mwj36mhdrj646whlrkvcys33p2w75f8cq")))) + "1vm8lrk3lykdic6fyfpl12jx1xg6rcaid242s8sij30p1ix4zdab")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; There are no tests. @@ -1325,7 +1335,7 @@ effects.") (define-public samplv1 (package (name "samplv1") - (version "0.8.6") + (version "0.9.0") (source (origin (method url-fetch) (uri @@ -1333,7 +1343,7 @@ effects.") "/samplv1-" version ".tar.gz")) (sha256 (base32 - "035bq7yfg1yirsqk63zwkzjw9dxl52lrzq9y0w7nga0vb11xdfij")))) + "0g67vm9ilmq5nlvk0f3abia9pbinr4ck5v4mll6igni1rxz2n7wk")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; There are no tests. @@ -1360,7 +1370,7 @@ effects.") (define-public padthv1 (package (name "padthv1") - (version "0.8.6") + (version "0.9.0") (source (origin (method url-fetch) (uri @@ -1368,7 +1378,7 @@ effects.") "/padthv1-" version ".tar.gz")) (sha256 (base32 - "1mikab2f9n5q1sfgnp3sbm1rf3v57k4085lsgh0a5gzga2h4hwxq")))) + "0c519qk2g0dk8gqf9ywqfp7dnr4b25lsnxxbf2l1spnnvf8nysvh")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; There are no tests. @@ -1760,7 +1770,19 @@ projects.") #:build-type "Release" ; needed to have PMALSA set #:configure-flags (list "-DPORTMIDI_ENABLE_JAVA=Off" - "-DPORTMIDI_ENABLE_TEST=Off"))) ; tests fail linking + "-DPORTMIDI_ENABLE_TEST=Off") ; tests fail linking + #:phases + (modify-phases %standard-phases + ;; Some packages, e.g., MuseScore, expect "libporttime.so" instead of + ;; "libportmidi.so". Distributions get away with it by creating an + ;; appropriate symlink. + (add-after 'install 'add-porttime + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib"))) + (with-directory-excursion lib + (symlink "libportmidi.so" "libporttime.so"))) + #t))))) (inputs `(("alsa-lib" ,alsa-lib))) (native-inputs @@ -2156,14 +2178,14 @@ from the command line.") (define-public qtractor (package (name "qtractor") - (version "0.8.6") + (version "0.9.0") (source (origin (method url-fetch) (uri (string-append "http://downloads.sourceforge.net/qtractor/" "qtractor-" version ".tar.gz")) (sha256 (base32 - "0qf75bccsyplx6fcaz48k6027yp06zhl8ixhhjdbr30xgpslnjm3")))) + "03892177k3jn2bsi366dhq28rcdsc1p9v5qqc0k6hg3cnrkh23na")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ; no "check" target (inputs @@ -2272,10 +2294,10 @@ analogue-like user interface.") (license license:gpl2+))) (define-public mod-host - ;; The last release was in 2014 but since then more than 140 commits have + ;; The last release was in 2014 but since then hundreds of commits have ;; been made. - (let ((commit "299a3977476e8eb0285837fbd7522cec506a11de") - (revision "2")) + (let ((commit "1726ad06b11323da7e1aaed690ff8aef91f702b5") + (revision "3")) (package (name "mod-host") (version (string-append "0.10.6-" revision "." (string-take commit 9))) @@ -2286,7 +2308,7 @@ analogue-like user interface.") (commit commit))) (sha256 (base32 - "128q7p5mph086v954rqnafalfbkyvhgwclaq6ks6swrhj45wnag6")) + "1nrd37c35w6z6ldczgrwmmd9hx1n3zyvcjcgb3mi4cygqdanvspv")) (file-name (string-append name "-" version "-checkout")))) (build-system gnu-build-system) (arguments @@ -3467,7 +3489,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke (define-public musescore (package (name "musescore") - (version "2.1.0") + (version "2.2.1") (source (origin (method url-fetch) (uri (string-append @@ -3476,7 +3498,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0irwsq6ihfz3y3b943cwqy29g3si7gqbgxdscgw53vwv9vfvi085")) + "1ml99ayzpdyd18cypcp0lbsbasfg3abw57i5fl7ph5739vikj6i6")) (modules '((guix build utils))) (snippet ;; Un-bundle OpenSSL and remove unused libraries. @@ -3494,7 +3516,9 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke (build-system gnu-build-system) (arguments `(#:make-flags - `(,(string-append "PREFIX=" (assoc-ref %outputs "out"))) + `(,(string-append "PREFIX=" (assoc-ref %outputs "out")) + "USE_SYSTEM_FREETYPE=ON" + "DOWNLOAD_SOUNDFONT=OFF") ;; There are tests, but no simple target to run. The command ;; used to run them is: ;; @@ -3506,16 +3530,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke #:tests? #f #:phases (modify-phases %standard-phases - (delete 'configure) - (add-after 'unpack 'use-system-freetype - (lambda _ - ;; XXX: For the time being, we grossly insert the CMake - ;; option needed to ignore bundled freetype. However, - ;; there's a pending PR to have it as a regular make - ;; option, in a future release. - (substitute* "Makefile" - (("cmake -DCMAKE") "cmake -DUSE_SYSTEM_FREETYPE=ON -DCMAKE")) - #t))))) + (delete 'configure)))) (inputs `(("alsa-lib" ,alsa-lib) ("freetype" ,freetype) @@ -3526,6 +3541,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke ("libsndfile" ,libsndfile) ("libvorbis" ,libvorbis) ("portaudio" ,portaudio) + ("portmidi" ,portmidi) ("pulseaudio" ,pulseaudio) ("qtbase" ,qtbase) ("qtdeclarative" ,qtdeclarative) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 364ae2f64c..7be19bc0a7 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -275,7 +275,7 @@ more.") (define-public czmq (package (name "czmq") - (version "4.1.0") + (version "4.1.1") (source (origin (method url-fetch) (uri (string-append @@ -284,7 +284,7 @@ more.") "/" name "-" version ".tar.gz")) (sha256 (base32 - "04gwf61rijwm6b2wblwv8gky1gdrbfmg1d19hf72kdc691ds7vrv")))) + "1h5hrcsc30fcwb032vy5gxkq4j4vv1y4dj460rfs1hhxi0cz83zh")))) (build-system gnu-build-system) (arguments '(;; TODO Tests fail for some reason: diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 0fdad6a34f..4809aa0971 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3498,13 +3498,13 @@ XML and Protocol Buffers formats.") (build-system ocaml-build-system) (native-inputs `(("oasis" ,ocaml-oasis) - ("clang" ,clang) + ("clang" ,clang-3.8) ("ounit" ,ocaml-ounit))) (propagated-inputs `(("core-kernel" ,ocaml-core-kernel) ("ppx-driver" ,ocaml-ppx-driver) ("uri" ,ocaml-uri) - ("llvm" ,llvm) + ("llvm" ,llvm-3.8) ("gmp" ,gmp) ("clang-runtime" ,clang-runtime) ("fileutils" ,ocaml-fileutils) @@ -3520,7 +3520,7 @@ XML and Protocol Buffers formats.") ("bitstring" ,ocaml-bitstring) ("ppx-jane" ,ocaml-ppx-jane) ("re" ,ocaml-re))) - (inputs `(("llvm" ,llvm))) + (inputs `(("llvm" ,llvm-3.8))) (arguments `(#:use-make? #t #:phases diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm index 5875562aa1..3e9fd375c9 100644 --- a/gnu/packages/openstack.scm +++ b/gnu/packages/openstack.scm @@ -646,14 +646,14 @@ from the OpenStack project.") (define-public python-oslotest (package (name "python-oslotest") - (version "3.3.0") + (version "3.4.0") (source (origin (method url-fetch) (uri (pypi-uri "oslotest" version)) (sha256 (base32 - "006i73w8kbc9s0av2v5mbni6mnkb91c2nq17wa0lz7bwk5zss992")))) + "1pp8lq61d548cxcqi451czvrz5i5b3hyi2ry00wmngdgiswcqj1h")))) (build-system python-build-system) (propagated-inputs `(("python-fixtures" ,python-fixtures) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 4a70e2cf8b..b522e0f92a 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -283,6 +283,33 @@ the Nix package manager.") ;; Alias for backward compatibility. (define-public guix-devel guix) +(define-public guix-register + ;; This package is for internal consumption: it allows us to quickly build + ;; the 'guix-register' program, which is referred to by (guix config). + ;; TODO: Remove this hack when 'guix-register' has been superseded by Scheme + ;; code. + (package + (inherit guix) + (properties `((hidden? . #t))) + (name "guix-register") + (arguments + (substitute-keyword-arguments (package-arguments guix) + ((#:tests? #f #f) + #f) + ((#:phases phases '%standard-phases) + `(modify-phases ,phases + (replace 'build + (lambda _ + (invoke "make" "nix/libstore/schema.sql.hh") + (invoke "make" "-j" (number->string + (parallel-job-count)) + "guix-register"))) + (delete 'copy-bootstrap-guile) + (replace 'install + (lambda _ + (invoke "make" "install-sbinPROGRAMS"))) + (delete 'wrap-program))))))) + (define-public guile2.0-guix (package (inherit guix) diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 8810392530..f4518cfeb0 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Konrad Hinsen <konrad.hinsen@fastmail.net> +;;; Copyright © 2018 Thomas Sigurdsen <tonton@riseup.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -67,6 +68,7 @@ #:use-module (gnu packages version-control) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg) + #:use-module (gnu packages xml) #:use-module (guix build-system python)) (define-public pwgen @@ -641,3 +643,50 @@ is the community-enhanced, \"jumbo\" version of John the Ripper.") to encrypted files on a directory hierarchy. The information is protected by GnuPG's symmetrical encryption.") (license license:expat))) + +(define-public fpm2 + (package + (name "fpm2") + (version "0.79") + (source (origin + (method url-fetch) + (uri (string-append "https://als.regnet.cz/fpm2/download/fpm2-" + version ".tar.bz2")) + (sha256 + (base32 + "19sdy1lygfhkg5nxi2w9a4d9kwvw24nxp0ix0p0lz91qpvk9qpnm")))) + (build-system gnu-build-system) + (inputs `(("gtk2" ,gtk+-2) + ("gnupg" ,gnupg) + ("libxml2" ,libxml2))) + (native-inputs `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'pre-configure + ;; The file po/POTFILES.in ends up missing for some reason in + ;; both nix and guix builds. Adding the file with contents + ;; found during troubleshooting. + (lambda _ + (call-with-output-file "po/POTFILES.in" + (lambda (port) + (format port "data/fpm2.desktop.in +data/fpm2.desktop.in.in +fpm2.glade +src/callbacks.c +src/fpm.c +src/fpm_file.c +src/interface.c +src/support.c +fpm2.glade +"))) + #t))))) + (synopsis "Manage, generate and store passwords encrypted") + (description "FPM2 is GTK2 port from Figaro's Password Manager +originally developed by John Conneely, with some new enhancements. + +Upstream development seems to have stopped. It is therefore recommended +to use a different password manager.") + (home-page "https://als.regnet.cz/fpm2/") + (license license:gpl2+))) diff --git a/gnu/packages/patches/4store-unset-preprocessor-directive.patch b/gnu/packages/patches/4store-unset-preprocessor-directive.patch new file mode 100644 index 0000000000..c4b1d6eda4 --- /dev/null +++ b/gnu/packages/patches/4store-unset-preprocessor-directive.patch @@ -0,0 +1,16 @@ +This patch removes the _XOPEN_SOURCE preprocessor directive as it does not seem to be needed. +Setting it removes the definition of strdup, which is used in filter-datatypes.c. + +Patch by Roel Janssen <roel@gnu.org> +*** a/src/frontend/filter-datatypes.c 1970-01-01 01:00:00.000000000 +0100 +--- b/src/frontend/filter-datatypes.c 2018-04-03 17:39:23.177905592 +0200 +*************** +*** 18,24 **** + * Copyright (C) 2006 Steve Harris for Garlik + */ + +- #define _XOPEN_SOURCE + #include <stdlib.h> + #include <string.h> + #include <math.h> +--- 18,23 ---- diff --git a/gnu/packages/patches/clang-libc-search-path.patch b/gnu/packages/patches/clang-3.5-libc-search-path.patch index 50e4480239..50e4480239 100644 --- a/gnu/packages/patches/clang-libc-search-path.patch +++ b/gnu/packages/patches/clang-3.5-libc-search-path.patch diff --git a/gnu/packages/patches/clang-6.0-libc-search-path.patch b/gnu/packages/patches/clang-6.0-libc-search-path.patch new file mode 100644 index 0000000000..a62e8063c2 --- /dev/null +++ b/gnu/packages/patches/clang-6.0-libc-search-path.patch @@ -0,0 +1,67 @@ +Clang attempts to guess file names based on the OS and distro (yes!), +but unfortunately, that doesn't work for us. + +This patch makes it easy to insert libc's $libdir so that Clang passes the +correct absolute file name of crt1.o etc. to 'ld'. It also disables all +the distro-specific stuff and removes the hard-coded FHS directory names +to make sure Clang also works on non-GuixSD systems. + +--- cfe-6.0.0.src/lib/Driver/ToolChains/Linux.cpp ++++ cfe-6.0.0.src/lib/Driver/ToolChains/Linux.cpp +@@ -207,7 +207,9 @@ + PPaths.push_back(Twine(GCCInstallation.getParentLibPath() + "/../" + + GCCInstallation.getTriple().str() + "/bin") + .str()); +- ++ // Comment out the distro-specific tweaks so that they don't bite when ++ // using Guix on a foreign distro. ++#if 0 + Distro Distro(D.getVFS()); + + if (Distro.IsAlpineLinux()) { +@@ -255,6 +257,7 @@ + + if (IsAndroid || Distro.IsOpenSUSE()) + ExtraOpts.push_back("--enable-new-dtags"); ++#endif + + // The selection of paths to try here is designed to match the patterns which + // the GCC driver itself uses, as this is part of the GCC-compatible driver. +@@ -329,14 +332,12 @@ + addPathIfExists(D, D.Dir + "/../" + OSLibDir, Paths); + } + +- addPathIfExists(D, SysRoot + "/lib/" + MultiarchTriple, Paths); +- addPathIfExists(D, SysRoot + "/lib/../" + OSLibDir, Paths); +- addPathIfExists(D, SysRoot + "/usr/lib/" + MultiarchTriple, Paths); +- addPathIfExists(D, SysRoot + "/usr/lib/../" + OSLibDir, Paths); +- + // Try walking via the GCC triple path in case of biarch or multiarch GCC + // installations with strange symlinks. + if (GCCInstallation.isValid()) { ++ // The following code would end up adding things like ++ // "/usr/lib/x86_64-unknown-linux-gnu/../../lib64" to the search path. ++#if 0 + addPathIfExists(D, + SysRoot + "/usr/lib/" + GCCInstallation.getTriple().str() + + "/../../" + OSLibDir, +@@ -349,6 +350,7 @@ + BiarchSibling.gccSuffix(), + Paths); + } ++#endif + + // See comments above on the multilib variant for details of why this is + // included even from outside the sysroot. +@@ -373,8 +375,9 @@ + if (StringRef(D.Dir).startswith(SysRoot)) + addPathIfExists(D, D.Dir + "/../lib", Paths); + +- addPathIfExists(D, SysRoot + "/lib", Paths); +- addPathIfExists(D, SysRoot + "/usr/lib", Paths); ++ // Add libc's lib/ directory to the search path, so that crt1.o, crti.o, ++ // and friends can be found. ++ addPathIfExists(D, "@GLIBC_LIBDIR@", Paths); + } + + bool Linux::HasNativeLLVMSupport() const { return true; } diff --git a/gnu/packages/patches/delly-use-system-libraries.patch b/gnu/packages/patches/delly-use-system-libraries.patch new file mode 100644 index 0000000000..3315c2a176 --- /dev/null +++ b/gnu/packages/patches/delly-use-system-libraries.patch @@ -0,0 +1,56 @@ +--- a/Makefile 2017-04-09 12:48:15.000000000 +0200 ++++ b/Makefile 2017-06-21 14:26:02.749282787 +0200 +@@ -9,8 +9,8 @@ + + # Flags + CXX=g++ +-CXXFLAGS += -isystem ${SEQTK_ROOT} -isystem ${BOOST_ROOT} -pedantic -W -Wall -Wno-unknown-pragmas -D__STDC_LIMIT_MACROS -fno-strict-aliasing +-LDFLAGS += -L${SEQTK_ROOT} -L${BOOST_ROOT}/stage/lib -lboost_iostreams -lboost_filesystem -lboost_system -lboost_program_options -lboost_date_time ++CXXFLAGS += -pedantic -W -Wall -Wno-unknown-pragmas -D__STDC_LIMIT_MACROS -fno-strict-aliasing ++LDFLAGS += -lboost_iostreams -lboost_filesystem -lboost_system -lboost_program_options -lboost_date_time + + # Additional flags for release/debug + ifeq (${PARALLEL}, 1) +@@ -23,7 +23,7 @@ + ifeq (${STATIC}, 1) + LDFLAGS += -static -static-libgcc -pthread -lhts -lz + else +- LDFLAGS += -lhts -lz -Wl,-rpath,${SEQTK_ROOT},-rpath,${BOOST_ROOT}/stage/lib ++ LDFLAGS += -lhts -lz + endif + ifeq (${DEBUG}, 1) + CXXFLAGS += -g -O0 -fno-inline -DDEBUG +@@ -41,29 +41,17 @@ + DELLYSOURCES = $(wildcard src/*.h) $(wildcard src/*.cpp) + + # Targets +-TARGETS = .htslib .bcftools .boost src/delly src/cov src/dpe ++TARGETS = src/delly src/cov src/dpe + + all: $(TARGETS) + +-.htslib: $(HTSLIBSOURCES) +- cd src/htslib && make && make lib-static && cd ../../ && touch .htslib +- +-.bcftools: $(HTSLIBSOURCES) +- cd src/bcftools && make && cd ../../ && touch .bcftools +- +-.boost: $(BOOSTSOURCES) +- cd src/modular-boost && ./bootstrap.sh --prefix=${PWD}/src/modular-boost --without-icu --with-libraries=iostreams,filesystem,system,program_options,date_time && ./b2 && ./b2 headers && cd ../../ && touch .boost +- +-src/delly: .htslib .bcftools .boost $(DELLYSOURCES) +- $(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS) +- +-src/cov: .htslib .bcftools .boost $(DELLYSOURCES) ++src/cov: $(DELLYSOURCES) + $(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS) + +-src/dpe: .htslib .bcftools .boost $(DELLYSOURCES) ++src/dpe: $(DELLYSOURCES) + $(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS) + + clean: + cd src/htslib && make clean + cd src/modular-boost && ./b2 --clean-all +- rm -f $(TARGETS) $(TARGETS:=.o) .htslib .boost .bcftools ++ rm -f $(TARGETS) $(TARGETS:=.o) diff --git a/gnu/packages/patches/libgnomeui-utf8.patch b/gnu/packages/patches/libgnomeui-utf8.patch index 304d74e1e2..11622b21ee 100644 --- a/gnu/packages/patches/libgnomeui-utf8.patch +++ b/gnu/packages/patches/libgnomeui-utf8.patch @@ -8,11 +8,11 @@ make[2]: Entering directory '/tmp/guix-build-libgnomeui-2.24.5.drv-0/libgnomeui- INFO: Reading ./gnome-marshal.list... GEN gnome-marshal.h Traceback (most recent call last): - File "/gnu/store/azh1is0xknn4xphwj33iqcb5ic9qhk8l-glib-2.54.2-bin/bin/glib-mkenums", line 688, in <module> + File "/gnu/store/...-glib-2.54.2-bin/bin/glib-mkenums", line 688, in <module> process_file(fname) - File "/gnu/store/azh1is0xknn4xphwj33iqcb5ic9qhk8l-glib-2.54.2-bin/bin/glib-mkenums", line 420, in process_file + File "/gnu/store/...-glib-2.54.2-bin/bin/glib-mkenums", line 420, in process_file line = curfile.readline() - File "/gnu/store/3lkypf5wnsnvkaidhw0pv7k3yjfh1r9g-python-3.6.3/lib/python3.6/codecs.py", line 321, in decode + File "/gnu/store/...-python-3.6.3/lib/python3.6/codecs.py", line 321, in decode (result, consumed) = self._buffer_decode(data, self.errors, final) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf1 in position 1009: invalid continuation byte make[2]: *** [Makefile:1109: stamp-gnometypebuiltins.h] Error 1 diff --git a/gnu/packages/patches/racket-fix-xform-issue.patch b/gnu/packages/patches/racket-fix-xform-issue.patch new file mode 100644 index 0000000000..0a1640ee51 --- /dev/null +++ b/gnu/packages/patches/racket-fix-xform-issue.patch @@ -0,0 +1,63 @@ +050cdb59839896b41431791f8ee0ef2564231b8f +Author: Matthew Flatt <mflatt@racket-lang.org> +AuthorDate: Tue Mar 6 09:05:08 2018 -0700 +Commit: Matthew Flatt <mflatt@racket-lang.org> +CommitDate: Tue Mar 6 09:05:08 2018 -0700 + +Parent: efb9a919fc ffi docs: clarification on `unsafe-socket->port` +Containing: master +Follows: v5.0.1 (21612) + +xform: avoid problems with `__signbitf128` + +Closes #1962 and uses the suggested patch there, among other changes. + +2 files changed, 6 insertions(+), 3 deletions(-) +racket/collects/compiler/private/xform.rkt | 2 +- +racket/src/racket/src/number.c | 7 +++++-- + +diff --git a/racket/collects/compiler/private/xform.rkt b/racket/collects/compiler/private/xform.rkt +index 28a425c057..89ae848f9c 100644 +--- a/collects/compiler/private/xform.rkt ++++ b/collects/compiler/private/xform.rkt +@@ -904,7 +904,7 @@ + + strlen cos cosl sin sinl exp expl pow powl log logl sqrt sqrtl atan2 atan2l frexp + isnan isinf fpclass signbit _signbit _fpclass __fpclassify __fpclassifyf __fpclassifyl +- _isnan __isfinited __isnanl __isnan __signbit __signbitf __signbitd __signbitl ++ _isnan __isfinited __isnanl __isnan __signbit __signbitf __signbitd __signbitl __signbitf128 + __isinff __isinfl isnanf isinff __isinfd __isnanf __isnand __isinf __isinff128 + __inline_isnanl __inline_isnan __inline_signbit __inline_signbitf __inline_signbitd __inline_signbitl + __builtin_popcount __builtin_clz __builtin_isnan __builtin_isinf __builtin_signbit +diff --git a/racket/src/racket/src/number.c b/racket/src/racket/src/number.c +index 71f42aaf3c..3bbad3ba83 100644 +--- a/src/racket/src/number.c ++++ b/src/racket/src/number.c +@@ -1796,6 +1796,7 @@ double scheme_real_to_double(Scheme_Object *r) + } + + XFORM_NONGCING static MZ_INLINE int minus_zero_p(double d) ++ XFORM_SKIP_PROC + { + #ifdef MZ_IS_NEG_ZERO + return MZ_IS_NEG_ZERO(d); +@@ -1809,7 +1810,9 @@ int scheme_minus_zero_p(double d) + return minus_zero_p(d); + } + +-static int rational_dbl_p(double f) { ++XFORM_NONGCING static int rational_dbl_p(double f) ++ XFORM_SKIP_PROC ++{ + return !(MZ_IS_NAN(f) + || MZ_IS_INFINITY(f)); + } +@@ -1955,7 +1958,7 @@ real_p(int argc, Scheme_Object *argv[]) + return (SCHEME_REALP(o) ? scheme_true : scheme_false); + } + +-static int is_rational(const Scheme_Object *o) ++XFORM_NONGCING static int is_rational(const Scheme_Object *o) + { + if (SCHEME_FLOATP(o)) + return rational_dbl_p(SCHEME_FLOAT_VAL(o));
\ No newline at end of file diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 46badf9d3e..7ef6714540 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Nils Gillmann <ng0@n0.is> ;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co> -;;; Copyright © 2016 Roel Janssen <roel@gnu.org> +;;; Copyright © 2016, 2018 Roel Janssen <roel@gnu.org> ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2017 Raoul J.P. Bonnal <ilpuccio.febo@gmail.com> @@ -723,6 +723,31 @@ is captured while being passed through to the original file handles.") to test the installed perl for compatibility with his modules.") (license (package-license perl)))) +(define-public perl-carp + (package + (name "perl-carp") + (version "1.38") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/R/RJ/RJBS/Carp-" + version ".tar.gz")) + (sha256 + (base32 + "00bijwwc0ix27h2ma3lvsf3b56biar96bl9dikxgx7cmpcycxad5")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Carp/") + (synopsis "Alternative warn and die for modules") + (description "The @code{Carp} routines are useful in your own modules +because they act like @code{die()} or @code{warn()}, but with a message +which is more likely to be useful to a user of your module. In the case +of @code{cluck}, @code{confess}, and @code{longmess} that context is a +summary of every call in the call-stack. For a shorter message you can use +@code{carp} or @code{croak} which report the error as being from where your +module was called. There is no guarantee that that is where the error was, +but it is a good educated guess.") + (license (package-license perl)))) + (define-public perl-carp-always (package (name "perl-carp-always") @@ -3976,6 +4001,62 @@ inc directory within a distribution and are used by Makefile.PL or Build.PL.") "Indirect warns about using the indirect method call syntax.") (license (package-license perl)))) +(define-public perl-inline + (package + (name "perl-inline") + (version "0.80") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/I/IN/INGY/Inline-" + version ".tar.gz")) + (sha256 + (base32 + "1xnf5hykcr54271x5jsnr61bcv1c7x39cy4kdcrkxm7bn62djavy")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-warn" ,perl-test-warn))) + (home-page "http://search.cpan.org/dist/Inline/") + (synopsis "Write Perl subroutines in other programming languages") + (description "The @code{Inline} module allows you to put source code +from other programming languages directly (inline) in a Perl script or +module. The code is automatically compiled as needed, and then loaded +for immediate access from Perl.") + (license (package-license perl)))) + +(define-public perl-inline-c + (package + (name "perl-inline-c") + (version "0.78") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/T/TI/TINITA/Inline-C-" + version ".tar.gz")) + (sha256 + (base32 + "1izv7vswd17glffh8h83bi63gdk208mmhxi17l3qd8q1bkc08y4s")))) + (build-system perl-build-system) + (native-inputs + `(("perl-file-copy-recursive" ,perl-file-copy-recursive) + ("perl-file-sharedir-install" ,perl-file-sharedir-install) + ("perl-test-warn" ,perl-test-warn) + ("perl-yaml-libyaml" ,perl-yaml-libyaml))) + (propagated-inputs + `(("perl-inline" ,perl-inline) + ("perl-parse-recdescent" ,perl-parse-recdescent) + ("perl-pegex" ,perl-pegex))) + (home-page "http://search.cpan.org/dist/Inline-C/") + (synopsis "C Language Support for Inline") + (description "The @code{Inline::C} module allows you to write Perl +subroutines in C. Since version 0.30 the @code{Inline} module supports +multiple programming languages and each language has its own support module. +This document describes how to use Inline with the C programming language. +It also goes a bit into Perl C internals.") + (license (package-license perl)))) + (define-public perl-io-captureoutput (package (name "perl-io-captureoutput") @@ -4638,7 +4719,7 @@ portions of this module couldn't be compiled on this machine.") (define-public perl-mailtools (package (name "perl-mailtools") - (version "2.19") + (version "2.20") (source (origin (method url-fetch) @@ -4648,7 +4729,7 @@ portions of this module couldn't be compiled on this machine.") ".tar.gz")) (sha256 (base32 - "06jykkv8mp484vzkmwd6dkicx029rl3ir5ljzrbap3paxw1dfzn1")))) + "15iizg2x1w7ca0r8rn3wwhp7w160ljvf55prspljwd6cm7vhcmpm")))) (build-system perl-build-system) (propagated-inputs `(("perl-timedate" ,perl-timedate))) @@ -4680,6 +4761,64 @@ Build a Mail::Internet object, and then send it out using Mail::Mailer. @end table") (license perl-license))) +(define-public perl-math-bezier + (package + (name "perl-math-bezier") + (version "0.01") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/A/AB/ABW/Math-Bezier-" + version ".tar.gz")) + (sha256 + (base32 + "1f5qwrb7vvf8804myb2pcahyxffqm9zvfal2n6myzw7x8py1ba0i")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Math-Bezier/") + (synopsis "Solution of bezier curves") + (description "This module implements the algorithm for the solution of Bezier +curves as presented by Robert D Miller in Graphics Gems V, \"Quick and Simple +Bezier Curve Drawing\".") + (license perl-license))) + +(define-public perl-math-round + (package + (name "perl-math-round") + (version "0.07") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/G/GR/GROMMEL/Math-Round-" + version ".tar.gz")) + (sha256 + (base32 + "09wkvqj4hfq9y0fimri967rmhnq90dc2wf20lhlmqjp5hsd359vk")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Math-Round/") + (synopsis "Perl extension for rounding numbers") + (description "@code{Math::Round} provides functions to round numbers, +both positive and negative, in various ways.") + (license perl-license))) + +(define-public perl-memoize + (package + (name "perl-memoize") + (version "1.03") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/M/MJ/MJD/Memoize-" + version".tgz")) + (sha256 + (base32 + "1wysq3wrmf1s7s3phimzn7n0dswik7x53apykzgb0l2acigwqfaj")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Memoize/") + (synopsis "Make functions faster by trading space for time") + (description "This package transparently speeds up functions by caching +return values, trading space for time.") + (license perl-license))) + (define-public perl-memoize-expirelru (package (name "perl-memoize-expirelru") @@ -6224,6 +6363,30 @@ collector daemon in use at Etsy.com.") subroutine, which you can call with a value to be tested against.") (license (package-license perl)))) +(define-public perl-number-format + (package + (name "perl-number-format") + (version "1.75") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/W/WR/WRW/Number-Format-" + version ".tar.gz")) + (sha256 + (base32 + "1wspw9fybik76jq9w1n1gmvfixd4wvlrq6ni8kyn85s62v5mkml2")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Number-Format/") + (synopsis "Convert numbers to strings with pretty formatting") + (description "@code{Number::Format} is a library for formatting numbers. +Functions are provided for converting numbers to strings in a variety of ways, +and to convert strings that contain numbers back into numeric form. The +output formats may include thousands separators - characters inserted between +each group of three characters counting right to left from the decimal point. +The characters used for the decimal point and the thousands separator come from +the locale information or can be specified by the user.") + (license perl-license))) + (define-public perl-number-range (package (name "perl-number-range") @@ -6575,6 +6738,36 @@ up inheritance from those modules at the same time.") directory specifications in a cross-platform manner.") (license (package-license perl)))) +(define-public perl-pathtools + (package + (name "perl-pathtools") + (version "3.74") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/X/XS/XSAWYERX/PathTools-" + version ".tar.gz")) + (sha256 + (base32 "04bfjdvn5p78hirljcinpxv8djcjn8nyg5gcmnmvz8sr9k2lqwi5")))) + (build-system perl-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-pwd-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "Cwd.pm" + (("'/bin/pwd'") + (string-append "'" (assoc-ref inputs "coreutils") + "/bin/pwd'")))))))) + (inputs + `(("coreutils" ,coreutils))) + (home-page "http://search.cpan.org/dist/PathTools/") + (synopsis "Tools for working with directory and file names") + (description "This package provides functions to work with directory and +file names.") + (license perl-license))) + (define-public perl-path-tiny (package (name "perl-path-tiny") @@ -6623,6 +6816,33 @@ PerlIO layer. Unlike Perl's default @code{:utf8} layer it checks the input for correctness.") (license (package-license perl)))) +(define-public perl-pegex + (package + (name "perl-pegex") + (version "0.64") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/I/IN/INGY/Pegex-" + version ".tar.gz")) + (sha256 + (base32 + "1kb7y2cc3nibbn8i8y3vrzz1f9h3892nbf8jj88c5fdgpmj05q17")))) + (build-system perl-build-system) + (native-inputs + `(("perl-file-sharedir-install" ,perl-file-sharedir-install) + ("perl-yaml-libyaml" ,perl-yaml-libyaml))) + (home-page "http://search.cpan.org/dist/Pegex/") + (synopsis "Acmeist PEG Parser Framework") + (description "Pegex is an Acmeist parser framework. It allows you to easily +create parsers that will work equivalently in lots of programming languages. +The inspiration for Pegex comes from the parsing engine upon which the +postmodern programming language Perl 6 is based on. Pegex brings this beauty +to the other justmodern languages that have a normal regular expression engine +available.") + (license (package-license perl)))) + (define-public perl-pod-coverage (package (name "perl-pod-coverage") @@ -6920,6 +7140,25 @@ collector.") (description "Set::Infinite is a set theory module for infinite sets.") (license (package-license perl)))) +(define-public perl-set-intspan + (package + (name "perl-set-intspan") + (version "1.19") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/S/SW/SWMCD/Set-IntSpan-" + version ".tar.gz")) + (sha256 + (base32 + "1l6znd40ylzvfwl02rlqzvakv602rmvwgm2xd768fpgc2fdm9dqi")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Set-IntSpan/") + (synopsis "Manage sets of integers") + (description "@code{Set::IntSpan} manages sets of integers. It is +optimized for sets that have long runs of consecutive integers.") + (license perl-license))) + (define-public perl-set-object (package (name "perl-set-object") @@ -7058,6 +7297,27 @@ straightforward and (perhaps someday) standard way. Spiffy borrows ideas from other OO languages like Python, Ruby, Java and Perl 6.") (license (package-license perl)))) +(define-public perl-statistics-basic + (package + (name "perl-statistics-basic") + (version "1.6611") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/J/JE/JETTERO/Statistics-Basic-" + version ".tar.gz")) + (sha256 + (base32 + "1ywl398z42hz9w1k0waf1caa6agz8jzsjlf4rzs1lgpx2mbcwmb8")))) + (build-system perl-build-system) + (inputs + `(("perl-number-format" ,perl-number-format))) + (home-page "http://search.cpan.org/dist/Statistics-Basic/") + (synopsis "Collection of very basic statistics modules") + (description "This package provides basic statistics functions like +@code{median()}, @code{mean()}, @code{variance()} and @code{stddev()}.") + (license lgpl2.0))) + (define-public perl-stream-buffered (package (name "perl-stream-buffered") @@ -7884,6 +8144,30 @@ faster than shelling out to a system's diff executable for small files, and generally slower on larger files.") (license (package-license perl)))) +(define-public perl-text-format + (package + (name "perl-text-format") + (version "0.60") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Format-" + version ".tar.gz")) + (sha256 + (base32 + "1f52jak0a2gwi4qcisp4nfbniq04dmmv5j8zkvzj8ik0f0sk2kv6")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build) + ("perl-test-pod" ,perl-test-pod) + ("perl-test-pod-coverage" ,perl-test-pod-coverage))) + (home-page "http://search.cpan.org/dist/Text-Format/") + (synopsis "Various subroutines to format text") + (description "This package provides functions to format text in various +ways like centering, paragraphing, and converting tabs to spaces and spaces +to tabs.") + (license perl-license))) + (define-public perl-text-glob (package (name "perl-text-glob") @@ -8040,6 +8324,23 @@ letters, the pronunciation expressed by the text in some other writing system.") (license (package-license perl)))) +(define-public perl-threads + (package + (name "perl-threads") + (version "2.21") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/J/JD/JDHEDDEN/threads-" + version ".tar.gz")) + (sha256 + (base32 "047i22mdnf7fa0h9w5jhqrjbg561l5jxk8xqzwh6zbmwlac4qf98")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/threads/") + (synopsis "Perl interpreter-based threads") + (description "This module exposes interpreter threads to the Perl level.") + (license perl-license))) + (define-public perl-throwable (package (name "perl-throwable") @@ -8195,6 +8496,26 @@ rounded or exact terms.") duration strings like \"2 minutes\" and \"3 seconds\" to seconds.") (license (package-license perl)))) +(define-public perl-time-hires + (package + (name "perl-time-hires") + (version "1.9758") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/J/JH/JHI/Time-HiRes-" + version ".tar.gz")) + (sha256 + (base32 + "07jbydcdzpjm6i4nidci0rlklx4kla210fsl6zishw0yq5di9yjv")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Time-HiRes/") + (synopsis "High resolution alarm, sleep, gettimeofday, interval timers") + (description "This package implements @code{usleep}, @code{ualarm}, and +@code{gettimeofday} for Perl, as well as wrappers to implement @code{time}, +@code{sleep}, and @code{alarm} that know about non-integral seconds.") + (license perl-license))) + (define-public perl-time-local (package (name "perl-time-local") @@ -9063,6 +9384,30 @@ File::Find replacement in Perl.") interface to File::Find::Object.") (license (package-license perl)))) +(define-public perl-font-ttf + (package + (name "perl-font-ttf") + (version "1.06") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/B/BH/BHALLISSY/Font-TTF-" + version ".tar.gz")) + (sha256 + (base32 + "14y29ja3lsa3yw0ll20lj96f3zz5zydjqi1c5nh9wxar8927ssab")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-io-string" ,perl-io-string))) + (home-page "http://search.cpan.org/dist/Font-TTF/") + (synopsis "TTF font support for Perl") + (description "This package provides a Perl module for TrueType/OpenType +font hacking. It supports reading, processing and writing of the following +tables: GDEF, GPOS, GSUB, LTSH, OS/2, PCLT, bsln, cmap, cvt, fdsc, feat, +fpgm, glyf, hdmx, head, hhea, hmtx, kern, loca, maxp, mort, name, post, prep, +prop, vhea, vmtx and the reading and writing of all other table types.") + (license artistic2.0))) + (define-public perl-libtime-parsedate (package (name "perl-libtime-parsedate") diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm index 58ace823ee..90e6ab1c1c 100644 --- a/gnu/packages/php.scm +++ b/gnu/packages/php.scm @@ -62,7 +62,7 @@ (define-public php (package (name "php") - (version "7.2.3") + (version "7.2.4") (home-page "https://secure.php.net/") (source (origin (method url-fetch) @@ -70,7 +70,7 @@ name "-" version ".tar.xz")) (sha256 (base32 - "07v5bq5b97zdqwmig6sxqsdb50vdf04w6jzmjq5kqh9gaqdlzadk")) + "123s0lbyz4fxr3kk91r4v658mk899dym36lggxnx9pwd2jyv25kr")) (modules '((guix build utils))) (snippet '(with-directory-excursion "ext" diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm index 82b55fbf2f..38f279206d 100644 --- a/gnu/packages/plotutils.scm +++ b/gnu/packages/plotutils.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016, 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -178,14 +179,14 @@ colors, styles, options and details.") (define-public asymptote (package (name "asymptote") - (version "2.41") + (version "2.42") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/asymptote/" version "/asymptote-" version ".src.tgz")) (sha256 (base32 - "1w7fbq6gy65g0mxg6wdxi7v178c5yxvh9yrnv3bzm4sjzf4pwvhx")))) + "0dprc4shzdpvp87kc97ggh5ay2zmskjjaciay7mnblx63rhk1d95")))) (build-system gnu-build-system) ;; Note: The 'asy' binary retains a reference to docdir for use with its ;; "help" command in interactive mode, so adding a "doc" output is not diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index aabeaa7604..fb8575cb78 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2015 Cyril Roelandt <tipecaml@gmail.com> ;;; Copyright © 2014, 2017 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org> -;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is> ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net> @@ -281,14 +281,14 @@ is used by the Requests library to verify HTTPS requests.") (define-public python-cryptography-vectors (package (name "python-cryptography-vectors") - (version "2.2.1") + (version "2.2.2") (source (origin (method url-fetch) (uri (pypi-uri "cryptography_vectors" version)) (sha256 (base32 - "1zk2shzpa9kw8fgwpsbdm5cgvbjd05vh2q6r0x9jlzq5vvjg4z5y")))) + "122na0c6r24ch2ifyr4ccjyih0inpqy7bc5za77699g3pa22rd98")))) (build-system python-build-system) (home-page "https://github.com/pyca/cryptography") (synopsis "Test vectors for the cryptography package") @@ -303,14 +303,14 @@ is used by the Requests library to verify HTTPS requests.") (define-public python-cryptography (package (name "python-cryptography") - (version "2.2.1") + (version "2.2.2") (source (origin (method url-fetch) (uri (pypi-uri "cryptography" version)) (sha256 (base32 - "1lxj3kqp552c715p0hzixpdhnz4ggd3jb7zz15q8dw534b9xknnx")))) + "0qrgip8vgcpk7v1jwf67mg50np5iprxrv8qrg8p382hkd6zrbhlz")))) (build-system python-build-system) (inputs `(("openssl" ,openssl))) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 013758c6db..be93d430ff 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -48,7 +48,9 @@ ;;; Copyright © 2018 Ethan R. Jones <ethanrjones97@gmail.com ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com> ;;; Copyright © 2018 Vijayalakshmi Vedantham <vijimay12@gmail.com> - +;;; Copyright © 2018 Mathieu Lirzin <mthl@gnu.org> +;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com> +;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it @@ -1382,9 +1384,9 @@ applications. dogtail scripts are written in Python and executed like any other Python program.") (license license:gpl2+))) -(define-public python2-empy +(define-public python-empy (package - (name "python2-empy") + (name "python-empy") (version "3.3") (source (origin (method url-fetch) @@ -1395,12 +1397,7 @@ other Python program.") "01g8mmkfnvjdmlhsihwyx56lrg7r5m5d2fg6mnxsvy6g0dnl69f6")))) (build-system python-build-system) (arguments - `(#:python ,python-2 - #:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - (zero? (system* "./test.sh"))))))) + `(#:tests? #f)) ;python2 only (home-page "http://www.alcyone.com/software/empy/") (synopsis "Templating system for Python") (description @@ -1417,6 +1414,9 @@ system is highly configurable via command line options and embedded commands.") (license license:lgpl2.1+))) +(define-public python2-empy + (package-with-python2 python-empy)) + (define-public python2-element-tree (package (name "python2-element-tree") @@ -8705,14 +8705,14 @@ to occurrences in strings and comments.") (define-public python-py3status (package (name "python-py3status") - (version "3.1") + (version "3.7") (source (origin (method url-fetch) (uri (pypi-uri "py3status" version)) (sha256 (base32 - "0i283z1pivmir61z8kbiycigc94l61v33ygzkhczf1ifq7cppyds")))) + "0shxcfz4wcczj0mhwp4w0dvwd2fdd9bgprq8slim1519iiqzgwhq")))) (build-system python-build-system) (inputs `(("file" ,file))) @@ -8725,8 +8725,8 @@ to occurrences in strings and comments.") (lambda* (#:key inputs #:allow-other-keys) (let ((file-path (assoc-ref inputs "file"))) (substitute* "py3status/parse_config.py" - (("check_output\\(\\['file'") - (string-append "check_output(['" file-path "/bin/file'"))) + (("\\['file', '-b'") + (string-append "['" file-path "/bin/file', '-b'"))) #t)))) #:tests? #f)) ; TODO: Requires many libraries not in Guix. (home-page "https://github.com/ultrabug/py3status") @@ -13205,3 +13205,48 @@ working with iterables.") (define-public python2-more-itertools (package-with-python2 python-more-itertools)) + +(define-public python-latexcodec + (package + (name "python-latexcodec") + (version "1.0.5") + (source + (origin + (method url-fetch) + (uri (pypi-uri "latexcodec" version)) + (sha256 + (base32 + "0zdd1gf24i83ykadx0y30n3001j43scqr2saql3vckk5c39dj1wn")))) + (build-system python-build-system) + (inputs + `(("python-six" ,python-six))) + (home-page "https://readthedocs.org/projects/latexcodec/") + (synopsis "Work with LaTeX code in Python") + (description "Lexer and codec to work with LaTeX code in Python.") + (license license:expat))) + +(define-public python-pybtex + (package + (name "python-pybtex") + (version "0.21") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pybtex" version)) + (sha256 + (base32 + "00300j8dn5pxq4ndxmfmbmycg2znawkqs49val2x6jlmfiy6r2mg")))) + (build-system python-build-system) + (native-inputs + `(("python-nose" ,python-nose))) + (inputs + `(("python-latexcodec" ,python-latexcodec) + ("python-pyyaml" ,python-pyyaml) + ("python-six" ,python-six))) + (arguments + `(#:test-target "nosetests")) + (home-page "https://pybtex.org/") + (synopsis "BibTeX-compatible bibliography processor") + (description "Pybtex is a BibTeX-compatible bibliography processor written +in Python. You can simply type pybtex instead of bibtex.") + (license license:expat))) diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm index 1294149609..38a371d233 100644 --- a/gnu/packages/regex.scm +++ b/gnu/packages/regex.scm @@ -29,17 +29,15 @@ (define-public re2 (package (name "re2") - (version "2018-03-01") + (version "2018-04-01") + (home-page "https://github.com/google/re2") (source (origin (method url-fetch) - (uri - (string-append - "https://github.com/google/re2/archive/" - version ".tar.gz")) + (uri (string-append home-page "/archive/" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0y21g321a802xmxdbkfz0rkcark7ypglpb3jjqhf13m6s7lpxp2i")))) + "04n9ngikvpikpshwcrl26sxgn8qbrymy3b5wlbsyfdhknx35951g")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) @@ -66,7 +64,6 @@ (delete-file (string-append (assoc-ref outputs "out") "/lib/libre2.a")) #t))))) - (home-page "https://github.com/google/re2") (synopsis "Fast, safe, thread-friendly regular expression engine") (description "RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl and diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 17fe7ae52c..67dc6badfe 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -109,7 +109,7 @@ a focus on simplicity and productivity.") (define-public ruby-2.3 (package (inherit ruby) - (version "2.3.6") + (version "2.3.7") (source (origin (method url-fetch) @@ -118,7 +118,7 @@ a focus on simplicity and productivity.") "/ruby-" version ".tar.xz")) (sha256 (base32 - "0mlz0mk7yyxia37k8fdv8m8a72h61nfbns28430h796l4an6kng0")) + "1nwfaifq5624p1ml56qq5dy5w38z37x22r0qgrbgbzrzklmqy7y6")) (modules '((guix build utils))) (snippet `(begin ;; Remove bundled libffi @@ -127,7 +127,7 @@ a focus on simplicity and productivity.") (define-public ruby-2.2 (package (inherit ruby) - (version "2.2.9") + (version "2.2.10") (source (origin (method url-fetch) @@ -136,7 +136,7 @@ a focus on simplicity and productivity.") "/ruby-" version ".tar.xz")) (sha256 (base32 - "0p18xykx8dm5mmlx5n5243z67lj4vbvwr70bnc5x12am22ql8fri")))))) + "0l5nk9mc0q4769d2i9d9y1izk0pk0lms2bl8s3lclv36wsvvqxxz")))))) (define-public ruby-2.1 (package (inherit ruby) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 69d329bf9a..70140579b6 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016 Eric Le Bihan <eric.le.bihan.dev@free.fr> ;;; Copyright © 2016 Nils Gillmann <ng0@n0.is> ;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com> -;;; Copyright © 2017 Nikolai Merinov <nikolai.merinov@member.fsf.org> +;;; Copyright © 2017, 2018 Nikolai Merinov <nikolai.merinov@member.fsf.org> ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; @@ -46,71 +46,48 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) #:use-module (guix download) - #:use-module (guix base16) ;for generated "cargo" native-inputs #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) + #:use-module ((guix build utils) #:select (alist-replace)) + #:use-module (guix utils) #:use-module (ice-9 match) #:use-module (srfi srfi-26)) -;; Should be one less than the current released version. -(define %rust-bootstrap-binaries-version "1.21.0") - -(define %rust-bootstrap-binaries - (origin - (method url-fetch) - (uri (string-append - "https://static.rust-lang.org/dist/" - "rust-" %rust-bootstrap-binaries-version - "-" %host-type ".tar.gz")) - (sha256 - (base32 - (match %host-type - ("i686-unknown-linux-gnu" - "1vnvqwz30hvyjcfr1f602lg43v2vlqjr3yhb5vr8xnrcc07yvjmp") - ("x86_64-unknown-linux-gnu" - "1s0866qcy0645bqhsbs3pvk2hi52ps8jzs7x096w0as033h707ml") - ("armv7-unknown-linux-gnueabihf" - "1ml8fjq2b6j2vn1j314w93pf4wjl97n1mbz609h3i7md0zqscvs1") - ("aarch64-unknown-linux-gnu" - "1hv4m2m7xjcph39r6baryfg23hjcr4sbsrfnd1lh0wn67k2fc7j9") - ("mips64el-unknown-linux-gnuabi64" - "0p7fzkfcqg5yvj86v434z351dp7s7pgns8nzxj0fz3hmbfbvlvn9") - (_ "")))))) ; Catch-all for other systems. - (define %cargo-reference-project-file "/dev/null") (define %cargo-reference-hash "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855") -(define (increment-rust-version rust-version major patch) - (match (string-split rust-version #\.) - (("1" minor _) - (string-append (number->string major) "." - (number->string (+ (string->number minor) 1)) "." - (number->string patch))))) - -(define* (cargo-version rustc-version #:optional (patch 0)) - ;; Computes the cargo version that matches the rustc version. - ;; This has so far continued to follow a predictable pattern: - ;; https://github.com/rust-lang/cargo/blob/50a46f47/README.md#releases - (increment-rust-version rustc-version 0 patch)) - -(define* (rustc-version bootstrap-version #:optional (patch 0)) - ;; Computes the rustc version that can be compiled from a given - ;; other rustc version. The patch argument is for selecting - ;; a stability or security fix. 1.11.0 -> 1.12.1 -> 1.13.0 - (increment-rust-version bootstrap-version 1 patch)) - -(define rustc-bootstrap +(define rust-bootstrap (package - (name "rustc-bootstrap") - (version %rust-bootstrap-binaries-version) - (source %rust-bootstrap-binaries) + (name "rust-bootstrap") + (version "1.22.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://static.rust-lang.org/dist/" + "rust-" version "-" %host-type ".tar.gz")) + (sha256 + (base32 + (match %host-type + ("i686-unknown-linux-gnu" + "15zqbx86nm13d5vq2gm69b7av4vg479f74b5by64hs3bcwwm08pr") + ("x86_64-unknown-linux-gnu" + "1yll78x6b3abnvgjf2b66gvp6mmcb9y9jdiqcwhmgc0z0i0fix4c") + ("armv7-unknown-linux-gnueabihf" + "138a8l528kzp5wyk1mgjaxs304ac5ms8vlpq0ggjaznm6bn2j7a5") + ("aarch64-unknown-linux-gnu" + "0z6m9m1rx4d96nvybbfmpscq4dv616m615ijy16d5wh2vx0p4na8") + ("mips64el-unknown-linux-gnuabi64" + "07k4pcv7jvfa48cscdj8752lby7m7xdl88v3a6na1vs675lhgja2") + (_ "")))))) (build-system gnu-build-system) (native-inputs `(("patchelf" ,patchelf))) (inputs - `(("gcc:lib" ,(canonical-package gcc) "lib") + `(("gcc" ,(canonical-package gcc)) + ("gcc:lib" ,(canonical-package gcc) "lib") ("zlib" ,zlib))) + (outputs '("out" "cargo")) (arguments `(#:tests? #f #:strip-binaries? #f @@ -121,116 +98,63 @@ (replace 'install (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) + (cargo-out (assoc-ref outputs "cargo")) (gcc:lib (assoc-ref inputs "gcc:lib")) (libc (assoc-ref inputs "libc")) (zlib (assoc-ref inputs "zlib")) (ld-so (string-append libc ,(glibc-dynamic-linker))) (rpath (string-append out "/lib:" zlib "/lib:" libc "/lib:" gcc:lib "/lib")) + (cargo-rpath (string-append cargo-out "/lib:" libc "/lib:" + gcc:lib "/lib")) (rustc (string-append out "/bin/rustc")) - (rustdoc (string-append out "/bin/rustdoc"))) - (system* "bash" "install.sh" + (rustdoc (string-append out "/bin/rustdoc")) + (cargo (string-append cargo-out "/bin/cargo")) + (gcc (assoc-ref inputs "gcc"))) + ;; Install rustc/rustdoc + (invoke "bash" "install.sh" (string-append "--prefix=" out) (string-append "--components=rustc," "rust-std-" %host-type)) + ;; Instal cargo + (invoke "bash" "install.sh" + (string-append "--prefix=" cargo-out) + (string-append "--components=cargo")) (for-each (lambda (file) - (system* "patchelf" "--set-rpath" rpath file)) + (invoke "patchelf" "--set-rpath" rpath file)) (cons* rustc rustdoc (find-files out "\\.so$"))) + (invoke "patchelf" "--set-rpath" cargo-rpath cargo) (for-each (lambda (file) - (system* "patchelf" "--set-interpreter" ld-so file)) - (list rustc rustdoc)))))))) - (home-page "https://www.rust-lang.org") - (synopsis "Prebuilt rust compiler") - (description "This package provides a pre-built @command{rustc} compiler, -which can in turn be used to build the final Rust compiler.") - (license license:asl2.0))) - -(define cargo-bootstrap - (package - (name "cargo-bootstrap") - (version (cargo-version %rust-bootstrap-binaries-version 1)) - (source %rust-bootstrap-binaries) - (build-system gnu-build-system) - (native-inputs - `(("patchelf" ,patchelf))) - (inputs - `(("gcc:lib" ,(canonical-package gcc) "lib"))) - (arguments - `(#:tests? #f - #:strip-binaries? #f - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (replace 'install - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (gcc:lib (assoc-ref inputs "gcc:lib")) - (libc (assoc-ref inputs "libc")) - (ld-so (string-append libc ,(glibc-dynamic-linker))) - (rpath (string-append out "/lib:" libc "/lib:" - gcc:lib "/lib")) - (cargo (string-append out "/bin/cargo"))) - (system* "bash" "install.sh" - (string-append "--prefix=" out) - "--components=cargo") - (system* "patchelf" - "--set-interpreter" ld-so - "--set-rpath" rpath - cargo))))))) + (invoke "patchelf" "--set-interpreter" ld-so file)) + (list rustc rustdoc cargo)) + ;; Rust requires a C toolchain for linking. The prebuilt + ;; binaries expect a compiler called cc. Thus symlink gcc + ;; to cc. + (symlink (string-append gcc "/bin/gcc") + (string-append out "/bin/cc")) + #t)))))) (home-page "https://www.rust-lang.org") - (synopsis "Prebuilt cargo package manager") - (description "This package provides a pre-built @command{cargo} package -manager, which is required to build itself.") + (synopsis "Prebuilt rust compiler and cargo package manager") + (description "This package provides a pre-built @command{rustc} compiler +and a pre-built @command{cargo} package manaer, which can +in turn be used to build the final Rust.") (license license:asl2.0))) -(define rust-bootstrap - (package - (name "rust-bootstrap") - (version %rust-bootstrap-binaries-version) - (source #f) - (build-system trivial-build-system) - (propagated-inputs - `(("rustc-bootstrap" ,rustc-bootstrap) - ("cargo-bootstrap" ,cargo-bootstrap) - ("gcc" ,(canonical-package gcc)))) - (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let ((out (assoc-ref %outputs "out")) - (gcc (assoc-ref %build-inputs "gcc"))) - (mkdir-p (string-append out "/bin")) - ;; Rust requires a C toolchain for linking. The prebuilt - ;; binaries expect a compiler called cc. Thus symlink gcc - ;; to cc. - (symlink (string-append gcc "/bin/gcc") - (string-append out "/bin/cc")) - #t)))) - (home-page "https://www.rust-lang.org") - (synopsis "Rust bootstrapping meta package") - (description "Meta package for a rust environment. Provides pre-compiled -rustc-bootstrap and cargo-bootstrap packages.") - (license license:asl2.0))) -(define-public rustc +(define (rust-source version hash) + (origin + (method url-fetch) + (uri (string-append "https://static.rust-lang.org/dist/" + "rustc-" version "-src.tar.gz")) + (sha256 (base32 hash)) + (modules '((guix build utils))) + (snippet '(begin (delete-file-recursively "src/llvm") #t)))) + +(define-public rust-1.23 (package - (name "rustc") - (version (rustc-version %rust-bootstrap-binaries-version 1)) - (source (origin - (method url-fetch) - (uri (string-append - "https://static.rust-lang.org/dist/" - "rustc-" version "-src.tar.gz")) - (sha256 - (base32 - "1lrzzp0nh7s61wgfs2h6ilaqi6iq89f1pd1yaf65l87bssyl4ylb")) - (modules '((guix build utils))) - (snippet - `(begin - (delete-file-recursively "src/llvm") - #t)))) + (name "rust") + (version "1.23.0") + (source (rust-source version "14fb8vhjzsxlbi6yrn1r6fl5dlbdd1m92dn5zj5gmzfwf4w9ar3l")) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) ; For the tests @@ -240,11 +164,16 @@ rustc-bootstrap and cargo-bootstrap packages.") ("git" ,git) ("procps" ,procps) ; For the tests ("python-2" ,python-2) - ("rust-bootstrap" ,rust-bootstrap) + ("rustc-bootstrap" ,rust-bootstrap) + ("cargo-bootstrap" ,rust-bootstrap "cargo") + ("pkg-config" ,pkg-config) ; For "cargo" ("which" ,which))) (inputs `(("jemalloc" ,jemalloc-4.5.0) - ("llvm" ,llvm-3.9.1))) + ("llvm" ,llvm-3.9.1) + ("openssl" ,openssl) + ("libcurl" ,curl))) ; For "cargo" + (outputs '("out" "doc" "cargo")) (arguments `(#:imported-modules ,%cargo-build-system-modules ;for `generate-checksums' #:phases @@ -259,9 +188,6 @@ rustc-bootstrap and cargo-bootstrap packages.") (add-after 'unpack 'patch-tests (lambda* (#:key inputs #:allow-other-keys) (let ((bash (assoc-ref inputs "bash"))) - (substitute* "src/build_helper/lib.rs" - ;; In same folder as gcc there is only "gcc-ar" utility - (("file\\.push_str\\(\"ar\"\\);") "file.push_str(\"gcc-ar\");")) (substitute* "src/libstd/process.rs" ;; The newline is intentional. ;; There's a line length "tidy" check in Rust which would @@ -277,15 +203,18 @@ rustc-bootstrap and cargo-bootstrap packages.") ;; Our ld-wrapper cannot process non-UTF8 bytes in LIBRARY_PATH. ;; <https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00193.html> (delete-file-recursively "src/test/run-make/linker-output-non-utf8") - (substitute* "src/build_helper/lib.rs" - ;; Bug in Rust code. - ;; Current implementation assume that if dst not exist then it's mtime - ;; is 0, but in same time "src" have 0 mtime in guix build! - (("let threshold = mtime\\(dst\\);") - "if !dst.exists() {\nreturn false\n}\n let threshold = mtime(dst);")) #t))) + (add-after 'patch-tests 'fix-mtime-bug + (lambda* _ + (substitute* "src/build_helper/lib.rs" + ;; Bug in Rust code. + ;; Current implementation assume that if dst not exist then it's mtime + ;; is 0, but in same time "src" have 0 mtime in guix build! + (("let threshold = mtime\\(dst\\);") + "if !dst.exists() {\nreturn false\n}\n let threshold = mtime(dst);")) + #t)) (add-after 'patch-source-shebangs 'patch-cargo-checksums - (lambda* (#:key inputs #:allow-other-keys) + (lambda* _ (substitute* "src/Cargo.lock" (("(\"checksum .* = )\".*\"" all name) (string-append name "\"" ,%cargo-reference-hash "\""))) @@ -303,6 +232,7 @@ rustc-bootstrap and cargo-bootstrap packages.") (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc")) (gcc (assoc-ref inputs "gcc")) (gdb (assoc-ref inputs "gdb")) (binutils (assoc-ref inputs "binutils")) @@ -318,15 +248,18 @@ rustc-bootstrap and cargo-bootstrap packages.") [build] cargo = \"" cargo "/bin/cargo" "\" rustc = \"" rustc "/bin/rustc" "\" +docs = true python = \"" python "/bin/python2" "\" gdb = \"" gdb "/bin/gdb" "\" vendor = true submodules = false [install] prefix = \"" out "\" +docdir = \"" doc "/share/doc/rust" "\" +sysconfdir = \"etc\" +localstatedir = \"var/lib\" [rust] default-linker = \"" gcc "/bin/gcc" "\" -default-ar = \"" binutils "/bin/ar" "\" channel = \"stable\" rpath = true # There is 2 failed codegen tests: @@ -337,12 +270,13 @@ codegen-tests = false llvm-config = \"" llvm "/bin/llvm-config" "\" cc = \"" gcc "/bin/gcc" "\" cxx = \"" gcc "/bin/g++" "\" +ar = \"" binutils "/bin/ar" "\" jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" [dist] ") port))) #t))) (add-before 'build 'reset-timestamps-after-changes - (lambda* (#:key inputs outputs #:allow-other-keys) + (lambda* _ (define ref (stat "README.md")) (for-each (lambda (filename) @@ -350,14 +284,21 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" (find-files "." #:directories? #t)) #t)) (replace 'build - (lambda* (#:key inputs outputs #:allow-other-keys) - (zero? (system* "./x.py" "build")))) + (lambda* _ + (invoke "./x.py" "build") + (invoke "./x.py" "build" "src/tools/cargo"))) (replace 'check - (lambda* (#:key inputs outputs #:allow-other-keys) - (zero? (system* "./x.py" "test")))) + (lambda* _ + (invoke "./x.py" "test"))) (replace 'install - (lambda* (#:key inputs outputs #:allow-other-keys) - (zero? (system* "./x.py" "install")))) + (lambda* (#:key outputs #:allow-other-keys) + (invoke "./x.py" "install") + (substitute* "config.toml" + ;; replace prefix to specific output + (("prefix = \"[^\"]*\"") + (string-append "prefix = \"" (assoc-ref outputs "cargo") "\""))) + (invoke "./x.py" "install" "cargo") + #t)) (add-after 'install 'wrap-rustc (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) @@ -377,1095 +318,19 @@ safety and thread safety guarantees.") ;; Dual licensed. (license (list license:asl2.0 license:expat)))) -;; This tries very hard not to get into a cyclic dependency like this: -;; cargo <- cargo-build-system <- cargo. -(define-public cargo - (package - (name "cargo") - (version (cargo-version (rustc-version %rust-bootstrap-binaries-version) 0)) - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/rust-lang/cargo/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0kr7rml7v2bm7zl8jcb3056h63zpyy9m08s212i8vfwxf6lf5fzl")))) - (build-system cargo-build-system) - (propagated-inputs - `(("cmake" ,cmake) - ("pkg-config" ,pkg-config))) - (inputs - `(("curl" ,curl) - ("libgit2" ,libgit2) - ("libssh2" ,libssh2) - ("openssl" ,openssl) - ("python-2" ,python-2) - ("zlib" ,zlib))) - (native-inputs - `(("git" ,git) ; required for tests - ;; Next dependencies generated with next command: - ;; cat Cargo.lock | awk ' - ;; /^"checksum/ - ;; { oname=name=$2; vers=$3; hash=$6; - ;; if (ns[name] != 1) { ns[name]=1; } else { name = name "-" vers; } - ;; print " (\"rust-" name "\""; - ;; print " ,(origin"; - ;; print " (method url-fetch)"; - ;; print " (uri (crate-uri \"" oname "\" \"" vers "\"))"; - ;; print " (file-name \"rust-" oname "\-\" vers "\") - ;; print " (sha256"; - ;; print " (base16-string->bytevector"; - ;; print " " hash "))))" - ;; }' - ("rust-advapi32-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "advapi32-sys" "0.2.0")) - (file-name "rust-advapi32-sys-0.2.0") - (sha256 - (base16-string->bytevector - "e06588080cb19d0acb6739808aafa5f26bfb2ca015b2b6370028b44cf7cb8a9a")))) - ("rust-aho-corasick" - ,(origin - (method url-fetch) - (uri (crate-uri "aho-corasick" "0.5.3")) - (file-name "rust-aho-corasick-0.5.3") - (sha256 - (base16-string->bytevector - "ca972c2ea5f742bfce5687b9aef75506a764f61d37f8f649047846a9686ddb66")))) - ("rust-aho-corasick-0.6.3" - ,(origin - (method url-fetch) - (uri (crate-uri "aho-corasick" "0.6.3")) - (file-name "rust-aho-corasick-0.6.3") - (sha256 - (base16-string->bytevector - "500909c4f87a9e52355b26626d890833e9e1d53ac566db76c36faa984b889699")))) - ("rust-atty" - ,(origin - (method url-fetch) - (uri (crate-uri "atty" "0.2.3")) - (file-name "rust-atty-0.2.3") - (sha256 - (base16-string->bytevector - "21e50800ec991574876040fff8ee46b136a53e985286fbe6a3bdfe6421b78860")))) - ("rust-backtrace" - ,(origin - (method url-fetch) - (uri (crate-uri "backtrace" "0.3.3")) - (file-name "rust-backtrace-0.3.3") - (sha256 - (base16-string->bytevector - "99f2ce94e22b8e664d95c57fff45b98a966c2252b60691d0b7aeeccd88d70983")))) - ("rust-backtrace-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "backtrace-sys" "0.1.14")) - (file-name "rust-backtrace-sys-0.1.14") - (sha256 - (base16-string->bytevector - "c63ea141ef8fdb10409d0f5daf30ac51f84ef43bff66f16627773d2a292cd189")))) - ("rust-bitflags" - ,(origin - (method url-fetch) - (uri (crate-uri "bitflags" "0.7.0")) - (file-name "rust-bitflags-0.7.0") - (sha256 - (base16-string->bytevector - "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d")))) - ("rust-bitflags-0.9.1" - ,(origin - (method url-fetch) - (uri (crate-uri "bitflags" "0.9.1")) - (file-name "rust-bitflags-0.9.1") - (sha256 - (base16-string->bytevector - "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5")))) - ("rust-bufstream" - ,(origin - (method url-fetch) - (uri (crate-uri "bufstream" "0.1.3")) - (file-name "rust-bufstream-0.1.3") - (sha256 - (base16-string->bytevector - "f2f382711e76b9de6c744cc00d0497baba02fb00a787f088c879f01d09468e32")))) - ("rust-cc" - ,(origin - (method url-fetch) - (uri (crate-uri "cc" "1.0.0")) - (file-name "rust-cc-1.0.0") - (sha256 - (base16-string->bytevector - "7db2f146208d7e0fbee761b09cd65a7f51ccc38705d4e7262dad4d73b12a76b1")))) - ("rust-cfg-if" - ,(origin - (method url-fetch) - (uri (crate-uri "cfg-if" "0.1.2")) - (file-name "rust-cfg-if-0.1.2") - (sha256 - (base16-string->bytevector - "d4c819a1287eb618df47cc647173c5c4c66ba19d888a6e50d605672aed3140de")))) - ("rust-cmake" - ,(origin - (method url-fetch) - (uri (crate-uri "cmake" "0.1.26")) - (file-name "rust-cmake-0.1.26") - (sha256 - (base16-string->bytevector - "357c07e7a1fc95732793c1edb5901e1a1f305cfcf63a90eb12dbd22bdb6b789d")))) - ("rust-commoncrypto" - ,(origin - (method url-fetch) - (uri (crate-uri "commoncrypto" "0.2.0")) - (file-name "rust-commoncrypto-0.2.0") - (sha256 - (base16-string->bytevector - "d056a8586ba25a1e4d61cb090900e495952c7886786fc55f909ab2f819b69007")))) - ("rust-commoncrypto-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "commoncrypto-sys" "0.2.0")) - (file-name "rust-commoncrypto-sys-0.2.0") - (sha256 - (base16-string->bytevector - "1fed34f46747aa73dfaa578069fd8279d2818ade2b55f38f22a9401c7f4083e2")))) - ("rust-conv" - ,(origin - (method url-fetch) - (uri (crate-uri "conv" "0.3.3")) - (file-name "rust-conv-0.3.3") - (sha256 - (base16-string->bytevector - "78ff10625fd0ac447827aa30ea8b861fead473bb60aeb73af6c1c58caf0d1299")))) - ("rust-core-foundation" - ,(origin - (method url-fetch) - (uri (crate-uri "core-foundation" "0.4.4")) - (file-name "rust-core-foundation-0.4.4") - (sha256 - (base16-string->bytevector - "5909502e547762013619f4c4e01cc7393c20fe2d52d7fa471c1210adb2320dc7")))) - ("rust-core-foundation-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "core-foundation-sys" "0.4.4")) - (file-name "rust-core-foundation-sys-0.4.4") - (sha256 - (base16-string->bytevector - "bc9fb3d6cb663e6fd7cf1c63f9b144ee2b1e4a78595a0451dd34bff85b9a3387")))) - ("rust-crossbeam" - ,(origin - (method url-fetch) - (uri (crate-uri "crossbeam" "0.2.10")) - (file-name "rust-crossbeam-0.2.10") - (sha256 - (base16-string->bytevector - "0c5ea215664ca264da8a9d9c3be80d2eaf30923c259d03e870388eb927508f97")))) - ("rust-crossbeam-0.3.0" - ,(origin - (method url-fetch) - (uri (crate-uri "crossbeam" "0.3.0")) - (file-name "rust-crossbeam-0.3.0") - (sha256 - (base16-string->bytevector - "8837ab96533202c5b610ed44bc7f4183e7957c1c8f56e8cc78bb098593c8ba0a")))) - ("rust-crypto-hash" - ,(origin - (method url-fetch) - (uri (crate-uri "crypto-hash" "0.3.0")) - (file-name "rust-crypto-hash-0.3.0") - (sha256 - (base16-string->bytevector - "34903878eec1694faf53cae8473a088df333181de421d4d3d48061d6559fe602")))) - ("rust-curl" - ,(origin - (method url-fetch) - (uri (crate-uri "curl" "0.4.8")) - (file-name "rust-curl-0.4.8") - (sha256 - (base16-string->bytevector - "7034c534a1d7d22f7971d6088aa9d281d219ef724026c3428092500f41ae9c2c")))) - ("rust-curl-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "curl-sys" "0.3.15")) - (file-name "rust-curl-sys-0.3.15") - (sha256 - (base16-string->bytevector - "4bee31aa3a079d5f3ff9579ea4dcfb1b1a17a40886f5f467436d383e78134b55")))) - ("rust-custom_derive" - ,(origin - (method url-fetch) - (uri (crate-uri "custom_derive" "0.1.7")) - (file-name "rust-custom_derive-0.1.7") - (sha256 - (base16-string->bytevector - "ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a01b9")))) - ("rust-dbghelp-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "dbghelp-sys" "0.2.0")) - (file-name "rust-dbghelp-sys-0.2.0") - (sha256 - (base16-string->bytevector - "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5b850")))) - ("rust-docopt" - ,(origin - (method url-fetch) - (uri (crate-uri "docopt" "0.8.1")) - (file-name "rust-docopt-0.8.1") - (sha256 - (base16-string->bytevector - "3b5b93718f8b3e5544fcc914c43de828ca6c6ace23e0332c6080a2977b49787a")))) - ("rust-dtoa" - ,(origin - (method url-fetch) - (uri (crate-uri "dtoa" "0.4.2")) - (file-name "rust-dtoa-0.4.2") - (sha256 - (base16-string->bytevector - "09c3753c3db574d215cba4ea76018483895d7bff25a31b49ba45db21c48e50ab")))) - ("rust-env_logger" - ,(origin - (method url-fetch) - (uri (crate-uri "env_logger" "0.4.3")) - (file-name "rust-env_logger-0.4.3") - (sha256 - (base16-string->bytevector - "3ddf21e73e016298f5cb37d6ef8e8da8e39f91f9ec8b0df44b7deb16a9f8cd5b")))) - ("rust-error-chain" - ,(origin - (method url-fetch) - (uri (crate-uri "error-chain" "0.11.0")) - (file-name "rust-error-chain-0.11.0") - (sha256 - (base16-string->bytevector - "ff511d5dc435d703f4971bc399647c9bc38e20cb41452e3b9feb4765419ed3f3")))) - ("rust-filetime" - ,(origin - (method url-fetch) - (uri (crate-uri "filetime" "0.1.12")) - (file-name "rust-filetime-0.1.12") - (sha256 - (base16-string->bytevector - "6ab199bf38537c6f38792669e081e0bb278b9b7405bba2642e4e5d15bf732c0e")))) - ("rust-flate2" - ,(origin - (method url-fetch) - (uri (crate-uri "flate2" "0.2.20")) - (file-name "rust-flate2-0.2.20") - (sha256 - (base16-string->bytevector - "e6234dd4468ae5d1e2dbb06fe2b058696fdc50a339c68a393aefbf00bc81e423")))) - ("rust-fnv" - ,(origin - (method url-fetch) - (uri (crate-uri "fnv" "1.0.5")) - (file-name "rust-fnv-1.0.5") - (sha256 - (base16-string->bytevector - "6cc484842f1e2884faf56f529f960cc12ad8c71ce96cc7abba0a067c98fee344")))) - ("rust-foreign-types" - ,(origin - (method url-fetch) - (uri (crate-uri "foreign-types" "0.2.0")) - (file-name "rust-foreign-types-0.2.0") - (sha256 - (base16-string->bytevector - "3e4056b9bd47f8ac5ba12be771f77a0dae796d1bbaaf5fd0b9c2d38b69b8a29d")))) - ("rust-fs2" - ,(origin - (method url-fetch) - (uri (crate-uri "fs2" "0.4.2")) - (file-name "rust-fs2-0.4.2") - (sha256 - (base16-string->bytevector - "9ab76cfd2aaa59b7bf6688ad9ba15bbae64bff97f04ea02144cfd3443e5c2866")))) - ("rust-git2" - ,(origin - (method url-fetch) - (uri (crate-uri "git2" "0.6.8")) - (file-name "rust-git2-0.6.8") - (sha256 - (base16-string->bytevector - "0c1c0203d653f4140241da0c1375a404f0a397249ec818cd2076c6280c50f6fa")))) - ("rust-git2-curl" - ,(origin - (method url-fetch) - (uri (crate-uri "git2-curl" "0.7.0")) - (file-name "rust-git2-curl-0.7.0") - (sha256 - (base16-string->bytevector - "68676bc784bf0bef83278898929bf64a251e87c0340723d0b93fa096c9c5bf8e")))) - ("rust-glob" - ,(origin - (method url-fetch) - (uri (crate-uri "glob" "0.2.11")) - (file-name "rust-glob-0.2.11") - (sha256 - (base16-string->bytevector - "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb")))) - ("rust-globset" - ,(origin - (method url-fetch) - (uri (crate-uri "globset" "0.2.0")) - (file-name "rust-globset-0.2.0") - (sha256 - (base16-string->bytevector - "feeb1b6840809ef5efcf7a4a990bc4e1b7ee3df8cf9e2379a75aeb2ba42ac9c3")))) - ("rust-hamcrest" - ,(origin - (method url-fetch) - (uri (crate-uri "hamcrest" "0.1.1")) - (file-name "rust-hamcrest-0.1.1") - (sha256 - (base16-string->bytevector - "bf088f042a467089e9baa4972f57f9247e42a0cc549ba264c7a04fbb8ecb89d4")))) - ("rust-hex" - ,(origin - (method url-fetch) - (uri (crate-uri "hex" "0.2.0")) - (file-name "rust-hex-0.2.0") - (sha256 - (base16-string->bytevector - "d6a22814455d41612f41161581c2883c0c6a1c41852729b17d5ed88f01e153aa")))) - ("rust-home" - ,(origin - (method url-fetch) - (uri (crate-uri "home" "0.3.0")) - (file-name "rust-home-0.3.0") - (sha256 - (base16-string->bytevector - "9f25ae61099d8f3fee8b483df0bd4ecccf4b2731897aad40d50eca1b641fe6db")))) - ("rust-idna" - ,(origin - (method url-fetch) - (uri (crate-uri "idna" "0.1.4")) - (file-name "rust-idna-0.1.4") - (sha256 - (base16-string->bytevector - "014b298351066f1512874135335d62a789ffe78a9974f94b43ed5621951eaf7d")))) - ("rust-ignore" - ,(origin - (method url-fetch) - (uri (crate-uri "ignore" "0.2.2")) - (file-name "rust-ignore-0.2.2") - (sha256 - (base16-string->bytevector - "b3fcaf2365eb14b28ec7603c98c06cc531f19de9eb283d89a3dff8417c8c99f5")))) - ("rust-itoa" - ,(origin - (method url-fetch) - (uri (crate-uri "itoa" "0.3.4")) - (file-name "rust-itoa-0.3.4") - (sha256 - (base16-string->bytevector - "8324a32baf01e2ae060e9de58ed0bc2320c9a2833491ee36cd3b4c414de4db8c")))) - ("rust-jobserver" - ,(origin - (method url-fetch) - (uri (crate-uri "jobserver" "0.1.6")) - (file-name "rust-jobserver-0.1.6") - (sha256 - (base16-string->bytevector - "443ae8bc0af6c106e6e8b77e04684faecc1a5ce94e058f4c2b0a037b0ea1b133")))) - ("rust-kernel32-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "kernel32-sys" "0.2.2")) - (file-name "rust-kernel32-sys-0.2.2") - (sha256 - (base16-string->bytevector - "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d")))) - ("rust-lazy_static" - ,(origin - (method url-fetch) - (uri (crate-uri "lazy_static" "0.2.9")) - (file-name "rust-lazy_static-0.2.9") - (sha256 - (base16-string->bytevector - "c9e5e58fa1a4c3b915a561a78a22ee0cac6ab97dca2504428bc1cb074375f8d5")))) - ("rust-libc" - ,(origin - (method url-fetch) - (uri (crate-uri "libc" "0.2.31")) - (file-name "rust-libc-0.2.31") - (sha256 - (base16-string->bytevector - "d1419b2939a0bc44b77feb34661583c7546b532b192feab36249ab584b86856c")))) - ("rust-libgit2-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "libgit2-sys" "0.6.16")) - (file-name "rust-libgit2-sys-0.6.16") - (sha256 - (base16-string->bytevector - "6f74b4959cef96898f5123148724fc7dee043b9a6b99f219d948851bfbe53cb2")))) - ("rust-libssh2-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "libssh2-sys" "0.2.6")) - (file-name "rust-libssh2-sys-0.2.6") - (sha256 - (base16-string->bytevector - "0db4ec23611747ef772db1c4d650f8bd762f07b461727ec998f953c614024b75")))) - ("rust-libz-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "libz-sys" "1.0.17")) - (file-name "rust-libz-sys-1.0.17") - (sha256 - (base16-string->bytevector - "44ebbc760fd2d2f4d93de09a0e13d97e057612052e871da9985cedcb451e6bd5")))) - ("rust-log" - ,(origin - (method url-fetch) - (uri (crate-uri "log" "0.3.8")) - (file-name "rust-log-0.3.8") - (sha256 - (base16-string->bytevector - "880f77541efa6e5cc74e76910c9884d9859683118839d6a1dc3b11e63512565b")))) - ("rust-magenta" - ,(origin - (method url-fetch) - (uri (crate-uri "magenta" "0.1.1")) - (file-name "rust-magenta-0.1.1") - (sha256 - (base16-string->bytevector - "4bf0336886480e671965f794bc9b6fce88503563013d1bfb7a502c81fe3ac527")))) - ("rust-magenta-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "magenta-sys" "0.1.1")) - (file-name "rust-magenta-sys-0.1.1") - (sha256 - (base16-string->bytevector - "40d014c7011ac470ae28e2f76a02bfea4a8480f73e701353b49ad7a8d75f4699")))) - ("rust-matches" - ,(origin - (method url-fetch) - (uri (crate-uri "matches" "0.1.6")) - (file-name "rust-matches-0.1.6") - (sha256 - (base16-string->bytevector - "100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f193376")))) - ("rust-memchr" - ,(origin - (method url-fetch) - (uri (crate-uri "memchr" "0.1.11")) - (file-name "rust-memchr-0.1.11") - (sha256 - (base16-string->bytevector - "d8b629fb514376c675b98c1421e80b151d3817ac42d7c667717d282761418d20")))) - ("rust-memchr-1.0.1" - ,(origin - (method url-fetch) - (uri (crate-uri "memchr" "1.0.1")) - (file-name "rust-memchr-1.0.1") - (sha256 - (base16-string->bytevector - "1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e31275a47b4")))) - ("rust-miniz-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "miniz-sys" "0.1.10")) - (file-name "rust-miniz-sys-0.1.10") - (sha256 - (base16-string->bytevector - "609ce024854aeb19a0ef7567d348aaa5a746b32fb72e336df7fcc16869d7e2b4")))) - ("rust-miow" - ,(origin - (method url-fetch) - (uri (crate-uri "miow" "0.2.1")) - (file-name "rust-miow-0.2.1") - (sha256 - (base16-string->bytevector - "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919")))) - ("rust-net2" - ,(origin - (method url-fetch) - (uri (crate-uri "net2" "0.2.31")) - (file-name "rust-net2-0.2.31") - (sha256 - (base16-string->bytevector - "3a80f842784ef6c9a958b68b7516bc7e35883c614004dd94959a4dca1b716c09")))) - ("rust-num" - ,(origin - (method url-fetch) - (uri (crate-uri "num" "0.1.40")) - (file-name "rust-num-0.1.40") - (sha256 - (base16-string->bytevector - "a311b77ebdc5dd4cf6449d81e4135d9f0e3b153839ac90e648a8ef538f923525")))) - ("rust-num-bigint" - ,(origin - (method url-fetch) - (uri (crate-uri "num-bigint" "0.1.40")) - (file-name "rust-num-bigint-0.1.40") - (sha256 - (base16-string->bytevector - "8fd0f8dbb4c0960998958a796281d88c16fbe68d87b1baa6f31e2979e81fd0bd")))) - ("rust-num-complex" - ,(origin - (method url-fetch) - (uri (crate-uri "num-complex" "0.1.40")) - (file-name "rust-num-complex-0.1.40") - (sha256 - (base16-string->bytevector - "503e668405c5492d67cf662a81e05be40efe2e6bcf10f7794a07bd9865e704e6")))) - ("rust-num-integer" - ,(origin - (method url-fetch) - (uri (crate-uri "num-integer" "0.1.35")) - (file-name "rust-num-integer-0.1.35") - (sha256 - (base16-string->bytevector - "d1452e8b06e448a07f0e6ebb0bb1d92b8890eea63288c0b627331d53514d0fba")))) - ("rust-num-iter" - ,(origin - (method url-fetch) - (uri (crate-uri "num-iter" "0.1.34")) - (file-name "rust-num-iter-0.1.34") - (sha256 - (base16-string->bytevector - "7485fcc84f85b4ecd0ea527b14189281cf27d60e583ae65ebc9c088b13dffe01")))) - ("rust-num-rational" - ,(origin - (method url-fetch) - (uri (crate-uri "num-rational" "0.1.39")) - (file-name "rust-num-rational-0.1.39") - (sha256 - (base16-string->bytevector - "288629c76fac4b33556f4b7ab57ba21ae202da65ba8b77466e6d598e31990790")))) - ("rust-num-traits" - ,(origin - (method url-fetch) - (uri (crate-uri "num-traits" "0.1.40")) - (file-name "rust-num-traits-0.1.40") - (sha256 - (base16-string->bytevector - "99843c856d68d8b4313b03a17e33c4bb42ae8f6610ea81b28abe076ac721b9b0")))) - ("rust-num_cpus" - ,(origin - (method url-fetch) - (uri (crate-uri "num_cpus" "1.7.0")) - (file-name "rust-num_cpus-1.7.0") - (sha256 - (base16-string->bytevector - "514f0d73e64be53ff320680ca671b64fe3fb91da01e1ae2ddc99eb51d453b20d")))) - ("rust-openssl" - ,(origin - (method url-fetch) - (uri (crate-uri "openssl" "0.9.19")) - (file-name "rust-openssl-0.9.19") - (sha256 - (base16-string->bytevector - "816914b22eb15671d62c73442a51978f311e911d6a6f6cbdafa6abce1b5038fc")))) - ("rust-openssl-probe" - ,(origin - (method url-fetch) - (uri (crate-uri "openssl-probe" "0.1.1")) - (file-name "rust-openssl-probe-0.1.1") - (sha256 - (base16-string->bytevector - "d98df0270d404ccd3c050a41d579c52d1db15375168bb3471e04ec0f5f378daf")))) - ("rust-openssl-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "openssl-sys" "0.9.19")) - (file-name "rust-openssl-sys-0.9.19") - (sha256 - (base16-string->bytevector - "1e4c63a7d559c1e5afa6d6a9e6fa34bbc5f800ffc9ae08b72c605420b0c4f5e8")))) - ("rust-percent-encoding" - ,(origin - (method url-fetch) - (uri (crate-uri "percent-encoding" "1.0.0")) - (file-name "rust-precent-encoding-1.0.0") - (sha256 - (base16-string->bytevector - "de154f638187706bde41d9b4738748933d64e6b37bdbffc0b47a97d16a6ae356")))) - ("rust-pkg-config" - ,(origin - (method url-fetch) - (uri (crate-uri "pkg-config" "0.3.9")) - (file-name "rust-pkg-config-0.3.9") - (sha256 - (base16-string->bytevector - "3a8b4c6b8165cd1a1cd4b9b120978131389f64bdaf456435caa41e630edba903")))) - ("rust-psapi-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "psapi-sys" "0.1.0")) - (file-name "rust-psapi-sys-0.1.0") - (sha256 - (base16-string->bytevector - "abcd5d1a07d360e29727f757a9decb3ce8bc6e0efa8969cfaad669a8317a2478")))) - ("rust-quote" - ,(origin - (method url-fetch) - (uri (crate-uri "quote" "0.3.15")) - (file-name "rust-quote-0.3.15") - (sha256 - (base16-string->bytevector - "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a")))) - ("rust-rand" - ,(origin - (method url-fetch) - (uri (crate-uri "rand" "0.3.16")) - (file-name "rust-rand-0.3.16") - (sha256 - (base16-string->bytevector - "eb250fd207a4729c976794d03db689c9be1d634ab5a1c9da9492a13d8fecbcdf")))) - ("rust-redox_syscall" - ,(origin - (method url-fetch) - (uri (crate-uri "redox_syscall" "0.1.31")) - (file-name "rust-redox_syscall-0.1.31") - (sha256 - (base16-string->bytevector - "8dde11f18c108289bef24469638a04dce49da56084f2d50618b226e47eb04509")))) - ("rust-redox_termios" - ,(origin - (method url-fetch) - (uri (crate-uri "redox_termios" "0.1.1")) - (file-name "rust-redox_termios-0.1.1") - (sha256 - (base16-string->bytevector - "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76")))) - ("rust-regex" - ,(origin - (method url-fetch) - (uri (crate-uri "regex" "0.1.80")) - (file-name "rust-regex-0.1.80") - (sha256 - (base16-string->bytevector - "4fd4ace6a8cf7860714a2c2280d6c1f7e6a413486c13298bbc86fd3da019402f")))) - ("rust-regex-0.2.2" - ,(origin - (method url-fetch) - (uri (crate-uri "regex" "0.2.2")) - (file-name "rust-regex-0.2.2") - (sha256 - (base16-string->bytevector - "1731164734096285ec2a5ec7fea5248ae2f5485b3feeb0115af4fda2183b2d1b")))) - ("rust-regex-syntax" - ,(origin - (method url-fetch) - (uri (crate-uri "regex-syntax" "0.3.9")) - (file-name "rust-regex-syntax-0.3.9") - (sha256 - (base16-string->bytevector - "f9ec002c35e86791825ed294b50008eea9ddfc8def4420124fbc6b08db834957")))) - ("rust-regex-syntax-0.4.1" - ,(origin - (method url-fetch) - (uri (crate-uri "regex-syntax" "0.4.1")) - (file-name "rust-regex-syntax-0.4.1") - (sha256 - (base16-string->bytevector - "ad890a5eef7953f55427c50575c680c42841653abd2b028b68cd223d157f62db")))) - ("rust-rustc-demangle" - ,(origin - (method url-fetch) - (uri (crate-uri "rustc-demangle" "0.1.5")) - (file-name "rust-rustc-demangle-0.1.5") - (sha256 - (base16-string->bytevector - "aee45432acc62f7b9a108cc054142dac51f979e69e71ddce7d6fc7adf29e817e")))) - ("rust-rustc-serialize" - ,(origin - (method url-fetch) - (uri (crate-uri "rustc-serialize" "0.3.24")) - (file-name "rust-rustc-serialize-0.3.24") - (sha256 - (base16-string->bytevector - "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda")))) - ("rust-same-file" - ,(origin - (method url-fetch) - (uri (crate-uri "same-file" "0.1.3")) - (file-name "rust-same-file-0.1.3") - (sha256 - (base16-string->bytevector - "d931a44fdaa43b8637009e7632a02adc4f2b2e0733c08caa4cf00e8da4a117a7")))) - ("rust-scoped-tls" - ,(origin - (method url-fetch) - (uri (crate-uri "scoped-tls" "0.1.0")) - (file-name "rust-scoped-tls-0.1.0") - (sha256 - (base16-string->bytevector - "f417c22df063e9450888a7561788e9bd46d3bb3c1466435b4eccb903807f147d")))) - ("rust-scopeguard" - ,(origin - (method url-fetch) - (uri (crate-uri "scopeguard" "0.1.2")) - (file-name "rust-scopeguard-0.1.2") - (sha256 - (base16-string->bytevector - "59a076157c1e2dc561d8de585151ee6965d910dd4dcb5dabb7ae3e83981a6c57")))) - ("rust-semver" - ,(origin - (method url-fetch) - (uri (crate-uri "semver" "0.8.0")) - (file-name "rust-semver-0.8.0") - (sha256 - (base16-string->bytevector - "bee2bc909ab2d8d60dab26e8cad85b25d795b14603a0dcb627b78b9d30b6454b")))) - ("rust-semver-parser" - ,(origin - (method url-fetch) - (uri (crate-uri "semver-parser" "0.7.0")) - (file-name "rust-semver-parser-0.7.0") - (sha256 - (base16-string->bytevector - "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3")))) - ("rust-serde" - ,(origin - (method url-fetch) - (uri (crate-uri "serde" "1.0.15")) - (file-name "rust-serde-1.0.15") - (sha256 - (base16-string->bytevector - "6a7046c9d4c6c522d10b2d098f9bebe2bef227e0e74044d8c1bfcf6b476af799")))) - ("rust-serde_derive" - ,(origin - (method url-fetch) - (uri (crate-uri "serde_derive" "1.0.15")) - (file-name "rust-serde_derive-1.0.15") - (sha256 - (base16-string->bytevector - "1afcaae083fd1c46952a315062326bc9957f182358eb7da03b57ef1c688f7aa9")))) - ("rust-serde_derive_internals" - ,(origin - (method url-fetch) - (uri (crate-uri "serde_derive_internals" "0.16.0")) - (file-name "rust-serde_derive_internals-0.16.0") - (sha256 - (base16-string->bytevector - "bd381f6d01a6616cdba8530492d453b7761b456ba974e98768a18cad2cd76f58")))) - ("rust-serde_ignored" - ,(origin - (method url-fetch) - (uri (crate-uri "serde_ignored" "0.0.4")) - (file-name "rust-serde_ignored-0.0.4") - (sha256 - (base16-string->bytevector - "190e9765dcedb56be63b6e0993a006c7e3b071a016a304736e4a315dc01fb142")))) - ("rust-serde_json" - ,(origin - (method url-fetch) - (uri (crate-uri "serde_json" "1.0.3")) - (file-name "rust-serde_json-1.0.3") - (sha256 - (base16-string->bytevector - "d243424e06f9f9c39e3cd36147470fd340db785825e367625f79298a6ac6b7ac")))) - ("rust-shell-escape" - ,(origin - (method url-fetch) - (uri (crate-uri "shell-escape" "0.1.3")) - (file-name "rust-shell-escape-0.1.3") - (sha256 - (base16-string->bytevector - "dd5cc96481d54583947bfe88bf30c23d53f883c6cd0145368b69989d97b84ef8")))) - ("rust-socket2" - ,(origin - (method url-fetch) - (uri (crate-uri "socket2" "0.2.3")) - (file-name "rust-socket2-0.2.3") - (sha256 - (base16-string->bytevector - "9e76b159741052c7deaa9fd0b5ca6b5f79cecf525ed665abfe5002086c6b2791")))) - ("rust-strsim" - ,(origin - (method url-fetch) - (uri (crate-uri "strsim" "0.6.0")) - (file-name "rust-strsim-0.6.0") - (sha256 - (base16-string->bytevector - "b4d15c810519a91cf877e7e36e63fe068815c678181439f2f29e2562147c3694")))) - ("rust-syn" - ,(origin - (method url-fetch) - (uri (crate-uri "syn" "0.11.11")) - (file-name "rust-syn-0.11.11") - (sha256 - (base16-string->bytevector - "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad")))) - ("rust-synom" - ,(origin - (method url-fetch) - (uri (crate-uri "synom" "0.11.3")) - (file-name "rust-synom-0.11.3") - (sha256 - (base16-string->bytevector - "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6")))) - ("rust-tar" - ,(origin - (method url-fetch) - (uri (crate-uri "tar" "0.4.13")) - (file-name "rust-tar-0.4.13") - (sha256 - (base16-string->bytevector - "281285b717926caa919ad905ef89c63d75805c7d89437fb873100925a53f2b1b")))) - ("rust-tempdir" - ,(origin - (method url-fetch) - (uri (crate-uri "tempdir" "0.3.5")) - (file-name "rust-tempdir-0.3.5") - (sha256 - (base16-string->bytevector - "87974a6f5c1dfb344d733055601650059a3363de2a6104819293baff662132d6")))) - ("rust-termcolor" - ,(origin - (method url-fetch) - (uri (crate-uri "termcolor" "0.3.3")) - (file-name "rust-termcolor-0.3.3") - (sha256 - (base16-string->bytevector - "9065bced9c3e43453aa3d56f1e98590b8455b341d2fa191a1090c0dd0b242c75")))) - ("rust-termion" - ,(origin - (method url-fetch) - (uri (crate-uri "termion" "1.5.1")) - (file-name "rust-termion-1.5.1") - (sha256 - (base16-string->bytevector - "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096")))) - ("rust-thread-id" - ,(origin - (method url-fetch) - (uri (crate-uri "thread-id" "2.0.0")) - (file-name "rust-thread-id-2.0.0") - (sha256 - (base16-string->bytevector - "a9539db560102d1cef46b8b78ce737ff0bb64e7e18d35b2a5688f7d097d0ff03")))) - ("rust-thread_local" - ,(origin - (method url-fetch) - (uri (crate-uri "thread_local" "0.2.7")) - (file-name "rust-thread_local-0.2.7") - (sha256 - (base16-string->bytevector - "8576dbbfcaef9641452d5cf0df9b0e7eeab7694956dd33bb61515fb8f18cfdd5")))) - ("rust-thread_local-0.3.4" - ,(origin - (method url-fetch) - (uri (crate-uri "thread_local" "0.3.4")) - (file-name "rust-thread_local-0.3.4") - (sha256 - (base16-string->bytevector - "1697c4b57aeeb7a536b647165a2825faddffb1d3bad386d507709bd51a90bb14")))) - ("rust-toml" - ,(origin - (method url-fetch) - (uri (crate-uri "toml" "0.4.5")) - (file-name "rust-toml-0.4.5") - (sha256 - (base16-string->bytevector - "a7540f4ffc193e0d3c94121edb19b055670d369f77d5804db11ae053a45b6e7e")))) - ("rust-unicode-bidi" - ,(origin - (method url-fetch) - (uri (crate-uri "unicode-bidi" "0.3.4")) - (file-name "rust-unicode-bidi-0.3.4") - (sha256 - (base16-string->bytevector - "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5")))) - ("rust-unicode-normalization" - ,(origin - (method url-fetch) - (uri (crate-uri "unicode-normalization" "0.1.5")) - (file-name "rust-unicode-normalization-0.1.5") - (sha256 - (base16-string->bytevector - "51ccda9ef9efa3f7ef5d91e8f9b83bbe6955f9bf86aec89d5cce2c874625920f")))) - ("rust-unicode-xid" - ,(origin - (method url-fetch) - (uri (crate-uri "unicode-xid" "0.0.4")) - (file-name "rust-unicode-xid-0.0.4") - (sha256 - (base16-string->bytevector - "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc")))) - ("rust-unreachable" - ,(origin - (method url-fetch) - (uri (crate-uri "unreachable" "1.0.0")) - (file-name "rust-unreachable-1.0.0") - (sha256 - (base16-string->bytevector - "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56")))) - ("rust-url" - ,(origin - (method url-fetch) - (uri (crate-uri "url" "1.5.1")) - (file-name "rust-url-1.5.1") - (sha256 - (base16-string->bytevector - "eeb819346883532a271eb626deb43c4a1bb4c4dd47c519bd78137c3e72a4fe27")))) - ("rust-userenv-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "userenv-sys" "0.2.0")) - (file-name "rust-userenv-sys-0.2.0") - (sha256 - (base16-string->bytevector - "71d28ea36bbd9192d75bd9fa9b39f96ddb986eaee824adae5d53b6e51919b2f3")))) - ("rust-utf8-ranges" - ,(origin - (method url-fetch) - (uri (crate-uri "utf8-ranges" "0.1.3")) - (file-name "rust-utf8-ranges-0.1.3") - (sha256 - (base16-string->bytevector - "a1ca13c08c41c9c3e04224ed9ff80461d97e121589ff27c753a16cb10830ae0f")))) - ("rust-utf8-ranges-1.0.0" - ,(origin - (method url-fetch) - (uri (crate-uri "utf8-ranges" "1.0.0")) - (file-name "rust-utf8-ranges-1.0.0") - (sha256 - (base16-string->bytevector - "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122")))) - ("rust-vcpkg" - ,(origin - (method url-fetch) - (uri (crate-uri "vcpkg" "0.2.2")) - (file-name "rust-vcpkg-0.2.2") - (sha256 - (base16-string->bytevector - "9e0a7d8bed3178a8fb112199d466eeca9ed09a14ba8ad67718179b4fd5487d0b")))) - ("rust-void" - ,(origin - (method url-fetch) - (uri (crate-uri "void" "1.0.2")) - (file-name "rust-void-1.0.2") - (sha256 - (base16-string->bytevector - "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d")))) - ("rust-walkdir" - ,(origin - (method url-fetch) - (uri (crate-uri "walkdir" "1.0.7")) - (file-name "rust-walkdir-1.0.7") - (sha256 - (base16-string->bytevector - "bb08f9e670fab86099470b97cd2b252d6527f0b3cc1401acdb595ffc9dd288ff")))) - ("rust-winapi" - ,(origin - (method url-fetch) - (uri (crate-uri "winapi" "0.2.8")) - (file-name "rust-winapi-0.2.8") - (sha256 - (base16-string->bytevector - "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a")))) - ("rust-winapi-build" - ,(origin - (method url-fetch) - (uri (crate-uri "winapi-build" "0.1.1")) - (file-name "rust-winapi-build-0.1.1") - (sha256 - (base16-string->bytevector - "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc")))) - ("rust-wincolor" - ,(origin - (method url-fetch) - (uri (crate-uri "wincolor" "0.1.4")) - (file-name "rust-wincolor-0.1.4") - (sha256 - (base16-string->bytevector - "a39ee4464208f6430992ff20154216ab2357772ac871d994c51628d60e58b8b0")))) - ("rust-ws2_32-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "ws2_32-sys" "0.2.1")) - (file-name "rust-ws2_32-sys-0.2.1") - (sha256 - (base16-string->bytevector - "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e")))))) - (arguments - `(#:cargo ,cargo-bootstrap - #:rustc ,rustc ; Force to use rustc from current file - #:modules - ((ice-9 match) - (srfi srfi-1) ; 'every - (guix build utils) - (guix build cargo-build-system)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'unpack-dependencies - (lambda* (#:key inputs outputs #:allow-other-keys) - (define (unpack source target) - (mkdir-p target) - (with-directory-excursion target - (zero? (system* "tar" "xf" - source - "--strip-components=1")))) - (define (touch file-name) - (call-with-output-file file-name (const #t))) - (define (install-rust-library entry) - (match entry - ((name . src) - (if (string-prefix? "rust-" name) - (let* ((rust-length (string-length "rust-")) - (rust-name (string-drop name rust-length)) - (rsrc (string-append "vendor/" rust-name)) - (unpack-status (unpack src rsrc))) - (touch (string-append rsrc "/.cargo-ok")) - (generate-checksums rsrc src) - unpack-status))) - (_ #t))) - (mkdir "vendor") - (every install-rust-library inputs))) - (add-after 'patch-generated-file-shebangs 'patch-cargo-checksums - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "Cargo.lock" - (("(\"checksum .* = )\".*\"" all name) - (string-append name "\"" ,%cargo-reference-hash "\""))) - (for-each - (lambda (filename) - (use-modules (guix build cargo-build-system)) - (delete-file filename) - (let* ((dir (dirname filename))) - (display (string-append - "patch-cargo-checksums: generate-checksums for " - dir "\n")) - (generate-checksums dir ,%cargo-reference-project-file))) - (find-files "vendor" ".cargo-checksum.json")) - #t)) - (replace 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (substitute* "tests/build.rs" - (("/usr/bin/env") (which "env")) - ;; Guix llvm compiled without asmjs-unknown-emscripten at all - (("fn wasm32_final_outputs") "#[ignore]\nfn wasm32_final_outputs")) - (substitute* "tests/death.rs" - ;; Stuck when built in container - (("fn ctrl_c_kills_everyone") "#[ignore]\nfn ctrl_c_kills_everyone")) - (mkdir ".cargo") - (call-with-output-file ".cargo/config" - (lambda (port) - (display " -[source.crates-io] -registry = 'https://github.com/rust-lang/crates.io-index' -replace-with = 'vendored-sources' - -[source.vendored-sources] -directory = 'vendor' -" port))) - ;; Disable test for cross compilation support - (setenv "CFG_DISABLE_CROSS_TESTS" "1") - (setenv "SHELL" (which "sh")) - (setenv "CONFIG_SHELL" (which "sh")) - (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc")) - #t))))) - (home-page "https://github.com/rust-lang/cargo") - (synopsis "Build tool and package manager for Rust") - (description "Cargo is a tool that allows Rust projects to declare their -dependencies and ensures a reproducible build.") - ;; Cargo is dual licensed Apache and MIT. Also contains - ;; code from openssl which is GPL2 with linking exception. - (license (list license:asl2.0 license:expat license:gpl2)))) +(define-public rust + (let ((base-rust rust-1.23)) + (package + (inherit base-rust) + (version "1.24.1") + (source + (rust-source version + "1vv10x2h9kq7fxh2v01damdq8pvlp5acyh1kzcda9sfjx12kv99y")) + (native-inputs + (alist-replace "cargo-bootstrap" (list base-rust "cargo") + (alist-replace "rustc-bootstrap" (list base-rust) + (package-native-inputs base-rust)))) + (arguments + (substitute-keyword-arguments (package-arguments base-rust) + ((#:phases phases) `(modify-phases ,phases + (delete 'fix-mtime-bug)))))))) diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index e2e8c5e093..d84f52ffc5 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -233,14 +233,14 @@ Desktops into Active Directory environments using the winbind daemon.") (define-public talloc (package (name "talloc") - (version "2.1.12") + (version "2.1.13") (source (origin (method url-fetch) (uri (string-append "https://www.samba.org/ftp/talloc/talloc-" version ".tar.gz")) (sha256 (base32 - "0jv0ri9vj93fczzgl7rn7xvnfgl2kfx4x85cr8h8v52yh7v0qz4q")))) + "0iv09iv385x69gfzvassq6m3y0rd8ncylls95dm015xdy3drkww4")))) (build-system gnu-build-system) (arguments '(#:phases diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index 4340237b29..50b5368a3b 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -407,7 +407,7 @@ implementation techniques and as an expository tool.") (define-public racket (package (name "racket") - (version "6.11") + (version "6.12") (source (origin (method url-fetch) (uri (list (string-append "http://mirror.racket-lang.org/installers/" @@ -417,7 +417,11 @@ implementation techniques and as an expository tool.") version "/racket-" version "-src.tgz"))) (sha256 (base32 - "1nk7705x24jjlbqqhj8yvbgqkfscxx3m81bry1g56kjxysjmf3sw")))) + "0cwcypzjfl9py1s695mhqkiapff7c1w29llsmdj7qgn58wl0apk5")) + (patches (search-patches + ;; See: https://github.com/racket/racket/issues/1962 + ;; This can be removed in whatever Racket release comes after 6.12 + "racket-fix-xform-issue.patch")))) (build-system gnu-build-system) (arguments '(#:phases diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm index a719819927..02deb5c4ae 100644 --- a/gnu/packages/search.scm +++ b/gnu/packages/search.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,13 +27,16 @@ #:use-module (guix download) #:use-module (guix utils) #:use-module (guix build-system gnu) + #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages compression) #:use-module (gnu packages check) #:use-module (gnu packages databases) #:use-module (gnu packages linux) #:use-module (gnu packages perl) + #:use-module (gnu packages pdf) #:use-module (gnu packages python) + #:use-module (gnu packages python-web) #:use-module (gnu packages web) #:use-module (gnu packages xml)) @@ -307,4 +311,50 @@ can quickly and easily index directories of files or remote web sites and search the generated indexes.") (license gpl2+))) ;with exception +(define-public xapers + (package + (name "xapers") + (version "0.8.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://finestructure.net/xapers/releases/xapers-" + version ".tar.gz")) + (sha256 + (base32 + "0ykz6hn3qj46w3c99d6q0pi5ncq2894simcl7vapv047zm3cylmd")))) + (build-system python-build-system) + (propagated-inputs + `(("python-urwid" ,python-urwid))) + (inputs + `(("poppler" ,poppler) + ("python" ,python) + ("python-latexcodec" ,python-latexcodec) + ("python-pybtex" ,python-pybtex) + ("python-pycurl" ,python-pycurl) + ("python-pyyaml" ,python-pyyaml) + ("python-six" ,python-six) + ("python-xapian-bindings" ,python-xapian-bindings))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'install-doc + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (man1 (string-append out "/share/man/man1"))) + (install-file "man/man1/xapers.1" man1) + (install-file "man/man1/xapers-adder.1" man1) + (install-file "bin/xapers-adder" bin))))))) + (home-page "https://finestructure.net/xapers/") + (synopsis "Personal document indexing system") + (description + "Xapers is a personal document indexing system, +geared towards academic journal articles build on the Xapian search engine. +Think of it as your own personal document search engine, or a local cache of +online libraries. It provides fast search of document text and +bibliographic data and simple document and bibtex retrieval.") + (license gpl3+))) + ;;; search.scm ends here diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 480b2d11c2..d712e06431 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -135,14 +135,14 @@ a server that supports the SSH-2 protocol.") (define-public openssh (package (name "openssh") - (version "7.6p1") + (version "7.7p1") (source (origin (method url-fetch) (uri (string-append "mirror://openbsd/OpenSSH/portable/" name "-" version ".tar.gz")) (sha256 (base32 - "08qpsb8mrzcx8wgvz9insiyvq7sbg26yj5nvl2m5n57yvppcl8x3")))) + "13vbbrvj3mmfhj83qyrg5c0ipr6bzw5s65dy4k8gr7p9hkkfffyp")))) (build-system gnu-build-system) (native-inputs `(("groff" ,groff))) (inputs `(("openssl" ,openssl) @@ -152,6 +152,9 @@ a server that supports the SSH-2 protocol.") ("xauth" ,xauth))) ;for 'ssh -X' and 'ssh -Y' (arguments `(#:test-target "tests" + ;; Otherwise, the test scripts try to use a nonexistent directory and + ;; fail. + #:make-flags '("REGRESSTMP=\"$${BUILDDIR}/regress\"") #:configure-flags `("--sysconfdir=/etc/ssh" ;; Default value of 'PATH' used by sshd. diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 4c6404279a..81c38b441e 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -361,14 +361,14 @@ k-nearest neighbour, Learning Vector Quantization and Self-Organizing Maps.") (define-public r-cluster (package (name "r-cluster") - (version "2.0.6") + (version "2.0.7") (source (origin (method url-fetch) (uri (cran-uri "cluster" version)) (sha256 (base32 - "1z4gbz7chxxi4ly6c0yjlikwgf8aa8dlg05cn5cd6pjr21zvh97l")))) + "0nf2hnsv5rhw6399b4gk1rj5c8hfc6ajfnkh3qbwfx3cz4asrg45")))) (build-system r-build-system) (inputs `(("gfortran" ,gfortran))) @@ -466,14 +466,14 @@ also flexible enough to handle most nonstandard requirements.") (define-public r-matrix (package (name "r-matrix") - (version "1.2-12") + (version "1.2-13") (source (origin (method url-fetch) (uri (cran-uri "Matrix" version)) (sha256 (base32 - "1wm45hg4x5ay15y03k6rmgkd1n9r01da72mszk24vafwd7pimr8n")))) + "1j4fyn2r3ds51hrxch738gn7d9qvpi4b01n0rxzw5jpv28rnpyvx")))) (properties `((upstream-name . "Matrix"))) (build-system r-build-system) (propagated-inputs @@ -3121,14 +3121,14 @@ analysis of large sparse or dense matrices.") (define-public r-glmnet (package (name "r-glmnet") - (version "2.0-13") + (version "2.0-16") (source (origin (method url-fetch) (uri (cran-uri "glmnet" version)) (sha256 (base32 - "1zdqp6wnqxzp5qn2ky47phbkrxv3cpgbwmdp896h3xxjvp58sa7k")))) + "1brr51z1fzbpyj6myyir4g6dhbp6xwl7nx4xnvrjarnf5y0csk55")))) (build-system r-build-system) (inputs `(("gfortran" ,gfortran))) @@ -3544,13 +3544,13 @@ memory usage.") (define-public r-viridis (package (name "r-viridis") - (version "0.5.0") + (version "0.5.1") (source (origin (method url-fetch) (uri (cran-uri "viridis" version)) (sha256 (base32 - "1ka6amybgzqkg3cbwfxwwqzzzpfn6q5jcia5am0bw48y5hbpg97y")))) + "060rf1jn29dq53y3nhb0hykvcap6rqsk04rq544ypiiqb18ngwnx")))) (build-system r-build-system) (propagated-inputs `(("r-ggplot2" ,r-ggplot2) @@ -4312,13 +4312,13 @@ data at that region, and avoids over-plotting.") (define-public r-ggthemes (package (name "r-ggthemes") - (version "3.4.0") + (version "3.4.2") (source (origin (method url-fetch) (uri (cran-uri "ggthemes" version)) (sha256 (base32 - "1jj8lp7jbk3489kpgbw4b5phpn01gkfmksc21c6sn3x6wmzyn6hs")))) + "0i7ygpizs00acizixc29bhbrci523ys7vzxbii9b3bcmfa3pj7i3")))) (build-system r-build-system) (propagated-inputs `(("r-assertthat" ,r-assertthat) @@ -5059,14 +5059,14 @@ algorithms.") (define-public r-lme4 (package (name "r-lme4") - (version "1.1-15") + (version "1.1-16") (source (origin (method url-fetch) (uri (cran-uri "lme4" version)) (sha256 (base32 - "0sc6rvhiizxxpkdc3wps200wg3pqc0d89crn29lzm75fk8qdd7vx")))) + "0p5x9ki4dq8058mc7k9wdnlh60z1xa3wk2nmf71wl7w59m4szh92")))) (build-system r-build-system) (native-inputs `(("r-rcpp" ,r-rcpp) @@ -5139,14 +5139,14 @@ to Applied regression, Second Edition, Sage, 2011.") (define-public r-caret (package (name "r-caret") - (version "6.0-78") + (version "6.0-79") (source (origin (method url-fetch) (uri (cran-uri "caret" version)) (sha256 (base32 - "0h1nxzii2h80aslp1zsjczrlfmaks44sskabk4yq9c5rafc7ka6y")))) + "1i6sjw279g6mj83vz5gv99x0nljcbpy7v0nbl72lmd80sf7rjshl")))) (build-system r-build-system) (propagated-inputs `(("r-foreach" ,r-foreach) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 7560238378..5868bdbad9 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -28,7 +28,7 @@ (define-public syncthing (package (name "syncthing") - (version "0.14.45") + (version "0.14.46") (source (origin (method url-fetch) (uri (string-append "https://github.com/syncthing/syncthing" @@ -36,7 +36,7 @@ "/syncthing-source-v" version ".tar.gz")) (sha256 (base32 - "0nv5g9ymykl4316l2g3mnac77y2rx9ps4j2kg3pymxlq6qms2dij")) + "0h5b2mp0li0qzrz3wggzavdfqfaz9b79hx6wds84ya2i9maw80cl")) (modules '((guix build utils))) ;; Delete bundled ("vendored") free software source code. (snippet '(begin @@ -1679,23 +1679,23 @@ using sh's word-splitting rules.") (license expat)))) (define-public go-github-com-zillode-notify - (let ((commit "a8abcfb1ce88ee8d79a300ed65d94b8fb616ddb3") - (revision "2")) + (let ((commit "53dd6873a851fc377c87d82f994b1fecdf25aadb") + (revision "3")) (package (name "go-github-com-zillode-notify") (version (git-version "0.0.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/zillode/notify") + (url "https://github.com/calmh/notify") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 - "031pmbvm0xj4f4fak7im0ywmyn3hns538zlbdj4f23jj69zqdy7k")))) + "0ar6mj6s91y7hc5gdp88lz3i7xi29cqkx9f090xj899ir21a8djn")))) (build-system go-build-system) (arguments - '(#:import-path "github.com/zillode/notify")) + '(#:import-path "github.com/Zillode/notify")) (propagated-inputs `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix))) (synopsis "File system event notification library") diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm index 1669f2c45c..27b49895e2 100644 --- a/gnu/packages/syndication.scm +++ b/gnu/packages/syndication.scm @@ -32,7 +32,7 @@ (define-public newsboat (package (name "newsboat") - (version "2.11") + (version "2.11.1") (source (origin (method url-fetch) @@ -40,7 +40,7 @@ "/newsboat-" version ".tar.xz")) (sha256 (base32 - "0yh1qdk15s9k4pffiw1155whfckpffq72dpyp9rck7yxgy5ya1hx")))) + "1krpxl854h5dwmpr81m1s84cwk8zivdzvw0s5s0i4dba736pvdma")))) (build-system gnu-build-system) (native-inputs `(("gettext" ,gettext-minimal) diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index e6c2436d06..78532ec268 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -293,16 +293,16 @@ input bits thoroughly but are not suitable for cryptography.") (define-public libconfig (package (name "libconfig") - (version "1.5") + (version "1.7.2") + (home-page "https://hyperrealm.github.io/libconfig/") (source (origin (method url-fetch) - (uri (string-append "http://www.hyperrealm.com/libconfig/" - "libconfig-" version ".tar.gz")) + (uri (string-append home-page "/dist/libconfig-" + version ".tar.gz")) (sha256 (base32 - "1xh3hzk63v4y8815lc5209m3s6ms2cpgw4h5hg462i4f1lwsl7g3")))) + "1ngs2qx3cx5cbwinc5mvadly0b5n7s86zsc68c404czzfff7lg3w")))) (build-system gnu-build-system) - (home-page "http://www.hyperrealm.com/libconfig/") (synopsis "C/C++ configuration file library") (description "Libconfig is a simple library for manipulating structured configuration diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 9143af31e0..73e84b7f8c 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -449,14 +449,14 @@ required structures.") (define-public libressl (package (name "libressl") - (version "2.7.1") + (version "2.7.2") (source (origin (method url-fetch) (uri (string-append "mirror://openbsd/LibreSSL/" name "-" version ".tar.gz")) (sha256 (base32 - "0w3hdgcr4cq84cv7wkkg2clz9s6l2m2l92d6mfn70wxs6vi0fxck")))) + "1589f0kg7kj51j9hid542s4isb96s1azjaqsfprpy5s2qdwqfyli")))) (build-system gnu-build-system) (arguments ;; Do as if 'getentropy' was missing since older Linux kernels lack it @@ -493,13 +493,13 @@ netcat implementation that supports TLS.") (package (name "python-acme") ;; Remember to update the hash of certbot when updating python-acme. - (version "0.22.2") + (version "0.23.0") (source (origin (method url-fetch) (uri (pypi-uri "acme" version)) (sha256 (base32 - "1d5d4w88aj1i8fyrs44dapmiqbmgz4bjgryn8k3mnggmd6ihxk8f")))) + "0l257dq1i2gka6ynldidpwaz1aa726643crqqckga1w5awsndh88")))) (build-system python-build-system) (arguments `(#:phases @@ -548,7 +548,7 @@ netcat implementation that supports TLS.") (uri (pypi-uri name version)) (sha256 (base32 - "1vsb8qqghxrwxr3d2l0d5cgdk0pz7b3f76bx3zrrg0z7jf967qz6")))) + "0gh5fr61c3mj5vdkn68k17wcvri9rdj506cmmz6631i2l5flrzvc")))) (build-system python-build-system) (arguments `(,@(substitute-keyword-arguments (package-arguments python-acme) @@ -768,7 +768,7 @@ then ported to the GNU / Linux environment.") (define-public mbedtls-apache (package (name "mbedtls-apache") - (version "2.7.0") + (version "2.7.2") (source (origin (method url-fetch) @@ -778,16 +778,7 @@ then ported to the GNU / Linux environment.") version "-apache.tgz")) (sha256 (base32 - "1vsmgxnw7dpvma51896n63yaf9sncmf885ax2jfcg89ssin6vdmf")) - ;; An RFC 5114 constant was accidentally renamed in version 2.7.0. - ;; See https://github.com/ARMmbed/mbedtls/pull/1362. - (modules '((guix build utils))) - (snippet - '(begin - (substitute* "include/mbedtls/dhm.h" - (("#define MBEDTLS_DHM_RFC5114_MODP_P") - "#define MBEDTLS_DHM_RFC5114_MODP_2048_P")) - #t)))) + "1mvkqlxxvl6yp1g5g9dk4l7h3wl6149p3pfwgwzgs7xybyxw4f7x")))) (build-system cmake-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/upnp.scm b/gnu/packages/upnp.scm index 8764cea9a6..7db6b5eec5 100644 --- a/gnu/packages/upnp.scm +++ b/gnu/packages/upnp.scm @@ -29,14 +29,14 @@ (define-public miniupnpc (package (name "miniupnpc") - (version "2.0.20180222") + (version "2.0.20180406") (source (origin (method url-fetch) (uri (string-append "https://miniupnp.tuxfamily.org/files/" name "-" version ".tar.gz")) (sha256 - (base32 "0xavcrifk8v8gwig3mj0kjkm7rvw1kbsxcs4jxrrzl39cil48yaq")))) + (base32 "15i9lyj72wr15b3kpcqsf97mr2hajkpwvf0lz9ps9r568yyjcwlc")))) (build-system gnu-build-system) (native-inputs `(("python" ,python-2))) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 22c124049e..79ac7221fa 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -139,14 +139,14 @@ as well as the classic centralized workflow.") (name "git") ;; XXX When updating Git, check if the special 'git:src' input to cgit needs ;; to be updated as well. - (version "2.16.3") + (version "2.17.0") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/software/scm/git/git-" version ".tar.xz")) (sha256 (base32 - "0j1dwvg5llnj3g0fp8hdgpms4hp90qw9f6509vqw30dhwplrjpfn")))) + "1ismz7nsz8dgjmk782xr9s0mr2qh06f72pdcgbxfmnw1bvlya5p9")))) (build-system gnu-build-system) (native-inputs `(("native-perl" ,perl) @@ -159,7 +159,7 @@ as well as the classic centralized workflow.") version ".tar.xz")) (sha256 (base32 - "15ckcia3bdbn1dpwlh3fifd8fzk38l1pdgxsf2yl8l8xd1z8jqaz")))))) + "09rpjj0m97h5lpzpwk47m6xsz9gb8wqf1s3dfqma3mwav2pb3njb")))))) (inputs `(("curl" ,curl) ("expat" ,expat) @@ -215,9 +215,6 @@ as well as the classic centralized workflow.") (("/bin/sh") (which "sh")) (("/usr/bin/perl") (which "perl")) (("/usr/bin/python") (which "python"))) - (substitute* "perl/Makefile" - ;; Don't create timestamped 'perllocal.pod'. - (("\\$< PREFIX=") "$< NO_PERLLOCAL=1 PREFIX=")) #t)) (add-after 'configure 'add-PM.stamp (lambda _ @@ -226,42 +223,43 @@ as well as the classic centralized workflow.") #t)) (add-before 'check 'patch-tests (lambda _ - ;; These files contain some funny bytes that Guile is unable - ;; to decode for shebang patching. Just delete them. - (for-each delete-file '("t/t4201-shortlog.sh" - "t/t7813-grep-icase-iso.sh")) - ;; Many tests contain inline shell scripts (hooks etc). - (substitute* (find-files "t" "\\.sh$") - (("#!/bin/sh") (string-append "#!" (which "sh")))) - ;; Un-do shebang patching here to prevent checksum mismatch. - (substitute* '("t/t4034/perl/pre" "t/t4034/perl/post") - (("^#!.*/bin/perl") "#!/usr/bin/perl")) - (substitute* "t/t5003-archive-zip.sh" - (("cp /bin/sh") (string-append "cp " (which "sh")))) - (substitute* "t/t6030-bisect-porcelain.sh" - (("\"/bin/sh\"") (string-append "\"" (which "sh") "\""))) - ;; FIXME: This test runs `git commit` with a bogus EDITOR - ;; and empty commit message, but does not fail the way it's - ;; expected to. The test passes when invoked interactively. - (substitute* "t/t7508-status.sh" - (("\tcommit_template_commented") "\ttrue")) - ;; More checksum mismatches due to odd shebangs. - (substitute* "t/t9100-git-svn-basic.sh" - (("\"#!/gnu.*/bin/sh") "\"#!/bin/sh")) - (substitute* "t/t9300-fast-import.sh" - (("\t#!/gnu.*/bin/sh") "\t#!/bin/sh") - (("'#!/gnu.*/bin/sh") "'#!/bin/sh")) - ;; FIXME: Some hooks fail with "basename: command not found". - ;; See 't/trash directory.t9164.../svn-hook.log'. - (delete-file "t/t9164-git-svn-dcommit-concurrent.sh") - - ;; XXX: These tests fail intermittently for unknown reasons: - ;; <https://bugs.gnu.org/29546>. - (for-each delete-file - '("t/t9128-git-svn-cmd-branch.sh" - "t/t9167-git-svn-cmd-branch-subproject.sh" - "t/t9141-git-svn-multiple-branches.sh")) - #t)) + (let ((store-directory (%store-directory))) + ;; These files contain some funny bytes that Guile is unable + ;; to decode for shebang patching. Just delete them. + (for-each delete-file '("t/t4201-shortlog.sh" + "t/t7813-grep-icase-iso.sh")) + ;; Many tests contain inline shell scripts (hooks etc). + (substitute* (find-files "t" "\\.sh$") + (("#!/bin/sh") (string-append "#!" (which "sh")))) + ;; Un-do shebang patching here to prevent checksum mismatch. + (substitute* '("t/t4034/perl/pre" "t/t4034/perl/post") + (("^#!.*/bin/perl") "#!/usr/bin/perl")) + (substitute* "t/t5003-archive-zip.sh" + (("cp /bin/sh") (string-append "cp " (which "sh")))) + (substitute* "t/t6030-bisect-porcelain.sh" + (("\"/bin/sh\"") (string-append "\"" (which "sh") "\""))) + ;; FIXME: This test runs `git commit` with a bogus EDITOR + ;; and empty commit message, but does not fail the way it's + ;; expected to. The test passes when invoked interactively. + (substitute* "t/t7508-status.sh" + (("\tcommit_template_commented") "\ttrue")) + ;; More checksum mismatches due to odd shebangs. + (substitute* "t/t9100-git-svn-basic.sh" + (((string-append "\"#!" store-directory ".*/bin/sh")) "\"#!/bin/sh") ) + (substitute* "t/t9300-fast-import.sh" + (((string-append "\t#!" store-directory ".*/bin/sh")) "\t#!/bin/sh") + (((string-append "'#!" store-directory ".*/bin/sh")) "'#!/bin/sh")) + ;; FIXME: Some hooks fail with "basename: command not found". + ;; See 't/trash directory.t9164.../svn-hook.log'. + (delete-file "t/t9164-git-svn-dcommit-concurrent.sh") + + ;; XXX: These tests fail intermittently for unknown reasons: + ;; <https://bugs.gnu.org/29546>. + (for-each delete-file + '("t/t9128-git-svn-cmd-branch.sh" + "t/t9167-git-svn-cmd-branch-subproject.sh" + "t/t9141-git-svn-multiple-branches.sh")) + #t))) (add-after 'install 'install-shell-completion (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 6da712cc71..cd88ebe0ce 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -24,6 +24,7 @@ ;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018 Roel Janssen <roel@gnu.org> ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -56,6 +57,7 @@ #:use-module (guix build-system perl) #:use-module (guix build-system python) #:use-module (guix build-system waf) + #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages audio) @@ -2825,3 +2827,39 @@ changed. Or in other words, it can detect motion.") ;; Some files say "version 2" and others "version 2 or later". (license license:gpl2))) + +(define-public subdl + (let ((commit "4cf5789b11f0ff3f863b704b336190bf968cd471") + (revision "1")) + (package + (name "subdl") + (version (git-version "1.0.3" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alexanderwink/subdl.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0kmk5ck1j49q4ww0lvas2767kwnzhkq0vdwkmjypdx5zkxz73fn8")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder (begin + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (bin (string-append out "/bin")) + (source (assoc-ref %build-inputs "source")) + (python (assoc-ref %build-inputs "python"))) + (install-file (string-append source "/subdl") bin) + (patch-shebang (string-append bin "/subdl") + (list (string-append python "/bin"))))))) + (inputs `(("python" ,python))) + (synopsis "Command-line tool for downloading subtitles from opensubtitles.org") + (description "Subdl is a command-line tool for downloading subtitles from +opensubtitles.org. By default, it will search for English subtitles, display +the results, download the highest-rated result in the requested language and +save it to the appropriate filename.") + (license license:gpl3+) + (home-page "https://github.com/alexanderwink/subdl")))) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index de01e01638..44a4ed2920 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -347,14 +347,14 @@ manage system or application containers.") (define-public libvirt (package (name "libvirt") - (version "4.0.0") + (version "4.2.0") (source (origin (method url-fetch) (uri (string-append "https://libvirt.org/sources/libvirt-" version ".tar.xz")) (sha256 (base32 - "1j6zzajh4j3zzsaqn5f5mrchm0590xcf6rzkfajvqw3bd4dcms79")))) + "0nq1iz5iic466qahp0i8dlvyd6li0b0pdrvvrz9286l12x2fm61s")))) (build-system gnu-build-system) (arguments `(;; FAIL: virshtest @@ -420,7 +420,7 @@ manage system or application containers.") ("perl" ,perl) ("pkg-config" ,pkg-config) ("polkit" ,polkit) - ("python" ,python-2))) + ("python" ,python))) (home-page "https://libvirt.org") (synopsis "Simple API for virtualization") (description "Libvirt is a C toolkit to interact with the virtualization @@ -480,13 +480,13 @@ three libraries: (define-public python-libvirt (package (name "python-libvirt") - (version "3.7.0") + (version "4.1.0") (source (origin (method url-fetch) (uri (pypi-uri "libvirt-python" version)) (sha256 (base32 - "0vy0ai8z88yhzqfk1n08z1gda5flrqxcw9lg1012b3zg125qljhy")))) + "1ixqhxjkczl8vk9wjx4cknw4374cw5nnsacbd2s755kpd0ys7hny")))) (build-system python-build-system) (arguments `(#:phases diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index 442335cb94..2fc930aa9e 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -301,14 +301,14 @@ private network between hosts on the internet.") (define-public sshuttle (package (name "sshuttle") - (version "0.78.3") + (version "0.78.4") (source (origin (method url-fetch) (uri (pypi-uri name version)) (sha256 (base32 - "12xyq5h77b57cnkljdk8qyjxzys512b73019s20x6ck5brj1m8wa")))) + "0pqk43kd7crqhg6qgnl8kapncwgw1xgaf02zarzypcw64kvdih9h")))) (build-system python-build-system) (native-inputs `(("python-setuptools-scm" ,python-setuptools-scm) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 4413258e70..9c2426c8ee 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -186,14 +186,14 @@ Interface} specification.") (name "nginx") ;; Consider updating the nginx-documentation package if the nginx package is ;; updated. - (version "1.13.10") + (version "1.13.11") (source (origin (method url-fetch) (uri (string-append "https://nginx.org/download/nginx-" version ".tar.gz")) (sha256 (base32 - "11a8m4lhy6h8mmrsakn73pd5gcyvhxpz1xvlr103rglh9l884q9k")))) + "01bgld6pv9sms9bsmx863yqw2hnivxhn91xs6imqklj48sbrqy9m")))) (build-system gnu-build-system) (inputs `(("openssl" ,openssl) ("pcre" ,pcre) @@ -317,13 +317,13 @@ documentation.") (license l:bsd-2)))) (define-public nginx-documentation - ;; This documentation should be relevant for nginx@1.13.8. - (let ((revision 2100) - (changeset "cfb7bd672d77")) + ;; This documentation should be relevant for nginx@1.13.11. + (let ((revision 2131) + (changeset "dbaf3950f8e9")) (package (name "nginx-documentation") (version - (simple-format #f "2018-01-22-~A-~A" revision changeset)) + (simple-format #f "2018-04-04-~A-~A" revision changeset)) (source (origin (method hg-fetch) (uri (hg-reference @@ -332,7 +332,7 @@ documentation.") (file-name (string-append name "-" version)) (sha256 (base32 - "096fcsc0wnfr847m7dwp17rivd3alxq7v9hq9s5lkfbhylmh18vm")))) + "0acdjsdaqixzh9g9s6db552v4pan4nqrllyqapay9ns9yzh1hrp7")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no test suite @@ -3948,13 +3948,13 @@ LaTeX.") (define-public r-curl (package (name "r-curl") - (version "3.1") + (version "3.2") (source (origin (method url-fetch) (uri (cran-uri "curl" version)) (sha256 (base32 - "15fbjya2xrf2k9hhvg3frisrram4yk5wlfz67zj1z8ahpsb2a3r7")))) + "15hmy71310hnf9yqvz0icx4cq939gv6iqaifzlfdh2ia8akawdhn")))) (build-system r-build-system) (arguments `(#:phases @@ -5121,7 +5121,7 @@ into your tests. It automatically starts up a HTTP server in a separate thread (define-public http-parser (package (name "http-parser") - (version "2.8.0") + (version "2.8.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/nodejs/http-parser/" @@ -5129,7 +5129,7 @@ into your tests. It automatically starts up a HTTP server in a separate thread (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "17a7k3nxv2p1sp2x5d89wr51vk770753vz6qnlp2gz7nkgwwcxvj")))) + "15ids8k2f0xhnnxh4m85w2f78pg5ndiwrpl24kyssznnp1l5yqai")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -5524,7 +5524,7 @@ named elements: the @code{status}, the @code{headers}, and the @code{body}.") (define-public rss-bridge (package (name "rss-bridge") - (version "2017-08-03") + (version "2018-03-11") (source (origin (method url-fetch) @@ -5533,7 +5533,7 @@ named elements: the @code{status}, the @code{headers}, and the @code{body}.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "05s16y552hbyj91s7bnlkx1bi64s6aw0fjy29az8via3i3b21yhl")))) + "1ix15ck45yb659k63mhwxwia6qnm9nn8jw0bga85abrvk1rchjdn")))) (build-system trivial-build-system) (native-inputs `(("gzip" ,gzip) diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index a4bcde3e46..81bc45ca75 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -221,7 +221,7 @@ integrate Windows applications into your desktop.") (define-public wine-staging-patchset-data (package (name "wine-staging-patchset-data") - (version "3.4") + (version "3.5") (source (origin (method url-fetch) @@ -230,7 +230,7 @@ integrate Windows applications into your desktop.") (file-name (string-append name "-" version ".zip")) (sha256 (base32 - "00yzh9bqs2rjgvk78xv3gfkbv4f2bkch9vb1ii4xh883f7wvkz93")))) + "1d95gzzfx87vvj85mrzv2lgg6w0m917dccja02g6vids28kf9g30")))) (build-system trivial-build-system) (native-inputs `(("bash" ,bash) @@ -277,7 +277,7 @@ integrate Windows applications into your desktop.") (file-name (string-append name "-" version ".tar.xz")) (sha256 (base32 - "14wf7536rkmhav9ibbvhqqkfqmbk1dckhd2679i5scizr5x290x4")))) + "0hr1syfhnpvcm84gmms1i26k68hakcgw4m6dvckmbbvw7ca0c8pl")))) (inputs `(("autoconf" ,autoconf) ; for autoreconf ("gtk+" ,gtk+) ("libva" ,libva) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 179e46fac4..f8899a4bdd 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -102,7 +102,7 @@ nested include statements).") (define-public bspwm (package (name "bspwm") - (version "0.9.3") + (version "0.9.4") (source (origin (file-name (string-append name "-" version ".tar.gz")) @@ -112,7 +112,7 @@ nested include statements).") version ".tar.gz")) (sha256 (base32 - "17dwj7w16cdj7g4s2y2f96lgj5msq1s4543dnfa3rijlazzy6mmk")))) + "0yjr0vzbj3ar8qfr6gvpvjd82ay8iy1sg2fkw2swghlqiy6ix4kw")))) (build-system gnu-build-system) (inputs `(("libxcb" ,libxcb) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index eb7f48228d..7a9b64baf6 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -21,6 +21,7 @@ ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Marek Benc <dusxmt@gmx.com> ;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org> +;;; Copyright © 2018 Thomas Sigurdsen <tonton@riseup.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1241,7 +1242,7 @@ program for X11. It was designed to be fast, tiny and scriptable in any languag (define-public xcb-util-xrm (package (name "xcb-util-xrm") - (version "1.2") + (version "1.3") (source (origin (method url-fetch) (uri (string-append @@ -1249,7 +1250,7 @@ program for X11. It was designed to be fast, tiny and scriptable in any languag "/download/v" version "/xcb-util-xrm-" version ".tar.bz2")) (sha256 (base32 - "0vbqhag51i0njc8d5fc8c6aa12496cwrc3s6s7sa5kfc17cwhppp")) + "118cj1ybw86pgw0l5whn9vbg5n5b0ijcpx295mwahzi004vz671h")) (modules '((guix build utils))) (snippet ;; Drop bundled m4. @@ -1405,3 +1406,32 @@ or playing a PCM encoded WAVE file.") System, and launches a program of your choice if there is no activity after a user-configurable period of time.") (license license:gpl2))) + +(define-public screen-message + (package + (name "screen-message") + (version "0.25") + (source (origin + (method url-fetch) + (uri (string-append + "https://www.joachim-breitner.de/archive/screen-message" + "/screen-message-" version ".tar.gz")) + (sha256 + (base32 + "1lw955qq5pq010lzmaf32ylj2iprgsri9ih4hx672c3f794ilab0")))) + (build-system gnu-build-system) + (inputs `(("gtk3" ,gtk+) + ("gdk" ,gdk-pixbuf) + ("pango" ,pango))) + (native-inputs `(("pkg-config" ,pkg-config))) + (arguments + ;; The default configure puts the 'sm' binary in games/ instead of bin/ - + ;; this fixes it: + `(#:make-flags (list (string-append "execgamesdir=" %output "/bin")))) + (synopsis "Print messages on your screen") + (description "@code{screen-message} is a tool for displaying text on +your screen. It will make the text as large as possible and display it +with black color on a white background (colors are configurable on the +commandline).") + (home-page "https://www.joachim-breitner.de/projects#screen-message") + (license license:gpl2+))) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index d6648508cc..b15a200d88 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5900,7 +5900,7 @@ basic eye-candy effects.") (define-public xpra (package (name "xpra") - (version "2.2.5") + (version "2.2.6") (source (origin (method url-fetch) @@ -5908,7 +5908,7 @@ basic eye-candy effects.") version ".tar.xz")) (sha256 (base32 - "1q2l00nc3bgwlhjzkbk4a8x2l8z9w1799yn31icsx5hrgh98a1js")))) + "1zyynghhzjbgnmzcibm17wpj9f7jy31d7dr373li8cwg2yl2swyz")))) (build-system python-build-system) (inputs `(("ffmpeg" ,ffmpeg) ("flac" ,flac) diff --git a/gnu/services.scm b/gnu/services.scm index 2fcacb9eb4..81af4df849 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -181,7 +181,8 @@ (define (all-service-modules) "Return the default set of service modules." (cons (resolve-interface '(gnu services)) - (all-modules (%service-type-path)))) + (all-modules (%service-type-path) + #:warn warn-about-load-error))) (define* (fold-service-types proc seed #:optional diff --git a/gnu/services/certbot.scm b/gnu/services/certbot.scm index a2a200f032..7548145c98 100644 --- a/gnu/services/certbot.scm +++ b/gnu/services/certbot.scm @@ -26,6 +26,7 @@ #:use-module (gnu services web) #:use-module (gnu system shadow) #:use-module (gnu packages tls) + #:use-module (guix i18n) #:use-module (guix records) #:use-module (guix gexp) #:use-module (srfi srfi-1) @@ -113,14 +114,19 @@ #$(certbot-command config)))) (define (certbot-activation config) - (match config - (($ <certbot-configuration> package webroot certificates email - rsa-key-size default-location) - (with-imported-modules '((guix build utils)) - #~(begin - (use-modules (guix build utils)) - (mkdir-p #$webroot) - (zero? (system* #$(certbot-command config)))))))) + (let* ((certbot-directory "/var/lib/certbot") + (script (in-vicinity certbot-directory "renew-certificates")) + (message (format #f (G_ "~a may need to be run~%") script))) + (match config + (($ <certbot-configuration> package webroot certificates email + rsa-key-size default-location) + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + (mkdir-p #$webroot) + (mkdir-p #$certbot-directory) + (copy-file #$(certbot-command config) #$script) + (display #$message))))))) (define certbot-nginx-server-configurations (match-lambda diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 8972529179..517d5d3efe 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -94,6 +94,8 @@ xfce-desktop-service xfce-desktop-service-type + x11-socket-directory-service + %desktop-services)) ;;; Commentary: @@ -882,6 +884,24 @@ with the administrator's password." ;;; +;;; X11 socket directory service +;;; + +(define x11-socket-directory-service + ;; Return a service that creates /tmp/.X11-unix. When using X11, libxcb + ;; takes care of creating that directory. However, when using XWayland, we + ;; need to create beforehand. Thus, create it unconditionally here. + (simple-service 'x11-socket-directory + activation-service-type + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + (let ((directory "/tmp/.X11-unix")) + (mkdir-p directory) + (chmod directory #o777)))))) + + +;;; ;;; The default set of desktop services. ;;; @@ -912,6 +932,8 @@ with the administrator's password." (ntp-service) + x11-socket-directory-service + %base-services)) ;;; desktop.scm ends here diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm index 119f7e4d0b..ef5b8dab92 100644 --- a/gnu/system/shadow.scm +++ b/gnu/system/shadow.scm @@ -195,6 +195,9 @@ set auto-load safe-path /gnu/store/*/lib\n"))) `((".bash_profile" ,profile) (".bashrc" ,bashrc) (".zlogin" ,zlogin) + (".nanorc" ,(plain-file "nanorc" "\ +# Include all the syntax highlighting modules. +include /run/current-system/profile/share/nano/*.nanorc\n")) (".Xdefaults" ,xdefaults) (".guile" ,(plain-file "dot-guile" "(cond ((false-if-exception (resolve-interface '(ice-9 readline))) |