diff options
author | Marius Bakke <mbakke@fastmail.com> | 2018-09-03 19:20:06 +0200 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2018-09-03 19:20:06 +0200 |
commit | 70dc8db8e7a44e0357c6b0582a710a918bd2e353 (patch) | |
tree | 083102cf532c523068f018e2b113947ca6a3db02 /gnu | |
parent | 279ed3efee9c71116d368163f805fe9494518687 (diff) | |
parent | c702749dfd47ea6983768cd5b8cf828898445af0 (diff) | |
download | guix-70dc8db8e7a44e0357c6b0582a710a918bd2e353.tar guix-70dc8db8e7a44e0357c6b0582a710a918bd2e353.tar.gz |
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu')
72 files changed, 3261 insertions, 640 deletions
diff --git a/gnu/build/linux-modules.scm b/gnu/build/linux-modules.scm index ae141b6f54..2d81175041 100644 --- a/gnu/build/linux-modules.scm +++ b/gnu/build/linux-modules.scm @@ -136,7 +136,7 @@ and normalizing it." (define (find-module-file directory module) "Lookup module NAME under DIRECTORY, and return its absolute file name. NAME can be a file name with or without '.ko', or it can be a module name. -Return #f if it could not be found. +Raise an error if it could not be found. Module names can differ from file names in interesting ways; for instance, module names usually (always?) use underscores as the inter-word separator, @@ -162,7 +162,7 @@ whereas file names often, but not always, use hyphens. Examples: ((file) file) (() - #f) + (error "kernel module not found" module directory)) ((_ ...) (error "several modules by that name" module directory)))) diff --git a/gnu/build/marionette.scm b/gnu/build/marionette.scm index bb018fc9c1..f94eab5cc0 100644 --- a/gnu/build/marionette.scm +++ b/gnu/build/marionette.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,6 +28,7 @@ marionette-eval wait-for-file wait-for-tcp-port + wait-for-unix-socket marionette-control marionette-screen-text wait-for-screen-text @@ -214,6 +216,29 @@ MARIONETTE. Raise an error on failure." ('failure (error "nobody's listening on port" port)))) +(define* (wait-for-unix-socket file-name marionette + #:key (timeout 20)) + "Wait for up to TIMEOUT seconds for FILE-NAME, a Unix domain socket, to +accept connections in MARIONETTE. Raise an error on failure." + (match (marionette-eval + `(begin + (let ((sock (socket PF_UNIX SOCK_STREAM 0))) + (let loop ((i 0)) + (catch 'system-error + (lambda () + (connect sock AF_UNIX ,file-name) + 'success) + (lambda args + (if (< i ,timeout) + (begin + (sleep 1) + (loop (+ 1 i))) + 'failure)))))) + marionette) + ('success #t) + ('failure + (error "nobody's listening on unix domain socket" file-name)))) + (define (marionette-control command marionette) "Run COMMAND in the QEMU monitor of MARIONETTE. COMMAND is a string such as \"sendkey ctrl-alt-f1\" or \"screendump foo.ppm\" (info \"(qemu-doc) @@ -222,7 +247,8 @@ pcsys_monitor\")." (($ <marionette> _ _ monitor) (display command monitor) (newline monitor) - (wait-for-monitor-prompt monitor)))) + ;; The "quit" command terminates QEMU immediately, with no output. + (unless (string=? command "quit") (wait-for-monitor-prompt monitor))))) (define* (marionette-screen-text marionette #:key diff --git a/gnu/local.mk b/gnu/local.mk index 806a5f3c2a..21f0482847 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -213,6 +213,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/guile-wm.scm \ %D%/packages/gv.scm \ %D%/packages/gxmessage.scm \ + %D%/packages/hardware.scm \ %D%/packages/haskell.scm \ %D%/packages/haskell-check.scm \ %D%/packages/haskell-crypto.scm \ @@ -650,6 +651,7 @@ dist_patch_DATA = \ %D%/packages/patches/doc++-segfault-fix.patch \ %D%/packages/patches/dovecot-trees-support-dovecot-2.3.patch \ %D%/packages/patches/doxygen-test.patch \ + %D%/packages/patches/dropbear-CVE-2018-15599.patch \ %D%/packages/patches/dvd+rw-tools-add-include.patch \ %D%/packages/patches/elfutils-tests-ptrace.patch \ %D%/packages/patches/elogind-glibc-2.27.patch \ @@ -793,6 +795,8 @@ dist_patch_DATA = \ %D%/packages/patches/gtkglext-disable-disable-deprecated.patch \ %D%/packages/patches/gzdoom-search-in-installed-share.patch \ %D%/packages/patches/handbrake-pkg-config-path.patch \ + %D%/packages/patches/haskell-mode-unused-variables.patch \ + %D%/packages/patches/haskell-mode-make-check.patch \ %D%/packages/patches/hdf4-architectures.patch \ %D%/packages/patches/hdf4-reproducibility.patch \ %D%/packages/patches/hdf4-shared-fortran.patch \ @@ -999,7 +1003,6 @@ dist_patch_DATA = \ %D%/packages/patches/ola-readdir-r.patch \ %D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch \ %D%/packages/patches/opencascade-oce-glibc-2.26.patch \ - %D%/packages/patches/openexr-missing-samples.patch \ %D%/packages/patches/openfoam-4.1-cleanup.patch \ %D%/packages/patches/openldap-CVE-2017-9287.patch \ %D%/packages/patches/openocd-nrf52.patch \ @@ -1123,6 +1126,7 @@ dist_patch_DATA = \ %D%/packages/patches/ruby-concurrent-test-arm.patch \ %D%/packages/patches/ruby-rack-ignore-failing-test.patch \ %D%/packages/patches/ruby-tzinfo-data-ignore-broken-test.patch\ + %D%/packages/patches/rust-1.19-mrustc.patch \ %D%/packages/patches/rust-bootstrap-stage0-test.patch \ %D%/packages/patches/rust-coresimd-doctest.patch \ %D%/packages/patches/rxvt-unicode-escape-sequences.patch \ diff --git a/gnu/packages.scm b/gnu/packages.scm index 7b954769e9..532297239d 100644 --- a/gnu/packages.scm +++ b/gnu/packages.scm @@ -30,6 +30,7 @@ #:select ((package-name->name+version . hyphen-separated-name->name+version))) #:autoload (guix profiles) (packages->manifest) + #:use-module (guix describe) #:use-module (ice-9 vlist) #:use-module (ice-9 match) #:use-module (srfi srfi-1) @@ -46,6 +47,7 @@ %auxiliary-files-path %bootstrap-binaries-path %package-module-path + %default-package-module-path fold-packages @@ -130,22 +132,31 @@ for system '~a'") ("gnu/packages.scm" gnu/) ("guix.scm")))) +(define %default-package-module-path + ;; Default search path for package modules. + `((,%distro-root-directory . "gnu/packages"))) + (define %package-module-path ;; Search path for package modules. Each item must be either a directory ;; name or a pair whose car is a directory and whose cdr is a sub-directory ;; to narrow the search. (let* ((not-colon (char-set-complement (char-set #\:))) (environment (string-tokenize (or (getenv "GUIX_PACKAGE_PATH") "") - not-colon))) - ;; Automatically add items from $GUIX_PACKAGE_PATH to Guile's search path. - (for-each (lambda (directory) - (set! %load-path (cons directory %load-path)) - (set! %load-compiled-path - (cons directory %load-compiled-path))) - environment) + not-colon)) + (channels (package-path-entries))) + ;; Automatically add channels and items from $GUIX_PACKAGE_PATH to Guile's + ;; search path. For historical reasons, $GUIX_PACKAGE_PATH goes to the + ;; front; channels go to the back so that they don't override Guix' own + ;; modules. + (set! %load-path + (append environment %load-path channels)) + (set! %load-compiled-path + (append environment %load-compiled-path channels)) (make-parameter - (append environment `((,%distro-root-directory . "gnu/packages")))))) + (append environment + %default-package-module-path + channels)))) (define %patch-path ;; Define it after '%package-module-path' so that '%load-path' contains user diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index c9230c3295..8807ab18b5 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -963,7 +963,7 @@ system administrator.") (define-public sudo (package (name "sudo") - (version "1.8.24") + (version "1.8.25") (source (origin (method url-fetch) (uri @@ -973,7 +973,7 @@ system administrator.") version ".tar.gz"))) (sha256 (base32 - "1s2v49n905wf3phmdnaa6v1dwck2lrcin0flg85z7klf35x5b25l")) + "0hfw6pcwjvv1vvnhb4n1p210306jm4npz99p9cfhbd33yrhhzkwx")) (modules '((guix build utils))) (snippet '(begin @@ -2750,3 +2750,81 @@ support forum. It runs with the @code{/exec} command in most IRC clients.") (description "@code{pscircle} visualizes Linux processes in the form of a radial tree.") (license license:gpl2+))) + +(define-public python-pyudev + (package + (name "python-pyudev") + (version "0.21.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pyudev" version)) + (sha256 + (base32 + "0arz0dqp75sszsmgm6vhg92n1lsx91ihddx3m944f4ah0487ljq9")))) + (build-system python-build-system) + (arguments + `(#:tests? #f ; Tests require /sys + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-ctypes-udev + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((eudev (assoc-ref inputs "eudev"))) + (substitute* "src/pyudev/core.py" + (("'udev'") + (string-append "'" eudev "/lib/libudev.so'"))) + (substitute* "src/pyudev/_ctypeslib/utils.py" + ;; Use absolute paths instead of keys. + (("= find_library") "= ")) + #t)))))) + (inputs + `(("eudev" ,eudev))) + (native-inputs + `(("python-docutils" ,python-docutils) + ("python-hypothesis" ,python-hypothesis) + ("python-mock" ,python-mock) + ("python-pytest" ,python-pytest) + ("python-sphinx" ,python-sphinx))) + (home-page "http://pyudev.readthedocs.org/") + (synopsis "Python udev binding") + (description "This package provides @code{udev} bindings for Python.") + (license license:lgpl2.1))) + +(define-public solaar + (package + (name "solaar") + (version "0.9.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pwr/Solaar.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "085mfa13dap3wqik1dqlad0d7kff4rv7j4ljh99c7l8nhczkqgwm")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-prefix-detection + (lambda _ + (substitute* "setup.py" + (("'--prefix' in sys\\.argv") + "len([x.startswith('--prefix=') for x in sys.argv]) > 0")) + #t)) + (replace 'build + (lambda _ + (invoke "python" "setup.py" "build"))) + (add-before 'check 'setenv-PATH + (lambda _ + (setenv "PYTHONPATH" (string-append "lib:" (getenv "PYTHONPATH"))) + #t))))) + (propagated-inputs + `(("python-pygobject" ,python-pygobject) + ("python-pyudev" ,python-pyudev))) + (home-page "https://smxi.org/docs/inxi.htm") + (synopsis "Linux devices manager for the Logitech Unifying Receiver") + (description "This package provides tools to manage clients of the +Logitech Unifying Receiver.") + (license license:gpl2))) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index f7f831918b..e731569ae1 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -324,7 +324,7 @@ engineers, musicians, soundtrack editors and composers.") (build-system gnu-build-system) (inputs `(("wxwidgets" ,wxwidgets) - ("gtk" ,gtk+) + ("gtk+" ,gtk+) ("alsa-lib" ,alsa-lib) ("jack" ,jack-1) ("expat" ,expat) @@ -410,6 +410,15 @@ engineers, musicians, soundtrack editors and composers.") (("../lib-src/portmidi/porttime/porttime.h") "porttime.h")) (substitute* "src/prefs/MidiIOPrefs.cpp" (("../../lib-src/portmidi/pm_common/portmidi.h") "portmidi.h")) + #t)) + (add-after 'install 'wrap-program + (lambda* (#:key inputs outputs #:allow-other-keys) + (wrap-program (string-append (assoc-ref outputs "out") + "/bin/audacity") + ;; For GtkFileChooserDialog. + `("GSETTINGS_SCHEMA_DIR" = + (,(string-append (assoc-ref inputs "gtk+") + "/share/glib-2.0/schemas")))) #t))) ;; The test suite is not "well exercised" according to the developers, ;; and fails with various errors. See @@ -1740,11 +1749,10 @@ included are the command line utilities @code{send_osc} and @code{dump_osc}.") #t))))) ;; Required by lilv-0.pc. (propagated-inputs - `(("serd" ,serd) + `(("lv2" ,lv2) + ("serd" ,serd) ("sord" ,sord) ("sratom" ,sratom))) - (inputs - `(("lv2" ,lv2))) (native-inputs `(("pkg-config" ,pkg-config))) (home-page "https://drobilla.net/software/lilv/") diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index b36bb74f6f..bd4a177ecd 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -67,7 +67,7 @@ (define-public duplicity (package (name "duplicity") - (version "0.7.18") + (version "0.7.18.1") (source (origin (method url-fetch) @@ -77,7 +77,7 @@ version ".tar.gz")) (sha256 (base32 - "1qlika4l1k1nx8zr657ihcy0yzr1c1cdnjlbs325l5krvc3zbc5b")))) + "17c0203y5qz9w8iyhs26l44qf6a1vp26b5ykz1ypdr2kv6g02df9")))) (build-system python-build-system) (native-inputs `(("util-linux" ,util-linux) ; setsid command, for the tests @@ -99,21 +99,12 @@ #:test-target "test" #:phases (modify-phases %standard-phases - (add-before 'build 'patch-source + (add-before 'build 'use-store-file-names (lambda* (#:key inputs #:allow-other-keys) - ;; Embed gpg store name. (substitute* "duplicity/gpginterface.py" (("self.call = 'gpg'") (string-append "self.call = '" (assoc-ref inputs "gnupg") "/bin/gpg'"))) - ;; This matches up with an unreleased upstream fix, it should be - ;; removed when the package is updated. - ;; https://bazaar.launchpad.net/~duplicity-team/duplicity/0.8-series/revision/1308 - (substitute* "duplicity/gpg.py" - (("--no-secmem-warning'\\)") - "--no-secmem-warning') - gnupg.options.extra_args.append('--ignore-mdc-error')")) - (substitute* '("testing/functional/__init__.py" "testing/overrides/bin/lftp") (("/bin/sh") (which "sh"))) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index cb3c4bc1fd..f60fc4c84c 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com> ;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com> +;;; Copyright © 2018 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -3601,7 +3602,7 @@ experiments and provide highly stable thresholds based on reproducibility.") (define-public jellyfish (package (name "jellyfish") - (version "2.2.7") + (version "2.2.10") (source (origin (method url-fetch) (uri (string-append "https://github.com/gmarcais/Jellyfish/" @@ -3609,7 +3610,7 @@ experiments and provide highly stable thresholds based on reproducibility.") "/jellyfish-" version ".tar.gz")) (sha256 (base32 - "1a1iwq9pq54k2m9ypvwl5s0bqfl64gwh9dx5af9i382ajas2016q")))) + "1k4pc3fvv6w1km2yph4m5sd78fbxp21d6xyzgmy0gjihzc6mb249")))) (build-system gnu-build-system) (outputs '("out" ;for library "ruby" ;for Ruby bindings @@ -3646,8 +3647,8 @@ DNA sequences. It outputs its k-mer counts in a binary format, which can be translated into a human-readable text format using the @code{jellyfish dump} command, or queried for specific k-mers with @code{jellyfish query}.") (home-page "http://www.genome.umd.edu/jellyfish.html") - ;; From their website: JELLYFISH runs on 64-bit Intel-compatible processors - (supported-systems '("x86_64-linux")) + ;; JELLYFISH seems to be 64-bit only. + (supported-systems '("x86_64-linux" "aarch64-linux" "mips64el-linux")) ;; The combined work is published under the GPLv3 or later. Individual ;; files such as lib/jsoncpp.cpp are released under the Expat license. (license (list license:gpl3+ license:expat)))) @@ -13458,3 +13459,102 @@ conversions, region filtering, FASTA sequence extraction and more.") spliced (back-spliced) sequencing reads, indicative of circular RNA (circRNA) in RNA-seq data.") (license license:gpl3)))) + +(define-public python-scanpy + (package + (name "python-scanpy") + (version "1.2.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "scanpy" version)) + (sha256 + (base32 + "1ak7bxms5a0yvf65prppq2g38clkv7c7jnjbnfpkh3xxv7q512jz")))) + (build-system python-build-system) + (propagated-inputs + `(("python-anndata" ,python-anndata) + ("python-igraph" ,python-igraph) + ("python-numba" ,python-numba) + ("python-joblib" ,python-joblib) + ("python-natsort" ,python-natsort) + ("python-networkx" ,python-networkx) + ("python-statsmodels" ,python-statsmodels) + ("python-scikit-learn" ,python-scikit-learn) + ("python-matplotlib" ,python-matplotlib) + ("python-pandas" ,python-pandas) + ("python-scipy" ,python-scipy) + ("python-seaborn" ,python-seaborn) + ("python-h5py" ,python-h5py) + ("python-tables" ,python-tables))) + (home-page "http://github.com/theislab/scanpy") + (synopsis "Single-Cell Analysis in Python.") + (description "Scanpy is a scalable toolkit for analyzing single-cell gene +expression data. It includes preprocessing, visualization, clustering, +pseudotime and trajectory inference and differential expression testing. The +Python-based implementation efficiently deals with datasets of more than one +million cells.") + (license license:bsd-3))) + +(define-public gffcompare + (let ((commit "be56ef4349ea3966c12c6397f85e49e047361c41") + (revision "1")) + (package + (name "gffcompare") + (version (git-version "0.10.15" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gpertea/gffcompare/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0cp5qpxdhw4mxpya5dld8wi3jk00zyklm6rcri426wydinrnfmkg")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no check target + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'copy-gclib-source + (lambda* (#:key inputs #:allow-other-keys) + (mkdir "../gclib") + (copy-recursively + (assoc-ref inputs "gclib-source") "../gclib") + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) + (install-file "gffcompare" bin) + #t)))))) + (native-inputs + `(("gclib-source" ; see 'README.md' of gffcompare + ,(let ((commit "54917d0849c1e83cfb057b5f712e5cb6a35d948f") + (revision "1") + (name "gclib") + (version (git-version "0.10.3" revision commit))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gpertea/gclib/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0b51lc0b8syrv7186fd7n8f15rwnf264qgfmm2palrwks1px24mr"))))))) + (home-page "https://github.com/gpertea/gffcompare/") + (synopsis "Tool for comparing or classifing transcripts of RNA-Seq") + (description + "@code{gffcompare} is a tool that can: +@enumerate +@item compare and evaluate the accuracy of RNA-Seq transcript assemblers +(Cufflinks, Stringtie); +@item collapse (merge) duplicate transcripts from multiple GTF/GFF3 files (e.g. +resulted from assembly of different samples); +@item classify transcripts from one or multiple GTF/GFF3 files as they relate to +reference transcripts provided in a annotation file (also in GTF/GFF3 format). +@end enumerate") + (license + (list + license:expat ;license for gffcompare + license:artistic2.0))))) ;license for gclib diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm index cb05fb83fc..6af6877423 100644 --- a/gnu/packages/certs.scm +++ b/gnu/packages/certs.scm @@ -76,7 +76,7 @@ (define-public nss-certs (package (name "nss-certs") - (version "3.38") + (version "3.39") (source (origin (method url-fetch) (uri (let ((version-with-underscores @@ -87,7 +87,7 @@ "nss-" version ".tar.gz"))) (sha256 (base32 - "0qigcy3d169cf67jzv3rbai0m6dn34vp8h2z696mz4yn10y3sr1c")))) + "0jw6qlfl2g47hhx056nvnj6h92bk3sn46hy3ig61a911dzblvrkb")))) (build-system gnu-build-system) (outputs '("out")) (native-inputs diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index ddd532528f..e3edff50a5 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -269,7 +269,7 @@ problem, and shows the differences.") (define-public cmocka (package (name "cmocka") - (version "1.1.1") + (version "1.1.2") (source (origin (method url-fetch) (uri (string-append "https://cmocka.org/files/" @@ -277,10 +277,10 @@ problem, and shows the differences.") version ".tar.xz")) (sha256 (base32 - "1283zi9qf5613g8iadm1fxmjh4rzxqd5np2j3lcpgairf25g8bph")))) + "1p9b6ccv939wjsgapn7wx24xw278awsw9h81lm0g4zw257hx276i")))) (build-system cmake-build-system) (arguments - `(#:tests? #f)) ; No test target + `(#:tests? #f)) ; no test target (home-page "https://cmocka.org/") (synopsis "Unit testing framework for C") (description "Cmocka is a unit testing framework for C with support for diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 0160e42f6a..d591e6a884 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -236,7 +236,7 @@ as ordering relation.") (build-system cmake-build-system) (synopsis "JSON parser and printer library for C++") (description "JSON for Modern C++ is a C++ JSON library that provides -intutive syntax and trivial integration.") +intuitive syntax and trivial integration.") (license license:expat))) (define-public xtl diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index eb6bf9c38b..016d1b1e41 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4944,3 +4944,47 @@ developers to generate user interfaces easy to maintain.") models. The methods employed are applicable to virtually any predictive model and make comparisons between different methodologies straightforward.") (license license:gpl2+))) + +(define-public r-infotheo + (package + (name "r-infotheo") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "infotheo" version)) + (sha256 + (base32 + "18xacczfq3z3xpy434js4nf3l19lczngzd0lq26wh22pvg1yniwv")))) + (build-system r-build-system) + (home-page "http://homepage.meyerp.com/software") + (synopsis "Information-theoretic measures") + (description + "This package implements various measures of information theory based on +several entropy estimators.") + (license license:gpl3+))) + +(define-public r-abcoptim + (package + (name "r-abcoptim") + (version "0.15.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "ABCoptim" version)) + (sha256 + (base32 "1ih0xk88qhsmpvnxf56041wx5sk8as2f4f2gdnpnwdym9mbr9n4b")))) + (properties `((upstream-name . "ABCoptim"))) + (build-system r-build-system) + (propagated-inputs `(("r-rcpp" ,r-rcpp))) + (home-page "https://github.com/gvegayon/ABCoptim/") + (synopsis "Optimization of Artificial Bee Colony algorithm") + (description + "Artificial Bee Colony (ABC) is one of the most recently defined algorithms by Dervis +Karaboga in 2005, motivated by the intelligent behavior of honey bees. It is as +simple as Particle Swarm Optimization (PSO) and Differential Evolution (DE) +algorithms, and uses only common control parameters such as colony size and +maximum cycle number. The @code{r-abcoptim} implements the Artificial bee +colony optimization algorithm @url{http://mf.erciyes.edu.tr/abc/pub/tr06_2005.pdf}. + This version is a work-in-progress and is written in R code.") + (license license:expat))) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index ae6150b0ab..e070ef61ac 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -40,6 +40,7 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages gnupg) #:use-module (gnu packages image) + #:use-module (gnu packages kerberos) #:use-module (gnu packages libbsd) #:use-module (gnu packages libffi) #:use-module (gnu packages linux) @@ -277,7 +278,7 @@ the wrong hands.") (define-public keyutils (package (name "keyutils") - (version "1.5.10") + (version "1.5.11") (source (origin (method url-fetch) @@ -286,9 +287,9 @@ the wrong hands.") version ".tar.bz2")) (sha256 (base32 - "1dmgjcf7mnwc6h72xkvpaqpzxw8vmlnsmzz0s27pg0giwzm3sp0i")) + "1ddig6j5xjyk6g9l2wlqc7k1cgvryxdqbsv3c9rk1p3f42448n0i")) (modules '((guix build utils))) - ;; Create relative symbolic links instead of absolute ones to /lib/* + ;; Create relative symbolic links instead of absolute ones to /lib/*. (snippet '(begin (substitute* "Makefile" (("\\$\\(LNS\\) \\$\\(LIBDIR\\)/") "$(LNS) ")) @@ -306,6 +307,8 @@ the wrong hands.") "MANDIR=/share/man" "SHAREDIR=/share/keyutils") #:test-target "test")) + (inputs + `(("mit-krb5" ,mit-krb5))) (home-page "https://people.redhat.com/dhowells/keyutils/") (synopsis "Linux key management utilities") (description diff --git a/gnu/packages/dico.scm b/gnu/packages/dico.scm index b374a9b996..a85987d9b1 100644 --- a/gnu/packages/dico.scm +++ b/gnu/packages/dico.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2015, 2016, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. @@ -37,14 +37,14 @@ (define-public dico (package (name "dico") - (version "2.5") + (version "2.6") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/dico/dico-" version ".tar.xz")) (sha256 (base32 - "0szm3z4xvq0pjj8kxl4paq63byamf281kzn1la0cdm5ngavypxxq")))) + "0zmi041gv5nd5fmyzgdrgrsy2pvjaq9p8dvvhxwi842hiyng5b7i")))) (build-system gnu-build-system) (arguments '(#:configure-flags (list (string-append "--with-guile-site-dir=" %output @@ -62,7 +62,7 @@ `(("m4" ,m4) ;used at run time ("pcre" ,pcre) ("python" ,python-2) - ("guile" ,guile-2.0) + ("guile" ,guile-2.2) ("gsasl" ,gsasl) ("groff" ,groff) ("readline" ,readline) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index a095d0cd4f..206f9c71bb 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -337,14 +337,14 @@ and can dramatically shorten the lifespan of the drive if left unchecked.") (define-public gparted (package (name "gparted") - (version "0.31.0") + (version "0.32.0") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gparted/gparted/gparted-" version "/gparted-" version ".tar.gz")) (sha256 - (base32 "1fh7rpgb4xxdhgyjsirb83zvjfc5mfngb8a1pjbv7r6r6jj4jyrv")))) + (base32 "1fjp4c8jc0kjbbih1x1vs9v40d9lncma642kflnmy0bixxnvh7df")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; tests require a network connection diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 8665356f5c..8f0c564f88 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -646,7 +646,11 @@ only a handful of functions that are not resource-specific.") "https://github.com/haskell/haskell-mode/archive/v" version ".tar.gz")) (sha256 - (base32 "0g6lcjw7lcgavv3yrd8xjcyqgfyjl787y32r1z14amw2f009m78h")))) + (base32 "0g6lcjw7lcgavv3yrd8xjcyqgfyjl787y32r1z14amw2f009m78h")) + (patches + (search-patches ; backport test failure fixes + "haskell-mode-unused-variables.patch" + "haskell-mode-make-check.patch")))) (inputs `(("emacs-el-search" ,emacs-el-search) ; for tests ("emacs-stream" ,emacs-stream))) ; for tests @@ -686,12 +690,11 @@ only a handful of functions that are not resource-specific.") (_ "")) inputs))) (substitute* (find-files "." "\\.el") (("/bin/sh") sh)) - (substitute* "tests/haskell-code-conventions.el" - ;; Function name recently changed in "emacs-el-search". - (("el-search--search-pattern") "el-search-forward") - ;; Don't contact home. - (("\\(when \\(>= emacs-major-version 25\\)") - "(require 'el-search) (when nil")) + ;; embed filename to fix test failure + (let ((file "tests/haskell-cabal-tests.el")) + (substitute* file + (("\\(buffer-file-name\\)") + (format #f "(or (buffer-file-name) ~s)" file)))) #t))) (replace 'install @@ -1722,6 +1725,32 @@ management tasks from Emacs. To begin with, run @code{M-x guix-about} or @code{M-x guix-help} command.") (license license:gpl3+))) +(define-public emacs-build-farm + (package + (name "emacs-build-farm") + (version "0.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/alezost-emacs/build-farm") + (commit "fa7fa54901416fc5c216a5014394cbd73a61efc6"))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1zw3pivma6cv9j7k7qm02jd6wnxmsc1v2mjcssd50im99zzrqflh")))) + (build-system emacs-build-system) + (propagated-inputs + `(("bui" ,emacs-bui) + ("magit-popup" ,emacs-magit-popup))) + (home-page "https://gitlab.com/alezost-emacs/build-farm") + (synopsis "Emacs interface for Hydra and Cuirass build farms") + (description + "This Emacs package provides an interface for Hydra and +Cuirass (build farms used by Nix and Guix). It allows you to look at +various data related to the build farm projects, jobsets, builds and +evaluations. The entry point is @code{M-x build-farm} command.") + (license license:gpl3+))) + (define-public emacs-d-mode (package (name "emacs-d-mode") @@ -8977,7 +9006,7 @@ continue.") (define-public emacs-elisp-refs (package (name "emacs-elisp-refs") - (version "1.2") + (version "1.3") (source (origin (method url-fetch) @@ -8986,14 +9015,15 @@ continue.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0fj6wphwrvbslw46w7wgdk3b4bfr312ygj3lbgr9qw63lpqw26nl")))) + "02nzcn3v14n7mp7q32j5r4wdlpsw3zixzh6cf0cdyarfir6dly3p")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) ("emacs-f" ,emacs-f) ("emacs-list-utils" ,emacs-list-utils) ("emacs-loop" ,emacs-loop) - ("emacs-s" ,emacs-s))) + ("emacs-s" ,emacs-s) + ("emacs-shut-up" ,emacs-shut-up))) (home-page "https://github.com/Wilfred/elisp-refs") (synopsis "Find callers of elisp functions or macros") (description "Find references to functions, macros or variables. Unlike a @@ -9537,11 +9567,12 @@ duplicate hook and function names further into a single declarative call.") "0rf2rnzg82pdqch041yyx3f9ddixffkk9s2ydzg8hwy66sg3385n")))) (build-system emacs-build-system) (home-page "https://github.com/Malabarba/fancy-narrow/releases") - (synopsis "Immitate narrow-to-region with more eye-candy") - (description "Unlike narrow-to-region, which completely hides text outside -the narrowed region, this package simply deemphasizes the text, makes it -readonly, and makes it unreachable. This leads to a much more natural -feeling, where the region stays static (instead of being brutally moved to a + (synopsis "Imitate @code{narrow-to-region} with more eye candy") + (description + "Unlike @code{narrow-to-region}, which completely hides text outside +the narrowed region, this package simply de-emphasizes the text, makes it +read-only, and makes it unreachable. This leads to a much more natural +feeling where the region stays static (instead of being brutally moved to a blank slate) and is clearly highlighted with respect to the rest of the buffer.") (license license:gpl2+))) @@ -9633,7 +9664,7 @@ downloading manager for Emacs.") (define-public emacs-helpful (package (name "emacs-helpful") - (version "0.1") + (version "0.13") (source (origin (method url-fetch) (uri (string-append @@ -9642,7 +9673,7 @@ downloading manager for Emacs.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "16dx566qzrjj0bf43lnw7h1qlvgs94brqplamw8kppp2ylr72qs9")))) + "11kj04y1fa3vnw2991cyqf6adz6bb3hlrdkvypjnmpb0s64q64b6")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-elisp-refs" ,emacs-elisp-refs))) @@ -10027,7 +10058,7 @@ perform regression test for packages that provide font-lock rules.") (license license:gpl3+)))) (define-public emacs-racket-mode - (let ((commit "add0190d3c9bdad25fee57f8efd0460c9a45c2ec") + (let ((commit "92c33487f6c707880ac3f6169e7ea65ddffd1463") (revision "1")) (package (name "emacs-racket-mode") @@ -10042,7 +10073,7 @@ perform regression test for packages that provide font-lock rules.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0bf6s4nqjfacij20x9vppdnq8fq1bf53cch6p4g8xqcqri3ms4jw")))) + "19q6ym10gj2xdzzcgh3wdbq1xv8cv7nlrhv2b0bjvvdjzhiki472")))) (build-system emacs-build-system) (arguments `(#:include '("\\.el$" "\\.rkt$"))) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 141423d7bf..8e68c676ef 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -1055,7 +1055,7 @@ emulation community. It provides highly accurate emulation.") (define-public retroarch (package (name "retroarch") - (version "1.7.3") + (version "1.7.4") (source (origin (method url-fetch) @@ -1063,7 +1063,7 @@ emulation community. It provides highly accurate emulation.") version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1si78dbwbsq4i0r42q94nmlpaxdyqch113nxavdprf4vc1224356")))) + (base32 "0h6y2hpjg4b470jvn9ghwp0k3a527sbb6xhia17frlm9w9v5028w")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no tests @@ -1175,7 +1175,7 @@ play them on systems for which they were never designed!") (define-public mame (package (name "mame") - (version "0.200") + (version "0.201") (source (origin (method git-fetch) @@ -1185,7 +1185,7 @@ play them on systems for which they were never designed!") (file-name (git-file-name name version)) (sha256 (base32 - "0ddw8635hdm21lgpf13k1vhfywy3460rwciv93vrqmpkq2dvpmib")) + "00whiig4ld3d4fkl34q48vlf28ygvvp5g7fp0rb5n31ymhl4kajk")) (modules '((guix build utils))) (snippet ;; Remove bundled libraries. @@ -1211,17 +1211,6 @@ play them on systems for which they were never designed!") #:tests? #f ;no test in regular release #:phases (modify-phases %standard-phases - ;; Add missing include lines for "fmin" and "ceil" functions. - ;; Reported upstream. Will be fixed in 0.201. - (add-after 'unpack 'add-missing-include - (lambda _ - (substitute* "src/devices/cpu/mips/mips3.cpp" - (("#include \"ps2vu.h\"" all) - (string-append all "\n#include <cmath>"))) - (substitute* "src/devices/cpu/mips/ps2vif1.cpp" - (("#include \"ps2vif1.h\"" all) - (string-append all "\n#include <cmath>"))) - #t)) (delete 'configure) (add-after 'build 'build-documentation (lambda _ (invoke "make" "-C" "docs" "man" "info"))) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 3b433a1bfe..d53b25cff9 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -1101,7 +1101,7 @@ language, ADMS transforms Verilog-AMS code into other target languages.") (setenv "LDFLAGS" (string-append "-Wl,-rpath=" (assoc-ref outputs "out") "/lib")) #t))))) - (home-page "http://www.capstone-engine.org") + (home-page "https://www.capstone-engine.org") (synopsis "Lightweight multi-platform, multi-architecture disassembly framework") (description "Capstone is a lightweight multi-platform, multi-architecture disassembly diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index cff5ab14a9..40a5ec1cf4 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -62,7 +62,7 @@ (define-public efl (package (name "efl") - (version "1.20.7") + (version "1.21.0") (source (origin (method url-fetch) (uri (string-append @@ -70,7 +70,7 @@ version ".tar.xz")) (sha256 (base32 - "1zkn5ix81xck3n84dxvkjh4alwc6zj8x989d0zqi5c6ppijvgadh")))) + "0jxfrcz2aq1synxzd6sh9nhxz7fg9qgz0idr8zj6gaiplmwbwrby")))) (outputs '("out" ; 49 MB "include")) ; 17 MB (build-system gnu-build-system) @@ -312,35 +312,36 @@ embedded systems.") (define-public python-efl (package (name "python-efl") - (version "1.20.0") + (version "1.21.0") (source (origin (method url-fetch) - (uri (list - (pypi-uri "python-efl" version) - (string-append "http://download.enlightenment.org/rel/bindings/" - "python/python-efl-" version ".tar.gz"))) + (uri (string-append "http://download.enlightenment.org/rel/bindings/" + "python/python-efl-" version ".tar.xz")) (sha256 (base32 - "1680pgpf501nhbc9arm0nfj6rpcw17aryh0pgmmmszxlgpifpdzy")))) + "08x2cv8hnf004c3711250wrax21ffj5y8951pvk77h98als4pq47")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases - (replace 'build - (lambda _ - (zero? - (system* "env" "ENABLE_CYTHON=1" "python" "setup.py" "build")))) + (replace 'build + (lambda _ + (setenv "ENABLE_CYTHON" "1") + (invoke "python" "setup.py" "build"))) (add-before 'build 'set-flags - (lambda _ - (setenv "CFLAGS" - (string-append "-I" (assoc-ref %build-inputs "python-dbus") - "/include/dbus-1.0")) - #t)) + (lambda _ + (setenv "CFLAGS" + (string-append "-I" (assoc-ref %build-inputs "python-dbus") + "/include/dbus-1.0")) + #t)) (add-before 'check 'set-environment (lambda _ ;; Some tests require write access to HOME. (setenv "HOME" "/tmp") + ;; These tests try to connect to the internet. + (delete-file "tests/ecore/test_09_file_download.py") + (delete-file "tests/ecore/test_11_con.py") #t))))) (native-inputs `(("pkg-config" ,pkg-config) @@ -421,3 +422,50 @@ and in creating applications based on the Enlightenment Foundation Library suite "Simple PDF viewer based on the Enlightenment Foundation Libraries.") (home-page "https://github.com/kaihu/lekha") (license license:gpl3+))) + +(define-public ephoto + (package + (name "ephoto") + (version "1.5") + (source + (origin + (method url-fetch) + (uri (list (string-append "http://www.smhouston.us/stuff/ephoto-" + version ".tar.xz") + (string-append "https://download.enlightenment.org/rel/" + "apps/ephoto/ephoto-" version ".tar.xz"))) + (sha256 + (base32 + "04kli43sfsy6s660g13pjc0kjmgdcmq8m4qh02vvpcwv60mf9mgz")))) + (build-system gnu-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-home-directory + ;; FATAL: Cannot create run dir '/homeless-shelter/.run' - errno=2 + (lambda _ (setenv "HOME" "/tmp") #t))))) + (native-inputs + `(("check" ,check) + ("pkg-config" ,pkg-config))) + (inputs + `(("efl" ,efl))) + (home-page "http://smhouston.us/ephoto/") + (synopsis "EFL image viewer/editor/manipulator/slideshow creator") + (description "Ephoto is an image viewer and editor written using the +@dfn{Enlightenment Foundation Libraries} (EFL). It focuses on simplicity and ease +of use, while taking advantage of the speed and small footprint the EFL provide. + +Ephoto’s features include: +@enumerate +@item Browsing the filesystem and displaying images in an easy to use grid view. +@item Browsing images in a single image view format. +@item Viewing images in a slideshow. +@item Editing your image with features such as cropping, auto enhance, +blurring, sharpening, brightness/contrast/gamma adjustments, hue/saturation/value +adjustments, and color level adjustment. +@item Applying artistic filters to your image such as black and white and old photo. +@item Drag And Drop along with file operations to easy maintain your photo directories. +@end enumerate\n") + (license (list + license:bsd-2 ; Ephoto's thumbnailing code + license:bsd-3)))) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 2cbd4854ec..28bfb28f49 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -335,7 +335,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") (package (inherit electrum) (name "electron-cash") - (version "3.3") + (version "3.3.1") (source (origin (method url-fetch) @@ -346,7 +346,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") ".tar.gz")) (sha256 (base32 - "1x487hyacdm1qhik1mhfimr4jwcwz7sgsbkh11awrb6j19sxdxym")) + "1jdy89rfdwc2jadx3rqj5yvynpcn90cx6482ax9f1cj9gfxp9j2b")) (modules '((guix build utils))) (snippet '(begin @@ -664,23 +664,38 @@ Ledger Blue/Nano S.") (define-public python-trezor (package (name "python-trezor") - (version "0.7.16") + (version "0.10.2") (source (origin (method url-fetch) (uri (pypi-uri "trezor" version)) (sha256 (base32 - "055kii56wgwadl5z911s59ya2fnsqzk3n5i19s2hb9sv2by6knvb")))) + "138k6zsqqpb46k3rcpyslm9q7yq5i6k4myvr9n425jnkadf4vfjd")))) (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Default tests run device-specific tests which fail, only run specific tests. + (replace 'check + (lambda* (#:key inputs outputs #:allow-other-keys) + (invoke "python" "-m" "pytest" "--pyarg" "trezorlib.tests.unit_tests") + (invoke "python" "-m" "pytest" "-m" "slow_cosi" "--pyarg" "trezorlib.tests.unit_tests") + ))))) (propagated-inputs - `(("python-ecdsa" ,python-ecdsa) + `(("python-click" ,python-click) + ("python-ecdsa" ,python-ecdsa) ("python-hidapi" ,python-hidapi) + ("python-libusb1" ,python-libusb1) ("python-mnemonic" ,python-mnemonic) ("python-protobuf" ,python-protobuf) - ("python-requests" ,python-requests))) + ("python-pyblake2" ,python-pyblake2) + ("python-requests" ,python-requests) + ("python-typing" ,python-typing))) (native-inputs - `(("python-pyqt" ,python-pyqt))) ; Tests + `(("python-mock" ,python-mock) ; Tests + ("python-pyqt" ,python-pyqt) ; Tests + ("python-pytest" ,python-pytest))) ; Tests (home-page "https://github.com/trezor/python-trezor") (synopsis "Python library for communicating with TREZOR Hardware Wallet") (description "@code{trezor} is a Python library for communicating with diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 8d66317ce7..86f2877f82 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -1037,23 +1037,18 @@ of use.") (license license:expat))) (define-public openmw - ;; XXX The current version does not support qt 5.11, but the upcoming - ;; version (0.44) will do. - (let ((commit "5bc073603e8c7887e015a0ef41b4cefd6e688aaf") - (revision "1")) (package (name "openmw") - (version (git-version "0.43" revision commit)) + (version "0.44.0") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.com/OpenMW/openmw.git") - (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (method url-fetch) + (uri + (string-append "https://github.com/OpenMW/openmw/archive/" + name "-" version ".tar.gz")) (sha256 (base32 - "1sp4n3f1syvv0iz7n72wh226fyc0jh98cg8bvs574jvvqx6qn851")))) + "03fgm2f2r7y0aqlgp038pdlnllgvm3jimrp968p4nhz1sffvjzcy")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; No test target @@ -1080,7 +1075,7 @@ the 2002 open-world RPG Morrowind. The engine comes with its own editor, called OpenMW-CS which allows the user to edit or create their own original games.") (home-page "https://openmw.org") - (license license:gpl3)))) + (license license:gpl3))) (define-public godot (package diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 0142fc8ed2..728f763806 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -793,6 +793,46 @@ role, and your gender.") (license:fsdg-compatible "https://nethack.org/common/license.html")))) +(define-public pipewalker + (package + (name "pipewalker") + (version "0.9.4") + (source + (origin + (method url-fetch) + (uri (string-append "http://downloads.sourceforge.net/pipewalker/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "1x46wgk0s55562pd96cxagxkn6wpgglq779f9b64ff1k3xzp3myn")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list (string-append "--docdir=" (assoc-ref %outputs "out") + "/share/doc/" ,name "-" ,version)) + #:phases + (modify-phases %standard-phases + (add-after 'configure 'patch-docdir + ;; Makefile.in ignores configure's ‘--docdir=...’ option. Fix that. + (lambda _ + (substitute* "Makefile" + (("(pkgdocdatadir = ).*" _ assignment) + (string-append assignment "$(docdir)\n"))) + #t))))) + (inputs + `(("libpng" ,libpng) + ("mesa" ,mesa) + ("sdl" ,sdl))) + (home-page "http://pipewalker.sourceforge.net/") + (synopsis "Logical tile puzzle") + (description + "PipeWalker is a simple puzzle game with many diffent themes: connect all +computers to one network server, bring water from a source to the taps, etc. +The underlying mechanism is always the same: you must turn each tile in the +grid in the right direction to combine all components into a single circuit. +Every puzzle has a complete solution, although there may be more than one.") + (license license:gpl3+))) + (define-public prboom-plus (package (name "prboom-plus") @@ -2430,7 +2470,7 @@ Transport Tycoon Deluxe.") (define openrct2-objects (package (name "openrct2-objects") - (version "1.0.2") + (version "1.0.6") (source (origin (method url-fetch) @@ -2439,7 +2479,7 @@ Transport Tycoon Deluxe.") (file-name (string-append name "-" version ".zip")) (sha256 (base32 - "1z92afhbv13j1ig6fz0x8w9vdmfchssv16vwwhb0vj40pn1g1rwy")))) + "00kfy95zx6g4ldr6br5p7bwkwfx6pw9v78fd3rvghjnwyvf5fhki")))) (build-system trivial-build-system) (native-inputs `(("bash" ,bash) @@ -2471,7 +2511,7 @@ Transport Tycoon Deluxe.") (define-public openrct2 (package (name "openrct2") - (version "0.2.0") + (version "0.2.1") (source (origin (method url-fetch) @@ -2479,7 +2519,7 @@ Transport Tycoon Deluxe.") version ".tar.gz")) (sha256 (base32 - "1yrbjra27n2xxb1x47v962lc3qi8gwm5ws4f97952nvn533zrwxz")) + "1fxzk037xphpyk7vv5jfrcz739zrj86p43pnf5gjjv9rjxwv7m8f")) (file-name (string-append name "-" version ".tar.gz")))) (build-system cmake-build-system) (arguments diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm index 56553a6745..c374695524 100644 --- a/gnu/packages/gd.scm +++ b/gnu/packages/gd.scm @@ -94,7 +94,7 @@ most common applications of GD involve website development.") (define-public perl-gd (package (name "perl-gd") - (version "2.68") + (version "2.69") (source (origin (method url-fetch) @@ -102,7 +102,7 @@ most common applications of GD involve website development.") "GD-" version ".tar.gz")) (sha256 (base32 - "0p2ya641nl5cvcqgw829xgabh835qijfd6vq2ba12862946xx8va")))) + "0palmq7l42fibqxhrabnjm7di4q8kciq9323902d717x3i4jvc6x")))) (build-system perl-build-system) (inputs `(("fontconfig" ,fontconfig) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 12ecb8ba65..8dff95fc70 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -787,7 +787,7 @@ programming langauage. It also contains the utility (define-public appstream-glib (package (name "appstream-glib") - (version "0.7.10") + (version "0.7.12") (source (origin (method url-fetch) (uri (string-append "https://people.freedesktop.org/~hughsient/" @@ -795,7 +795,7 @@ programming langauage. It also contains the utility "appstream-glib-" version ".tar.xz")) (sha256 (base32 - "08bs0hnkvdzqv9pakv1y4c4ph77rmzjq22g760w20sv7vs63nia3")))) + "1jcb2bggcic3iczr2hn8zp8a3c2hl1xjij0aawr7kwqmzh9b3jms")))) (build-system meson-build-system) (native-inputs `(("gettext" ,gettext-minimal) diff --git a/gnu/packages/gnu-pw-mgr.scm b/gnu/packages/gnu-pw-mgr.scm index 38f9e8187a..a56bc09e61 100644 --- a/gnu/packages/gnu-pw-mgr.scm +++ b/gnu/packages/gnu-pw-mgr.scm @@ -30,7 +30,7 @@ (define-public gnu-pw-mgr (package (name "gnu-pw-mgr") - (version "2.3.3") + (version "2.4.2") (source (origin (method url-fetch) @@ -38,7 +38,7 @@ version ".tar.xz")) (sha256 (base32 - "04xh38j7l0sfnb01kp05xc908pvqfc0lph94k7n9bi46zy3qy7ma")))) + "1yvdzc5w37qrjrkby5699ygj9bhkvgi3zk9k9jcjry1j6b7wdl17")))) (build-system gnu-build-system) (arguments '(#:phases diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 1da48bfa66..0cd9818326 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -220,14 +220,14 @@ compatible to GNU Pth.") (define-public gnupg (package (name "gnupg") - (version "2.2.9") + (version "2.2.10") (source (origin (method url-fetch) (uri (string-append "mirror://gnupg/gnupg/gnupg-" version ".tar.bz2")) (sha256 (base32 - "0r11mx8nkh7ysrnshs560amha5csx8zcaggb5kxcksx1zymyly32")))) + "05f9804g72pffdxgvxjmjzkfcpjg1x221g9rwcr8fi51hrxd77br")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index b6bf89a75b..77a74a0ec4 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -323,7 +323,7 @@ in C/C++.") (define-public nspr (package (name "nspr") - (version "4.19") + (version "4.20") (source (origin (method url-fetch) (uri (string-append @@ -331,7 +331,7 @@ in C/C++.") version "/src/nspr-" version ".tar.gz")) (sha256 (base32 - "0agpv3f17h8kmzi0ifibaaxc1k3xc0q61wqw3l6r2xr2z8bmkn9f")))) + "0vjms4j75zvv5b2siyafg7hh924ysx2cwjad8spzp7x87n8n929c")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) @@ -359,7 +359,7 @@ in the Mozilla clients.") (define-public nss (package (name "nss") - (version "3.38") + (version "3.39") (source (origin (method url-fetch) (uri (let ((version-with-underscores @@ -370,7 +370,7 @@ in the Mozilla clients.") "nss-" version ".tar.gz"))) (sha256 (base32 - "0qigcy3d169cf67jzv3rbai0m6dn34vp8h2z696mz4yn10y3sr1c")) + "0jw6qlfl2g47hhx056nvnj6h92bk3sn46hy3ig61a911dzblvrkb")) ;; Create nss.pc and nss-config. (patches (search-patches "nss-pkgconfig.patch" "nss-increase-test-timeout.patch")))) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 6632c9a1a3..9c2869c12b 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -228,14 +228,15 @@ many more.") (define-public ilmbase (package (name "ilmbase") - (version "2.2.1") + (version "2.3.0") (source (origin (method url-fetch) - (uri (string-append "mirror://savannah/openexr/ilmbase-" + (uri (string-append "https://github.com/openexr/openexr/releases" + "/download/v" version "/ilmbase-" version ".tar.gz")) (sha256 (base32 - "17k0hq19wplx9s029kjrq6c51x2ryrfmaavcappkd0g67gk0dhna")) + "0qiq5bqq9rxhqjiym2k36sx4vq8adgrz6xf6qwizi9bqm78phsa5")) (patches (search-patches "ilmbase-fix-tests.patch")))) (build-system gnu-build-system) (home-page "http://www.openexr.com/") @@ -319,29 +320,22 @@ graphics.") (define-public openexr (package (name "openexr") - (version "2.2.1") + (version "2.3.0") (source (origin (method url-fetch) - (uri (string-append "mirror://savannah/openexr/openexr-" + (uri (string-append "https://github.com/openexr/openexr/releases" + "/download/v" version "/openexr-" version ".tar.gz")) (sha256 (base32 - "1kdf2gqznsdinbd5vcmqnif442nyhdf9l7ckc51410qm2gv5m6lg")) + "19jywbs9qjvsbkvlvzayzi81s976k53wg53vw4xj66lcgylb6v7x")) (modules '((guix build utils))) (snippet '(begin (substitute* (find-files "." "tmpDir\\.h") (("\"/var/tmp/\"") "\"/tmp/\"")) - - ;; Install 'ImfStdIO.h'. Reported at - ;; <https://lists.nongnu.org/archive/html/openexr-devel/2016-06/msg00001.html> - ;; and <https://github.com/openexr/openexr/pull/184>. - (substitute* "IlmImf/Makefile.in" - (("ImfIO\\.h") - "ImfIO.h ImfStdIO.h")) - #t)) - (patches (search-patches "openexr-missing-samples.patch")))) + #t)))) (build-system gnu-build-system) (arguments '(#:phases diff --git a/gnu/packages/gsasl.scm b/gnu/packages/gsasl.scm index 9dcebe9832..127b476ef3 100644 --- a/gnu/packages/gsasl.scm +++ b/gnu/packages/gsasl.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2012 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,14 +34,14 @@ (define-public libntlm (package (name "libntlm") - (version "1.4") + (version "1.5") (source (origin (method url-fetch) - (uri (string-append "http://www.nongnu.org/libntlm/releases/" + (uri (string-append "https://www.nongnu.org/libntlm/releases/" "libntlm-" version ".tar.gz")) (sha256 (base32 - "129532iiip2cjr5h03bgz184v64v27sfm1r70v3ms4yk65gdf5c4")))) + "1gcvv7f9rggpxay81qv6kw5hr6gd4qiyzkbwhzz02fx9jvv9kmsk")))) (build-system gnu-build-system) (synopsis "Library that implements NTLM authentication") (description diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm new file mode 100644 index 0000000000..f77336e504 --- /dev/null +++ b/gnu/packages/hardware.scm @@ -0,0 +1,124 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages hardware) + #:use-module (gnu packages compression) + #:use-module (gnu packages glib) + #:use-module (gnu packages libusb) + #:use-module (gnu packages linux) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages xdisorg) + #:use-module (gnu packages xorg) + #:use-module (guix build-system gnu) + #:use-module (guix download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages)) + +;; This is a module for packages related to physical hardware that don't (yet) +;; have a more specific home like gps.scm, security-token.scm, &c. + +(define-public ddcutil + (package + (name "ddcutil") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.ddcutil.com/tarballs/" + name "-" version ".tar.gz")) + (sha256 + (base32 "1b4bm3zhk5vnad6fxf0mn8nrlj3fngifl7nzxgxw0n56hlv7ccv0")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("eudev" ,eudev) + ("glib" ,glib) + ("libdrm" ,libdrm) ; enhanced diagnostics + ("libusb" ,libusb) ; support USB monitors + ("libx11" ,libx11) ; enhanced diagnostics + ("libxrandr" ,libxrandr) + ("zlib" ,zlib))) + (home-page "https://www.ddcutil.com/") + (synopsis "Control external monitor settings") + (description + "ddcutil can query and modify most external monitors' settings, such as +brightness, colour levels, and input sources. Generally speaking, any setting +that can be changed by pressing buttons on the monitor can be modified by +ddcutil. + +ddcutil communicates directly with monitors implementing the Monitor Control +Command Set (@dfn{MCCS}). It usually does so through the the Display Data +Channel Command Interface (@dfn{DDC/CI}) protocol on the I2C bus, but can also +communicate over USB as per the USB Monitor Control Class Specification. + +One particular use case is in colour profile management. Monitor calibration +is relative to the monitor colour settings currently in effect, e.g. red gain. +ddcutil allows colour-related settings to be saved at the time a monitor is +calibrated, and restored when the calibration is applied.") + (license (list license:bsd-3 ; FindDDCUtil.cmake + license:gpl2+)))) ; everything else + +(define-public msr-tools + (package + (name "msr-tools") + (version "1.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://01.org/sites/default/files/downloads/" + name "/" name "-" version ".zip")) + (sha256 + (base32 "07hxmddg0l31kjfmaq84ni142lbbvgq6391r8bd79wpm819pnigr")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (list (string-append "sbindir=" (assoc-ref %outputs "out") "/sbin")) + #:phases + (modify-phases %standard-phases + (delete 'configure) ; no configure script + (add-before 'install 'create-output-directory + (lambda* (#:key outputs #:allow-other-keys) + ;; 'make install' assumes that sbindir exists. + (let* ((out (assoc-ref outputs "out")) + (sbin (string-append out "/sbin"))) + (mkdir-p sbin) + #t)))) + #:tests? #f)) ; no test suite + (native-inputs + `(("unzip" ,unzip))) + ;; These registers and the CPUID instruction only exist on (most) x86 chips. + (supported-systems (list "i686-linux" "x86_64-linux")) + (home-page "https://01.org/msr-tools/") + (synopsis "Read and write Model-Specific Registers (@dfn{MSR})") + (description + "The MSR Tools project provides console utilities to directly access the +Model-Specific Registers (@dfn{MSR}s) and CPU ID of Intel-compatible processors: + +@itemize +@item @command{cpuid}: show identification and feature information of any CPU +@item @command{rdmsr}: read MSRs from any CPU or all CPUs +@item @command{wrmsr}: write to MSRs on any CPU or all CPUs +@end itemize + +These tools can be used to query and modify certain low-level CPU parameters, +such as the Turbo Boost ratio and Thermal Design Power (@dfn{TDP}) limits. + +MSR addresses differ (greatly) between processors, and any such modification can +be dangerous and may void your CPU or system board's warranty.") + (license license:gpl2))) ; cpuid.c is gpl2, {rd,wr}msr.c are gpl2+ diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 7d7d85f951..a07bb049a2 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -34,6 +34,7 @@ (define-module (gnu packages haskell) #:use-module (gnu packages) + #:use-module (gnu packages base) #:use-module (gnu packages bootstrap) #:use-module (gnu packages check) #:use-module (gnu packages compression) @@ -322,7 +323,7 @@ top of CLISP.") interactive environment for the functional language Haskell.") (license license:bsd-3))) -(define-public ghc-8 +(define-public ghc-8.0 (package (name "ghc") (version "8.0.2") @@ -434,7 +435,131 @@ interactive environment for the functional language Haskell.") interactive environment for the functional language Haskell.") (license license:bsd-3))) -(define-public ghc ghc-8) +(define-public ghc-8 + (package (inherit ghc-8.0) + (name "ghc") + (version "8.4.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.haskell.org/ghc/dist/" + version "/" name "-" version "-src.tar.xz")) + (sha256 + (base32 "1mk046vb561j75saz05rghhbkps46ym5aci4264dwc2qk3dayixf")))) + (inputs + `(("gmp" ,gmp) + ("ncurses" ,ncurses) + ("libffi" ,libffi) + ("target-binutils" ,binutils) + ("target-gcc" ,gcc) + ("target-ld-wrapper" ,(make-ld-wrapper "ld-wrapper" + #:binutils binutils)))) + (native-inputs + `(("perl" ,perl) + ("python" ,python) ; for tests + ("ghostscript" ,ghostscript) ; for tests + ;; GHC 8.4.3 is built with GHC 8. + ("ghc-bootstrap" ,ghc-8.0) + ("ghc-testsuite" + ,(origin + (method url-fetch) + (uri (string-append + "https://www.haskell.org/ghc/dist/" + version "/" name "-" version "-testsuite.tar.xz")) + (sha256 + (base32 + "1z55b1z0m3plqd2d1ks6w5wvx7igm7zsk3i4v7cms003z0as0hzz")))))) + (arguments + `(#:test-target "test" + ;; We get a smaller number of test failures by disabling parallel test + ;; execution. + #:parallel-tests? #f + + ;; The DSOs use $ORIGIN to refer to each other, but (guix build + ;; gremlin) doesn't support it yet, so skip this phase. + #:validate-runpath? #f + + ;; Don't pass --build=<triplet>, because the configure script + ;; auto-detects slightly different triplets for --host and --target and + ;; then complains that they don't match. + #:build #f + + #:configure-flags + (list + (string-append "--with-gmp-libraries=" + (assoc-ref %build-inputs "gmp") "/lib") + (string-append "--with-gmp-includes=" + (assoc-ref %build-inputs "gmp") "/include") + "--with-system-libffi" + (string-append "--with-ffi-libraries=" + (assoc-ref %build-inputs "libffi") "/lib") + (string-append "--with-ffi-includes=" + (assoc-ref %build-inputs "libffi") "/include") + (string-append "--with-curses-libraries=" + (assoc-ref %build-inputs "ncurses") "/lib") + (string-append "--with-curses-includes=" + (assoc-ref %build-inputs "ncurses") "/include")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'unpack-testsuite + (lambda* (#:key inputs #:allow-other-keys) + (invoke "tar" "xvf" + (assoc-ref inputs "ghc-testsuite") + "--strip-components=1") + #t)) + (add-after 'unpack-testsuite 'fix-shell-wrappers + (lambda _ + (substitute* '("driver/ghci/ghc.mk" + "utils/mkdirhier/ghc.mk" + "rules/shell-wrapper.mk") + (("echo '#!/bin/sh'") + (format #f "echo '#!~a'" (which "sh")))) + #t)) + ;; This is necessary because the configure system no longer uses + ;; “AC_PATH_” but “AC_CHECK_”, setting the variables to just the + ;; plain command names. + (add-before 'configure 'set-target-programs + (lambda* (#:key inputs #:allow-other-keys) + (let ((binutils (assoc-ref inputs "target-binutils")) + (gcc (assoc-ref inputs "target-gcc")) + (ld-wrapper (assoc-ref inputs "target-ld-wrapper"))) + (setenv "CC" (string-append gcc "/bin/gcc")) + (setenv "CXX" (string-append gcc "/bin/g++")) + (setenv "LD" (string-append ld-wrapper "/bin/ld")) + (setenv "NM" (string-append binutils "/bin/nm")) + (setenv "RANLIB" (string-append binutils "/bin/ranlib")) + (setenv "STRIP" (string-append binutils "/bin/strip")) + ;; The 'ar' command does not follow the same pattern. + (setenv "fp_prog_ar" (string-append binutils "/bin/ar")) + #t))) + (add-before 'build 'fix-references + (lambda _ + (substitute* '("testsuite/timeout/Makefile" + "testsuite/timeout/timeout.py" + "testsuite/timeout/timeout.hs" + "testsuite/tests/programs/life_space_leak/life.test" + ;; libraries + "libraries/process/System/Process/Posix.hs" + "libraries/process/tests/process001.hs" + "libraries/process/tests/process002.hs" + "libraries/unix/cbits/execvpe.c") + (("/bin/sh") (which "sh")) + (("/bin/ls") (which "ls")) + (("/bin/rm") "rm")) + #t)) + (add-before 'build 'fix-environment + (lambda _ + (unsetenv "GHC_PACKAGE_PATH") + (setenv "CONFIG_SHELL" (which "bash")) + #t))))) + (native-search-paths (list (search-path-specification + (variable "GHC_PACKAGE_PATH") + (files (list + (string-append "lib/ghc-" version))) + (file-pattern ".*\\.conf\\.d$") + (file-type 'directory)))))) + +(define-public ghc ghc-8.0) (define-public ghc-hostname (package diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm index 3a9e88ad08..75517caf6b 100644 --- a/gnu/packages/javascript.scm +++ b/gnu/packages/javascript.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; @@ -26,6 +26,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages compression) #:use-module (gnu packages lisp) + #:use-module (gnu packages readline) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) @@ -412,7 +413,7 @@ external server.") (define-public mujs (package (name "mujs") - (version "1.0.3") + (version "1.0.4") (source (origin (method git-fetch) (uri (git-reference @@ -421,14 +422,16 @@ external server.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "15ml3rzjl44lqdb1yxipdh8bhh0rvk2g6w6sjv667q8xywijwqv8")))) + "1ly0yybs66nk63517kg4dmdc7dbikhqqqf2r2kvccgzzvv6k0vs8")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases - (delete 'configure)) ; no configure + (delete 'configure)) ; no configure #:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")) (string-append "CC=gcc")) - #:tests? #f)) ; no tests + #:tests? #f)) ; no tests + (inputs + `(("readline" ,readline))) (home-page "https://artifex.com/mujs/") (synopsis "JavaScript interpreter written in C") (description "MuJS is a lightweight Javascript interpreter designed for diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 7dc2cf37fe..5295a356a2 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -75,7 +75,7 @@ (define-public extra-cmake-modules (package (name "extra-cmake-modules") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -84,21 +84,13 @@ name "-" version ".tar.xz")) (sha256 (base32 - "1ml6s3ssr5izm3vnzlg5gn2nkcbz5l5nmapvyr4ml7n0089b43a3")))) + "07pdgjyrxniacqcfvrzw8ij3kasx5pkbq38k6491qbhzfm8vi7y0")))) (build-system cmake-build-system) (native-inputs `(("qtbase" ,qtbase))) ; For tests (needs qmake) (arguments `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'post-5.42.0-release-fix - ;; FIXME: Remove for > 5.42.0 - ;; ECMToolchainAndroidTest doesn't exist anymore - ;; https://cgit.kde.org/extra-cmake-modules.git/commit?id=30f31c46d8caf4 - (lambda _ - (substitute* "tests/CMakeLists.txt" - (("^add_test_macro\\(ECMToolchainAndroidTest dummy\\)") "")) - #t)) (add-after 'unpack 'fix-lib-path (lambda _ ;; Always install into /lib and not into /lib64. @@ -283,7 +275,7 @@ Phonon-GStreamer is a backend based on the GStreamer multimedia library.") (define-public attica (package (name "attica") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -292,8 +284,16 @@ Phonon-GStreamer is a backend based on the GStreamer multimedia library.") name "-" version ".tar.xz")) (sha256 (base32 - "0icjsk5sbri6nwybb2301wc6ysc1h4p35rxqp0adifyksq8akyxd")))) + "1iqclahs9yzyjnkzbzr8hl9j6q8m2djdm6mix92xwrakgirnl3gn")))) (build-system cmake-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-network-tests + (lambda _ + ;; These tests require network access. + (substitute* "autotests/CMakeLists.txt" + ((".*providertest.cpp") ""))))))) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) (inputs @@ -315,7 +315,7 @@ http://freedesktop.org/wiki/Specifications/open-collaboration-services/") (define-public bluez-qt (package (name "bluez-qt") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -324,7 +324,7 @@ http://freedesktop.org/wiki/Specifications/open-collaboration-services/") name "-" version ".tar.xz")) (sha256 (base32 - "0pbb0nn70hbsnp9q8jvqr3s85gh4bnnh1mp8xfkia2hp4c63ws9f")))) + "0mgnq7w52ksr8b7ys2f1m3irnviy011bsaggh489fjy0xlzk5ard")))) (build-system cmake-build-system) (native-inputs `(("dbus" ,dbus) @@ -348,7 +348,7 @@ Bluetooth stack. It is used by the KDE Bluetooth stack, BlueDevil.") (define-public breeze-icons (package (name "breeze-icons") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -357,7 +357,7 @@ Bluetooth stack. It is used by the KDE Bluetooth stack, BlueDevil.") name "-" version ".tar.xz")) (sha256 (base32 - "0mrj0b022yfy669qqby09k4ij6aqyky23gpnjcp85df9saq0x44r")))) + "178620hhqlv6dl8qal2bmiw55s8b3p4h16q8cgkmq5q5i59nzcph")))) (build-system cmake-build-system) (arguments `(#:phases @@ -388,7 +388,7 @@ It is the default icon theme for the KDE Plasma 5 desktop.") (define-public kapidox (package (name "kapidox") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -397,7 +397,7 @@ It is the default icon theme for the KDE Plasma 5 desktop.") name "-" version ".tar.xz")) (sha256 (base32 - "0izyd66p5403gl09l7irzy97mb9b14n4zyjrwap800zjlpwh41pz")))) + "09jph3hvasqx1ia0l7is9brc08nxvh9qmg8564nh5cmqaxdwj559")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; has no test target @@ -430,7 +430,7 @@ documentation.") (define-public karchive (package (name "karchive") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -439,7 +439,7 @@ documentation.") name "-" version ".tar.xz")) (sha256 (base32 - "1vq2ngdxmdl6hzjwdcrv66ban8v9s5jiqwy1mgdqv4ak14l31qbi")))) + "1p1gwqda2bsjdysp4ggwdsldbasyfl075xn3wchqyakdv2bdzmn0")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -464,7 +464,7 @@ GZip format, via a subclass of QIODevice.") (define-public kcodecs (package (name "kcodecs") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -473,7 +473,7 @@ GZip format, via a subclass of QIODevice.") name "-" version ".tar.xz")) (sha256 (base32 - "0b19z432r9dnyjknvwffhcmrg969yhydjvy4qrkrf22026f4smwc")))) + "07va63gsfjrc5ha9rdli923cwyzxpb3v8xgf1zfhw75cfkgda3nz")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -500,7 +500,7 @@ Internet).") (define-public kconfig (package (name "kconfig") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -509,7 +509,7 @@ Internet).") name "-" version ".tar.xz")) (sha256 (base32 - "08gg0d20c09j7hyxm8ydpzk2yf30c87g9ag7a9nfykrmi6cqirdq")))) + "0cb3crnlr8hr5npq3ykfxqd4yckmkykzrrizfs89ryhmznc2ngsf")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -567,7 +567,7 @@ propagate their changes to their respective configuration files.") (define-public kcoreaddons (package (name "kcoreaddons") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -576,7 +576,7 @@ propagate their changes to their respective configuration files.") name "-" version ".tar.xz")) (sha256 (base32 - "17qv7r6z72mm9a0hyx5dgk90ikhhgm41bkvnq2hjal0py2lsnrs9")))) + "00s22jvbwav20cidnp8v9fgc6pqbp4wnqkb2spv18mjhg4pv3bqj")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -607,7 +607,7 @@ many more.") (define-public kdbusaddons (package (name "kdbusaddons") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -616,7 +616,7 @@ many more.") name "-" version ".tar.xz")) (sha256 (base32 - "1613pc3r70jnzvpwm1xjdbdsmcpx28jwvcs2qq9swlywr5qr9hbd")) + "1fnmrrffp3kfwyjfzqkzlizflpyqgzbjljb51ppmdypcq8wy9ibh")) (patches (search-patches "kdbusaddons-kinit-file-name.patch")))) (build-system cmake-build-system) (native-inputs @@ -652,7 +652,7 @@ as well as an API to create KDED modules.") (define-public kdnssd (package (name "kdnssd") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -661,7 +661,7 @@ as well as an API to create KDED modules.") name "-" version ".tar.xz")) (sha256 (base32 - "1k1rz62h3mafliik5n0k98dc56b5v2v6qyqj40696mcyc2d1yvll")))) + "1n61id2x1iianshg8g6fw389mqihz4h8sj9hnng7cdg4csh72ffr")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -680,7 +680,7 @@ infrastructure.") (define-public kguiaddons (package (name "kguiaddons") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -689,7 +689,7 @@ infrastructure.") name "-" version ".tar.xz")) (sha256 (base32 - "193i8b4f13dkgp88m3pk9wzi0dhx7qmsnmpizxia3457gg016wn7")))) + "1zkjd3l5pyvvilcc9lbdgqaxnpvh586yf0cndl90h3x89hy1d4xk")))) (build-system cmake-build-system) ;; TODO: Build packages for the Python bindings. Ideally this will be ;; done for all versions of python guix supports. Requires python, @@ -718,7 +718,7 @@ interfaces in the areas of colors, fonts, text, images, keyboard input.") (define-public ki18n (package (name "ki18n") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -727,7 +727,7 @@ interfaces in the areas of colors, fonts, text, images, keyboard input.") name "-" version ".tar.xz")) (sha256 (base32 - "1rpriflb2a48j94zxgh63l6rzq4nlnlkvy89ns1vkdw42bnqrjx9")))) + "1i4rdrxann45zl6fkmfd1b96q52g0mpc5x19fx9h80crapkm8jjz")))) (build-system cmake-build-system) (propagated-inputs `(("gettext" ,gettext-minimal) @@ -761,7 +761,7 @@ translation scripting.") (define-public kidletime (package (name "kidletime") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -770,7 +770,7 @@ translation scripting.") name "-" version ".tar.xz")) (sha256 (base32 - "019r41r28pcrcn1kwxsll53za705jkc9n23b6sr2lplgjk05bcxh")))) + "1fd02anlmaa0hnnp5q1s9973m3asy56qppwq1va1g6ga3csv3wrv")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -792,7 +792,7 @@ or user activity.") ;; plasma-framework which is tier 3. (package (name "kirigami") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -801,7 +801,7 @@ or user activity.") "kirigami2-" version ".tar.xz")) (sha256 (base32 - "11gqn7amp0r9bgh8ldgisfc2lrkzkn5mq2a1madf24nvjbkvqnqv")))) + "1wan9h7kvjzvyzfjfjd512lxiac5prhs493xjqwxgags6kxwglaz")))) (properties `((upstream-name . "kirigami2"))) (build-system cmake-build-system) (native-inputs @@ -841,7 +841,7 @@ of applications that follow the Kirigami Human Interface Guidelines.") (define-public kitemmodels (package (name "kitemmodels") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -850,7 +850,7 @@ of applications that follow the Kirigami Human Interface Guidelines.") name "-" version ".tar.xz")) (sha256 (base32 - "0mcdzdqwmvf9pwirsrnjbhrgqphnfmanbl9zij4qsmin8n866mhc")))) + "1frha301540js45mrxiw034m9b2rwsa56xphkqn6cm4jmn48qdjg")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -900,7 +900,7 @@ model to observers (define-public kitemviews (package (name "kitemviews") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -909,7 +909,7 @@ model to observers name "-" version ".tar.xz")) (sha256 (base32 - "1j1q0b08f8mnfc3r2a7rplyb2nv9f0aq5a3fxskinvg70c6y248w")))) + "1aj605q2p72w4rb9i0f2xb93bn5xfjq9sl5i4h6rqflcvvy7qpdp")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -935,7 +935,7 @@ to flat and hierarchical lists.") (define-public kplotting (package (name "kplotting") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -944,7 +944,7 @@ to flat and hierarchical lists.") name "-" version ".tar.xz")) (sha256 (base32 - "109b9grshrwralyp8ilkbf1k0akaggygqh6wafqdf0ris0ps13l9")))) + "13fzqqkyxs4ja6n5yb9lc5jx4qpsmrbsiihnwrgj3lhpzhlr91n0")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -970,7 +970,7 @@ pixel units.") (define-public ksyntaxhighlighting (package (name "ksyntaxhighlighting") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -979,7 +979,7 @@ pixel units.") "syntax-highlighting-" version ".tar.xz")) (sha256 (base32 - "1iwiym50859jki4x41rfdmbd14jiq5lr2hdg46pjkyw17njdjd60")))) + "17rkgzkfiz5dv0xr67na7ikqszgwjnf2gc11b2h47qdsr7pgx95v")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1019,7 +1019,7 @@ integration with a custom editor as well as a ready-to-use (define-public kwayland (package (name "kwayland") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1028,7 +1028,7 @@ integration with a custom editor as well as a ready-to-use name "-" version ".tar.xz")) (sha256 (base32 - "0wr6ygppahxsx3dh71h2wmybv7z7iyqdv7wn80cxb0mp4zpyinh7")))) + "0d95l2i3j1xxkc15n57w4rhf3di02zna4zzn4gap9qdhfxlfbqi6")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1058,7 +1058,7 @@ represented by a QPoint or a QSize.") (define-public kwidgetsaddons (package (name "kwidgetsaddons") - (version "5.42.1") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1067,7 +1067,7 @@ represented by a QPoint or a QSize.") name "-" version ".tar.xz")) (sha256 (base32 - "0h0vfrfl5zi01fpvmd825kazzlyawz3i66qrfkymdrnvqmfzcmlg")))) + "1frgqz9njbc81pfy6gl6p0hyh1977lg31ynrx5wy7lg7fwaxwl92")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1105,7 +1105,7 @@ configuration pages, message boxes, and password requests.") (define-public kwindowsystem (package (name "kwindowsystem") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1114,7 +1114,7 @@ configuration pages, message boxes, and password requests.") name "-" version ".tar.xz")) (sha256 (base32 - "15k6x0f93qxka3mz7qfzak2ibdd88q77pz6akil8s3g41zsg2dqv")))) + "175rzwrjndhawyy4x11lbihdr1r9gwxmxjpbz4x06hlz4g50wffp")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1170,7 +1170,7 @@ lower level classes for interaction with the X Windowing System.") (define-public modemmanager-qt (package (name "modemmanager-qt") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1179,7 +1179,7 @@ lower level classes for interaction with the X Windowing System.") name "-" version ".tar.xz")) (sha256 (base32 - "0q6qzn60z55h0gyc9xwdfaq45mjpk3zrr6d4qqjjfkqsr3866sfx")))) + "1wf3v552vbr4kh2d770zn3yn0q3bqjqbfrvnf813mnld7961m7p2")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1208,7 +1208,7 @@ messages.") (define-public networkmanager-qt (package (name "networkmanager-qt") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1217,7 +1217,7 @@ messages.") name "-" version ".tar.xz")) (sha256 (base32 - "03hhvx8d52mfgbhd4gn0vhsk9k1fv1pvq24ixxdgs2mw44v884xq")))) + "16pnd52m9srcb2ml3vc3kd9k1yak5rq09yci39qp7z5jbdy7jk2z")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1247,7 +1247,7 @@ which are used in DBus communication.") (define-public oxygen-icons (package (name "oxygen-icons") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1256,7 +1256,7 @@ which are used in DBus communication.") name "5" "-" version ".tar.xz")) (sha256 (base32 - "0pnav9h0xmvbaamzpcyznjjv25slz8maszshx7sj7h07b5a23x46")))) + "0llx06sr36cd6vgkgm3jw6k4cv1cfx3r6x6lmb477wpahis0n75g")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1272,7 +1272,7 @@ which are used in DBus communication.") (define-public prison (package (name "prison") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) @@ -1280,7 +1280,7 @@ which are used in DBus communication.") (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 - (base32 "0bhg2fjdwsv7mk16jh1nc3miwggz1dl9l99l2f20xvi75hn7rryg")))) + (base32 "0dppz9x6k84sl0aiyjlh3xigqgda64r8mij3bzxcdkv2wbc4ld9d")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -1297,7 +1297,7 @@ provides uniform access to generation of barcodes with data.") (define-public qqc2-desktop-style (package (name "qqc2-desktop-style") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1306,7 +1306,7 @@ provides uniform access to generation of barcodes with data.") name "-" version ".tar.xz")) (sha256 (base32 - "1arlfhcshfs11pgf87jzjgln1p711zlx0v0q014740mbzb9g5wnk")))) + "1vbms7b8x1y7yh8im8dv1q3wwl3j2x4r47yqg86f28grw2r2n2zj")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1331,7 +1331,7 @@ feel.") (define-public solid (package (name "solid") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1340,7 +1340,7 @@ feel.") name "-" version ".tar.xz")) (sha256 (base32 - "10lr8paaq6vaiqn833kzcdc3kkyv8j9fdchy7h8pvi9ajjjwq0lq")))) + "1p7rdmf2f8520xc7zp7wxlcizyyjfxwq5mf95qsfpwc4dl0c43gp")))) (build-system cmake-build-system) (arguments `(#:phases @@ -1370,7 +1370,7 @@ system.") (define-public sonnet (package (name "sonnet") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1379,7 +1379,7 @@ system.") name "-" version ".tar.xz")) (sha256 (base32 - "1r3amddmy0nm8klw0jzvb8bl1l9hkrx50d8j0zq2lbjy36h3yliw")))) + "0m5pmka1hwjsg3c3qvx087z3fjrfw0ayk7ylgjls5iwd39kkl1b3")))) (build-system cmake-build-system) (arguments `(#:phases @@ -1407,7 +1407,7 @@ ASpell and HUNSPELL.") (define-public threadweaver (package (name "threadweaver") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1416,7 +1416,7 @@ ASpell and HUNSPELL.") name "-" version ".tar.xz")) (sha256 (base32 - "1isqlpnfxzxyz7mdm7yfrafgnx09mcndicdgdw3mi4r4misbrrbn")))) + "099bs429p71dzrqy25z61rvn48w3b73p7yag4q69jnxcpj0qcyz7")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -1437,7 +1437,7 @@ uses a job-based interface to queue tasks and execute them in an efficient way." (define-public kactivities (package (name "kactivities") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1446,7 +1446,7 @@ uses a job-based interface to queue tasks and execute them in an efficient way." name "-" version ".tar.xz")) (sha256 (base32 - "0z0ac426npq99s1b8yzrqkjjjc34nbxlpw8pw388yj7fa41hw21r")))) + "117f3zrdbs0pa10wn7vy691n02m01h6x4pm8m1q3f4pjm0k4kqim")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -1482,7 +1482,7 @@ with other frameworks.") (define-public kauth (package (name "kauth") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1491,7 +1491,7 @@ with other frameworks.") name "-" version ".tar.xz")) (sha256 (base32 - "04kqb2hhr9lkpkxiaqlnyk0kmk6p89z5fgp5i5g83hsi8maz7swi")))) + "0qg3zwg3kfx2snmvsw4ixr0qds7bd7992dxggvi9dcny7dm9q0n8")))) (build-system cmake-build-system) (native-inputs `(("dbus" ,dbus) @@ -1529,7 +1529,7 @@ utilities.") (define-public kcompletion (package (name "kcompletion") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1538,7 +1538,7 @@ utilities.") name "-" version ".tar.xz")) (sha256 (base32 - "0yqci2v0dk5v1mz4n3gca599a7mpihy563zc6sl8hsa30ld8li0f")))) + "16br6wnqzndk8v41im23h2ww4hypi2i1qfg6m9c49mpxflgmspbi")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1565,7 +1565,7 @@ integrated it into your application's other widgets.") (define-public kcrash (package (name "kcrash") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1574,7 +1574,7 @@ integrated it into your application's other widgets.") name "-" version ".tar.xz")) (sha256 (base32 - "049y0xdyw37y0qid3d3plj8szfys5gw98j7lhcakiini8mn5cins")))) + "0xmr9rrl0xahpnq1rw4bbar1nbr21x2bk4hhv79la6dsg9ha25b3")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -1600,7 +1600,7 @@ application crashes.") (define-public kdoctools (package (name "kdoctools") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1609,7 +1609,7 @@ application crashes.") name "-" version ".tar.xz")) (sha256 (base32 - "1bby3avdllch1mji0mxzcix8q5yir5a0i6wpjs5lwckv1glh6kmz")))) + "1dmpk453s71ls0q8hgpqqd5dcr7zlimf5wykizcy2wn7p77gzsgl")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -1657,7 +1657,7 @@ from DocBook files.") (define-public kfilemetadata (package (name "kfilemetadata") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1666,7 +1666,7 @@ from DocBook files.") name "-" version ".tar.xz")) (sha256 (base32 - "03wk38q3sq354ykz9dwbgykn73ldf94ryx6hxvpr66bq3a59jmwz")))) + "045k1mgn8kg0qfsr5sl1499nzhzmbcvrqc205pmq6sh4r14nvk80")))) (build-system cmake-build-system) (arguments `(#:phases @@ -1709,7 +1709,7 @@ by applications to write metadata.") (define-public kimageformats (package (name "kimageformats") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1718,7 +1718,7 @@ by applications to write metadata.") name "-" version ".tar.xz")) (sha256 (base32 - "1k67yrmszx7azjzrg478rimbz991lghx4d6dmg22p6dknajd78a6")))) + "1q7019gbk59fwampna1ayjvw016c0q79hmldpaqh3xa9sh082wy4")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1763,7 +1763,7 @@ formats.") (define-public kjobwidgets (package (name "kjobwidgets") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1772,7 +1772,7 @@ formats.") name "-" version ".tar.xz")) (sha256 (base32 - "1m3csdl7wh18ywv5p0qpbjpixvflgjcq3yvk3vlvh0sxxlwcz8k4")))) + "04i5cvbxii7n0jr3ai1dh44miqbdkxb6an5w8s7qvkv0xmkml35g")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1791,7 +1791,7 @@ asynchronous jobs.") (define-public knotifications (package (name "knotifications") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1800,7 +1800,7 @@ asynchronous jobs.") name "-" version ".tar.xz")) (sha256 (base32 - "0awmwypmd104vhaj2v9k83niflxj26d4mbl6mzfcj75lgka6kffc")))) + "10481j2irlqhqd16xi412xbglnyjl0ndanlv9s0d3fxirs95zdd9")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1837,7 +1837,7 @@ covers feedback and persistent events.") (define-public kpackage (package (name "kpackage") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1846,7 +1846,7 @@ covers feedback and persistent events.") name "-" version ".tar.xz")) (sha256 (base32 - "10amhh07x8d0jkyylb19cyzjs71k8dq1y8isfahqzb2kd43vijqa")))) + "1xbfjwxb4gff8gg0hs5m9s0jcnzqk27rs2jr71g5ckhvs5psnkcd")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -1875,7 +1875,7 @@ were traditional plugins.") (define-public kpty (package (name "kpty") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1884,7 +1884,7 @@ were traditional plugins.") name "-" version ".tar.xz")) (sha256 (base32 - "07s16zxs03ixy7yxy9fda83yqhcgqzx42gnvwjwkyc8q05njmma6")))) + "1pnj07079l6gkz6171fcvljh0dcdy9s77p1q0l9nnkknjbr102pg")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -1912,7 +1912,7 @@ and communicating with them using a pty.") (define-public kunitconversion (package (name "kunitconversion") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1921,7 +1921,7 @@ and communicating with them using a pty.") name "-" version ".tar.xz")) (sha256 (base32 - "0219pna4l3vvhyf5acsc87n48jzdnws6kwyhaiy3hy1pzrilv32l")))) + "11jnqz218rga3f4ppf1d927c7qhh2qpghwjpsrnrxdkz5nrvnf79")))) (build-system cmake-build-system) (arguments `(#:phases @@ -1955,7 +1955,7 @@ gallons).") (define-public baloo (package (name "baloo") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1964,7 +1964,7 @@ gallons).") name "-" version ".tar.xz")) (sha256 (base32 - "18yknkcls1ypsp8n5l254bhlffiq4as5w1wgcjzhnf49cacys8nl")))) + "0xj12v0k58sr3snxyj4vx7dqhinrvk6qm0ikymscqgbmw9ijwxph")))) (build-system cmake-build-system) (propagated-inputs `(("kcoreaddons" ,kcoreaddons) @@ -2019,7 +2019,7 @@ maintaining an index of the contents of your files.") (define-public kactivities-stats (package (name "kactivities-stats") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2028,7 +2028,7 @@ maintaining an index of the contents of your files.") name "-" version ".tar.xz")) (sha256 (base32 - "0si70hayf4brr83jzdjdsfvp8nc1sb7vdk0q532liafhf8hw9mq8")))) + "129z2m5330j0l1nw8g3qjib60xmx54c6d2g9vnp4w8z0agnihs5f")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -2049,7 +2049,7 @@ by which applications, and what documents have been linked to which activity.") (define-public kbookmarks (package (name "kbookmarks") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2058,7 +2058,7 @@ by which applications, and what documents have been linked to which activity.") name "-" version ".tar.xz")) (sha256 (base32 - "08q413mr5ib04gwnqznvm9vkkfmnh16rgf6rqdvclnci9w7ml5x2")))) + "0clmfdcc1fc98q3vbfjf8x140a6df88ixhz0mny3dpv1wcr5cz53")))) (build-system cmake-build-system) (propagated-inputs `(("kwidgetsaddons" ,kwidgetsaddons))) @@ -2092,7 +2092,7 @@ using the XBEL format.") (define-public kcmutils (package (name "kcmutils") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2101,7 +2101,7 @@ using the XBEL format.") name "-" version ".tar.xz")) (sha256 (base32 - "1q67b0m6w3xvm22kq8b0b0rib1jzf25gf6dz7h286987zfbbs5n7")))) + "0xv899p9f0hj6hd089mhn910qn66bihzpaa11ikrhbimckw8g19q")))) (build-system cmake-build-system) (propagated-inputs `(("kconfigwidgets" ,kconfigwidgets) @@ -2131,7 +2131,7 @@ KCModules can be created with the KConfigWidgets framework.") (define-public kconfigwidgets (package (name "kconfigwidgets") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2140,7 +2140,7 @@ KCModules can be created with the KConfigWidgets framework.") name "-" version ".tar.xz")) (sha256 (base32 - "191zm24q2n001b65hcnfh2639k4iqhxwdmgdw29php3n2648xq4z")))) + "1nqcrqr67m3kvq2r83x45zcdghk12bas9fp0s43s68imrhy5xikz")))) (build-system cmake-build-system) (propagated-inputs `(("kauth" ,kauth) @@ -2174,7 +2174,7 @@ their settings.") (define-public kdeclarative (package (name "kdeclarative") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2183,7 +2183,7 @@ their settings.") name "-" version ".tar.xz")) (sha256 (base32 - "1w604jy6vg2247vggz0ivl7wy2h5iapkz2z86mah3aw99f7dqa22")))) + "0kgawb8wfx4snk2ckwxj0hmpgcvq3k1zpsxqdawi4cmsy4bxzfs9")))) (build-system cmake-build-system) (propagated-inputs `(("kconfig" ,kconfig) @@ -2237,7 +2237,7 @@ that offer bindings to some of the Frameworks.") (define-public kded (package (name "kded") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2246,7 +2246,7 @@ that offer bindings to some of the Frameworks.") name "-" version ".tar.xz")) (sha256 (base32 - "0w25dl4pnvby28gz0yvij32vi9n3p8si4nm4x45j7zsi2cb70j4l")))) + "1l6hs3spbs3618jwg3n7r3hrrkqxmmd43f0km8849x4641p72zyc")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -2270,7 +2270,7 @@ started on demand.") (define-public kdesignerplugin (package (name "kdesignerplugin") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2279,7 +2279,7 @@ started on demand.") name "-" version ".tar.xz")) (sha256 (base32 - "004axa1fkj954d65x7l9z8dmw04209hb368rwa4gjzb8naf13ib6")))) + "0hj4ng0i22rvw4kl0irhqhww3kvn4c0pncn38w1j5vim4gxv0xcd")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -2321,7 +2321,7 @@ ini-style description files.") (define-public kdesu (package (name "kdesu") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2330,7 +2330,7 @@ ini-style description files.") name "-" version ".tar.xz")) (sha256 (base32 - "0402p1h7wifk6sppg7ca9w0zfjllbhc1j5gsxj7ypq55g94np7hx")))) + "1gwvby51qqbkrs2vjpnplxr6m6xa5ddfdjs1iygh8kpqsh8a765k")))) (build-system cmake-build-system) (propagated-inputs `(("kpty" ,kpty))) @@ -2352,7 +2352,7 @@ with su and ssh respectively.") (define-public kdewebkit (package (name "kdewebkit") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2361,7 +2361,7 @@ with su and ssh respectively.") name "-" version ".tar.xz")) (sha256 (base32 - "1csd4p996im7ygxc5rfdkzgdpngjgzyqakj12rl9rnfbsd15i8kb")))) + "05idyw94ayjh7qdia9pnjmx29r5lsch421kv8h5ivr7ixcbrgk6n")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -2384,7 +2384,7 @@ engine WebKit via QtWebKit.") (define-public kemoticons (package (name "kemoticons") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2393,7 +2393,7 @@ engine WebKit via QtWebKit.") name "-" version ".tar.xz")) (sha256 (base32 - "0f6an1bwxnga41a2b35b2pdcni4p0hh76k4jvanl3g046v07f2wr")))) + "0mz9hkhnprjbrfq54mqcvj8w87h025785m1bas80brsqzvni5krn")))) (build-system cmake-build-system) (propagated-inputs `(("kservice" ,kservice))) @@ -2425,7 +2425,7 @@ emoticons coming from different providers.") (define-public kglobalaccel (package (name "kglobalaccel") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2434,7 +2434,7 @@ emoticons coming from different providers.") name "-" version ".tar.xz")) (sha256 (base32 - "0nlza73i0qd79yhwhpnvgbh2xa9lvd1n2xg25p3bvfzwidcfdxg6")))) + "1fk7wazfwr7smqiym3phm5yvw6cmiczag52y1vad8fgb3izd6zhl")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -2469,7 +2469,7 @@ window does not need focus for them to be activated.") (define-public kiconthemes (package (name "kiconthemes") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2478,7 +2478,7 @@ window does not need focus for them to be activated.") name "-" version ".tar.xz")) (sha256 (base32 - "1nbxxpf8bv835xl35b17rk8s3zs110bh31078kqqh7dhvwzlxic7")))) + "1f7pk6smi2f0mm7jkrw5ymmkhd9gi8vnmppyblp1v3pvmy571c2m")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -2516,7 +2516,7 @@ in applications using the KDE Frameworks.") (define-public kinit (package (name "kinit") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2525,7 +2525,7 @@ in applications using the KDE Frameworks.") name "-" version ".tar.xz")) (sha256 (base32 - "05vpac41pw1n8y58l2z08vyknzv950x8dxxw66dnymm2v31w07ia")))) + "1rq9b59gdgcpvwd694l8h55sqahpdaky0n7ag5psjlfn5myf1d95")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -2563,7 +2563,7 @@ makes starting KDE applications faster and reduces memory consumption.") (define-public kio (package (name "kio") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2572,7 +2572,7 @@ makes starting KDE applications faster and reduces memory consumption.") name "-" version ".tar.xz")) (sha256 (base32 - "1526a89x11ank55dp3rfp7xd04w8x7prjg3y6i7n2q9nabwhw7gc")))) + "0rrsg3g1b204cdp58vxd5dig1ggwyvk1382p1c86vn6w8qbrq27k")))) (build-system cmake-build-system) (propagated-inputs `(("kbookmarks" ,kbookmarks) @@ -2655,7 +2655,7 @@ KIO enabled infrastructure.") (define-public knewstuff (package (name "knewstuff") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2664,7 +2664,7 @@ KIO enabled infrastructure.") name "-" version ".tar.xz")) (sha256 (base32 - "0i2gmyp67xzf2m5wnv7v574q3gsp1yxfflv1jgl0wy57vchwn9g6")))) + "1vhcl2z9rcqg8390l1cwn3yyi1n17pn6mn8fsplp25qhzimb8bmk")))) (build-system cmake-build-system) (propagated-inputs `(("attica" ,attica) @@ -2712,7 +2712,7 @@ specification.") (define-public knotifyconfig (package (name "knotifyconfig") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2721,7 +2721,7 @@ specification.") name "-" version ".tar.xz")) (sha256 (base32 - "1h07bjj71611v6912m5ajli6qszh9w925zqbk3vih8rn6pd2s3mc")))) + "09v4aq5x98sqg2awhw0n0y0rnjkr77kbf51xij0fiykd4llp9lfa")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -2754,7 +2754,7 @@ notifications which can be embedded in your application.") (define-public kparts (package (name "kparts") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2763,7 +2763,7 @@ notifications which can be embedded in your application.") name "-" version ".tar.xz")) (sha256 (base32 - "1mb5gp2ckmmrb4ym7cqvyl81wnp7cryk85gmizl7cnn69svlf40h")))) + "0zdz0byj0gsbgb007y8x37w8yf1gkw6dsp2s9bbdc4w6h9ipdj2k")))) (build-system cmake-build-system) (propagated-inputs `(("kio" ,kio) @@ -2807,7 +2807,7 @@ widgets with a user-interface defined in terms of actions.") (define-public kpeople (package (name "kpeople") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2816,7 +2816,7 @@ widgets with a user-interface defined in terms of actions.") name "-" version ".tar.xz")) (sha256 (base32 - "050km3rpx58acx2341si46lxc2hywa59m8rwd849c2dnsxw3w1hm")))) + "0i5pd1d2jphsvpc3dpdw28dsdal1qrnnrx3k6qx4wax3f8ph5khv")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -2850,7 +2850,7 @@ to easily extend the contacts collection.") (define-public krunner (package (name "krunner") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2859,7 +2859,7 @@ to easily extend the contacts collection.") name "-" version ".tar.xz")) (sha256 (base32 - "0xh9kss67l09am1ilsr9zyx1yhlmaq3g9x60hw0sx7h7wrl6zsw6")))) + "02l5gch9hpag1q5ixnb541g7m9lx25pbggldpa8zykp63apyca19")))) (build-system cmake-build-system) (propagated-inputs `(("plasma-framework" ,plasma-framework))) @@ -2919,7 +2919,7 @@ typed.") (define-public kservice (package (name "kservice") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2928,7 +2928,7 @@ typed.") name "-" version ".tar.xz")) (sha256 (base32 - "0z8zfpd00ndvkm1klp8l4mrcksshhyg280zgmg3gffz5rgh3gwri")))) + "1wwb6c6m8f3b16p47adkc05rrlszvvym7ckks5xp08s58pk1dm8z")))) (build-system cmake-build-system) (propagated-inputs `(("kconfig" ,kconfig) @@ -2964,7 +2964,7 @@ types or handled by application specific code.") (define-public ktexteditor (package (name "ktexteditor") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2973,7 +2973,7 @@ types or handled by application specific code.") name "-" version ".tar.xz")) (sha256 (base32 - "020y3j6vm15sfpiwainr3qsx9i93j15mrvq523wmbmdj1z36yrh2")))) + "14iss8svx49vav0h2kg8vhv8g5hg4ky30s7049csfwz7xhp7jmcj")))) (build-system cmake-build-system) (propagated-inputs `(("kparts" ,kparts))) @@ -3044,7 +3044,7 @@ library.") (define-public ktextwidgets (package (name "ktextwidgets") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -3053,7 +3053,7 @@ library.") name "-" version ".tar.xz")) (sha256 (base32 - "088azbv95ycwxmxxw4l63i2l14fmn8l473pb4djh2mvz1ypfqayk")))) + "14gclshmpwmfwkp2hzlnf823pjjmknd9q0gdclsh3yy268c2rsw1")))) (build-system cmake-build-system) (propagated-inputs `(("ki18n" ,ki18n) @@ -3091,7 +3091,7 @@ It supports rich text as well as plain text.") (define-public kwallet (package (name "kwallet") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -3100,7 +3100,7 @@ It supports rich text as well as plain text.") name "-" version ".tar.xz")) (sha256 (base32 - "1kv3v7593srfn0wd7qp4rhvb30rxp7d2qmlwi0n4nc9s6v59pabn")))) + "13bmks9jb3yhp6clv25qkqkrvbhfyk9z16laxsv79jdd82lxgn1z")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -3133,7 +3133,7 @@ the passwords on KDE work spaces.") (define-public kxmlgui (package (name "kxmlgui") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -3142,7 +3142,7 @@ the passwords on KDE work spaces.") name "-" version ".tar.xz")) (sha256 (base32 - "0kfxjx8wrhkys5bydnv84nqxc2jqvv92zb2l6zpi0km5ggmia5y0")))) + "0wsgs5ya3wnc5cryi1r9i30sq8dnnhh15p02skdjlhwjfvdhxmfa")))) (build-system cmake-build-system) (propagated-inputs `(("kconfig" ,kconfig) @@ -3185,7 +3185,7 @@ descriptions for integrating actions from plugins.") (define-public kxmlrpcclient (package (name "kxmlrpcclient") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -3194,7 +3194,7 @@ descriptions for integrating actions from plugins.") name "-" version ".tar.xz")) (sha256 (base32 - "0ciip27ilsfk9s3gslpbi06v8i6ipdbmcig2jf43z3amsxpq0ncn")))) + "0l4jnvn7s77jkvd2z44mz24mfzcw499plms79j21pjryc88drh06")))) (build-system cmake-build-system) (propagated-inputs `(("kio" ,kio))) @@ -3228,7 +3228,7 @@ setUrl, setUserAgent and call.") (define-public plasma-framework (package (name "plasma-framework") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -3237,7 +3237,7 @@ setUrl, setUserAgent and call.") name "-" version ".tar.xz")) (sha256 (base32 - "079c8h0lmbkfr3srj5m8a40b50kyrxbgmy1n66329l8js9xrvaah")))) + "1yrccbkdpnfbgn7fzpmzzxm5c7fhkv1vqygq1f96r30fia0cj5jv")))) (build-system cmake-build-system) (propagated-inputs `(("kpackage" ,kpackage) @@ -3324,7 +3324,7 @@ script engines.") (define-public kde-frameworkintegration (package (name "kde-frameworkintegration") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -3333,7 +3333,7 @@ script engines.") "frameworkintegration-" version ".tar.xz")) (sha256 (base32 - "17fyny3c5chv7bipr19ayfjmd1amp2nms4ba5r7mwjp97xkphry7")))) + "1ni4jrny630zf3zwmqbm8z7dqgiar58992lylfv7kspdg5crcgfx")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 1d14e4b820..aa5be6b515 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -236,7 +236,7 @@ plugins, as well as code to create plugins, or complete applications.") (define-public krita (package (name "krita") - (version "4.0.1") + (version "4.1.1") (source (origin (method url-fetch) (uri (string-append @@ -245,7 +245,7 @@ plugins, as well as code to create plugins, or complete applications.") "/" name "-" version ".tar.gz")) (sha256 (base32 - "0k55ybvna40dx4fqygnix7bnhjaanak3ckb108hny2k7sspy62pc")))) + "1qz9bjvnwa5gc2b0063i2p72jq6y1b6kgqdj39599acp7ws11asw")))) (build-system cmake-build-system) (arguments `(#:tests? #f @@ -316,7 +316,7 @@ plugins, as well as code to create plugins, or complete applications.") ("fftw" ,fftw) ("gsl" ,gsl) ("poppler-qt5" ,poppler-qt5) - ("libraw" ,libraw) + ("libraw" ,libraw-0.18) ("libtiff" ,libtiff) ("perl" ,perl) ("ilmbase" ,ilmbase) @@ -329,23 +329,6 @@ illustrators, matte and texture artists, and the VFX industry. Notable features include brush stabilizers, brush engines and wrap-around mode.") (license license:gpl2+))) -;; Krita 3 and 4's file formats are incompatible, so we are keeping Krita 3 -;; for now. -(define-public krita-3 - (package - (inherit krita) - (name "krita") - (version "3.3.3") - (source (origin - (inherit (package-source krita)) - (uri (string-append - "mirror://kde/stable/krita/" - (version-prefix version 3) - "/" name "-" version ".tar.gz")) - (sha256 - (base32 - "0pc6hnakkqy81x5b5ncivaps6hqv43i50sjwgi3i3cz9j8rlxh5y")))))) - (define-public kholidays (package (name "kholidays") @@ -418,7 +401,7 @@ used in KDE development tools Kompare and KDevelop.") (define-public libksysguard (package (name "libksysguard") - (version "5.11.5") + (version "5.13.4") (source (origin (method url-fetch) @@ -426,7 +409,7 @@ used in KDE development tools Kompare and KDevelop.") "/libksysguard-" version ".tar.xz")) (sha256 (base32 - "0f2py4zkqzpxxf3mqaij0q8ka0v3nschj17dv6rbzzmr5mjv825f")))) + "0k8q5bxk9zyv7c3nny1c399v8acqs618nw39q20pj2qdijl9ibvh")))) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) ("pkg-config" ,pkg-config))) @@ -468,7 +451,7 @@ used in KDE development tools Kompare and KDevelop.") (lambda _ ;; TODO: Fix this failing test-case (zero? (system* "ctest" "-E" "processtest"))))))) - (home-page "https://www.kde.org/info/plasma-5.11.5.php") + (home-page "https://www.kde.org/info/plasma-5.13.4.php") (synopsis "Network enabled task and system monitoring") (description "KSysGuard can obtain information on system load and manage running processes. It obtains this information by interacting diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 696544c368..14f23db888 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -29,6 +29,7 @@ ;;; Copyright © 2017 Dave Love <fx@gnu.org> ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr> ;;; Copyright © 2018 Brendan Tildesley <brendan.tildesley@openmailbox.org> +;;; Copyright © 2018 Manuel Graf <graf@init.at> ;;; ;;; This file is part of GNU Guix. ;;; @@ -445,8 +446,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.152" - "082aajyr363ca95pxlg9iascf5d7k2gbw9ggsbsa1hj6nhspsxw6" + (make-linux-libre "4.4.153" + "195vzkkmjiicqfzd38hgf381rlz665rl06abzf8cww0gbnzvrf72" %intel-compatible-systems #:configuration-file kernel-config)) @@ -3615,10 +3616,52 @@ The following service daemons are also provided: license:cc0 ; most files in ccan/ license:bsd-3)))) ; providers/hfi1verbs are dual GPL2/BSD-3 +(define-public perftest + (package + (name "perftest") + (version "4.2-0.8") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/linux-rdma/perftest/releases/download/V" + version "/perftest-" version ".g0e24e67.tar.gz")) + (sha256 + (base32 "1r3pxn7cx3grb8myb4q1b0pk447pc06cifd0v7ym13xw00372dlx")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-header-paths + (lambda _ + (substitute* '("src/raw_ethernet_fs_rate.c" + "src/raw_ethernet_resources.c" + "src/raw_ethernet_resources.h" + "src/raw_ethernet_send_burst_lat.c" + "src/raw_ethernet_send_bw.c" + "src/raw_ethernet_send_lat.c") + (("/usr/include/netinet/ip.h") "netinet/ip.h")) + #t))))) + (inputs `(("rdma-core" ,rdma-core))) + (home-page "https://github.com/linux-rdma/perftest/") + (synopsis "Open Fabrics Enterprise Distribution (OFED) Performance Tests") + (description "This is a collection of tests written over uverbs intended for +use as a performance micro-benchmark. The tests may be used for hardware or +software tuning as well as for functional testing. + +The collection contains a set of bandwidth and latency benchmark such as: +@enumerate +@item Send - @code{ib_send_bw} and @code{ib_send_lat} +@item RDMA Read - @code{ib_read_bw} and @code{ib_read_lat} +@item RDMA Write - @code{ib_write_bw} and @code{ib_wriet_lat} +@item RDMA Atomic - @code{ib_atomic_bw} and @code{ib_atomic_lat} +@item Native Ethernet (when working with MOFED2) - @code{raw_ethernet_bw}, @code{raw_ethernet_lat} +@end enumerate") + (license license:gpl2))) + (define-public rng-tools (package (name "rng-tools") - (version "6.3.1") + (version "6.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/nhorman/rng-tools/" @@ -3626,7 +3669,7 @@ The following service daemons are also provided: (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "04p7wvcm389s21y9mq8ss6z2szxi4nfrfixzwqjkq2qciz705i4s")))) + "005krksl8iz37l5p1nx8apl1yg7q78yrsb6inby31d2g5ck8nnwa")))) (build-system gnu-build-system) (arguments `(;; Avoid using OpenSSL, curl, and libxml2, reducing the closure by 166 MiB. diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index add7f1b40c..cd710bcb79 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com> -;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Roel Janssen <roel@gnu.org> ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> @@ -30,6 +30,7 @@ #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) + #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages gcc) #:use-module (gnu packages bootstrap) ;glibc-dynamic-linker @@ -380,3 +381,53 @@ code analysis tools.") (patches (list (search-patch "llvm-for-extempore.patch"))))) ;; Extempore refuses to build on architectures other than x86_64 (supported-systems '("x86_64-linux")))) + +(define-public python-llvmlite + (package + (name "python-llvmlite") + (version "0.24.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "llvmlite" version)) + (sha256 + (base32 + "01zwjlc3c5mhrwmv4b73zgbskwqps9ly0nrh54bbj1f1l72f839j")))) + (build-system python-build-system) + (inputs + `(("llvm" + ,(package + (inherit llvm) + (source (origin + (inherit (package-source llvm)) + (patches + (list + (origin + (method url-fetch) + (uri (string-append "https://raw.githubusercontent.com/numba/" + "llvmlite/v" version "/conda-recipes/" + "D47188-svml.patch")) + (sha256 + (base32 + "0mrj24jvkv3hjcmyg98zmvmyl1znlh2j63rdr69f6g7s96d2pfv1"))) + (origin + (method url-fetch) + (uri (string-append "https://raw.githubusercontent.com/numba/" + "llvmlite/v" version "/conda-recipes/" + "twine_cfg_undefined_behavior.patch")) + (sha256 + (base32 + "07h71n2m1mn9zcfgw04zglffknplb233zqbcd6pckq0wygkrxflp"))) + (origin + (method url-fetch) + (uri (string-append "https://raw.githubusercontent.com/numba/" + "llvmlite/v" version "/conda-recipes/" + "0001-Transforms-Add-missing-header-for-InstructionCombini.patch")) + (sha256 + (base32 + "1pp0z9696l6j4dwz7ypjrm4vvkj0d3mlf1g8zmiyk08akw5lz0cb"))))))))))) + (home-page "http://llvmlite.pydata.org") + (synopsis "Wrapper around basic LLVM functionality") + (description + "This package provides a Python binding to LLVM for use in Numba.") + (license license:bsd-3))) diff --git a/gnu/packages/lxde.scm b/gnu/packages/lxde.scm index 9a0d8e957d..19938fa93c 100644 --- a/gnu/packages/lxde.scm +++ b/gnu/packages/lxde.scm @@ -5,6 +5,8 @@ ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018 Ison111 <ison111@protonmail.com> +;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,17 +26,21 @@ (define-module (gnu packages lxde) #:use-module (gnu packages) #:use-module (gnu packages autotools) + #:use-module (gnu packages bash) #:use-module (gnu packages docbook) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) #:use-module (gnu packages image-viewers) #:use-module (gnu packages linux) + #:use-module (gnu packages lsof) #:use-module (gnu packages openbox) #:use-module (gnu packages pkg-config) #:use-module (gnu packages polkit) #:use-module (gnu packages text-editors) + #:use-module (gnu packages video) #:use-module (gnu packages wm) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) @@ -230,6 +236,48 @@ with freedesktop.org standard.") (home-page "https://lxde.org") (license license:gpl2+))) +(define-public spacefm + ;; SpaceFM is based on PCManFM. + (package + (name "spacefm") + (version "1.0.6") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/IgnorantGuru/spacefm/archive/" + version ".tar.gz")) + (sha256 + (base32 + "1jg7xfyr7kihjnalxp8wxyb9qjk8hqf5l36rp3s0lvkpmpyakppy")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system gnu-build-system) + (native-inputs `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (inputs `(("bash" ,bash) + ("gtk+" ,gtk+) + ("eudev" ,eudev) + ("desktop-file-utils" ,desktop-file-utils) + ("shared-mime-info" ,shared-mime-info) + ("ffmpegthumbnailer" ,ffmpegthumbnailer) + ("jmtpfs" ,jmtpfs) + ("lsof" ,lsof) + ("udisks" ,udisks))) + (arguments + `(#:configure-flags (list (string-append "--with-bash-path=" + (assoc-ref %build-inputs "bash") + "/bin/bash") + (string-append "--sysconfdir=" + (assoc-ref %outputs "out") + "/etc")))) + (home-page "http://ignorantguru.github.io/spacefm/") + (synopsis "Multi-panel tabbed file manager") + (description "SpaceFM is a graphical, multi-panel, tabbed file manager +based on PCManFM with built-in virtual file system, udev-based device manager, +customizable menu system, and Bash integration.") + + ;; The combination is GPLv3+ but src/exo is under LGPLv3+. + (license license:gpl3+))) + (define-public lxmenu-data (package (name "lxmenu-data") diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index d1c1c096e5..4944dd7622 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -706,9 +706,9 @@ attachments, create new maildirs, and so on.") ("python2-pygpgme" ,python2-pygpgme) ("python2-notmuch" ,python2-notmuch))) (home-page "https://github.com/pazz/alot") - (synopsis "Commandline MUA using notmuch") + (synopsis "Command-line MUA using @code{notmuch}") (description - "Alot is an experimental terminal mail user agent (MUA) based on + "Alot is an experimental terminal mail user agent (@dfn{MUA}) based on @code{notmuch} mail. It is written in Python using the @code{urwid} toolkit.") (license gpl3+))) @@ -1011,7 +1011,7 @@ compresses it.") (define-public claws-mail (package (name "claws-mail") - (version "3.17.0") + (version "3.17.1") (source (origin (method url-fetch) (uri (string-append @@ -1019,7 +1019,7 @@ compresses it.") ".tar.xz")) (sha256 (base32 - "119y6q9p8zwm2xqlbkgqd119a529kjqlyldmb4h940z6c2qyjhqm")))) + "1wknxbwyzm5xjh3cqmddcxmvp1rkp301qga5n5rgfi7vcd0myyvm")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("bogofilter" ,bogofilter) @@ -2596,3 +2596,29 @@ processes mailboxes based on the results. It can be used to delete, copy, move, flag, etc. messages residing in mailboxes at the same or different mail servers. The 4rev1 and 4 versions of IMAP are supported.") (license license:expat))) + +(define-public urlscan + (package + (name "urlscan") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "urlscan" version)) + (sha256 + (base32 + "133f28bisr4xj0nihpwpil8dyadss62mp8qgqdyzd676hg9xjfyc")))) + (build-system python-build-system) + (propagated-inputs + `(("python-urwid" ,python-urwid))) + (home-page "https://github.com/firecat53/urlscan") + (synopsis "View/select the URLs in an email message or file") + (description + "Urlscan is a small program that is designed to integrate with the +@code{mutt} mailreader to allow you to easily launch a Web browser for URLs +contained in email messages. It parses an email message or file and scans it +for URLs and email addresses. It then displays the URLs and their context +within the message, and allows you to choose one or more URLs to send to your +Web browser. Alternatively, it send a list of all URLs to stdout. It is a +replacement for the @code{urlview} program.") + (license gpl2))) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 3d571e8cc9..50c0a320e0 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -459,7 +459,7 @@ computing convex hulls.") (define-public arpack-ng (package (name "arpack-ng") - (version "3.5.0") + (version "3.6.2") (home-page "https://github.com/opencollab/arpack-ng") (source (origin @@ -468,13 +468,8 @@ computing convex hulls.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0f8jx3fifmj9qdp289zr7r651y1q48k1jya859rqxq62mvis7xsh")))) + "16jrvdl0gh78rrfnvrcxwys4slwfh6qmwwjhfc9d6vwrvq184g37")))) (build-system gnu-build-system) - (arguments - '(#:phases (modify-phases %standard-phases - (add-after 'unpack 'autoreconf - (lambda _ - (invoke "autoreconf" "-vfi")))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -2049,12 +2044,12 @@ programming problems.") (define-public r-pracma (package (name "r-pracma") - (version "2.1.4") + (version "2.1.5") (source (origin (method url-fetch) (uri (cran-uri "pracma" version)) (sha256 - (base32 "1ygm81i7mqvh229dp9935djjyb120p3bqvaf4k572sa4q63fzjhc")))) + (base32 "18cv7c2gvagbmggfbsy2xk9bpn47izd0qrmqnc3q7afvj6pr6nf9")))) (build-system r-build-system) (propagated-inputs `(("r-quadprog" ,r-quadprog))) @@ -3517,7 +3512,7 @@ set.") (define-public hypre (package (name "hypre") - (version "2.11.0") + (version "2.14.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/LLNL/hypre/archive/" @@ -3525,7 +3520,7 @@ set.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0q69ia0jivzcr8p049dn3mg8yjpn6nwq4sw9iqac8vr63vi54l6m")) + "0v515i73bvaz378h5465b1dy9v2gf924zy2q94cpq4qqarawvkqh")) (modules '((guix build utils))) (snippet '(begin @@ -3533,7 +3528,7 @@ set.") ;; substitute the tarball creation time. (substitute* "src/utilities/HYPRE_utilities.h" (("Date Compiled: .*$") - "Date Compiled: Mar 28 2016 20:19:59 +0000\"\n")) + "Date Compiled: Apr 11 2018 16:24:59 +0000\"\n")) #t)))) (build-system gnu-build-system) (outputs '("out" ;6.1 MiB of headers and libraries diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index b03cb8f03a..42a0847b7a 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -548,14 +548,14 @@ simultaneously and therefore appear under the same nickname on IRC.") (define-public python-nbxmpp (package (name "python-nbxmpp") - (version "0.6.6") + (version "0.6.7") (source (origin (method url-fetch) (uri (pypi-uri "nbxmpp" version)) (sha256 (base32 - "0bp60syqc3qp2i28phvadxlpwizjbr6bxw4m363p9yn5fl687qnh")))) + "0fas4iawjfdmkz8vr042wpq6b2qispi6fy35g4a62jw50jb1saav")))) (build-system python-build-system) (arguments `(#:tests? #f)) ; no tests @@ -873,7 +873,7 @@ protocols.") (define-public c-toxcore (package (name "c-toxcore") - (version "0.2.6") + (version "0.2.7") (source (origin (method url-fetch) @@ -882,7 +882,7 @@ protocols.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "04b3ifkj64yy06vph0hlq24mw9fh24zmq1qdf40fmj24vvgfmjpl")))) + "1lcw979zakyb5kzy8yfk87js3bzfz3k2jxidda6ga6ljdnqdpxmy")))) (arguments `(#:tests? #f)) ; FIXME: Testsuite seems to stay stuck on test 3. Disable ; for now. @@ -1565,7 +1565,7 @@ using ncurses and libmesode, inspired by Irssi.") (define-public libircclient (package (name "libircclient") - (version "1.9") + (version "1.10") (source (origin (method url-fetch) @@ -1573,7 +1573,7 @@ using ncurses and libmesode, inspired by Irssi.") version "/libircclient-" version ".tar.gz")) (sha256 (base32 - "0r60i76jh4drjh2jgp5sx71chagqllmkaq49zv67nrhqwvp9ghw1")))) + "0b9wa0h3xc31wpqlvgxgnvqp5wgx3kwsf5s9432m5cj8ycx6zcmv")))) (build-system gnu-build-system) (inputs `(("openssl" ,openssl))) @@ -1584,8 +1584,7 @@ using ncurses and libmesode, inspired by Irssi.") "--enable-shared" "--enable-ipv6" "--enable-openssl") - ;; no test suite - #:tests? #f)) + #:tests? #f)) ; no test suite (home-page "https://www.ulduzsoft.com/libircclient/") (synopsis "Library implementing the client IRC protocol") (description "Libircclient is a library which implements the client IRC diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm index fae62d5493..12d736a76a 100644 --- a/gnu/packages/monitoring.scm +++ b/gnu/packages/monitoring.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com> +;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,18 +30,25 @@ #:use-module (guix build-system python) #:use-module (guix build-system gnu) #:use-module (guix build-system go) + #:use-module (guix utils) #:use-module (gnu packages admin) #:use-module (gnu packages base) + #:use-module (gnu packages curl) #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages databases) #:use-module (gnu packages django) #:use-module (gnu packages gd) #:use-module (gnu packages image) #:use-module (gnu packages mail) + #:use-module (gnu packages networking) + #:use-module (gnu packages libevent) + #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages python) #:use-module (gnu packages python-web) - #:use-module (gnu packages time)) + #:use-module (gnu packages time) + #:use-module (gnu packages tls)) (define-public nagios (package @@ -138,6 +146,79 @@ etc. via a Web interface. Features include: @end itemize\n") (license license:gpl2))) +(define-public zabbix-agentd + (package + (name "zabbix-agentd") + (version "3.4.11") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/zabbix/ZABBIX%20Latest%20Stable/" version + "/zabbix-" version ".tar.gz")) + (sha256 + (base32 + "0qxgf6hx7ibhjmxd2sxizkjc8df4c9d31wz5hhql409ws98qf173")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list "--enable-agent" + (string-append "--with-iconv=" + (assoc-ref %build-inputs "libiconv")) + (string-append "--with-libpcre=" + (assoc-ref %build-inputs "pcre"))))) + (inputs + `(("libiconv" ,libiconv) + ("pcre" ,pcre))) + (home-page "https://www.zabbix.com/") + (synopsis "Distributed monitoring solution (client-side agent)") + (description "This package provides a distributed monitoring +solution (client-side agent)") + (license license:gpl2))) + +(define-public zabbix-server + (package + (inherit zabbix-agentd) + (name "zabbix-server") + (arguments + (substitute-keyword-arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'install-frontend + (lambda* (#:key outputs #:allow-other-keys) + (let* ((php (string-append (assoc-ref outputs "out") + "/share/zabbix/php")) + (front-end-conf (string-append php "/conf")) + (etc (string-append php "/etc"))) + (mkdir-p php) + (copy-recursively "./frontends/php" php) + (rename-file front-end-conf + (string-append front-end-conf "-example")) + (symlink "/etc/zabbix" front-end-conf))))) + ,@(package-arguments zabbix-agentd)) + ((#:configure-flags flags) + `(cons* "--enable-server" + "--with-postgresql" + (string-append "--with-libevent=" + (assoc-ref %build-inputs "libevent")) + "--with-net-snmp" + (string-append "--with-gnutls=" + (assoc-ref %build-inputs "gnutls")) + "--with-libcurl" + ,flags)))) + (inputs + `(("curl" ,curl) + ("libevent" ,libevent) + ("gnutls" ,gnutls) + ("postgresql" ,postgresql) + ("zlib" ,zlib) + ("net-snmp" ,net-snmp) + ("curl" ,curl) + ,@(package-inputs zabbix-agentd))) + (synopsis "Distributed monitoring solution (server-side)") + (description "This package provides a distributed monitoring +solution (server-side)"))) + (define-public darkstat (package (name "darkstat") diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index edffcfce96..ba21e5da2b 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -3685,7 +3685,7 @@ specification and header.") (define-public rosegarden (package (name "rosegarden") - (version "17.04") + (version "18.06") (source (origin (method url-fetch) (uri (string-append @@ -3693,7 +3693,7 @@ specification and header.") version "/rosegarden-" version ".tar.bz2")) (sha256 (base32 - "1khfcj22asdhjh0jvhkqsz200wgmigkhsrcz09ffia5hqm0n32lq")))) + "04qc80sqb2ji42pq3mayhvqqn39hlxzymsywpbpzfpchr19chxx7")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DUSE_QT5=1") ; "-DCMAKE_BUILD_TYPE=Release" @@ -3747,6 +3747,7 @@ specification and header.") ;; Tests create files in $HOME/.local/share/rosegarden . (mkdir-p "/tmp/foo") (setenv "HOME" "/tmp/foo") + (setenv "XDG_RUNTIME_DIR" "/tmp/foo") #t))))) (inputs `(("alsa-lib" ,alsa-lib) @@ -3773,7 +3774,7 @@ sequencer") (description "Rosegarden is a music composition and editing environment based around a MIDI sequencer that features a rich understanding of music notation and includes basic support for digital audio.") - (home-page "http://www.rosegardenmusic.com/") + (home-page "https://www.rosegardenmusic.com/") (license license:gpl2))) (define-public patchmatrix diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 943bcecb86..61c0ad7fba 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -2013,7 +2013,9 @@ Features: (list (string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref %outputs "out") "/lib") - "--with-logfile=/var/log/snmpd.log") + "--with-logfile=/var/log/snmpd.log" + (string-append "--with-openssl=" + (assoc-ref %build-inputs "openssl"))) #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-tests diff --git a/gnu/packages/opencl.scm b/gnu/packages/opencl.scm index 42cedd1544..d32e696438 100644 --- a/gnu/packages/opencl.scm +++ b/gnu/packages/opencl.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -57,7 +58,7 @@ (uri (git-reference (url "https://github.com/KhronosGroup/OpenCL-Headers.git") (commit commit))) - (file-name (string-append name "-" commit)) + (file-name (git-file-name name version)) (sha256 (base32 "176ydpbyws5nr4av6hf8p41pkhc0rc4m4vrah9w6gp2fw2i32838")))) @@ -102,15 +103,15 @@ programming.") (package (name "opencl-clhpp") (version "2.0.10") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/KhronosGroup/OpenCL-CLHPP/archive/v" - version ".tar.gz")) - (sha256 - (base32 - "0awg6yznbz3h285kmnd47fykx2qa34a07sr4x1657yn3jmi4a9zs")) - (file-name (string-append name "-" version ".tar.gz")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/KhronosGroup/OpenCL-CLHPP.git") + (commit (string-append "v" version)))) + (sha256 + (base32 "0h5kpg5cl8wzfnqmv6i26aig2apv06ffm9p3rh35938n9r8rladm")) + (file-name (git-file-name name version)))) (native-inputs `(("python" ,python-wrapper))) (propagated-inputs @@ -124,7 +125,7 @@ programming.") (string-append "-DCMAKE_INSTALL_PREFIX=" (assoc-ref %outputs "out") "/include"))) - ;; regression tests requires a lot more dependencies + ;; The regression tests require a lot more dependencies. #:tests? #f)) (build-system cmake-build-system) (home-page "http://github.khronos.org/OpenCL-CLHPP/") @@ -174,15 +175,15 @@ Loader as provided by this package.") (package (name "clinfo") (version "2.2.18.04.06") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/Oblomov/clinfo/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0v7cy01irwdgns6lzaprkmm0502pp5a24zhhffydxz1sgfjj2w7p")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Oblomov/clinfo.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0y2q0lz5yzxy970b7w7340vp4fl25vndahsyvvrywcrn51ipgplx")))) (build-system gnu-build-system) (native-inputs `(("opencl-headers" ,opencl-headers))) @@ -216,22 +217,21 @@ the system.") (package (name "beignet") (version "1.3.2") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/intel/beignet/archive/Release_v" - version - ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "18r0lq3dkd4yn6bxa45s2lrr9cjbg70nr2nn6xablvgqwzw0jb0r")) - (patches (search-patches "beignet-correct-file-names.patch")) - (modules '((guix build utils))) - (snippet - ;; There's a suspicious .isa binary file under kernels/. - ;; Remove it. - '(for-each delete-file (find-files "." "\\.isa$"))))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/intel/beignet.git") + (commit (string-append "Release_v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0lpv3lvi2vrmzb8blflrpbd3jgin76zqmz6jcv17vn9mylqdrfnd")) + (patches (search-patches "beignet-correct-file-names.patch")) + (modules '((guix build utils))) + (snippet + ;; There's a suspicious .isa binary file under kernels/. + ;; Remove it. + '(for-each delete-file (find-files "." "\\.isa$"))))) (native-inputs `(("pkg-config" ,pkg-config) ("python" ,python))) (inputs `(("clang@3.7" ,clang-3.7) @@ -295,15 +295,15 @@ back-end for the LLVM compiler framework.") (package (name "pocl") (version "1.1") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/pocl/pocl/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0lrw3hlb0w53xzmrf2hvbda406l70ar4gyadflvlkj4879lx138y")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pocl/pocl.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1z3sqn20ddv1030adchpzs65qng436gc2mb99p213mkh95jkh1l5")))) (build-system cmake-build-system) (native-inputs `(("libltdl" ,libltdl) @@ -323,12 +323,6 @@ back-end for the LLVM compiler framework.") (assoc-ref %build-inputs "libc") "/lib")) #:phases (modify-phases %standard-phases - (add-after 'install 'remove-headers - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (delete-file-recursively - (string-append out "/include")) - #t))) (add-before 'check 'set-HOME (lambda _ (setenv "HOME" "/tmp") diff --git a/gnu/packages/patches/dropbear-CVE-2018-15599.patch b/gnu/packages/patches/dropbear-CVE-2018-15599.patch new file mode 100644 index 0000000000..a474552cd2 --- /dev/null +++ b/gnu/packages/patches/dropbear-CVE-2018-15599.patch @@ -0,0 +1,240 @@ +Fix CVE-2018-15599: + +http://lists.ucc.gu.uwa.edu.au/pipermail/dropbear/2018q3/002108.html +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-15599 + +Patch copied from upstream source repository: + +https://github.com/mkj/dropbear/commit/52adbb34c32d3e2e1bcdb941e20a6f81138b8248 + +From 52adbb34c32d3e2e1bcdb941e20a6f81138b8248 Mon Sep 17 00:00:00 2001 +From: Matt Johnston <matt@ucc.asn.au> +Date: Thu, 23 Aug 2018 23:43:12 +0800 +Subject: [PATCH] Wait to fail invalid usernames + +--- + auth.h | 6 +++--- + svr-auth.c | 19 +++++-------------- + svr-authpam.c | 26 ++++++++++++++++++++++---- + svr-authpasswd.c | 27 ++++++++++++++------------- + svr-authpubkey.c | 11 ++++++++++- + 5 files changed, 54 insertions(+), 35 deletions(-) + +diff --git a/auth.h b/auth.h +index da498f5b..98f54683 100644 +--- a/auth.h ++++ b/auth.h +@@ -37,9 +37,9 @@ void recv_msg_userauth_request(void); + void send_msg_userauth_failure(int partial, int incrfail); + void send_msg_userauth_success(void); + void send_msg_userauth_banner(const buffer *msg); +-void svr_auth_password(void); +-void svr_auth_pubkey(void); +-void svr_auth_pam(void); ++void svr_auth_password(int valid_user); ++void svr_auth_pubkey(int valid_user); ++void svr_auth_pam(int valid_user); + + #if DROPBEAR_SVR_PUBKEY_OPTIONS_BUILT + int svr_pubkey_allows_agentfwd(void); +diff --git a/svr-auth.c b/svr-auth.c +index c19c0901..edde86bc 100644 +--- a/svr-auth.c ++++ b/svr-auth.c +@@ -149,10 +149,8 @@ void recv_msg_userauth_request() { + if (methodlen == AUTH_METHOD_PASSWORD_LEN && + strncmp(methodname, AUTH_METHOD_PASSWORD, + AUTH_METHOD_PASSWORD_LEN) == 0) { +- if (valid_user) { +- svr_auth_password(); +- goto out; +- } ++ svr_auth_password(valid_user); ++ goto out; + } + } + #endif +@@ -164,10 +162,8 @@ void recv_msg_userauth_request() { + if (methodlen == AUTH_METHOD_PASSWORD_LEN && + strncmp(methodname, AUTH_METHOD_PASSWORD, + AUTH_METHOD_PASSWORD_LEN) == 0) { +- if (valid_user) { +- svr_auth_pam(); +- goto out; +- } ++ svr_auth_pam(valid_user); ++ goto out; + } + } + #endif +@@ -177,12 +173,7 @@ void recv_msg_userauth_request() { + if (methodlen == AUTH_METHOD_PUBKEY_LEN && + strncmp(methodname, AUTH_METHOD_PUBKEY, + AUTH_METHOD_PUBKEY_LEN) == 0) { +- if (valid_user) { +- svr_auth_pubkey(); +- } else { +- /* pubkey has no failure delay */ +- send_msg_userauth_failure(0, 0); +- } ++ svr_auth_pubkey(valid_user); + goto out; + } + #endif +diff --git a/svr-authpam.c b/svr-authpam.c +index 05e4f3e5..d201bc96 100644 +--- a/svr-authpam.c ++++ b/svr-authpam.c +@@ -178,13 +178,14 @@ pamConvFunc(int num_msg, + * Keyboard interactive would be a lot nicer, but since PAM is synchronous, it + * gets very messy trying to send the interactive challenges, and read the + * interactive responses, over the network. */ +-void svr_auth_pam() { ++void svr_auth_pam(int valid_user) { + + struct UserDataS userData = {NULL, NULL}; + struct pam_conv pamConv = { + pamConvFunc, + &userData /* submitted to pamvConvFunc as appdata_ptr */ + }; ++ const char* printable_user = NULL; + + pam_handle_t* pamHandlep = NULL; + +@@ -204,12 +205,23 @@ void svr_auth_pam() { + + password = buf_getstring(ses.payload, &passwordlen); + ++ /* We run the PAM conversation regardless of whether the username is valid ++ in case the conversation function has an inherent delay. ++ Use ses.authstate.username rather than ses.authstate.pw_name. ++ After PAM succeeds we then check the valid_user flag too */ ++ + /* used to pass data to the PAM conversation function - don't bother with + * strdup() etc since these are touched only by our own conversation + * function (above) which takes care of it */ +- userData.user = ses.authstate.pw_name; ++ userData.user = ses.authstate.username; + userData.passwd = password; + ++ if (ses.authstate.pw_name) { ++ printable_user = ses.authstate.pw_name; ++ } else { ++ printable_user = "<invalid username>"; ++ } ++ + /* Init pam */ + if ((rc = pam_start("sshd", NULL, &pamConv, &pamHandlep)) != PAM_SUCCESS) { + dropbear_log(LOG_WARNING, "pam_start() failed, rc=%d, %s", +@@ -242,7 +254,7 @@ void svr_auth_pam() { + rc, pam_strerror(pamHandlep, rc)); + dropbear_log(LOG_WARNING, + "Bad PAM password attempt for '%s' from %s", +- ses.authstate.pw_name, ++ printable_user, + svr_ses.addrstring); + send_msg_userauth_failure(0, 1); + goto cleanup; +@@ -253,12 +265,18 @@ void svr_auth_pam() { + rc, pam_strerror(pamHandlep, rc)); + dropbear_log(LOG_WARNING, + "Bad PAM password attempt for '%s' from %s", +- ses.authstate.pw_name, ++ printable_user, + svr_ses.addrstring); + send_msg_userauth_failure(0, 1); + goto cleanup; + } + ++ if (!valid_user) { ++ /* PAM auth succeeded but the username isn't allowed in for another reason ++ (checkusername() failed) */ ++ send_msg_userauth_failure(0, 1); ++ } ++ + /* successful authentication */ + dropbear_log(LOG_NOTICE, "PAM password auth succeeded for '%s' from %s", + ses.authstate.pw_name, +diff --git a/svr-authpasswd.c b/svr-authpasswd.c +index bdee2aa1..69c7d8af 100644 +--- a/svr-authpasswd.c ++++ b/svr-authpasswd.c +@@ -48,22 +48,14 @@ static int constant_time_strcmp(const char* a, const char* b) { + + /* Process a password auth request, sending success or failure messages as + * appropriate */ +-void svr_auth_password() { ++void svr_auth_password(int valid_user) { + + char * passwdcrypt = NULL; /* the crypt from /etc/passwd or /etc/shadow */ + char * testcrypt = NULL; /* crypt generated from the user's password sent */ +- char * password; ++ char * password = NULL; + unsigned int passwordlen; +- + unsigned int changepw; + +- passwdcrypt = ses.authstate.pw_passwd; +- +-#ifdef DEBUG_HACKCRYPT +- /* debugging crypt for non-root testing with shadows */ +- passwdcrypt = DEBUG_HACKCRYPT; +-#endif +- + /* check if client wants to change password */ + changepw = buf_getbool(ses.payload); + if (changepw) { +@@ -73,12 +65,21 @@ void svr_auth_password() { + } + + password = buf_getstring(ses.payload, &passwordlen); +- +- /* the first bytes of passwdcrypt are the salt */ +- testcrypt = crypt(password, passwdcrypt); ++ if (valid_user) { ++ /* the first bytes of passwdcrypt are the salt */ ++ passwdcrypt = ses.authstate.pw_passwd; ++ testcrypt = crypt(password, passwdcrypt); ++ } + m_burn(password, passwordlen); + m_free(password); + ++ /* After we have got the payload contents we can exit if the username ++ is invalid. Invalid users have already been logged. */ ++ if (!valid_user) { ++ send_msg_userauth_failure(0, 1); ++ return; ++ } ++ + if (testcrypt == NULL) { + /* crypt() with an invalid salt like "!!" */ + dropbear_log(LOG_WARNING, "User account '%s' is locked", +diff --git a/svr-authpubkey.c b/svr-authpubkey.c +index aa6087c9..ff481c87 100644 +--- a/svr-authpubkey.c ++++ b/svr-authpubkey.c +@@ -79,7 +79,7 @@ static int checkfileperm(char * filename); + + /* process a pubkey auth request, sending success or failure message as + * appropriate */ +-void svr_auth_pubkey() { ++void svr_auth_pubkey(int valid_user) { + + unsigned char testkey; /* whether we're just checking if a key is usable */ + char* algo = NULL; /* pubkey algo */ +@@ -102,6 +102,15 @@ void svr_auth_pubkey() { + keybloblen = buf_getint(ses.payload); + keyblob = buf_getptr(ses.payload, keybloblen); + ++ if (!valid_user) { ++ /* Return failure once we have read the contents of the packet ++ required to validate a public key. ++ Avoids blind user enumeration though it isn't possible to prevent ++ testing for user existence if the public key is known */ ++ send_msg_userauth_failure(0, 0); ++ goto out; ++ } ++ + /* check if the key is valid */ + if (checkpubkey(algo, algolen, keyblob, keybloblen) == DROPBEAR_FAILURE) { + send_msg_userauth_failure(0, 0); diff --git a/gnu/packages/patches/haskell-mode-make-check.patch b/gnu/packages/patches/haskell-mode-make-check.patch new file mode 100644 index 0000000000..a4d4d525f2 --- /dev/null +++ b/gnu/packages/patches/haskell-mode-make-check.patch @@ -0,0 +1,35 @@ +Copied from upstream repository. +Hunk #2 is removed since it cannot be applied and it is not needed. + +From 7cead7137bf54851c1b7df5a3854351296d21276 Mon Sep 17 00:00:00 2001 +From: Vasantha Ganesh K <vasanthaganesh.k@tuta.io> +Date: Thu, 22 Jun 2017 23:38:40 +0530 +Subject: [PATCH] removed `check-conventions' from make + +--- + Makefile | 7 +- + tests/haskell-code-conventions.el | 165 ------------------------------ + 2 files changed, 1 insertion(+), 171 deletions(-) + delete mode 100644 tests/haskell-code-conventions.el + +diff --git a/Makefile b/Makefile +index b2c89d6..aa907c5 100644 +--- a/Makefile ++++ b/Makefile +@@ -79,12 +79,7 @@ build-$(EMACS_VERSION)/build-flag : build-$(EMACS_VERSION) $(patsubst %.el,build + check-%: tests/%-tests.el + $(BATCH) -l "$<" -f ert-run-tests-batch-and-exit; + +-check: compile $(AUTOLOADS) check-ert check-conventions +- +-check-conventions : +- $(BATCH) -l tests/haskell-code-conventions.el \ +- -f haskell-check-conventions-batch-and-exit +- @echo "conventions are okay" ++check: compile $(AUTOLOADS) check-ert + + check-ert: $(ELCHECKS) + $(BATCH) --eval "(when (= emacs-major-version 24) \ +-- +2.18.0 + diff --git a/gnu/packages/patches/haskell-mode-unused-variables.patch b/gnu/packages/patches/haskell-mode-unused-variables.patch new file mode 100644 index 0000000000..b175fae28c --- /dev/null +++ b/gnu/packages/patches/haskell-mode-unused-variables.patch @@ -0,0 +1,44 @@ +Copied verbatim from upstream repository. + +From cee22450ee30e79952f594796721dc6b17798ee6 Mon Sep 17 00:00:00 2001 +From: Sascha Wilde <wilde@sha-bang.de> +Date: Fri, 23 Sep 2016 15:35:59 +0200 +Subject: [PATCH] Removed unused lexical variables. + +--- + haskell-lexeme.el | 3 +-- + haskell-process.el | 4 +--- + 2 files changed, 2 insertions(+), 5 deletions(-) + +diff --git a/haskell-lexeme.el b/haskell-lexeme.el +index 4256a79..b832560 100644 +--- a/haskell-lexeme.el ++++ b/haskell-lexeme.el +@@ -138,8 +138,7 @@ When match is successful, match-data will contain: + (match-text 2) - whole qualified identifier + (match-text 3) - unqualified part of identifier + (match-text 4) - closing backtick" +- (let ((begin (point)) +- (match-data-old (match-data)) ++ (let ((match-data-old (match-data)) + first-backtick-start + last-backtick-start + qid-start +diff --git a/haskell-process.el b/haskell-process.el +index b4efba2..4f3f859 100644 +--- a/haskell-process.el ++++ b/haskell-process.el +@@ -160,9 +160,7 @@ HPTYPE is the result of calling `'haskell-process-type`' function." + (defun haskell-process-log (msg) + "Effective append MSG to the process log (if enabled)." + (when haskell-process-log +- (let* ((append-to (get-buffer-create "*haskell-process-log*")) +- (windows (get-buffer-window-list append-to t t)) +- move-point-in-windows) ++ (let* ((append-to (get-buffer-create "*haskell-process-log*"))) + (with-current-buffer append-to + ;; point should follow insertion so that it stays at the end + ;; of the buffer +-- +2.18.0 + diff --git a/gnu/packages/patches/netsurf-message-timestamp.patch b/gnu/packages/patches/netsurf-message-timestamp.patch new file mode 100644 index 0000000000..8df9dbf8f7 --- /dev/null +++ b/gnu/packages/patches/netsurf-message-timestamp.patch @@ -0,0 +1,11 @@ +--- netsurf-3.8/utils/split-messages.pl.orig 1969-12-31 18:00:00.000000000 -0600 ++++ netsurf-3.8/utils/split-messages.pl 2018-08-30 00:18:58.158367530 -0500 +@@ -238,7 +238,7 @@ + + if( $opt{gzip} ) + { +- $ofh = new IO::Compress::Gzip( $ofh, AutoClose => 1, -Level => 9 ); ++ $ofh = new IO::Compress::Gzip( $ofh, AutoClose => 1, -Level => 9, Time => 0 ); + } + + return $ofh; diff --git a/gnu/packages/patches/netsurf-system-utf8proc.patch b/gnu/packages/patches/netsurf-system-utf8proc.patch index 654d45d017..a2ee52ca05 100644 --- a/gnu/packages/patches/netsurf-system-utf8proc.patch +++ b/gnu/packages/patches/netsurf-system-utf8proc.patch @@ -17,23 +17,23 @@ Work around upstream's lack of a pkg-config file and update API. # Optional libraries with pkgconfig ---- netsurf-3.6/utils/idna.c -+++ netsurf-3.6/utils/idna.c -@@ -26,7 +26,7 @@ - #include <stdint.h> +--- netsurf-3.8/utils/idna.c ++++ netsurf-3.8/utils/idna.c +@@ -27,7 +27,7 @@ #include <stdlib.h> #include <string.h> + #include <sys/types.h> -#include <libutf8proc/utf8proc.h> +#include <utf8proc.h> - #include "utils/errors.h" - #include "utils/idna.h" ---- netsurf-3.7/test/Makefile 2017-10-15 08:39:24.000000000 -0500 -+++ netsurf-3.7/test/Makefile 2017-11-05 11:14:46.219013218 -0600 -@@ -139,14 +139,14 @@ - -D_XOPEN_SOURCE=600 \ + #include "netsurf/inttypes.h" + +--- netsurf-3.8/test/Makefile ++++ netsurf-3.8/test/Makefile +@@ -142,14 +142,15 @@ -Itest -Iinclude -Icontent/handlers -Ifrontends -I. -I.. \ -Dnsgtk \ + $(SAN_FLAGS) \ - $(shell pkg-config --cflags libcurl libparserutils libwapcaplet libdom libnsutils libutf8proc) \ + $(shell pkg-config --cflags libcurl libparserutils libwapcaplet libdom libnsutils) \ $(LIB_CFLAGS) @@ -43,7 +43,8 @@ Work around upstream's lack of a pkg-config file and update API. TESTLDFLAGS := -L$(TESTROOT) \ - $(shell pkg-config --libs libcurl libparserutils libwapcaplet libdom libnsutils libutf8proc) -lz \ -+ $(shell pkg-config --libs libcurl libparserutils libwapcaplet libdom libnsutils) -lz -lutf8proc \ ++ $(shell pkg-config --libs libcurl libparserutils libwapcaplet libdom libnsutils) \ ++ $(LDFLAGS) \ + $(SAN_FLAGS) \ $(LIB_LDFLAGS)\ $(COV_LDFLAGS) - diff --git a/gnu/packages/patches/openexr-missing-samples.patch b/gnu/packages/patches/openexr-missing-samples.patch deleted file mode 100644 index 16cc9bb625..0000000000 --- a/gnu/packages/patches/openexr-missing-samples.patch +++ /dev/null @@ -1,23 +0,0 @@ -This patch comments out tests that rely on files that are missing -from the source tarball. - ---- openexr-2.2.0/IlmImfTest/testSampleImages.cpp 2015-02-25 16:19:21.565105625 +0100 -+++ openexr-2.2.0/IlmImfTest/testSampleImages.cpp 2015-02-25 16:21:46.394128206 +0100 -@@ -162,16 +162,6 @@ testSampleImages (const std::string&) - compareImages (ILM_IMF_TEST_IMAGEDIR "comp_b44.exr", - ILM_IMF_TEST_IMAGEDIR "comp_b44_piz.exr"); - -- compareImages (ILM_IMF_TEST_IMAGEDIR "comp_dwaa_v1.exr", -- ILM_IMF_TEST_IMAGEDIR "comp_dwaa_piz.exr"); -- compareImages (ILM_IMF_TEST_IMAGEDIR "comp_dwaa_v2.exr", -- ILM_IMF_TEST_IMAGEDIR "comp_dwaa_piz.exr"); -- -- compareImages (ILM_IMF_TEST_IMAGEDIR "comp_dwab_v1.exr", -- ILM_IMF_TEST_IMAGEDIR "comp_dwab_piz.exr"); -- compareImages (ILM_IMF_TEST_IMAGEDIR "comp_dwab_v2.exr", -- ILM_IMF_TEST_IMAGEDIR "comp_dwab_piz.exr"); -- - - cout << "ok\n" << endl; - } - diff --git a/gnu/packages/patches/rust-1.19-mrustc.patch b/gnu/packages/patches/rust-1.19-mrustc.patch new file mode 100644 index 0000000000..261162172e --- /dev/null +++ b/gnu/packages/patches/rust-1.19-mrustc.patch @@ -0,0 +1,28 @@ +See https://github.com/thepowersgang/mrustc/archive/v0.8.0.tar.gz + +--- rustc-1.19.0-src-orig/src/libcore/intrinsics.rs ++++ rustc-1.19.0-src/src/libcore/intrinsics.rs +@@ -678,5 +678,9 @@ + pub fn min_align_of_val<T: ?Sized>(_: &T) -> usize; + ++ /// Obtain the length of a slice pointer ++ #[cfg(rust_compiler="mrustc")] ++ pub fn mrustc_slice_len<T>(pointer: *const [T]) -> usize; ++ + /// Gets a static string slice containing the name of a type. + pub fn type_name<T: ?Sized>() -> &'static str; + +--- rustc-1.19.0-src-orig/src/libcore/slice/mod.rs ++++ rustc-1.19.0-src/src/libcore/slice/mod.rs +@@ -413,6 +413,8 @@ + #[inline] + fn len(&self) -> usize { +- unsafe { +- mem::transmute::<&[T], Repr<T>>(self).len +- } ++ #[cfg(not(rust_compiler="mrustc"))] ++ let rv = unsafe { mem::transmute::<&[T], Repr<T>>(self).len }; ++ #[cfg(rust_compiler="mrustc")] ++ let rv = unsafe { ::intrinsics::mrustc_slice_len(self) }; ++ rv + } diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 47d5d8bbb2..761c5987b0 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -7593,7 +7593,7 @@ renaming exports, if they try to use them.") (define-public perl-sub-identify (package (name "perl-sub-identify") - (version "0.10") + (version "0.14") (source (origin (method url-fetch) @@ -7601,7 +7601,7 @@ renaming exports, if they try to use them.") "Sub-Identify-" version ".tar.gz")) (sha256 (base32 - "087fjcg6w576w47i1slj6mjfd3gl1b0airgddmn3prn0nff6nn2m")))) + "0vxdxyfh6037xy88ic7500wydzmsxldhp95n8bld2kaihqh2g386")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Sub-Identify") (synopsis "Retrieve names of code references") diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 3fd3d0854b..7bdf04cb49 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -95,6 +95,18 @@ cameras (CRW/CR2, NEF, RAF, DNG, and others).") ;; both two licensing modes for your changes/additions." (license (list license:lgpl2.1 license:cddl1.0)))) +(define-public libraw-0.18 + (package (inherit libraw) + (name "libraw") + (version "0.18.12") + (source (origin + (method url-fetch) + (uri (string-append "https://www.libraw.org/data/LibRaw-" + version ".tar.gz")) + (sha256 + (base32 + "1m2khr2cij8z6lawgbmdksjn14fpnjsy8ad4qahnpqapm1slsxap")))))) + (define-public libexif (package (name "libexif") diff --git a/gnu/packages/printers.scm b/gnu/packages/printers.scm index f8890cb7f1..dff9ed3010 100644 --- a/gnu/packages/printers.scm +++ b/gnu/packages/printers.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -18,7 +19,7 @@ (define-module (gnu packages printers) #:use-module (guix packages) - #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages libusb) @@ -32,15 +33,15 @@ (package (name "robocut") (version "1.0.11") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/Timmmm/robocut/archive/v" - version ".tar.gz")) - (sha256 - (base32 - "0nmr1plq1f6sarxwqwy4vzbxkljlx8y4xalm7r05vx4lrdai5pad")) - (file-name (string-append name "-" version ".tar.gz")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Timmmm/robocut.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0dp9cssyik63yvkk35s51v94a873x751iqg93qzd8dpqkmz5z8gn")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 36c5b0ea93..ed04de7547 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -99,6 +99,7 @@ #:use-module (gnu packages libevent) #:use-module (gnu packages libffi) #:use-module (gnu packages linux) + #:use-module (gnu packages llvm) #:use-module (gnu packages machine-learning) #:use-module (gnu packages man) #:use-module (gnu packages maths) @@ -3363,14 +3364,14 @@ convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc. (define-public python-matplotlib (package (name "python-matplotlib") - (version "2.2.2") + (version "2.2.3") (source (origin (method url-fetch) (uri (pypi-uri "matplotlib" version)) (sha256 (base32 - "1s6dv225w3k4fv52h8lfjc7qq5y56i9755ayx0mz48ddi99fzisd")))) + "1rcc7x9ig3hpchkc4cwdvym3y451w74275fxr455zkfagrsvymbk")))) (build-system python-build-system) (propagated-inputs ; the following packages are all needed at run time `(("python-cycler" ,python-cycler) @@ -3398,7 +3399,8 @@ convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc. ;; object. For this reason we need to import both libraries. ;; https://pythonhosted.org/cairocffi/cffi_api.html#converting-pycairo ("python-pycairo" ,python-pycairo) - ("python-pyqt" ,python-pyqt) + ;; XXX: qtwebkit cannot be built reliably. + ("python-pyqt" ,python-pyqt-without-qtwebkit) ("python-cairocffi" ,python-cairocffi))) (inputs `(("libpng" ,libpng) @@ -3649,6 +3651,18 @@ functions.") (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'disable-broken-tests + (lambda _ + (substitute* "scipy/sparse/linalg/dsolve/tests/test_linsolve.py" + (("^( +)def test_threads_parallel\\(self\\):" m indent) + (string-append indent + "@pytest.mark.skip(reason=\"Disabled by Guix\")\n" + m))) + (substitute* "scipy/sparse/linalg/eigen/arpack/tests/test_arpack.py" + (("^def test_parallel_threads\\(\\):" m) + (string-append "@pytest.mark.skip(reason=\"Disabled by Guix\")\n" + m))) + #t)) (add-before 'build 'configure-openblas (lambda* (#:key inputs #:allow-other-keys) (call-with-output-file "site.cfg" @@ -7267,7 +7281,7 @@ applications.") (description "With apipkg you can control the exported namespace of a Python package and greatly reduce the number of imports for your users. It is a small pure Python module that works on virtually all Python versions.") - (home-page "https://bitbucket.org/hpk42/apipkg") + (home-page "https://github.com/pytest-dev/apipkg") (license license:expat))) (define-public python2-apipkg @@ -13821,3 +13835,112 @@ Let's Encrypt.") development that supports command line argument parsing, command string validation testing and application logic.") (license license:expat))) + +;; Make sure to upgrade python-llvmlite in (gnu packages llvm) together with +;; python-numba. They have a very unflexible relationship. +(define-public python-numba + (package + (name "python-numba") + (version "0.39.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "numba" version)) + (sha256 + (base32 + "1bibvkwga1v8293i9ivl469d8bzgabn3vgr2ig7c1i68v8frsx07")))) + (build-system python-build-system) + (arguments + `(#:modules ((guix build utils) + (guix build python-build-system) + (ice-9 ftw) + (srfi srfi-1) + (srfi srfi-26)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-proprietary-features + (lambda _ + (setenv "NUMBA_DISABLE_HSA" "1") + (setenv "NUMBA_DISABLE_CUDA" "1") + #t)) + (add-after 'unpack 'remove-failing-tests + (lambda _ + ;; FIXME: these tests fail for unknown reasons: + ;; test_non_writable_pycache, test_non_creatable_pycache, and + ;; test_frozen (all in numba.tests.test_dispatcher.TestCache). + (substitute* "numba/tests/test_dispatcher.py" + (("def test(_non_writable_pycache)" _ m) + (string-append "def guix_skip" m)) + (("def test(_non_creatable_pycache)" _ m) + (string-append "def guix_skip" m)) + (("def test(_frozen)" _ m) + (string-append "def guix_skip" m))) + + ;; These tests fail because we don't run the tests from the build + ;; directory: test_setup_py_distutils, test_setup_py_setuptools + ;; They ar in numba.tests.test_pycc.TestDistutilsSupport. + (substitute* "numba/tests/test_pycc.py" + (("def test(_setup_py_distutils|_setup_py_setuptools)" _ m) + (string-append "def guix_skip" m))) + #t)) + (replace 'check + (lambda _ + (let ((cwd (getcwd))) + (setenv "PYTHONPATH" + (string-append cwd "/build/" + (find (cut string-prefix? "lib" <>) + (scandir (string-append cwd "/build"))) + ":" + (getenv "PYTHONPATH"))) + ;; Something is wrong with the PYTHONPATH when running the + ;; tests from the build directory, as it complains about not being + ;; able to import certain modules. + (with-directory-excursion "/tmp" + (invoke "python3" "-m" "numba.runtests" "-v" "-m"))) + #t))))) + (propagated-inputs + `(("python-llvmlite" ,python-llvmlite) + ("python-numpy" ,python-numpy) + ("python-singledispatch" ,python-singledispatch))) + ;; Needed for tests. + (inputs + `(("python-jinja2" ,python-jinja2) + ("python-pygments" ,python-pygments))) + (home-page "https://numba.pydata.org") + (synopsis "Compile Python code using LLVM") + (description "Numba gives you the power to speed up your applications with +high performance functions written directly in Python. With a few +annotations, array-oriented and math-heavy Python code can be just-in-time +compiled to native machine instructions, similar in performance to C, C++ and +Fortran, without having to switch languages or Python interpreters. + +Numba works by generating optimized machine code using the LLVM compiler +infrastructure at import time, runtime, or statically (using the included pycc +tool).") + (license license:bsd-3))) + +(define-public python-anndata + (package + (name "python-anndata") + (version "0.6.9") + (source + (origin + (method url-fetch) + (uri (pypi-uri "anndata" version)) + (sha256 + (base32 + "1fh461xyyc7pcrjfgd013bdc2alf53r46ss3gfw3431mbb1gappi")))) + (build-system python-build-system) + (propagated-inputs + `(("python-h5py" ,python-h5py) + ("python-natsort" ,python-natsort) + ("python-pandas" ,python-pandas) + ("python-scipy" ,python-scipy))) + (home-page "https://github.com/theislab/anndata") + (synopsis "Annotated data for data analysis pipelines") + (description "Anndata is a package for simple (functional) high-level APIs +for data analysis pipelines. In this context, it provides an efficient, +scalable way of keeping track of data together with learned annotations and +reduces the code overhead typically encountered when using a mostly +object-oriented library such as @code{scikit-learn}.") + (license license:bsd-3))) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index affba14e98..7d1a4ca585 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1834,6 +1834,15 @@ framework. The bindings are implemented as a set of Python modules and contain over 620 classes.") (license license:gpl3))) +;; XXX: This is useful because qtwebkit does not build reliably at this time. +;; Ultimately, it would be nicer to have a more modular set of python-pyqt-* +;; packages that could be used together. +(define-public python-pyqt-without-qtwebkit + (package (inherit python-pyqt) + (name "python-pyqt-without-qtwebkit") + (inputs + (alist-delete "qtwebkit" (package-inputs python-pyqt))))) + (define-public python2-pyqt (package (inherit python-pyqt) (name "python2-pyqt") diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm index 3f501a0736..c9d9e8a359 100644 --- a/gnu/packages/regex.scm +++ b/gnu/packages/regex.scm @@ -29,7 +29,7 @@ (define-public re2 (package (name "re2") - (version "2018-08-01") + (version "2018-09-01") (home-page "https://github.com/google/re2") (source (origin (method url-fetch) @@ -37,7 +37,7 @@ (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0lmpc3cb9bvc27fp27jacx6qjn176v8z8p7k70byc092q68mr6bw")))) + "0hygr88hvy7if1i45m5r6x60zf73439j2fwzw7wwcw9gb01v690l")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 908dfd5751..616b86934d 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -37,6 +37,7 @@ #:use-module (gnu packages java) #:use-module (gnu packages libffi) #:use-module (gnu packages maths) + #:use-module (gnu packages ncurses) #:use-module (gnu packages networking) #:use-module (gnu packages python) #:use-module (gnu packages ragel) @@ -193,6 +194,25 @@ a focus on simplicity and productivity.") (("/bin/sh") (which "sh"))) #t))))))) +(define-public ruby-concurrent + (package + (name "ruby-concurrent") + (version "1.0.5") + (source (origin + (method url-fetch) + (uri (rubygems-uri "concurrent-ruby" version)) + (sha256 + (base32 + "183lszf5gx84kcpb779v6a2y0mx9sssy8dgppng1z9a505nj1qcf")))) + (build-system ruby-build-system) + (arguments `(#:tests? #f)); No rakefile + (home-page "https://github.com/ruby-concurrency/concurrent-ruby") + (synopsis "Concurrency tools for Ruby") + (description "This gem provides concurrency tools for Ruby. It provides +a library of common thread-safe types and data-structures as well as abstractions +for concurrency and communication between threads.") + (license license:expat))) + (define-public ruby-highline (package (name "ruby-highline") @@ -262,16 +282,17 @@ packaging native C and Java extensions in Ruby.") (define-public ruby-i18n (package (name "ruby-i18n") - (version "0.7.0") + (version "1.1.0") (source (origin (method url-fetch) (uri (rubygems-uri "i18n" version)) (sha256 (base32 - "1i5z1ykl8zhszsxcs8mzl8d0dxgs3ylz8qlzrw74jb0gplkx6758")))) + "0ppvmla21hssvrfm8g1n2fnb4lxn4yhy9qmmba0imanflgldrjmr")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; no tests + (propagated-inputs `(("concurrent-ruby" ,ruby-concurrent))) (synopsis "Internationalization library for Ruby") (description "Ruby i18n is an internationalization and localization solution for Ruby programs. It features translation and localization, @@ -3013,17 +3034,28 @@ you about the changes.") (home-page "https://github.com/guard/listen") (license license:expat))) +(define-public ruby-listen-3.0 + (package + (inherit ruby-listen) + (version "3.0.8") + (source (origin + (method url-fetch) + (uri (rubygems-uri "listen" version)) + (sha256 + (base32 + "1l0y7hbyfiwpvk172r28hsdqsifq1ls39hsfmzi1vy4ll0smd14i")))))) + (define-public ruby-activesupport (package (name "ruby-activesupport") - (version "5.1.4") + (version "5.2.1") (source (origin (method url-fetch) (uri (rubygems-uri "activesupport" version)) (sha256 (base32 - "0sgf4rsfr7jcaqsx0wwzx4l4k9xsjlwv0mzl08pxiyp1qzyx8scr")))) + "0ziy6xk31k4fs115cdkba1ys4i8nzcyri7a2jig7nx7k5h7li6l2")))) (build-system ruby-build-system) (arguments `(#:phases @@ -4658,7 +4690,7 @@ binary-to-text encoding. The main modern use of Ascii85 is in PostScript and (define-public ruby-ttfunk (package (name "ruby-ttfunk") - (version "1.4.0") + (version "1.5.1") (source (origin (method url-fetch) @@ -4669,12 +4701,18 @@ binary-to-text encoding. The main modern use of Ascii85 is in PostScript and (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1izq84pnm9niyvkzp8k0vl232q9zj41hwmp9na9fzycfh1pbnsl6")))) + "1ymcn12n5iws401yz03zsj8rr653fdqq13czsrciq09phgh9jzc5")))) (build-system ruby-build-system) (arguments `(#:test-target "spec" #:phases (modify-phases %standard-phases + (add-before 'build 'remove-ssh + (lambda _ + ;; remove dependency on an ssh key pair that doesn't exist + (substitute* "ttfunk.gemspec" + (("spec.signing_key.*") "")) + #t)) (add-before 'check 'remove-rubocop (lambda _ ;; remove rubocop as a dependency as not needed for testing @@ -4682,10 +4720,11 @@ binary-to-text encoding. The main modern use of Ascii85 is in PostScript and (("spec.add_development_dependency\\('rubocop'.*") "")) (substitute* "Rakefile" (("require 'rubocop/rake_task'") "") - (("Rubocop::RakeTask.new") "")) + (("RuboCop::RakeTask.new") "")) #t))))) (native-inputs `(("ruby-rspec" ,ruby-rspec) + ("ruby-yard" ,ruby-yard) ("bundler" ,bundler))) (synopsis "Font metrics parser for the Prawn PDF generator") (description @@ -5070,3 +5109,821 @@ programs running in the background, in Ruby.") (sha256 (base32 "0a61922kmvcxyj5l70fycapr87gz1dzzlkfpq85rfqk5vdh3d28p")))))) + +(define-public ruby-public-suffix + (package + (name "ruby-public-suffix") + (version "3.0.3") + (source (origin + (method url-fetch) + (uri (rubygems-uri "public_suffix" version)) + (sha256 + (base32 + "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l")))) + (build-system ruby-build-system) + (arguments + ;; Tests require network + `(#:tests? #f)) + (home-page "https://simonecarletti.com/code/publicsuffix-ruby/") + (synopsis "Domain name parser") + (description "The gem @code{public_suffix} is a domain name parser, +written in Ruby, and based on the @dfn{Public Suffix List}. A public suffix +is one under which Internet users can (or historically could) directly +register names. Some examples of public suffixes are @code{.com}, +@code{.co.uk} and @code{pvt.k12.ma.us}. The Public Suffix List is a list of +all known public suffixes.") + (license license:expat))) + +(define-public ruby-addressable + (package + (name "ruby-addressable") + (version "2.5.2") + (source (origin + (method url-fetch) + (uri (rubygems-uri "addressable" version)) + (sha256 + (base32 + "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk")))) + (build-system ruby-build-system) + (propagated-inputs + `(("ruby-public-suffix" ,ruby-public-suffix))) + (arguments + ;; No test target + `(#:tests? #f)) + (home-page "https://github.com/sporkmonger/addressable") + (synopsis "Alternative URI implementation") + (description "Addressable is a replacement for the URI implementation that +is part of Ruby's standard library. It more closely conforms to RFC 3986, +RFC 3987, and RFC 6570 (level 4), providing support for IRIs and URI templates.") + (license license:asl2.0))) + +(define-public ruby-colorator + (package + (name "ruby-colorator") + (version "1.1.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "colorator" version)) + (sha256 + (base32 + "0f7wvpam948cglrciyqd798gdc6z3cfijciavd0dfixgaypmvy72")))) + (build-system ruby-build-system) + (arguments + ;; No test target + `(#:tests? #f)) + (home-page "http://octopress.org/colorator/") + (synopsis "Terminal color library") + (description "Colorator is a Ruby gem that helps you colorize your text +for the terminal.") + (license license:expat))) + +(define-public ruby-command-line-reporter + (package + (name "ruby-command-line-reporter") + (version "4.0.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "command_line_reporter" version)) + (sha256 + (base32 + "1qma35xrb772whxwy1rs9bicb9d6lvz0s2dd2dnn4fr6zcbcxc0a")))) + (build-system ruby-build-system) + (arguments + ;; No Rakefile + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (add-before 'build 'fix-dependencies + (lambda _ + (substitute* ".gemspec" + ;; colored is unmaintained + (("colored") "colorator") + ;; colorator version + (("= 1.2") "= 1.1")) + #t))))) + (propagated-inputs `(("ruby-colorator" ,ruby-colorator))) + (home-page "https://github.com/wbailey/command_line_reporter") + (synopsis "Report production while executing Ruby scripts") + (description "This gem provides a DSL that makes it easy to write reports +of various types in ruby. It eliminates the need to litter your source with +puts statements, instead providing a more readable, expressive interface to +your application.") + (license license:asl2.0))) + +(define-public ruby-command-line-reporter-3 + (package + (inherit ruby-command-line-reporter) + (version "3.3.6") + (source (origin + (method url-fetch) + (uri (rubygems-uri "command_line_reporter" version)) + (sha256 + (base32 + "1h39zqqxp3k4qk49ajpx0jps1vmvxgkh43mqkb6znk583bl0fv71")))))) + +(define-public ruby-rdoc + (package + (name "ruby-rdoc") + (version "6.0.4") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "rdoc" version)) + (sha256 + (base32 + "0anv42cqcdc6g4n386mrva7mgav5i0c2ry3yzvzzc6z6hymkmcr7")))) + (build-system ruby-build-system) + (native-inputs + `(("bundler" ,bundler))) + (home-page "https://ruby.github.io/rdoc/") + (synopsis "HTML and command-line documentation utility") + (description "RDoc produces HTML and command-line documentation for Ruby +projects. RDoc includes the +rdoc+ and +ri+ tools for generating and displaying +documentation from the command-line.") + (license license:gpl2+))) + +(define-public ruby-sass-listen + (package + (name "ruby-sass-listen") + (version "4.0.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "sass-listen" version)) + (sha256 + (base32 + "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df")))) + (build-system ruby-build-system) + (arguments + ;; No test target + `(#:tests? #f)) + (propagated-inputs + `(("ruby-rb-fsevent" ,ruby-rb-fsevent) + ("ruby-rb-inotify" ,ruby-rb-inotify))) + (home-page "https://github.com/sass/listen") + (synopsis "File modification notification library") + (description "The Listen gem listens to file modifications and notifies you +about the changes.") + (license license:expat))) + +(define-public ruby-terminfo + (package + (name "ruby-terminfo") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "ruby-terminfo" version)) + (sha256 + (base32 + "0rl4ic5pzvrpgd42z0c1s2n3j39c9znksblxxvmhkzrc0ckyg2cm")))) + (build-system ruby-build-system) + (arguments + `(#:test-target "test" + ;; Rakefile requires old packages and would need modification to + ;; work with current software. + #:tests? #f)) + (inputs + `(("ncurses" ,ncurses))) + (native-inputs + `(("ruby-rubygems-tasks" ,ruby-rubygems-tasks) + ("ruby-rdoc" ,ruby-rdoc))) + (home-page "http://www.a-k-r.org/ruby-terminfo/") + (synopsis "Terminfo binding for Ruby") + (description "Ruby-terminfo provides terminfo binding for Ruby.") + (license license:bsd-3))) + +(define-public ruby-diffy + (package + (name "ruby-diffy") + (version "3.2.1") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "diffy" version)) + (sha256 + (base32 + "119imrkn01agwhx5raxhknsi331y5i4yda7r0ws0an6905ximzjg")))) + (build-system ruby-build-system) + (arguments + ;; No tests + `(#:tests? #f)) + (native-inputs + `(("ruby-rspec" ,ruby-rspec))) + (home-page "https://github.com/samg/diffy") + (synopsis "Convenient diffing in ruby") + (description "Diffy provides a convenient way to generate a diff from two +strings or files.") + (license license:expat))) + +(define-public ruby-sass-spec + (package + (name "ruby-sass-spec") + (version "3.5.4") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/sass/sass-spec/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0nx8lp7c9qa58w489crgqa3c489xsyarn1a8h4np9mwwfqm1h3rr")))) + (build-system ruby-build-system) + (propagated-inputs + `(("ruby-command-line-reporter-3" ,ruby-command-line-reporter-3) + ("ruby-diffy" ,ruby-diffy) + ("ruby-terminfo" ,ruby-terminfo))) + (arguments + ;; No Rakefile + `(#:tests? #f)) + (home-page "https://github.com/sass/sass-spec") + (synopsis "Test suite for Sass") + (description "Sass Spec is a test suite for Sass. Test cases are all in +the @file{spec} directory.") + (license license:expat))) + +(define-public ruby-sass + (package + (name "ruby-sass") + (version "3.5.7") + (source (origin + (method url-fetch) + (uri (rubygems-uri "sass" version)) + (sha256 + (base32 + "1sy7xsbgpcy90j5ynbq967yplffp74pvph3r8ivn2sv2b44q6i61")))) + (build-system ruby-build-system) + (propagated-inputs + `(("ruby-sass-listen" ,ruby-sass-listen))) + (native-inputs + `(("ruby-sass-spec" ,ruby-sass-spec))) + (home-page "http://sass-lang.com/") + (synopsis "CSS extension language") + (description "Sass is a CSS extension language. It extends CSS with +features that don't exist yet like variables, nesting, mixins and inheritance.") + (license license:expat))) + +(define-public ruby-jekyll-sass-converter + (package + (name "ruby-jekyll-sass-converter") + (version "1.5.2") + (source (origin + (method url-fetch) + (uri (rubygems-uri "jekyll-sass-converter" version)) + (sha256 + (base32 + "008ikh5fk0n6ri54mylcl8jn0mq8p2nfyfqif2q3pp0lwilkcxsk")))) + (build-system ruby-build-system) + (propagated-inputs + `(("ruby-sass" ,ruby-sass))) + (arguments + ;; No rakefile + `(#:tests? #f)) + (home-page "https://github.com/jekyll/jekyll-sass-converter") + (synopsis "Sass converter for Jekyll") + (description "This gem provide built-in support for the Sass converter +in Jekyll.") + (license license:expat))) + +(define-public ruby-jekyll-watch + (package + (name "ruby-jekyll-watch") + (version "2.0.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "jekyll-watch" version)) + (sha256 + (base32 + "0m7scvj3ki8bmyx5v8pzibpg6my10nycnc28lip98dskf8iakprp")))) + (build-system ruby-build-system) + (propagated-inputs + `(("ruby-listen-3.0" ,ruby-listen-3.0))) + (arguments + ;; No rakefile + `(#:tests? #f)) + (home-page "https://github.com/jekyll/jekyll-watch") + (synopsis "Jekyll auto-rebuild support") + (description "This gems add the @code{--watch} switch to the jekyll CLI +interface. It allows Jekyll to rebuild your site when a file changes.") + (license license:expat))) + +(define-public ruby-parallel + (package + (name "ruby-parallel") + (version "1.12.1") + (source (origin + (method url-fetch) + (uri (rubygems-uri "parallel" version)) + (sha256 + (base32 + "01hj8v1qnyl5ndrs33g8ld8ibk0rbcqdpkpznr04gkbxd11pqn67")))) + (build-system ruby-build-system) + (arguments `(#:tests? #f)); No rakefile + (home-page "https://github.com/grosser/parallel") + (synopsis "Parallel processing in Ruby") + (description "Parallel allows you to run any code in parallel Processes +(to use all CPUs) or Threads(to speedup blocking operations). It is best +suited for map-reduce or e.g. parallel downloads/uploads.") + (license license:expat))) + +(define-public ruby-cane + (package + (name "ruby-cane") + (version "3.0.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "cane" version)) + (sha256 + (base32 + "0yf5za3l7lhrqa3g56sah73wh33lbxy5y3cb7ij0a2bp1b4kwhih")))) + (build-system ruby-build-system) + (arguments `(#:tests? #f)); No rakefile + (home-page "https://github.com/square/cane") + (propagated-inputs + `(("ruby-parallel" ,ruby-parallel))) + (synopsis "Code quality threshold checking") + (description "Cane fails your build if code quality thresholds are not met.") + (license license:asl2.0))) + +(define-public ruby-morecane + (package + (name "ruby-morecane") + (version "0.2.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "morecane" version)) + (sha256 + (base32 + "0w70vb8z5bdhvr21h660aa43m5948pv0bd27z7ngai2iwdvqd771")))) + (build-system ruby-build-system) + (home-page "https://github.com/yob/morecane") + (arguments `(#:tests? #f)); No rakefile + (propagated-inputs + `(("ruby-parallel" ,ruby-parallel))) + (synopsis "Extra checks for cane") + (description "The cane gem provides a great framework for running quality +checks over your ruby project as part of continuous integration build. It +comes with a few checks out of the box, but also provides an API for loading +custom checks. This gem provides a set of additional checks.") + (license license:expat))) + +(define-public ruby-pdf-reader + (package + (name "ruby-pdf-reader") + (version "2.1.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "pdf-reader" version)) + (sha256 + (base32 + "1b3ig4wpcgdbqa7yw0ahwbmikkkywn2a22bfmrknl5ls7g066x45")))) + (build-system ruby-build-system) + (arguments `(#:test-target "spec")) + (native-inputs + `(("bundler" ,bundler) + ("ruby-rspec" ,ruby-rspec) + ("ruby-cane" ,ruby-cane) + ("ruby-morecane" ,ruby-morecane))) + (propagated-inputs + `(("ruby-afm" ,ruby-afm) + ("ruby-ascii85" ,ruby-ascii85) + ("ruby-hashery" ,ruby-hashery) + ("ruby-rc4" ,ruby-rc4) + ("ruby-ttfunk" ,ruby-ttfunk))) + (home-page "https://github.com/yob/pdf-reader") + (synopsis "PDF parser in Ruby") + (description "The PDF::Reader library implements a PDF parser conforming as +much as possible to the PDF specification from Adobe. It provides programmatic +access to the contents of a PDF file with a high degree of flexibility.") + (license license:gpl3+))) + +(define-public ruby-pdf-inspector + (package + (name "ruby-pdf-inspector") + (version "1.3.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "pdf-inspector" version)) + (sha256 + (base32 + "1g853az4xzgqxr5xiwhb76g4sqmjg4s79mm35mp676zjsrwpa47w")))) + (build-system ruby-build-system) + (propagated-inputs + `(("ruby-pdf-reader" ,ruby-pdf-reader))) + (arguments `(#:tests? #f)); No rakefile + (home-page "https://github.com/prawnpdf/pdf-inspector") + (synopsis "Analysis classes for inspecting PDF output") + (description "This library provides a number of PDF::Reader based tools for +use in testing PDF output. Presently, the primary purpose of this tool is to +support the tests found in Prawn, a pure Ruby PDF generation library.") + (license license:gpl3+))) + +(define-public ruby-pdf-core + (package + (name "ruby-pdf-core") + (version "0.8.1") + (source (origin + (method url-fetch) + (uri (rubygems-uri "pdf-core" version)) + (sha256 + (base32 + "15d6m99bc8bbzlkcg13qfpjjzphfg5x905pjbfygvpcxsm8gnsvg")))) + (build-system ruby-build-system) + (arguments + ; No test target + `(#:tests? #f)) + (home-page "https://github.com/prawnpdf/pdf-core") + (synopsis "Low level PDF features for Prawn") + (description "This is an experimental gem that extracts low-level PDF +functionality from Prawn.") + (license license:gpl3+))) + +(define-public ruby-yard + (package + (name "ruby-yard") + (version "0.9.16") + (source (origin + (method url-fetch) + (uri (rubygems-uri "yard" version)) + (sha256 + (base32 + "0lmmr1839qgbb3zxfa7jf5mzy17yjl1yirwlgzdhws4452gqhn67")))) + (build-system ruby-build-system) + (arguments `(#:test-target "spec")) + (home-page "https://yardoc.org/") + (synopsis "Ruby documentation tool") + (description "YARD is a documentation generation tool for the Ruby +programming language. It enables the user to generate consistent, usable +documentation that can be exported to a number of formats very easily, and +also supports extending for custom Ruby constructs such as custom class level +definitions.") + (license license:expat))) + +(define-public ruby-prawn + (package + (name "ruby-prawn") + (version "2.2.2") + (source (origin + (method url-fetch) + (uri (rubygems-uri "prawn" version)) + (sha256 + (base32 + "1qdjf1v6sfl44g3rqxlg8k4jrzkwaxgvh2l4xws97a8f3xv4na4m")))) + (build-system ruby-build-system) + (arguments + ; No tests + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (add-before 'build 'fix-dependencies + (lambda _ + (substitute* "prawn.gemspec" + (("~> 0.7.0") "~> 0.7")) + #t))))) + (propagated-inputs + `(("ruby-pdf-core" ,ruby-pdf-core) + ("ruby-ttfunk" ,ruby-ttfunk))) + (native-inputs + `(("bundler" ,bundler) + ("ruby-pdf-inspector" ,ruby-pdf-inspector) + ("ruby-rspec" ,ruby-rspec) + ("ruby-simplecov" ,ruby-simplecov) + ("ruby-yard" ,ruby-yard))) + (home-page "http://prawnpdf.org/api-docs/2.0/") + (synopsis "PDF generation for Ruby") + (description "Prawn is a pure Ruby PDF generation library.") + (license license:gpl3+))) + +(define-public ruby-prawn-table + (package + (name "ruby-prawn-table") + (version "0.2.2") + (source (origin + (method url-fetch) + (uri (rubygems-uri "prawn-table" version)) + (sha256 + (base32 + "1nxd6qmxqwl850icp18wjh5k0s3amxcajdrkjyzpfgq0kvilcv9k")))) + (build-system ruby-build-system) + (arguments `(#:tests? #f)); No rakefile + (propagated-inputs + `(("ruby-prawn" ,ruby-prawn))) + (home-page "https://github.com/prawnpdf/prawn-table") + (synopsis "Tables support for Prawn") + (description "This gem provides tables support for Prawn.") + (license license:gpl3+))) + +(define-public ruby-kramdown + (package + (name "ruby-kramdown") + (version "1.17.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "kramdown" version)) + (sha256 + (base32 + "1n1c4jmrh5ig8iv1rw81s4mw4xsp4v97hvf8zkigv4hn5h542qjq")))) + (build-system ruby-build-system) + (arguments `(#:tests? #f)); FIXME: some test failures + (native-inputs + `(("ruby-prawn" ,ruby-prawn) + ("ruby-prawn-table" ,ruby-prawn-table))) + (home-page "https://kramdown.gettalong.org/") + (synopsis "Markdown parsing and converting library") + (description "Kramdown is a library for parsing and converting a superset +of Markdown. It is completely written in Ruby, supports standard Markdown +(with some minor modifications) and various extensions that have been made +popular by the PHP @code{Markdown Extra} package and @code{Maruku}.") + (license license:expat))) + +(define-public ruby-http-parser.rb + (package + (name "ruby-http-parser.rb") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "http_parser.rb" version)) + (sha256 + (base32 + "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi")))) + (build-system ruby-build-system) + (arguments + ;; No tests + `(#:tests? #f)) + (native-inputs + `(("ruby-rake-compiler" ,ruby-rake-compiler) + ("ruby-rspec" ,ruby-rspec))) + (home-page "https://github.com/tmm1/http_parser.rb") + (synopsis "HTTP parser un Ruby") + (description "This gem is a simple callback-based HTTP request/response +parser for writing http servers, clients and proxies.") + (license license:expat))) + +(define-public ruby-em-websocket + (package + (name "ruby-em-websocket") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "em-websocket" version)) + (sha256 + (base32 + "1bsw8vjz0z267j40nhbmrvfz7dvacq4p0pagvyp17jif6mj6v7n3")))) + (build-system ruby-build-system) + (arguments + ;; No tests + `(#:tests? #f)) + (propagated-inputs + `(("ruby-eventmachine" ,ruby-eventmachine) + ("ruby-http-parser.rb" ,ruby-http-parser.rb))) + (native-inputs + `(("bundler" ,bundler) + ("ruby-rspec" ,ruby-rspec))) + (home-page "https://github.com/igrigorik/em-websocket") + (synopsis "EventMachine based WebSocket server") + (description "Em-websocket is an EventMachine based WebSocket server +implementation.") + (license license:expat))) + +(define-public ruby-rouge + (package + (name "ruby-rouge") + (version "3.2.1") + (source (origin + (method url-fetch) + (uri (rubygems-uri "rouge" version)) + (sha256 + (base32 + "0h79gn2wmn1wix2d27lgiaimccyj8gvizrllyym500pir408x62f")))) + (build-system ruby-build-system) + (arguments `(#:tests? #f)); No rakefile + (home-page "http://rouge.jneen.net/") + (synopsis "Code highlighter") + (description "Rouge is a code highlighter written in Ruby. It supports more +than 100 languages and outputs HTML or ANSI 256-color text. Its HTML output +is compatible with stylesheets designed for pygments.") + (license (list + ;; rouge is licensed under expat + license:expat + ;; pygments is licensed under bsd-2 + license:bsd-2)))) + +(define-public ruby-rouge-2 + (package + (inherit ruby-rouge) + (version "2.2.1") + (source (origin + (method url-fetch) + (uri (rubygems-uri "rouge" version)) + (sha256 + (base32 + "02kpahk5nkc33yxnn75649kzxaz073wvazr2zyg491nndykgnvcs")))))) + +(define-public ruby-hashie + (package + (name "ruby-hashie") + (version "3.6.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "hashie" version)) + (sha256 + (base32 + "13bdzfp25c8k51ayzxqkbzag3wj5gc1jd8h7d985nsq6pn57g5xh")))) + (build-system ruby-build-system) + (native-inputs + `(("bundler" ,bundler))) + (arguments `(#:tests? #f)); FIXME: Could not locate Gemfile or .bundle/ directory + (home-page "https://github.com/intridea/hashie") + (synopsis "Extensions to Ruby Hashes") + (description "Hashie is a collection of classes and mixins that make Ruby +hashes more powerful.") + (license license:expat))) + +(define-public ruby-heredoc-unindent + (package + (name "ruby-heredoc-unindent") + (version "1.2.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "heredoc_unindent" version)) + (sha256 + (base32 + "14ijr2fsjwhrkjkcaz81d5xnfa4vvgvcflrff83avqw9klm011yw")))) + (build-system ruby-build-system) + (native-inputs + `(("ruby-hoe" ,ruby-hoe))) + (home-page "https://github.com/adrianomitre/heredoc_unindent") + (synopsis "Heredoc indentation cleaner") + (description "This gem removes common margin from indented strings, such +as the ones produced by indented heredocs. In other words, it strips out +leading whitespace chars at the beggining of each line, but only as much as +the line with the smallest margin. + +It is acknowledged that many strings defined by heredocs are just code and +fact is that most parsers are insensitive to indentation. If, however, the +strings are to be used otherwise, be it for printing or testing, the extra +indentation will probably be an issue and hence this gem.") + (license license:expat))) + +(define-public ruby-safe-yaml + (package + (name "ruby-safe-yaml") + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (rubygems-uri "safe_yaml" version)) + (sha256 + (base32 + "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094")))) + (build-system ruby-build-system) + (native-inputs + `(("ruby-rspec" ,ruby-rspec) + ("ruby-hashie" ,ruby-hashie) + ("ruby-heredoc-unindent" ,ruby-heredoc-unindent))) + (arguments `(#:test-target "spec" + #:tests? #f));; FIXME: one failure + (home-page "https://github.com/dtao/safe_yaml") + (synopsis "YAML parser") + (description "The SafeYAML gem provides an alternative implementation of +YAML.load suitable for accepting user input in Ruby applications.") + (license license:expat))) + +(define-public ruby-mercenary + (package + (name "ruby-mercenary") + (version "0.3.6") + (source (origin + (method url-fetch) + (uri (rubygems-uri "mercenary" version)) + (sha256 + (base32 + "10la0xw82dh5mqab8bl0dk21zld63cqxb1g16fk8cb39ylc4n21a")))) + (build-system ruby-build-system) + (arguments `(#:test-target "spec")) + (native-inputs + `(("bundler" ,bundler))) + (home-page "https://github.com/jekyll/mercenary") + (synopsis "Command-line apps library in Ruby") + (description "Mercenary is a lightweight and flexible library for writing +command-line apps in Ruby.") + (license license:expat))) + +(define-public ruby-liquid + (package + (name "ruby-liquid") + (version "4.0.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "liquid" version)) + (sha256 + (base32 + "17fa0jgwm9a935fyvzy8bysz7j5n1vf1x2wzqkdfd5k08dbw3x2y")))) + (build-system ruby-build-system) + (arguments `(#:tests? #f)); No rakefile + (home-page "https://shopify.github.io/liquid/") + (synopsis "Template language") + (description "Liquid is a template language written in Ruby. It is used +to load dynamic content on storefronts.") + (license license:expat))) + +(define-public ruby-forwardable-extended + (package + (name "ruby-forwardable-extended") + (version "2.6.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "forwardable-extended" version)) + (sha256 + (base32 + "15zcqfxfvsnprwm8agia85x64vjzr2w0xn9vxfnxzgcv8s699v0v")))) + (build-system ruby-build-system) + (arguments `(#:tests? #f)); Cyclic dependency on luna-rspec-formatters + (home-page "https://github.com/envygeeks/forwardable-extended") + (synopsis "Delegation to hashes and instance variables in Forwardable") + (description "Forwardable Extended provides more @code{Forwardable} +methods for your source as @code{Forwardable::Extended}.") + (license license:expat))) + +(define-public ruby-pathutil + (package + (name "ruby-pathutil") + (version "0.16.1") + (source (origin + (method url-fetch) + (uri (rubygems-uri "pathutil" version)) + (sha256 + (base32 + "0wc18ms1rzi44lpjychyw2a96jcmgxqdvy2949r4vvb5f4p0lgvz")))) + (build-system ruby-build-system) + (propagated-inputs + `(("ruby-forwardable-extended" ,ruby-forwardable-extended))) + (native-inputs + `(("bundler" ,bundler) + ("ruby-rspec" ,ruby-rspec))) + ;; Fails with: cannot load such file -- + ;; /tmp/guix-build-ruby-pathutil-0.16.0.drv-0/gem/benchmark/support/task + (arguments `(#:tests? #f)) + (home-page "https://github.com/envygeeks/pathutil") + (synopsis "Extended implementation of Pathname") + (description "Pathutil tries to be a faster pure Ruby implementation of +Pathname.") + (license license:expat))) + +(define-public jekyll + (package + (name "jekyll") + (version "3.8.3") + (source (origin + (method url-fetch) + (uri (rubygems-uri "jekyll" version)) + (sha256 + (base32 + "1iw90wihk9dscgmppf5v6lysg3kjmnx50mjyl4gghkdb4spw97xk")))) + (build-system ruby-build-system) + (arguments + ;; No rakefile, but a test subdirectory + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (add-before 'build 'fix-i18n + (lambda _ + (substitute* ".gemspec" + (("~> 0.7") ">= 0.7")) + #t))))) + (propagated-inputs + `(("ruby-addressable" ,ruby-addressable) + ("ruby-colorator" ,ruby-colorator) + ("ruby-em-websocket" ,ruby-em-websocket) + ("ruby-i18n" ,ruby-i18n) + ("ruby-jekyll-sass-converter" ,ruby-jekyll-sass-converter) + ("ruby-jekyll-watch" ,ruby-jekyll-watch) + ("ruby-kramdown" ,ruby-kramdown) + ("ruby-liquid" ,ruby-liquid) + ("ruby-mercenary" ,ruby-mercenary) + ("ruby-pathutil" ,ruby-pathutil) + ("ruby-rouge" ,ruby-rouge-2) + ("ruby-safe-yaml" ,ruby-safe-yaml))) + (home-page "https://jekyllrb.com/") + (synopsis "Static site generator") + (description "Jekyll is a simple, blog aware, static site generator.") + (license license:expat))) + +(define-public ruby-jekyll-paginate-v2 + (package + (name "ruby-jekyll-paginate-v2") + (version "2.0.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "jekyll-paginate-v2" version)) + (sha256 + (base32 + "154bfpyml6abxww9868hhyfvxasl8qhsc5zy2q30c7dxaj0igdib")))) + (build-system ruby-build-system) + (propagated-inputs + `(("jekyll" ,jekyll))) + (home-page "https://github.com/sverrirs/jekyll-paginate-v2") + (synopsis "Pagination Generator for Jekyll 3") + (description "The Pagination Generator forms the core of the pagination +logic in Jekyll. It calculates and generates the pagination pages.") + (license license:expat))) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 0695f8c7d2..631dcfd67c 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -167,14 +167,120 @@ in turn be used to build the final Rust.") (snippet '(begin (delete-file-recursively "src/llvm") #t)) (patches (map search-patch patches)))) +(define* (rust-bootstrapped-package base-rust version checksum + #:key (patches '())) + "Bootstrap rust VERSION with source checksum CHECKSUM patched with PATCHES using BASE-RUST." + (package + (inherit base-rust) + (version version) + (source + (rust-source version checksum #:patches patches)) + (native-inputs + (alist-replace "cargo-bootstrap" (list base-rust "cargo") + (alist-replace "rustc-bootstrap" (list base-rust) + (package-native-inputs base-rust)))))) + +(define-public mrustc + (let ((rustc-version "1.19.0")) + (package + (name "mrustc") + (version "0.8.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/thepowersgang/mrustc.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0a7v8ccyzp1sdkwni8h1698hxpfz2sxhcpx42n6l2pbm0rbjp08i")))) + (outputs '("out" "cargo")) + (build-system gnu-build-system) + (inputs + `(("llvm" ,llvm-3.9.1))) + (native-inputs + `(("bison" ,bison) + ("flex" ,flex) + ;; Required for the libstd sources. + ("rustc" + ,(rust-source "1.19.0" "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm")))) + (arguments + `(#:tests? #f + #:make-flags (list (string-append "LLVM_CONFIG=" + (assoc-ref %build-inputs "llvm") + "/bin/llvm-config")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-date + (lambda _ + (substitute* "Makefile" + (("shell date") "shell date -d @1")) + #t)) + (add-after 'patch-date 'unpack-target-compiler + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "minicargo.mk" + ;; Don't try to build LLVM. + (("^[$][(]LLVM_CONFIG[)]:") "xxx:") + ;; Build for the correct target architecture. + (("^RUSTC_TARGET := x86_64-unknown-linux-gnu") + (string-append "RUSTC_TARGET := " + ,(or (%current-target-system) + (nix-system->gnu-triplet-for-rust))))) + (invoke "tar" "xf" (assoc-ref inputs "rustc")) + (chdir "rustc-1.19.0-src") + (invoke "patch" "-p0" "../rust_src.patch") + (chdir "..") + #t)) + (replace 'configure + (lambda* (#:key inputs #:allow-other-keys) + (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc")) + #t)) + (add-after 'build 'build-minicargo + (lambda _ + (for-each (lambda (target) + (invoke "make" "-f" "minicargo.mk" target)) + '("output/libstd.hir" "output/libpanic_unwind.hir" + "output/libproc_macro.hir" "output/libtest.hir")) + ;; Technically the above already does it - but we want to be clear. + (invoke "make" "-C" "tools/minicargo"))) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (tools-bin (string-append out "/tools/bin")) + (cargo-out (assoc-ref outputs "cargo")) + (cargo-bin (string-append cargo-out "/bin")) + (lib (string-append out "/lib")) + (lib/rust (string-append lib "/mrust")) + (gcc (assoc-ref inputs "gcc"))) + ;; These files are not reproducible. + (for-each delete-file (find-files "output" "\\.txt$")) + (mkdir-p lib) + (copy-recursively "output" lib/rust) + (mkdir-p bin) + (mkdir-p tools-bin) + (install-file "bin/mrustc" bin) + ;; minicargo uses relative paths to resolve mrustc. + (install-file "tools/bin/minicargo" tools-bin) + (install-file "tools/bin/minicargo" cargo-bin) + #t)))))) + (synopsis "Compiler for the Rust progamming language") + (description "Rust is a systems programming language that provides memory +safety and thread safety guarantees.") + (home-page "https://github.com/thepowersgang/mrustc") + ;; Dual licensed. + (license (list license:asl2.0 license:expat))))) + (define rust-1.19 (package (name "rust") (version "1.19.0") - (source (rust-source version "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm")) + (source (rust-source version "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm" + #:patches '("rust-1.19-mrustc.patch"))) (outputs '("out" "cargo")) (arguments `(#:imported-modules ,%cargo-build-system-modules ;for `generate-checksums' + #:modules ((guix build utils) (ice-9 match) (guix build gnu-build-system)) #:phases (modify-phases %standard-phases (add-after 'unpack 'set-env @@ -187,6 +293,24 @@ in turn be used to build the final Rust.") ;; guix llvm-3.9.1 package installs only shared libraries (setenv "LLVM_LINK_SHARED" "1") #t)) + (add-after 'unpack 'patch-cargo-tomls + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "src/librustc_errors/Cargo.toml" + (("[[]dependencies[]]") " +[dependencies] +term = \"0.4.4\" +")) + (substitute* "src/librustc/Cargo.toml" + (("[[]dependencies[]]") " +[dependencies] +getopts = { path = \"../libgetopts\" } +")) + (substitute* "src/librustdoc/Cargo.toml" + (("[[]dependencies[]]") " +[dependencies] +test = { path = \"../libtest\" } +")) + #t)) (add-after 'unpack 'patch-tests (lambda* (#:key inputs #:allow-other-keys) (let ((bash (assoc-ref inputs "bash"))) @@ -243,12 +367,97 @@ in turn be used to build the final Rust.") (generate-checksums dir ,%cargo-reference-project-file))) (find-files "src/vendor" ".cargo-checksum.json")) #t)) + ;; This phase is overridden by newer versions. (replace 'configure (const #t)) + ;; This phase is overridden by newer versions. + (replace 'build + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((rustc-bootstrap (assoc-ref inputs "rustc-bootstrap"))) + (setenv "CFG_COMPILER_HOST_TRIPLE" + ,(nix-system->gnu-triplet (%current-system))) + (setenv "CFG_RELEASE" "") + (setenv "CFG_RELEASE_CHANNEL" "stable") + (setenv "CFG_LIBDIR_RELATIVE" "lib") + (setenv "CFG_VERSION" "1.19.0-stable-mrustc") + ; bad: (setenv "CFG_PREFIX" "mrustc") ; FIXME output path. + (mkdir-p "output") + (invoke (string-append rustc-bootstrap "/tools/bin/minicargo") + "src/rustc" "--vendor-dir" "src/vendor" + "--output-dir" "output/rustc-build" + "-L" (string-append rustc-bootstrap "/lib/mrust") + "-j" "1") + (install-file "output/rustc-build/rustc" "output") ; FIXME: Remove? + (setenv "CFG_COMPILER_HOST_TRIPLE" #f) + (setenv "CFG_RELEASE" #f) + (setenv "CFG_RELEASE_CHANNEL" #f) + (setenv "CFG_VERSION" #f) + (setenv "CFG_PREFIX" #f) + (setenv "CFG_LIBDIR_RELATIVE" #f) + (invoke (string-append rustc-bootstrap "/tools/bin/minicargo") + "src/tools/cargo" "--vendor-dir" "src/vendor" + "--output-dir" "output/cargo-build" + "-L" "output/" + "-L" (string-append rustc-bootstrap "/lib/mrust") + "-j" "1") + ;; Now use the newly-built rustc to build the libraries. + ;; One day that could be replaced by: + ;; (invoke "output/cargo-build/cargo" "build" + ;; "--manifest-path" "src/bootstrap/Cargo.toml" + ;; "--verbose") ; "--locked" "--frozen" + ;; but right now, Cargo has problems with libstd's circular + ;; dependencies. + (mkdir-p "output/target-libs") + (for-each ((@ (ice-9 match) match-lambda) + ((name . flags) + (write name) + (newline) + (apply invoke + "output/rustc-build/rustc" + "-C" (string-append "linker=" + (getenv "CC")) + "-L" "output/target-libs" + (string-append "src/" name "/lib.rs") + "-o" + (string-append "output/target-libs/" + (car (string-split name #\/)) + ".rlib") + flags))) + '(("libcore") + ("libstd_unicode") + ("liballoc") + ("libcollections") + ("librand") + ("liblibc/src" "--cfg" "stdbuild") + ("libunwind" "-l" "gcc_s") + ("libcompiler_builtins") + ("liballoc_system") + ("libpanic_unwind") + ;; Uses "cc" to link. + ("libstd" "-l" "dl" "-l" "rt" "-l" "pthread") + ("libarena"))) + #t))) + ;; This phase is overridden by newer versions. (replace 'check (const #t)) + ;; This phase is overridden by newer versions. (replace 'install - (const #t))))) + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (target-system ,(or (%current-target-system) + (nix-system->gnu-triplet + (%current-system)))) + (out-libs (string-append out "/lib/rustlib/" + target-system "/lib"))) + ;(setenv "CFG_PREFIX" out) + (mkdir-p out-libs) + (copy-recursively "output/target-libs" out-libs) + (install-file "output/rustc-build/rustc" + (string-append out "/bin")) + (install-file "output/cargo-build/cargo" + (string-append (assoc-ref outputs "cargo") + "/bin"))) + #t))))) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) ; For the tests @@ -258,8 +467,8 @@ in turn be used to build the final Rust.") ("git" ,git) ("procps" ,procps) ; For the tests ("python-2" ,python-2) - ("rustc-bootstrap" ,rust-bootstrap) - ("cargo-bootstrap" ,rust-bootstrap "cargo") + ("rustc-bootstrap" ,mrustc) + ("cargo-bootstrap" ,mrustc "cargo") ("pkg-config" ,pkg-config) ; For "cargo" ("which" ,which))) (inputs @@ -289,110 +498,6 @@ safety and thread safety guarantees.") ;; Dual licensed. (license (list license:asl2.0 license:expat)))) -(define* (rust-bootstrapped-package base-rust version checksum - #:key (patches '())) - "Bootstrap rust VERSION with source checksum CHECKSUM patched with PATCHES using BASE-RUST." - (package - (inherit base-rust) - (version version) - (source - (rust-source version checksum #:patches patches)) - (native-inputs - (alist-replace "cargo-bootstrap" (list base-rust "cargo") - (alist-replace "rustc-bootstrap" (list base-rust) - (package-native-inputs base-rust)))))) - -(define-public mrustc - (let ((rustc-version "1.19.0")) - (package - (name "mrustc") - (version "0.8.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/thepowersgang/mrustc.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0a7v8ccyzp1sdkwni8h1698hxpfz2sxhcpx42n6l2pbm0rbjp08i")))) - (outputs '("out" "cargo")) - (build-system gnu-build-system) - (inputs - `(("llvm" ,llvm-3.9.1))) - (native-inputs - `(("bison" ,bison) - ("flex" ,flex) - ;; Required for the libstd sources. - ("rustc" - ,(rust-source "1.19.0" "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm")))) - (arguments - `(#:tests? #f - #:make-flags (list (string-append "LLVM_CONFIG=" - (assoc-ref %build-inputs "llvm") - "/bin/llvm-config")) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-date - (lambda _ - (substitute* "Makefile" - (("shell date") "shell date -d @1")) - #t)) - (add-after 'patch-date 'unpack-target-compiler - (lambda* (#:key inputs outputs #:allow-other-keys) - (substitute* "minicargo.mk" - ;; Don't try to build LLVM. - (("^[$][(]LLVM_CONFIG[)]:") "xxx:") - ;; Build for the correct target architecture. - (("^RUSTC_TARGET := x86_64-unknown-linux-gnu") - (string-append "RUSTC_TARGET := " - ,(or (%current-target-system) - (nix-system->gnu-triplet-for-rust))))) - (invoke "tar" "xf" (assoc-ref inputs "rustc")) - (chdir "rustc-1.19.0-src") - (invoke "patch" "-p0" "../rust_src.patch") - (chdir "..") - #t)) - (replace 'configure - (lambda* (#:key inputs #:allow-other-keys) - (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc")) - #t)) - (add-after 'build 'build-minicargo - (lambda _ - (for-each (lambda (target) - (invoke "make" "-f" "minicargo.mk" target)) - '("output/libstd.hir" "output/libpanic_unwind.hir" - "output/libproc_macro.hir" "output/libtest.hir")) - ;; Technically the above already does it - but we want to be clear. - (invoke "make" "-C" "tools/minicargo"))) - (replace 'install - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (tools-bin (string-append out "/tools/bin")) - (cargo-out (assoc-ref outputs "cargo")) - (cargo-bin (string-append cargo-out "/bin")) - (lib (string-append out "/lib")) - (lib/rust (string-append lib "/mrust")) - (gcc (assoc-ref inputs "gcc"))) - ;; These files are not reproducible. - (for-each delete-file (find-files "output" "\\.txt$")) - (mkdir-p lib) - (copy-recursively "output" lib/rust) - (mkdir-p bin) - (mkdir-p tools-bin) - (install-file "bin/mrustc" bin) - ;; minicargo uses relative paths to resolve mrustc. - (install-file "tools/bin/minicargo" tools-bin) - (install-file "tools/bin/minicargo" cargo-bin) - #t)))))) - (synopsis "Compiler for the Rust progamming language") - (description "Rust is a systems programming language that provides memory -safety and thread safety guarantees.") - (home-page "https://github.com/thepowersgang/mrustc") - ;; Dual licensed. - (license (list license:asl2.0 license:expat))))) - (define-public rust-1.23 (package (inherit rust-1.19) @@ -400,6 +505,18 @@ safety and thread safety guarantees.") (version "1.23.0") (source (rust-source version "14fb8vhjzsxlbi6yrn1r6fl5dlbdd1m92dn5zj5gmzfwf4w9ar3l")) (outputs '("out" "doc" "cargo")) + (native-inputs + `(("bison" ,bison) ; For the tests + ("cmake" ,cmake) + ("flex" ,flex) ; For the tests + ("gdb" ,gdb) ; For the tests + ("git" ,git) + ("procps" ,procps) ; For the tests + ("python-2" ,python-2) + ("rustc-bootstrap" ,rust-bootstrap) + ("cargo-bootstrap" ,rust-bootstrap "cargo") + ("pkg-config" ,pkg-config) ; For "cargo" + ("which" ,which))) (arguments (substitute-keyword-arguments (package-arguments rust-1.19) ((#:phases phases) @@ -410,6 +527,8 @@ safety and thread safety guarantees.") (substitute* "src/binaryen/CMakeLists.txt" (("ADD_COMPILE_FLAG\\(\\\"-march=native\\\"\\)") "")) #t)) + ;; TODO: Revisit this and find out whether that's needed after all. + (delete 'patch-cargo-tomls) (add-after 'patch-tests 'patch-cargo-tests (lambda _ (substitute* "src/tools/cargo/tests/build.rs" diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index 16b9470e7c..a6d6ee30cd 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -150,14 +150,14 @@ anywhere.") (define-public samba (package (name "samba") - (version "4.8.4") + (version "4.8.5") (source (origin (method url-fetch) (uri (string-append "https://download.samba.org/pub/samba/stable/" "samba-" version ".tar.gz")) (sha256 (base32 - "01jlk8xlawfp3yyhi5migcd1fy7dkavbh56in444m281kqa4s17m")))) + "0mailvhjsma19k6b6zjl02z9n2hbbyfybvicjfw2hh9d4sqyd3p5")))) (build-system gnu-build-system) (arguments `(#:phases @@ -341,14 +341,14 @@ many event types, including timers, signals, and the classic file descriptor eve (define-public ldb (package (name "ldb") - (version "1.3.3") + (version "1.3.6") (source (origin (method url-fetch) (uri (string-append "https://www.samba.org/ftp/ldb/ldb-" version ".tar.gz")) (sha256 (base32 - "14gsrm7dvyjpbpnc60z75j6fz2p187abm2h353lq95kx2bv70c1b")) + "16lkz3gyvsm9als1wyimsl573hclr72xy6454mshwjanncs33lji")) (modules '((guix build utils))) (snippet '(begin @@ -417,7 +417,8 @@ key-value pair databases and a real LDAP database.") (("/usr/include/crypt\\.h") (string-append libc "/include/crypt.h")) (("/usr/include/pcap-bpf.h") - (string-append libpcap "/include/pcap-bpf.h"))))))))) + (string-append libpcap "/include/pcap-bpf.h"))) + #t)))))) (inputs `(("libpcap" ,libpcap))) (synopsis "Implementation of the Point-to-Point Protocol") diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 66cacff12f..ebb99e84f0 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -427,6 +427,7 @@ TCP, not the SSH protocol.") (uri (string-append "https://matt.ucc.asn.au/" name "/releases/" name "-" version ".tar.bz2")) + (patches (search-patches "dropbear-CVE-2018-15599.patch")) (sha256 (base32 "0rgavbzw7jrs5wslxm0dnwx2m409yzxd9hazd92r7kx8xikr3yzj")))) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 5c01a4ae06..64c331d28c 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -2455,13 +2455,13 @@ disk (or a connection).") (define-public r-plotrix (package (name "r-plotrix") - (version "3.7-2") + (version "3.7-3") (source (origin (method url-fetch) (uri (cran-uri "plotrix" version)) (sha256 (base32 - "0hx3xv94gzlyy7ny5k4mzs7w1798h1zka175m5bkzc524493cm88")))) + "18702y1gbyis56mh219z5ww0nrkh6qx7bgqv3khyn80g2giwk7cf")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/plotrix") (synopsis "Various plotting functions") @@ -5172,14 +5172,14 @@ Companion to Applied Regression, Third Edition, Sage.") (define-public r-car (package (name "r-car") - (version "3.0-1") + (version "3.0-2") (source (origin (method url-fetch) (uri (cran-uri "car" version)) (sha256 (base32 - "0rdk7hgahs38j6yv861i31wpmsmyvksxcv8jarvvcjl60whizhb2")))) + "0l3wyc9ia0ypcbap2p39slazfpbl84mjzydqvpsywrzdiyxajnfz")))) (build-system r-build-system) (propagated-inputs `(("r-abind" ,r-abind) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 02c12c9446..f638c6094c 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -122,7 +122,7 @@ in intelligent transportation networks.") (define-public p11-kit (package (name "p11-kit") - (version "0.23.13") + (version "0.23.14") (source (origin (method url-fetch) @@ -130,7 +130,7 @@ in intelligent transportation networks.") "download/" version "/p11-kit-" version ".tar.gz")) (sha256 (base32 - "1w92k6p4bhg8p24igfb6ifc6vixr2zdjh3x6gjhsphy778z40rda")))) + "0w0dkq9388grbbn4bv2p55vy1j51f7nd9hzlc9gz4fbm4dnzmf8w")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 6825cd7d2d..3e074e6c3f 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -2217,7 +2217,8 @@ making @dfn{screencasts}.") ("jack" ,jack-1) ("libxi" ,libxi) ("pulseaudio" ,pulseaudio) - ("qt" ,qt))) + ("qtbase" ,qtbase) + ("qtx11extras" ,qtx11extras))) (native-inputs `(("pkg-config" ,pkg-config))) (arguments `(#:configure-flags diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index f3412c275e..001644c195 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Raoul Jean Pierre Bonnal <ilpuccio.febo@gmail.com> ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> -;;; Copyright © 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org> +;;; Copyright © 2015, 2016, 2017, 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr> ;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2016 Jelle Licht <jlicht@fsfe.org> @@ -4275,7 +4275,7 @@ tools they trust (e.g. wget).") (define netsurf-buildsystem (package (name "netsurf-buildsystem") - (version "1.6") + (version "1.7") (source (origin (method url-fetch) @@ -4283,7 +4283,7 @@ tools they trust (e.g. wget).") "buildsystem-" version ".tar.gz")) (sha256 (base32 - "0p5k708lcq8dip9xxck6hml32bjrbyipprm22bbsvdnsc0pqm71x")))) + "1q23aaycv35ma5471l1gxib8lfq2s9kprrkaqgfc926d04rlbmhw")))) (build-system gnu-build-system) (inputs `(("perl" ,perl))) (arguments @@ -4314,7 +4314,7 @@ libraries.") (define-public libparserutils (package (name "libparserutils") - (version "0.2.3") + (version "0.2.4") (source (origin (method url-fetch) @@ -4322,7 +4322,7 @@ libraries.") name "-" version "-src.tar.gz")) (sha256 (base32 - "01gzlsabgl6x0icd8758d9jqs8rrf9574bdkjainn04w3fs3znf5")))) + "1n2794y2l0c8nv8z2pxwfnbn882987ifmxjv60zdxkhcndhswarj")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem) @@ -4339,7 +4339,7 @@ C. It is developed as part of the NetSurf project.") (define-public hubbub (package (name "hubbub") - (version "0.3.4") + (version "0.3.5") (source (origin (method url-fetch) @@ -4347,7 +4347,7 @@ C. It is developed as part of the NetSurf project.") "lib" name "-" version "-src.tar.gz")) (sha256 (base32 - "1shi4hv8drn9zy8f2f6yhnz2dqnpg5jkybvqhzggfjx1q35fbxz3")) + "13yq1k96a7972x4r71i9bcsz9yiglj0yx7lj0ziq5r94w5my70ma")) (patches (search-patches "hubbub-sort-entities.patch")))) (build-system gnu-build-system) (native-inputs @@ -4453,7 +4453,7 @@ commenting.") (define-public libwapcaplet (package (name "libwapcaplet") - (version "0.4.0") + (version "0.4.1") (source (origin (method url-fetch) @@ -4461,7 +4461,7 @@ commenting.") name "-" version "-src.tar.gz")) (sha256 (base32 - "15yr0pl6qa6biy36qkmd949ydbjzpqiaccpx3sprh4jknabsk1vv")))) + "134pljlm8kby1yy49826f0ixnpig8iqak6xpyl3aivagnsjnxzy8")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem) @@ -4479,7 +4479,7 @@ developed as part of the Netsurf project.") (define-public libcss (package (name "libcss") - (version "0.7.0") + (version "0.8.0") (source (origin (method url-fetch) @@ -4487,7 +4487,7 @@ developed as part of the Netsurf project.") name "-" version "-src.tar.gz")) (sha256 (base32 - "16mns3h8vj7iw8myvgnw58q84irvbjlvfkxh8mdw6fbkjvaa7cnz")))) + "0pxdqbxn6brj03nv57bsvac5n70k4scn3r5msaw0jgn2k06lk81m")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem) @@ -4507,7 +4507,7 @@ written in C. It is developed as part of the NetSurf project.") (define-public libdom (package (name "libdom") - (version "0.3.2") + (version "0.3.3") (source (origin (method url-fetch) @@ -4515,7 +4515,7 @@ written in C. It is developed as part of the NetSurf project.") name "-" version "-src.tar.gz")) (sha256 (base32 - "1zb7x2qwm6p11lph6j2vcyp4a0a8i1klkqilnk5vb4qmlzzpcv7i")))) + "1919757mdl3gii2pl6kzm8b1cal0h06r5nqd2y0kny6hc5yrhsp0")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem) @@ -4543,7 +4543,7 @@ developed as part of the NetSurf project.") (define-public libsvgtiny (package (name "libsvgtiny") - (version "0.1.6") + (version "0.1.7") (source (origin (method url-fetch) @@ -4551,7 +4551,7 @@ developed as part of the NetSurf project.") name "-" version "-src.tar.gz")) (sha256 (base32 - "12ppy2r7m21ykrjgbf067cgi6dn48fkj7i4b7m64xl4dc13y0ah6")))) + "10bpkmvfpydj74im3r6kqm9vnvgib6afy0alx71q5n0w5yawy39c")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem) @@ -4574,7 +4574,7 @@ project.") (define-public libnsbmp (package (name "libnsbmp") - (version "0.1.4") + (version "0.1.5") (source (origin (method url-fetch) @@ -4582,7 +4582,7 @@ project.") name "-" version "-src.tar.gz")) (sha256 (base32 - "0y4a0gn4l6lq4z9183wix0mdsgalqyw24k19k8jr8sz4h3lb7jrb")))) + "0lib2m07d1i0k80m4blkwnj0g7rha4jbm5vrgd0wwbkyfa0hvk35")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem))) @@ -4597,7 +4597,7 @@ written in C. It is developed as part of the NetSurf project.") (define-public libnsgif (package (name "libnsgif") - (version "0.2.0") + (version "0.2.1") (source (origin (method url-fetch) @@ -4605,7 +4605,7 @@ written in C. It is developed as part of the NetSurf project.") name "-" version "-src.tar.gz")) (sha256 (base32 - "1phwf0m24m6nd7096fw14hanl4f8gr9bcppi834lbik04agxk38a")))) + "0jwshypgmx16xlsbx3d8njk8a5khazlplca5mxd3rdbhrlsabbly")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem))) @@ -4620,7 +4620,7 @@ C. It is developed as part of the NetSurf project.") (define-public libnsutils (package (name "libnsutils") - (version "0.0.3") + (version "0.0.5") (source (origin (method url-fetch) @@ -4628,7 +4628,7 @@ C. It is developed as part of the NetSurf project.") name "-" version "-src.tar.gz")) (sha256 (base32 - "0wrxn4rcn7xrfnkmf60jafqn3n1kicgsdpnakd821q56bmqvzf0m")))) + "09w1rixps1iiq6wirjwxmd6h87llvjzvw565rahjb3rlyhcplfqf")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem))) @@ -4643,7 +4643,7 @@ developed as part of the NetSurf project.") (define-public libnspsl (package (name "libnspsl") - (version "0.1.2") + (version "0.1.3") (source (origin (method url-fetch) @@ -4651,7 +4651,7 @@ developed as part of the NetSurf project.") name "-" version "-src.tar.gz")) (sha256 (base32 - "0wim5hwzwrfrvvap096whf79m2mnfivbqhqlh03ci9d89xb1w0y9")))) + "1rsk1k2a495axxgv8060s0p1phhhcxrv75252kllbkvr8id5kqld")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem))) @@ -4666,7 +4666,7 @@ Public Suffix List. It is developed as part of the NetSurf project.") (define-public nsgenbind (package (name "nsgenbind") - (version "0.5") + (version "0.6") (source (origin (method url-fetch) @@ -4674,7 +4674,7 @@ Public Suffix List. It is developed as part of the NetSurf project.") name "-" version "-src.tar.gz")) (sha256 (base32 - "1iwjpdaan0njlhb9ir6a2q5vpxfmkqfldkvnqszqdz50b44vd1jv")))) + "0v1cb1rz5fix9ql31nzmglj7sybya6d12b2fkaypm1avcca59xwj")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem) @@ -4694,7 +4694,7 @@ w3c webidl files and a binding configuration file.") (define-public netsurf (package (name "netsurf") - (version "3.7") + (version "3.8") (source (origin (method url-fetch) @@ -4702,10 +4702,11 @@ w3c webidl files and a binding configuration file.") "releases/source/netsurf-" version "-src.tar.gz")) (sha256 (base32 - "05kynfzzwd4fc03vbqdjpghh5xnk2yrh43w7vikak89vla30mhpg")) + "0hjm1h4m1i913y4mhkl7yqdifn8k70fwi58zdh6faypawzryc3m0")) (patches (search-patches "netsurf-system-utf8proc.patch" "netsurf-y2038-tests.patch" - "netsurf-longer-test-timeout.patch")))) + "netsurf-longer-test-timeout.patch" + "netsurf-message-timestamp.patch")))) (build-system glib-or-gtk-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem) diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index 9c1257b2a1..b818a3ccb5 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -225,7 +225,7 @@ integrate Windows applications into your desktop.") (define-public wine-staging-patchset-data (package (name "wine-staging-patchset-data") - (version "3.14") + (version "3.15") (source (origin (method git-fetch) @@ -235,7 +235,7 @@ integrate Windows applications into your desktop.") (file-name (git-file-name name version)) (sha256 (base32 - "0h6gck0p92hin0m13q1hnlfnqs4vy474w66ppinvqms2zn3vibgi")))) + "1rgbx4qnxaarkq5n8nvj57q0rhxcqbwm5897ws962fgxh6zymg9n")))) (build-system trivial-build-system) (native-inputs `(("bash" ,bash) @@ -281,7 +281,7 @@ integrate Windows applications into your desktop.") (file-name (string-append name "-" version ".tar.xz")) (sha256 (base32 - "01dhn3a6k3dwnrbz4bxvszhh5sxwy6s89y459g805hjmq8s6d2a7")))) + "07mmd8r70ciqrxzdg2m2mg34kcnb43dk9nw1ljm8jbcznsawv8ic")))) (inputs `(("autoconf" ,autoconf) ; for autoreconf ("gtk+" ,gtk+) ("libva" ,libva) diff --git a/gnu/services/dns.scm b/gnu/services/dns.scm index 2c57a36b84..16bd039f59 100644 --- a/gnu/services/dns.scm +++ b/gnu/services/dns.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu> +;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -45,7 +46,10 @@ zone-entry dnsmasq-service-type - dnsmasq-configuration)) + dnsmasq-configuration + + ddclient-service-type + ddclient-configuration)) ;;; ;;; Knot DNS. @@ -670,3 +674,165 @@ (compose list dnsmasq-shepherd-service)))) (default-value (dnsmasq-configuration)) (description "Run the dnsmasq DNS server."))) + + +;;; +;;; ddclient +;;; + +(define (uglify-field-name field-name) + (string-delete #\? (symbol->string field-name))) + +(define (serialize-field field-name val) + (format #t "~a=~a\n" (uglify-field-name field-name) val)) + +(define (serialize-boolean field-name val) + (serialize-field field-name (if val "yes" "no"))) + +(define (serialize-integer field-name val) + (serialize-field field-name (number->string val))) + +(define (serialize-string field-name val) + (if (and (string? val) (string=? val "")) + "" + (serialize-field field-name val))) + +(define (serialize-list field-name val) + (if (null? val) "" (serialize-field field-name (string-join val)))) + +(define (serialize-extra-options extra-options) + (string-join extra-options "\n" 'suffix)) + +(define-configuration ddclient-configuration + (ddclient + (package ddclient) + "The ddclient package.") + (daemon + (integer 300) + "The period after which ddclient will retry to check IP and domain name.") + (syslog + (boolean #t) + "Use syslog for the output.") + (mail + (string "root") + "Mail to user.") + (mail-failure + (string "root") + "Mail failed update to user.") + (pid + (string "/var/run/ddclient/ddclient.pid") + "The ddclient PID file.") + (ssl + (boolean #t) + "Enable SSL support.") + (user + (string "ddclient") + "Specifies the user name or ID that is used when running ddclient +program.") + (group + (string "ddclient") + "Group of the user who will run the ddclient program.") + (secret-file + (string "/etc/ddclient/secrets.conf") + "Secret file which will be appended to @file{ddclient.conf} file. This +file contains credentials for use by ddclient. You are expected to create it +manually.") + (extra-options + (list '()) + "Extra options will be appended to @file{ddclient.conf} file.")) + +(define (ddclient-account config) + "Return the user accounts and user groups for CONFIG." + (let ((ddclient-user (ddclient-configuration-user config)) + (ddclient-group (ddclient-configuration-group config))) + (list (user-group + (name ddclient-group) + (system? #t)) + (user-account + (name ddclient-user) + (system? #t) + (group ddclient-group) + (comment "ddclientd privilege separation user") + (home-directory (string-append "/var/run/" ddclient-user)))))) + +(define (ddclient-activation config) + "Return the activation GEXP for CONFIG." + (with-imported-modules '((guix build utils) + (ice-9 rdelim)) + #~(begin + (use-modules (guix build utils) + (ice-9 rdelim)) + (let ((ddclient-user + #$(passwd:uid (getpw (ddclient-configuration-user config)))) + (ddclient-group + #$(passwd:gid (getpw (ddclient-configuration-group config)))) + (ddclient-secret-file + #$(ddclient-configuration-secret-file config))) + ;; 'ddclient' complains about ddclient.conf file permissions, which + ;; rules out /gnu/store. Thus we copy the ddclient.conf to /etc. + (for-each (lambda (dir) + (mkdir-p dir) + (chmod dir #o700) + (chown dir ddclient-user ddclient-group)) + '("/var/cache/ddclient" "/var/run/ddclient" + "/etc/ddclient")) + (with-output-to-file "/etc/ddclient/ddclient.conf" + (lambda () + (display + (string-append + "# Generated by 'ddclient-service'.\n\n" + #$(with-output-to-string + (lambda () + (serialize-configuration config + ddclient-configuration-fields))) + (if (string-null? ddclient-secret-file) + "" + (format #f "\n\n# Appended from '~a'.\n\n~a" + ddclient-secret-file + (with-input-from-file ddclient-secret-file + read-string))))))) + (chmod "/etc/ddclient/ddclient.conf" #o600) + (chown "/etc/ddclient/ddclient.conf" + ddclient-user ddclient-group))))) + +(define (ddclient-shepherd-service config) + "Return a <shepherd-service> for ddclient with CONFIG." + (let ((ddclient (ddclient-configuration-ddclient config)) + (ddclient-pid (ddclient-configuration-pid config)) + (ddclient-user (ddclient-configuration-user config)) + (ddclient-group (ddclient-configuration-group config))) + (list (shepherd-service + (provision '(ddclient)) + (documentation "Run ddclient daemon.") + (start #~(make-forkexec-constructor + (list #$(file-append ddclient "/bin/ddclient") + "-foreground" + "-file" "/etc/ddclient/ddclient.conf") + #:pid-file #$ddclient-pid + #:environment-variables + (list "SSL_CERT_DIR=/run/current-system/profile\ +/etc/ssl/certs" + "SSL_CERT_FILE=/run/current-system/profile\ +/etc/ssl/certs/ca-certificates.crt") + #:user #$ddclient-user + #:group #$ddclient-group)) + (stop #~(make-kill-destructor)))))) + +(define ddclient-service-type + (service-type + (name 'ddclient) + (extensions + (list (service-extension account-service-type + ddclient-account) + (service-extension shepherd-root-service-type + ddclient-shepherd-service) + (service-extension activation-service-type + ddclient-activation))) + (default-value (ddclient-configuration)) + (description "Configure address updating utility for dynamic DNS services, +ddclient."))) + +(define (generate-ddclient-documentation) + (generate-documentation + `((ddclient-configuration ,ddclient-configuration-fields)) + 'ddclient-configuration)) diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index d5d0cf9d1d..b6b5ee3fec 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -576,7 +577,9 @@ demand."))) (config-file tor-configuration-config-file (default (plain-file "empty" ""))) (hidden-services tor-configuration-hidden-services - (default '()))) + (default '())) + (socks-socket-type tor-configuration-socks-socket-type ; 'tcp or 'unix + (default 'tcp))) (define %tor-accounts ;; User account and groups for Tor. @@ -598,7 +601,7 @@ demand."))) (define (tor-configuration->torrc config) "Return a 'torrc' file for CONFIG." (match config - (($ <tor-configuration> tor config-file services) + (($ <tor-configuration> tor config-file services socks-socket-type) (computed-file "torrc" (with-imported-modules '((guix build utils)) @@ -612,7 +615,12 @@ demand."))) ### These lines were generated from your system configuration: User tor DataDirectory /var/lib/tor +PidFile /var/run/tor/tor.pid Log notice syslog\n" port) + (when (eq? 'unix '#$socks-socket-type) + (display "\ +SocksPort unix:/var/run/tor/socks-sock +UnixSocksGroupWritable 1\n" port)) (for-each (match-lambda ((service (ports hosts) ...) @@ -639,7 +647,7 @@ HiddenServicePort ~a ~a~%" #t)))))))) (define (tor-shepherd-service config) - "Return a <shepherd-service> running TOR." + "Return a <shepherd-service> running Tor." (match config (($ <tor-configuration> tor) (let ((torrc (tor-configuration->torrc config))) @@ -665,12 +673,17 @@ HiddenServicePort ~a ~a~%" (writable? #t)) (file-system-mapping (source "/dev/log") ;for syslog - (target source))))) + (target source)) + (file-system-mapping + (source "/var/run/tor") + (target source) + (writable? #t))) + #:pid-file "/var/run/tor/tor.pid")) (stop #~(make-kill-destructor)) (documentation "Run the Tor anonymous network overlay.")))))))) -(define (tor-hidden-service-activation config) - "Return the activation gexp for SERVICES, a list of hidden services." +(define (tor-activation config) + "Set up directories for Tor and its hidden services, if any." #~(begin (use-modules (guix build utils)) @@ -686,6 +699,15 @@ HiddenServicePort ~a ~a~%" ;; The daemon bails out if we give wider permissions. (chmod directory #o700))) + ;; Allow Tor to write its PID file. + (mkdir-p "/var/run/tor") + (chown "/var/run/tor" (passwd:uid %user) (passwd:gid %user)) + ;; Set the group permissions to rw so that if the system administrator + ;; has specified UnixSocksGroupWritable=1 in their torrc file, members + ;; of the "tor" group will be able to use the SOCKS socket. + (chmod "/var/run/tor" #o750) + + ;; Allow Tor to access the hidden services' directories. (mkdir-p "/var/lib/tor") (chown "/var/lib/tor" (passwd:uid %user) (passwd:gid %user)) (chmod "/var/lib/tor" #o700) @@ -705,7 +727,7 @@ HiddenServicePort ~a ~a~%" (service-extension account-service-type (const %tor-accounts)) (service-extension activation-service-type - tor-hidden-service-activation))) + tor-activation))) ;; This can be extended with hidden services. (compose concatenate) diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm index dd96ad6aec..056602248f 100644 --- a/gnu/services/ssh.scm +++ b/gnu/services/ssh.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2016 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> @@ -319,6 +319,10 @@ The other options should be self-descriptive." (accepted-environment openssh-configuration-accepted-environment (default '())) + ;; symbol + (log-level openssh-configuration-log-level + (default 'info)) + ;; list of user-name/file-like tuples (authorized-keys openssh-authorized-keys (default '())) @@ -451,6 +455,10 @@ of user-name/file-like tuples." (format port "PrintLastLog ~a\n" #$(if (openssh-configuration-print-last-log? config) "yes" "no")) + (format port "LogLevel ~a\n" + #$(string-upcase + (symbol->string + (openssh-configuration-log-level config)))) ;; Add '/etc/authorized_keys.d/%u', which we populate. (format port "AuthorizedKeysFile \ diff --git a/gnu/services/web.scm b/gnu/services/web.scm index 97976509b6..467656444e 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -599,19 +599,33 @@ of index files." <nginx-configuration> (nginx file run-directory) (let* ((nginx-binary (file-append nginx "/sbin/nginx")) + (pid-file (in-vicinity run-directory "pid")) (nginx-action (lambda args #~(lambda _ (invoke #$nginx-binary "-c" #$(or file (default-nginx-config config)) - #$@args))))) + #$@args) + (match '#$args + (("-s" . _) #t) + (_ + (let loop ((duration 0)) + ;; https://bugs.launchpad.net/ubuntu/+source/nginx/+bug/1581864/comments/7 + (sleep duration) + (if (file-exists? #$pid-file) + (let ((pid (call-with-input-file #$pid-file read))) + ;; it could be #<eof> + (if (integer? pid) pid (loop 1))) + (loop 1))))))))) ;; TODO: Add 'reload' action. (list (shepherd-service (provision '(nginx)) (documentation "Run the nginx daemon.") (requirement '(user-processes loopback)) + (modules `((ice-9 match) + ,@%default-modules)) (start (nginx-action "-p" run-directory)) (stop (nginx-action "-s" "stop"))))))) diff --git a/gnu/tests.scm b/gnu/tests.scm index 5d4a4f8062..9e8eed7d95 100644 --- a/gnu/tests.scm +++ b/gnu/tests.scm @@ -22,6 +22,7 @@ #:use-module (guix gexp) #:use-module (guix utils) #:use-module (guix records) + #:use-module ((guix ui) #:select (warn-about-load-error)) #:use-module (gnu bootloader) #:use-module (gnu bootloader grub) #:use-module (gnu system) @@ -258,7 +259,8 @@ the system under test." (define (test-modules) "Return the list of modules that define system tests." (scheme-modules (dirname (search-path %load-path "guix.scm")) - "gnu/tests")) + "gnu/tests" + #:warn warn-about-load-error)) (define (fold-system-tests proc seed) "Invoke PROC on each system test, passing it the test and the previous diff --git a/gnu/tests/networking.scm b/gnu/tests/networking.scm index 323679e7fc..381c5caf14 100644 --- a/gnu/tests/networking.scm +++ b/gnu/tests/networking.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,7 +31,7 @@ #:use-module (gnu packages bash) #:use-module (gnu packages networking) #:use-module (gnu services shepherd) - #:export (%test-inetd %test-openvswitch %test-dhcpd)) + #:export (%test-inetd %test-openvswitch %test-dhcpd %test-tor)) (define %inetd-os ;; Operating system with 2 inetd services. @@ -339,3 +340,97 @@ subnet 192.168.1.0 netmask 255.255.255.0 { (name "dhcpd") (description "Test a running DHCP daemon configuration.") (value (run-dhcpd-test)))) + + +;;; +;;; Services related to Tor +;;; + +(define %tor-os + (simple-operating-system + (tor-service))) + +(define %tor-os/unix-socks-socket + (simple-operating-system + (service tor-service-type + (tor-configuration + (socks-socket-type 'unix))))) + +(define (run-tor-test) + (define os + (marionette-operating-system %tor-os + #:imported-modules '((gnu services herd)) + #:requirements '(tor))) + + (define os/unix-socks-socket + (marionette-operating-system %tor-os/unix-socks-socket + #:imported-modules '((gnu services herd)) + #:requirements '(tor))) + + (define test + (with-imported-modules '((gnu build marionette)) + #~(begin + (use-modules (gnu build marionette) + (ice-9 popen) + (ice-9 rdelim) + (srfi srfi-64)) + + (define marionette + (make-marionette (list #$(virtual-machine os)))) + + (define (tor-is-alive? marionette) + (marionette-eval + '(begin + (use-modules (gnu services herd) + (srfi srfi-1)) + (live-service-running + (find (lambda (live) + (memq 'tor + (live-service-provision live))) + (current-services)))) + marionette)) + + (mkdir #$output) + (chdir #$output) + + (test-begin "tor") + + ;; Test the usual Tor service. + + (test-assert "tor is alive" + (tor-is-alive? marionette)) + + (test-assert "tor is listening" + (let ((default-port 9050)) + (wait-for-tcp-port default-port marionette))) + + ;; Don't run two VMs at once. + (marionette-control "quit" marionette) + + ;; Test the Tor service using a SOCKS socket. + + (let* ((socket-directory "/tmp/more-sockets") + (_ (mkdir socket-directory)) + (marionette/unix-socks-socket + (make-marionette + (list #$(virtual-machine os/unix-socks-socket)) + ;; We can't use the same socket directory as the first + ;; marionette. + #:socket-directory socket-directory))) + (test-assert "tor is alive, even when using a SOCKS socket" + (tor-is-alive? marionette/unix-socks-socket)) + + (test-assert "tor is listening, even when using a SOCKS socket" + (wait-for-unix-socket "/var/run/tor/socks-sock" + marionette/unix-socks-socket))) + + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0))))) + + (gexp->derivation "tor-test" test)) + +(define %test-tor + (system-test + (name "tor") + (description "Test a running Tor daemon configuration.") + (value (run-tor-test)))) |