From fbde37884fe35f5caf2a0e33fc734d0ca40ad893 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 20 Oct 2019 05:21:42 +0200 Subject: gnu: r-colorout: Update to 1.2-2. * gnu/packages/statistics.scm (r-colorout): Update to 1.2-2. --- gnu/packages/statistics.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 4b1ba98e2f..8923481b6c 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -5733,7 +5733,7 @@ shaped points? Now you can!") (define-public r-colorout (package (name "r-colorout") - (version "1.2-0") + (version "1.2-2") (source (origin (method url-fetch) @@ -5741,8 +5741,7 @@ shaped points? Now you can!") "v" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "07vqx5ihgnq4dzn5jnfjfhdm3957v4prvf8vhnb3cwvlly4l7p9v")))) + (base32 "1ylwxnaq5l6ldls44wij4i6080fv002wj33q63h8nqbp52fmkl67")))) (build-system r-build-system) (home-page "https://github.com/jalvesaq/colorout") (synopsis "Colorize output in the R REPL") -- cgit 1.4.1 From df12af98a86816e78f826b10a062bfe79de6c47a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 20 Oct 2019 05:26:47 +0200 Subject: gnu: r-colorout: Don't use unstable tarball. * gnu/packages/statistics.scm (r-colorout)[source]: Use GIT-FETCH and GIT-FILE-NAME. --- gnu/packages/statistics.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 8923481b6c..7b8622ebfc 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -5736,12 +5736,13 @@ shaped points? Now you can!") (version "1.2-2") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/jalvesaq/colorout/archive/" - "v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/jalvesaq/colorout.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "1ylwxnaq5l6ldls44wij4i6080fv002wj33q63h8nqbp52fmkl67")))) + (base32 "1rsx69wjpa73c6x2hacvvvbzdzxn7wg06gizf97kasjdlb7azmp3")))) (build-system r-build-system) (home-page "https://github.com/jalvesaq/colorout") (synopsis "Colorize output in the R REPL") -- cgit 1.4.1 From 37781323f6409661160442f46f96987a71deecbc Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 20 Oct 2019 19:20:17 +0200 Subject: gnu: arc-theme: Update to 20190917. * gnu/packages/gnome.scm (arc-theme): Update to 20190917. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 781f450621..3a4494b2b5 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -7100,7 +7100,7 @@ dark elements. It supports GNOME, Unity, Xfce, and Openbox.") (define-public arc-theme (package (name "arc-theme") - (version "20181022") + (version "20190917") (source (origin (method git-fetch) (uri (git-reference @@ -7109,7 +7109,7 @@ dark elements. It supports GNOME, Unity, Xfce, and Openbox.") (file-name (git-file-name name version)) (sha256 (base32 - "08951dk1irfadwpr3p323a4fprmxg53rk2r2niwq3v62ryhi3663")))) + "1qgpk4p2hi5hd4yy0hj93kq1vs0b32wb8qkaj1wi90c8gwddq5wa")))) (build-system gnu-build-system) (arguments '(#:phases -- cgit 1.4.1 From d2e1a0ac92e68d59e1828c6231ccd9ef264b87dd Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 21 Oct 2019 00:40:31 +0200 Subject: gnu: libdv: Don't use NAME in source URI. * gnu/packages/video.scm (libdv)[source]: Hard-code NAME. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 0624d1abb4..5c13500642 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -688,8 +688,8 @@ streams.") (source (origin (method url-fetch) (uri (string-append - "mirror://sourceforge/" name "/" name "/" - version "/" name "-" version ".tar.gz")) + "mirror://sourceforge/libdv/libdv/" + version "/libdv-" version ".tar.gz")) (sha256 (base32 "1fl96f2xh2slkv1i1ix7kqk576a0ak1d33cylm0mbhm96d0761d3")))) -- cgit 1.4.1 From 4de93b2fbcfce7cd7d381c36d0059d5b018e69f6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 21 Oct 2019 01:22:29 +0200 Subject: gnu: bpython: Update to 0.18. * gnu/packages/python-xyz.scm (bpython): Update to 0.18. --- gnu/packages/python-xyz.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index e81a6b838a..fefd3f67fa 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -14854,14 +14854,13 @@ Included are implementations of: (define-public bpython (package (name "bpython") - (version "0.17.1") + (version "0.18") (source (origin (method url-fetch) (uri (pypi-uri "bpython" version)) (sha256 - (base32 - "0bxhxi5zxdkrf8b4gwn0d363kdz3qnypjwhm1aydki53ph8ca1w9")))) + (base32 "1hl6frgvr2lqaxqczl8amg9xih32b3gzv429vs0qrjb8wpdj1k2n")))) (build-system python-build-system) (arguments `(#:phases @@ -14884,10 +14883,10 @@ Included are implementations of: (propagated-inputs `(("python-pygments" ,python-pygments) ("python-requests" ,python-requests) - ("python-babel" ,python-babel) ; optional, for internationalization + ("python-babel" ,python-babel) ; optional, for internationalization ("python-curtsies" ,python-curtsies) ; >= 0.1.18 ("python-greenlet" ,python-greenlet) - ("python-urwid" ,python-urwid) ; for bpython-urwid only + ("python-urwid" ,python-urwid) ; for bpython-urwid only ("python-six" ,python-six))) (native-inputs `(("python-sphinx" ,python-sphinx) -- cgit 1.4.1 From 93803c6b6114dd8ee0df7939eef0d0be374327ef Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 21 Oct 2019 01:32:38 +0200 Subject: gnu: snakemake: Update to 5.7.1. * gnu/packages/python-xyz.scm (snakemake): Update to 5.7.1. --- gnu/packages/python-xyz.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index fefd3f67fa..62801887bf 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -6146,13 +6146,13 @@ Python.") (define-public snakemake (package (name "snakemake") - (version "5.2.4") + (version "5.7.1") (source (origin (method url-fetch) (uri (pypi-uri "snakemake" version)) (sha256 - (base32 "0gj0xxgiq3mp9qyyrbfzldiaq1giliqw0in64nqiz7vx49myqj7z")))) + (base32 "1pnpvvn8n2a78cg360wz3ldmpqrsm2wzi0c0dmvki9fnsw6fxdas")))) (build-system python-build-system) (arguments ;; TODO: Package missing test dependencies. @@ -6180,6 +6180,7 @@ Python.") ("python-jinja2" ,python-jinja2) ("python-jsonschema" ,python-jsonschema) ("python-networkx" ,python-networkx) + ("python-psutil" ,python-psutil) ("python-pyyaml" ,python-pyyaml) ("python-ratelimiter" ,python-ratelimiter))) (home-page "https://snakemake.readthedocs.io") -- cgit 1.4.1 From 8994ae34539559c8edb0013e78af1a4dc5784d3b Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 21 Oct 2019 01:34:45 +0200 Subject: gnu: snakemake: Order inputs alphabetically. * gnu/packages/python-xyz.scm (snakemake)[propagated-inputs]: Order. --- gnu/packages/python-xyz.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 62801887bf..ac5009114a 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -6170,19 +6170,19 @@ Python.") "/bin/snakemake"))) #t))))) (propagated-inputs - `(("python-gitpython" ,python-gitpython) - ("python-wrapt" ,python-wrapt) - ("python-requests" ,python-requests) - ("python-appdirs" ,python-appdirs) + `(("python-appdirs" ,python-appdirs) ("python-configargparse" ,python-configargparse) ("python-datrie" ,python-datrie) ("python-docutils" ,python-docutils) + ("python-gitpython" ,python-gitpython) ("python-jinja2" ,python-jinja2) ("python-jsonschema" ,python-jsonschema) ("python-networkx" ,python-networkx) ("python-psutil" ,python-psutil) ("python-pyyaml" ,python-pyyaml) - ("python-ratelimiter" ,python-ratelimiter))) + ("python-ratelimiter" ,python-ratelimiter) + ("python-requests" ,python-requests) + ("python-wrapt" ,python-wrapt))) (home-page "https://snakemake.readthedocs.io") (synopsis "Python-based execution environment for make-like workflows") (description -- cgit 1.4.1 From 776aa52d2bdc746be30e0436773d8dcab69d8e36 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 21 Oct 2019 01:35:22 +0200 Subject: gnu: Remove snakemake@4. * gnu/packages/python-xyz.scm (snakemake-4): Remove variable. --- gnu/packages/python-xyz.scm | 18 ------------------ 1 file changed, 18 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index ac5009114a..65f944b56c 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -6191,24 +6191,6 @@ providing a clean and modern domain specific specification language (DSL) in Python style, together with a fast and comfortable execution environment.") (license license:expat))) -;; This is currently needed for the pigx-* packages. -(define-public snakemake-4 - (package (inherit snakemake) - (version "4.4.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "snakemake" version)) - (sha256 - (base32 "0g0paia4z7w3srnqdmavq3hrb2x7qnpf81jx50njl0p7y4y0j8jv")))) - (propagated-inputs - `(("python-wrapt" ,python-wrapt) - ("python-requests" ,python-requests) - ("python-appdirs" ,python-appdirs) - ("python-configargparse" ,python-configargparse) - ("python-pyyaml" ,python-pyyaml) - ("python-ratelimiter" ,python-ratelimiter))))) - (define-public python-pyqrcode (package (name "python-pyqrcode") -- cgit 1.4.1 From b977d900d89041a9155086866b112b49c1362c30 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 21 Oct 2019 01:09:53 +0200 Subject: gnu: certbot, python-acme: Update to 0.39.0. * gnu/packages/tls.scm (python-acme): Update to 0.39.0. (certbot)[source]: Update hash. [propagated-inputs]: Add python-distro. --- gnu/packages/tls.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 2def6ee703..73bd0ded23 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -542,13 +542,13 @@ netcat implementation that supports TLS.") (package (name "python-acme") ;; Remember to update the hash of certbot when updating python-acme. - (version "0.37.2") + (version "0.39.0") (source (origin (method url-fetch) (uri (pypi-uri "acme" version)) (sha256 (base32 - "0p3zqhna9p8iy5i9mfhzdf5bmjigs05r6rlwnxykk4n67fp8yyc8")))) + "021nyzld949ahrhamlcgmzmk8r1gxrbs8wypnks08s6y2rfvgz52")))) (build-system python-build-system) (arguments `(#:phases @@ -599,7 +599,7 @@ netcat implementation that supports TLS.") (uri (pypi-uri "certbot" version)) (sha256 (base32 - "1xbfv4fwkgfp9qqzlk8wxbhchc61349m26q9fg35j9fnm253cm74")))) + "1q6zmnfyyk4rhsjg9s2gxx1ciink57ybnv32dgw8m2059lffwp48")))) (build-system python-build-system) (arguments `(,@(substitute-keyword-arguments (package-arguments python-acme) @@ -633,6 +633,7 @@ netcat implementation that supports TLS.") ("python-pyopenssl" ,python-pyopenssl) ("python-configobj" ,python-configobj) ("python-configargparse" ,python-configargparse) + ("python-distro" ,python-distro) ("python-zope-component" ,python-zope-component) ("python-parsedatetime" ,python-parsedatetime) ("python-six" ,python-six) -- cgit 1.4.1 From 6f91eabb791a040d9541bc389a60a5310c2f728c Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sun, 20 Oct 2019 18:49:03 -0700 Subject: gnu: emacs-org-ql: Update to 0.3.2. * gnu/packages/emacs-xyz.scm (emacs-org-ql): Update to 0.3.2. --- gnu/packages/emacs-xyz.scm | 84 ++++++++++++++++++++++------------------------ 1 file changed, 41 insertions(+), 43 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index c1e047da0b..33dd6790ff 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -12194,50 +12194,48 @@ according to a parsing expression grammar.") (license license:gpl3+))) (define-public emacs-org-ql - (let ((commit "949a06c3ab50482b749fd2d4350837a197660d96") - (revision "3")) - (package - (name "emacs-org-ql") - (version (git-version "0.3.1" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/alphapapa/org-ql") - (commit commit))) - (sha256 - (base32 - "0apcg63xm0242mjgsgw0jrcda4p4iqj7fy3sgh0p7khi4hrs5ch0")) - (file-name (git-file-name name version)))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-s" ,emacs-s) - ("emacs-f" ,emacs-f) - ("emacs-ov" ,emacs-ov) - ("emacs-peg" ,emacs-peg) - ("emacs-org-super-agenda" ,emacs-org-super-agenda) - ("emacs-ts" ,emacs-ts) - ("emacs-org" ,emacs-org) - ("emacs-helm" ,emacs-helm) - ("emacs-helm-org" ,emacs-helm-org) - ("emacs-dash" ,emacs-dash))) - (native-inputs - `(("emacs-buttercup" ,emacs-buttercup))) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'require-helm - (lambda _ - (substitute* "helm-org-ql.el" - (("^;;;; Requirements") - ";;;; Requirements\n(require 'helm)\n(require 'helm-org)")) - #t))) - #:tests? #t - #:test-command '("buttercup" "-L" "."))) - (home-page "https://github.com/alphapapa/org-ql/") - (synopsis "Query language for Org buffers") - (description "This package provides a Lispy query language for Org + (package + (name "emacs-org-ql") + (version "0.3.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alphapapa/org-ql") + (commit version))) + (sha256 + (base32 + "11bhpi2l28vp8mm9nx18jljbqdnh9vxpv9kp1dn9lpsgivcdbc34")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-s" ,emacs-s) + ("emacs-f" ,emacs-f) + ("emacs-ov" ,emacs-ov) + ("emacs-peg" ,emacs-peg) + ("emacs-org-super-agenda" ,emacs-org-super-agenda) + ("emacs-ts" ,emacs-ts) + ("emacs-org" ,emacs-org) + ("emacs-helm" ,emacs-helm) + ("emacs-helm-org" ,emacs-helm-org) + ("emacs-dash" ,emacs-dash))) + (native-inputs + `(("emacs-buttercup" ,emacs-buttercup))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'require-helm + (lambda _ + (substitute* "helm-org-ql.el" + (("^;;;; Requirements") + ";;;; Requirements\n(require 'helm)\n(require 'helm-org)")) + #t))) + #:tests? #t + #:test-command '("buttercup" "-L" "."))) + (home-page "https://github.com/alphapapa/org-ql/") + (synopsis "Query language for Org buffers") + (description "This package provides a Lispy query language for Org files, allowing for actions to be performed based on search criteria.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-org-auto-expand (let ((commit "4938d5f6460e2f8f051ba9ac000b291bfa43ef62") -- cgit 1.4.1 From f0bbf894a1f935c1e0109f35899acb6dfcb977f2 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sun, 20 Oct 2019 18:54:07 -0700 Subject: gnu: emacs-hierarchy: Enable tests. * gnu/packages/emacs-xyz.scm (emacs-hierarchy): Enable tests. --- gnu/packages/emacs-xyz.scm | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 33dd6790ff..54461b7a74 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -12534,6 +12534,11 @@ orient yourself in the code, and tell which statements are at a given level.") (sha256 (base32 "1kykbb1sil5cycfa5aj8dhsxc5yrx1641i2np5kwdjid6ahdlz5r")))) (build-system emacs-build-system) + (native-inputs + `(("emacs-buttercup" ,emacs-buttercup))) + (arguments + `(#:tests? #t + #:test-command '("buttercup" "-L" "."))) (home-page "https://github.com/DamienCassou/hierarchy") (synopsis "Library to create and display hierarchy structures") (description "This package provides an Emacs library to create, query, -- cgit 1.4.1 From 6dc424f92464f962ba8d43ebdd319c096c6975e5 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Mon, 21 Oct 2019 10:10:51 +0200 Subject: gnu: backup: Remove my copyright. This is a follow-up of 7757f440449, where my copyright is not needed. * gnu/packages/backup.scm: Remove my copyright. --- gnu/packages/backup.scm | 1 - 1 file changed, 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index a4a087728f..fc43f93d7d 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -14,7 +14,6 @@ ;;; Copyright © 2018, 2019 Ricardo Wurmus ;;; Copyright © 2019 Alex Vong ;;; Copyright © 2019 Marius Bakke -;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; -- cgit 1.4.1 From f2d6d9b829ec48cdb9327db269019c6a9819fca1 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Sat, 19 Oct 2019 09:25:53 +0200 Subject: gnu: Add simple-parallel-tasks. * gnu/packages/lisp.scm (cl-simple-parallel-tasks, sbcl-simple-parallel-tasks, ecl-simple-parallel-tasks): New variables. --- gnu/packages/lisp.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index bb2a589578..dcc396dd25 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -7833,3 +7833,36 @@ Clojure, as well as several expansions on the idea.") (define-public ecl-arrows (sbcl-package->ecl-package sbcl-arrows)) + +(define-public sbcl-simple-parallel-tasks + (let ((commit "db460f7a3f7bbfe2d3a2223ed21e162068d04dda") + (revision "0")) + (package + (name "sbcl-simple-parallel-tasks") + (version (git-version "1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/glv2/simple-parallel-tasks.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0amw3qk23wnlyrsgzszs6rs7y4zvxv8dr03rnqhc60mnm8ds4dd5")))) + (build-system asdf-build-system/sbcl) + (native-inputs + `(("fiveam" ,sbcl-fiveam))) + (inputs + `(("chanl" ,sbcl-chanl))) + (synopsis "Common Lisp library to evaluate some forms in parallel") + (description "This is a simple Common Lisp library to evaluate some +forms in parallel.") + (home-page "https://github.com/glv2/simple-parallel-tasks") + (license license:gpl3)))) + +(define-public cl-simple-parallel-tasks + (sbcl-package->cl-source-package sbcl-simple-parallel-tasks)) + +(define-public ecl-simple-parallel-tasks + (sbcl-package->ecl-package sbcl-simple-parallel-tasks)) -- cgit 1.4.1 From 1403e1f710b938fbce2eb968a1b75d15332113c3 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Mon, 21 Oct 2019 14:45:10 +0200 Subject: gnu: Add pcsxr. * gnu/packages/emulators.scm (pcsxr): New variable. --- gnu/packages/emulators.scm | 56 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 1e5629451d..2907cc3fcc 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2017, 2018, 2019 Nicolas Goaziou ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017, 2018, 2019 Rutger Helling +;;; Copyright © 2019 Pierre Neidhardt ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,6 +27,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages emulators) + #:use-module (ice-9 match) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) @@ -39,6 +41,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages boost) #:use-module (gnu packages backup) + #:use-module (gnu packages cdrom) #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages elf) @@ -1366,3 +1369,56 @@ functions. The source code to MAME serves as this documentation.") ;; However, over 90% of the files are under Expat license. Also, artwork, ;; keymaps, languages and samples are under CC0. (license (list license:gpl2+ license:expat license:cc0)))) + +(define-public pcsxr + ;; No release since 2017. + (let ((commit "6484236cb0281e8040ff6c8078c87899a3407534")) + (package + (name "pcsxr") + ;; Version is tagged here: https://github.com/frealgagu/PCSX-Reloaded + (version "1.9.95") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pcsxr/PCSX-Reloaded") + (commit commit))) + (sha256 + (base32 + "138mayp7zi9v4l3lm5f6xxkds619w1fgg769zm8s45c84jbz7dza")) + (file-name (git-file-name name commit)))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ;no "test" target + #:configure-flags + (list "-DSND_BACKEND=pulse" + "-DENABLE_CCDDA='ON'" + "-DUSE_LIBARCHIVE='ON'" + "-DUSE_LIBCDIO='ON'") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'cd-subdir + (lambda _ (chdir "pcsxr"))) + (add-before 'configure 'fix-cdio-lookup + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "cmake/FindCdio.cmake" + (("/usr/include/cdio") + (string-append (assoc-ref inputs "libcdio") "/include/cdio")))))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool) + ("glib" ,glib "bin"))) + (inputs + `(("libcdio" ,libcdio) + ("sdl2" ,sdl2) + ("gtk+" ,gtk+) + ("ffmpeg" ,ffmpeg) + ("libxv" ,libxv) + ("libarchive" ,libarchive) + ("pulseaudio" ,pulseaudio))) + (home-page "https://archive.codeplex.com/?p=pcsxr") + (synopsis "PlayStation emulator") + (description + "A PlayStation emulator based on PCSX-df Project with bugfixes and +improvements.") + (license license:gpl2+)))) -- cgit 1.4.1 From ff093d7b7b63f616fc4551fe5ca9a3e76d752ebf Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 20 Oct 2019 11:55:54 +0300 Subject: gnu: enlightenment: Fix desktop session file creation. * gnu/packages/enlightenment.scm (enlightenment)[arguments]: Create wayland session file only when building with wayland support. --- gnu/packages/enlightenment.scm | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 857a8ddd1b..32a1e60bf0 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -298,6 +298,11 @@ Libraries with some extra bells and whistles.") #:phases (modify-phases %standard-phases (delete 'bootstrap) ; We don't want to run the autogen script. + (add-after 'unpack 'fix-dot-desktop-creation + (lambda _ + (substitute* "data/session/meson.build" + (("HAVE_WAYLAND'.*") "HAVE_WAYLAND') == true\n")) + #t)) (add-before 'configure 'set-system-actions (lambda* (#:key inputs #:allow-other-keys) (setenv "HOME" "/tmp") -- cgit 1.4.1 From f6a0be2f99a85f90637e57657ad078c7255949ef Mon Sep 17 00:00:00 2001 From: David Wilson Date: Mon, 21 Oct 2019 18:09:02 +0200 Subject: gnu: Add gens-gs. * gnu/packages/emulators.scm (gens-gs): New variable. --- gnu/packages/emulators.scm | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 2907cc3fcc..8095d3c44d 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017, 2018, 2019 Rutger Helling ;;; Copyright © 2019 Pierre Neidhardt +;;; Copyright © 2019 David Wilson ;;; ;;; This file is part of GNU Guix. ;;; @@ -85,6 +86,7 @@ #:use-module (gnu packages xorg) #:use-module (gnu packages web) #:use-module (guix build-system cmake) + #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu)) (define-public desmume @@ -1422,3 +1424,41 @@ functions. The source code to MAME serves as this documentation.") "A PlayStation emulator based on PCSX-df Project with bugfixes and improvements.") (license license:gpl2+)))) + +(define-public gens-gs + (package + (name "gens-gs") + (version "7") + (source + (origin + (method url-fetch) + (uri (string-append "https://retrocdn.net/images/6/6d/Gens-gs-r" + version ".tar.gz")) + (sha256 + (base32 + "1ha5s6d3y7s9aq9f4zmn9p88109c3mrj36z2w68jhiw5xrxws833")))) + (build-system glib-or-gtk-build-system) + (arguments + `(#:system "i686-linux" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-CFLAGS + (lambda* _ + ;; Remove GTK API deprecation flags that cause build errors. + (substitute* "configure" + (("GTK_CFLAGS=\"\\$GTK_CFLAGS .*\"") "")) + #t))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("nasm" ,nasm))) + (inputs + `(("sdl" ,sdl) + ("gtk" ,gtk+-2))) + (home-page "https://segaretro.org/Gens/GS") + (synopsis "Emulator for Sega Genesis/Mega Drive systems") + (description + "Gens/GS is an emulator for the Mega Drive (also known as Sega Genesis), +derived from Gens. Project goals include clean source code, combined features +from various forks of Gens, and improved platform portability.") + (supported-systems '("i686-linux" "x86_64-linux")) + (license license:gpl2+))) -- cgit 1.4.1 From a273796ce5c016327ca4eec866e9ef696b617ccb Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 21 Oct 2019 10:54:02 +0200 Subject: gnu: make-bootstrap: Memoize 'glibc-for-bootstrap'. This reduces the graph shown by: guix graph -e '(@@ (gnu packages make-bootstrap) %gcc-static)' from 258 nodes (2398 edges) to 179 nodes (1872 edges). * gnu/packages/make-bootstrap.scm (glibc-for-bootstrap): Turn into an 'mlambdaq'. (package-with-relocatable-glibc, %glibc-stripped): Explicitly pass an argument to 'glibc-for-bootstrap'. --- gnu/packages/make-bootstrap.scm | 55 ++++++++++++++++++++++------------------- 1 file changed, 29 insertions(+), 26 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 3a664fd94f..4b8387a65f 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2017 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018, 2019 Mark H Weaver @@ -24,6 +24,7 @@ (define-module (gnu packages make-bootstrap) #:use-module (guix utils) #:use-module (guix packages) + #:use-module (guix memoization) #:use-module ((guix licenses) #:select (gpl3+)) #:use-module (guix build-system trivial) #:use-module (guix build-system gnu) @@ -63,27 +64,29 @@ ;;; ;;; Code: -(define* (glibc-for-bootstrap #:optional (base glibc)) - "Return a libc deriving from BASE whose `system' and `popen' functions looks +(define glibc-for-bootstrap + (mlambdaq (base) + "Return a libc deriving from BASE whose `system' and `popen' functions looks for `sh' in $PATH, and without nscd, and with static NSS modules." - (package (inherit base) - (source (origin (inherit (package-source base)) - (patches (cons (search-patch "glibc-bootstrap-system.patch") - (origin-patches (package-source base)))))) - (arguments - (substitute-keyword-arguments (package-arguments base) - ((#:configure-flags flags) - ;; Arrange so that getaddrinfo & co. do not contact the nscd, - ;; and can use statically-linked NSS modules. - `(cons* "--disable-nscd" "--disable-build-nscd" - "--enable-static-nss" - ,flags)))) - - ;; Remove the 'debug' output to allow bit-reproducible builds (when the - ;; 'debug' output is used, ELF files end up with a .gnu_debuglink, which - ;; includes a CRC of the corresponding debugging symbols; those symbols - ;; contain store file names, so the CRC changes at every rebuild.) - (outputs (delete "debug" (package-outputs base))))) + (package + (inherit base) + (source (origin (inherit (package-source base)) + (patches (cons (search-patch "glibc-bootstrap-system.patch") + (origin-patches (package-source base)))))) + (arguments + (substitute-keyword-arguments (package-arguments base) + ((#:configure-flags flags) + ;; Arrange so that getaddrinfo & co. do not contact the nscd, + ;; and can use statically-linked NSS modules. + `(cons* "--disable-nscd" "--disable-build-nscd" + "--enable-static-nss" + ,flags)))) + + ;; Remove the 'debug' output to allow bit-reproducible builds (when the + ;; 'debug' output is used, ELF files end up with a .gnu_debuglink, which + ;; includes a CRC of the corresponding debugging symbols; those symbols + ;; contain store file names, so the CRC changes at every rebuild.) + (outputs (delete "debug" (package-outputs base)))))) (define (package-with-relocatable-glibc p) "Return a variant of P that uses the libc as defined by @@ -122,8 +125,8 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (package-search-paths gcc))))) ("cross-binutils" ,(cross-binutils target)) ,@(%final-inputs))) - `(("libc" ,(glibc-for-bootstrap)) - ("libc:static" ,(glibc-for-bootstrap) "static") + `(("libc" ,(glibc-for-bootstrap glibc)) + ("libc:static" ,(glibc-for-bootstrap glibc) "static") ("gcc" ,(package (inherit gcc) (outputs '("out")) ;all in one so libgcc_s is easily found (native-search-paths @@ -135,8 +138,8 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (package-native-search-paths gcc))) (inputs `(;; Distinguish the name so we can refer to it below. - ("bootstrap-libc" ,(glibc-for-bootstrap)) - ("libc:static" ,(glibc-for-bootstrap) "static") + ("bootstrap-libc" ,(glibc-for-bootstrap glibc)) + ("libc:static" ,(glibc-for-bootstrap glibc) "static") ,@(package-inputs gcc))) (arguments (substitute-keyword-arguments (package-arguments gcc) @@ -438,7 +441,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." ;; GNU libc's essential shared libraries, dynamic linker, and headers, ;; with all references to store directories stripped. As a result, ;; libc.so is unusable and need to be patched for proper relocation. - (let ((glibc (glibc-for-bootstrap))) + (let ((glibc (glibc-for-bootstrap glibc))) (package (inherit glibc) (name "glibc-stripped") (build-system trivial-build-system) -- cgit 1.4.1 From 5ac5f2c1298cac811a544e2db193ba5d69d9fce6 Mon Sep 17 00:00:00 2001 From: Brendan Tildesley Date: Sun, 20 Oct 2019 23:12:02 +0900 Subject: services: sddm: Add default configuration. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Unlike gdm-service-type, sddm-service-type cannot be configured in an operating-system configuration by simply adding (service sddm-service-type). This adds the default SDDM configuration just like GDM does.. * gnu/services/sddm.scm (sddm-service-type)[default-value]: New field. Signed-off-by: Ludovic Courtès --- gnu/services/sddm.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/services/sddm.scm b/gnu/services/sddm.scm index b0e6d40260..f33f1f93b9 100644 --- a/gnu/services/sddm.scm +++ b/gnu/services/sddm.scm @@ -316,7 +316,8 @@ Relogin=" (if (sddm-configuration-relogin? config) (service-extension account-service-type (const %sddm-accounts)) (service-extension profile-service-type - sddm-profile-service))))) + sddm-profile-service))) + (default-value (sddm-configuration)))) (define* (sddm-service #:optional (config (sddm-configuration))) "Run the @uref{https://github.com/sddm/sddm,SSDM display manager} -- cgit 1.4.1 From 8cf3e167c15a0dba3166cbeee46d41f26cbf75f1 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 21 Oct 2019 15:47:55 +0200 Subject: services: sddm: Deprecate 'sddm-service' procedure. * gnu/services/sddm.scm (sddm-service): Mark as deprecated. * doc/guix.texi (X Window): Document 'sddm-service-type' and 'sddm-configuration'. --- doc/guix.texi | 45 ++++++++++++++++++++++++++++++++++++--------- gnu/services/sddm.scm | 4 +++- 2 files changed, 39 insertions(+), 10 deletions(-) (limited to 'gnu') diff --git a/doc/guix.texi b/doc/guix.texi index 6eccbb971f..15b6ff04c3 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -14193,16 +14193,43 @@ Relogin after logout. @cindex login manager @cindex X11 login -@deffn {Scheme Procedure} sddm-service config -Return a service that spawns the SDDM graphical login manager for config of -type @code{}. +@defvr {Scheme Variable} sddm-service-type +This is the type of the service to run the +@uref{https://github.com/sddm/sddm,SSDM display manager}. Its value +must be a @code{sddm-configuration} record (see below). -@example - (sddm-service (sddm-configuration - (auto-login-user "Alice") - (auto-login-session "xfce.desktop"))) -@end example -@end deffn +Here's an example use: + +@lisp +(service sddm-service-type + (sddm-configuration + (auto-login-user "alice") + (auto-login-session "xfce.desktop"))) +@end lisp +@end defvr + +@deftp {Data Type} sddm-configuration +This data type represents the configuration of the SDDM login manager. +The available fields are: + +@table @asis +@item @code{sddm} (default: @code{sddm}) +The SDDM package to use. + +@item @code{display-server} (default: @code{"x11"}) +This must be either @code{"x11"} or @code{"wayland"}. + +@c FIXME: Add more fields. + +@item @code{auto-login-user} (default: @code{""}) +If non-empty, this is the user account under which to log in +automatically. + +@item @code{auto-login-session} (default: @code{""}) +If non-empty, this is the @file{.desktop} file name to use as the +auto-login session. +@end table +@end deftp @cindex Xorg, configuration @deftp {Data Type} xorg-configuration diff --git a/gnu/services/sddm.scm b/gnu/services/sddm.scm index f33f1f93b9..c89c0c68bc 100644 --- a/gnu/services/sddm.scm +++ b/gnu/services/sddm.scm @@ -30,6 +30,7 @@ #:use-module (gnu system shadow) #:use-module (guix gexp) #:use-module (guix records) + #:use-module (guix deprecation) #:export (sddm-configuration sddm-configuration? sddm-service-type @@ -319,7 +320,8 @@ Relogin=" (if (sddm-configuration-relogin? config) sddm-profile-service))) (default-value (sddm-configuration)))) -(define* (sddm-service #:optional (config (sddm-configuration))) +(define-deprecated (sddm-service #:optional (config (sddm-configuration))) + sddm-service-type "Run the @uref{https://github.com/sddm/sddm,SSDM display manager} with the given @var{config}, a @code{} object." (service sddm-service-type config)) -- cgit 1.4.1 From cfe8d8063b5d79fc91eb757c2020244e239b77b3 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 21 Oct 2019 15:58:48 +0200 Subject: services: sddm: Add description. * gnu/services/sddm.scm (sddm-service-type)[description]: New field. --- gnu/services/sddm.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/services/sddm.scm b/gnu/services/sddm.scm index c89c0c68bc..ac8c9a8403 100644 --- a/gnu/services/sddm.scm +++ b/gnu/services/sddm.scm @@ -318,7 +318,10 @@ Relogin=" (if (sddm-configuration-relogin? config) (const %sddm-accounts)) (service-extension profile-service-type sddm-profile-service))) - (default-value (sddm-configuration)))) + (default-value (sddm-configuration)) + (description + "Run SDDM, a display and log-in manager for X11 and +Wayland."))) (define-deprecated (sddm-service #:optional (config (sddm-configuration))) sddm-service-type -- cgit 1.4.1 From 5f15b422738d09072c866ef17fd6988a3c84a468 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 21 Oct 2019 16:10:33 +0200 Subject: services: agetty: Really import (gnu build linux-boot). This is a followup to commit 62c2217570fb3a3437e8316d3679b7fe13db0884. * gnu/services/base.scm (agetty-shepherd-service)[start]: Wrap un 'with-imported-modules'. This fixes a build error when TTY is true ("no code for module (gnu build linux-boot)"). --- gnu/services/base.scm | 229 +++++++++++++++++++++++++------------------------- 1 file changed, 116 insertions(+), 113 deletions(-) (limited to 'gnu') diff --git a/gnu/services/base.scm b/gnu/services/base.scm index e75c56828e..b1eff89ecc 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -990,7 +990,6 @@ to use as the tty. This is primarily useful for headless systems." erase-characters kill-characters chdir delay nice extra-options) (list (shepherd-service - (modules '((ice-9 match) (gnu build linux-boot))) (documentation "Run agetty on a tty.") (provision (list (symbol-append 'term- (string->symbol (or tty "auto"))))) @@ -1000,122 +999,126 @@ to use as the tty. This is primarily useful for headless systems." ;; mingetty-shepherd-service). (requirement '(user-processes host-name udev)) - (start #~(lambda args - (let ((defaulted-tty #$(or tty (default-serial-port)))) - (apply - (if defaulted-tty - (make-forkexec-constructor - (list #$(file-append util-linux "/sbin/agetty") - #$@extra-options - #$@(if eight-bits? - #~("--8bits") - #~()) - #$@(if no-reset? - #~("--noreset") - #~()) - #$@(if remote? - #~("--remote") - #~()) - #$@(if flow-control? - #~("--flow-control") - #~()) - #$@(if host - #~("--host" #$host) - #~()) - #$@(if no-issue? - #~("--noissue") - #~()) - #$@(if init-string - #~("--init-string" #$init-string) - #~()) - #$@(if no-clear? - #~("--noclear") - #~()) + (modules '((ice-9 match) (gnu build linux-boot))) + (start + (with-imported-modules (source-module-closure + '((gnu build linux-boot))) + #~(lambda args + (let ((defaulted-tty #$(or tty (default-serial-port)))) + (apply + (if defaulted-tty + (make-forkexec-constructor + (list #$(file-append util-linux "/sbin/agetty") + #$@extra-options + #$@(if eight-bits? + #~("--8bits") + #~()) + #$@(if no-reset? + #~("--noreset") + #~()) + #$@(if remote? + #~("--remote") + #~()) + #$@(if flow-control? + #~("--flow-control") + #~()) + #$@(if host + #~("--host" #$host) + #~()) + #$@(if no-issue? + #~("--noissue") + #~()) + #$@(if init-string + #~("--init-string" #$init-string) + #~()) + #$@(if no-clear? + #~("--noclear") + #~()) ;;; FIXME This doesn't work as expected. According to agetty(8), if this option ;;; is not passed, then the default is 'auto'. However, in my tests, when that ;;; option is selected, agetty never presents the login prompt, and the ;;; term-ttyS0 service respawns every few seconds. - #$@(if local-line - #~(#$(match local-line - ('auto "--local-line=auto") - ('always "--local-line=always") - ('never "-local-line=never"))) - #~()) - #$@(if tty - #~() - #~("--keep-baud")) - #$@(if extract-baud? - #~("--extract-baud") - #~()) - #$@(if skip-login? - #~("--skip-login") - #~()) - #$@(if no-newline? - #~("--nonewline") - #~()) - #$@(if login-options - #~("--login-options" #$login-options) - #~()) - #$@(if chroot - #~("--chroot" #$chroot) - #~()) - #$@(if hangup? - #~("--hangup") - #~()) - #$@(if keep-baud? - #~("--keep-baud") - #~()) - #$@(if timeout - #~("--timeout" #$(number->string timeout)) - #~()) - #$@(if detect-case? - #~("--detect-case") - #~()) - #$@(if wait-cr? - #~("--wait-cr") - #~()) - #$@(if no-hints? - #~("--nohints?") - #~()) - #$@(if no-hostname? - #~("--nohostname") - #~()) - #$@(if long-hostname? - #~("--long-hostname") - #~()) - #$@(if erase-characters - #~("--erase-chars" #$erase-characters) - #~()) - #$@(if kill-characters - #~("--kill-chars" #$kill-characters) - #~()) - #$@(if chdir - #~("--chdir" #$chdir) - #~()) - #$@(if delay - #~("--delay" #$(number->string delay)) - #~()) - #$@(if nice - #~("--nice" #$(number->string nice)) - #~()) - #$@(if auto-login - (list "--autologin" auto-login) - '()) - #$@(if login-program - #~("--login-program" #$login-program) - #~()) - #$@(if login-pause? - #~("--login-pause") - #~()) - defaulted-tty - #$@(if baud-rate - #~(#$baud-rate) - #~()) - #$@(if term - #~(#$term) - #~()))) - (const #f)) ; never start. - args)))) + #$@(if local-line + #~(#$(match local-line + ('auto "--local-line=auto") + ('always "--local-line=always") + ('never "-local-line=never"))) + #~()) + #$@(if tty + #~() + #~("--keep-baud")) + #$@(if extract-baud? + #~("--extract-baud") + #~()) + #$@(if skip-login? + #~("--skip-login") + #~()) + #$@(if no-newline? + #~("--nonewline") + #~()) + #$@(if login-options + #~("--login-options" #$login-options) + #~()) + #$@(if chroot + #~("--chroot" #$chroot) + #~()) + #$@(if hangup? + #~("--hangup") + #~()) + #$@(if keep-baud? + #~("--keep-baud") + #~()) + #$@(if timeout + #~("--timeout" #$(number->string timeout)) + #~()) + #$@(if detect-case? + #~("--detect-case") + #~()) + #$@(if wait-cr? + #~("--wait-cr") + #~()) + #$@(if no-hints? + #~("--nohints?") + #~()) + #$@(if no-hostname? + #~("--nohostname") + #~()) + #$@(if long-hostname? + #~("--long-hostname") + #~()) + #$@(if erase-characters + #~("--erase-chars" #$erase-characters) + #~()) + #$@(if kill-characters + #~("--kill-chars" #$kill-characters) + #~()) + #$@(if chdir + #~("--chdir" #$chdir) + #~()) + #$@(if delay + #~("--delay" #$(number->string delay)) + #~()) + #$@(if nice + #~("--nice" #$(number->string nice)) + #~()) + #$@(if auto-login + (list "--autologin" auto-login) + '()) + #$@(if login-program + #~("--login-program" #$login-program) + #~()) + #$@(if login-pause? + #~("--login-pause") + #~()) + defaulted-tty + #$@(if baud-rate + #~(#$baud-rate) + #~()) + #$@(if term + #~(#$term) + #~()))) + (const #f)) ; never start. + args))))) (stop #~(make-kill-destructor))))))) (define agetty-service-type -- cgit 1.4.1 From 3d7fc2d4bb073fe23f140529929068d0460f8b90 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 19 Oct 2019 17:29:39 +0200 Subject: gnu: r-data-table: Update to 1.12.6. * gnu/packages/statistics.scm (r-data-table): Update to 1.12.6. [native-inputs]: Add pkg-config. --- gnu/packages/statistics.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 7b8622ebfc..66bb2755d2 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1848,16 +1848,18 @@ times.") (define-public r-data-table (package (name "r-data-table") - (version "1.12.4") + (version "1.12.6") (source (origin (method url-fetch) (uri (cran-uri "data.table" version)) (sha256 (base32 - "0zdcbr4nixvl8ga4mp9pw1dfww35dzhzpb6ixajqasiri824m7i9")))) + "1kgbnm5gv7ax7qn8irpz7qsry2ci21axga8y7qpkidcqkxkkndn2")))) (build-system r-build-system) (inputs `(("zlib" ,zlib))) + (native-inputs + `(("pkg-config" ,pkg-config))) (home-page "https://github.com/Rdatatable/data.table/wiki") (synopsis "Enhanced version of data.frame R object") (description -- cgit 1.4.1 From ca2b1dcfcd73931358dcd1f9bf79d717044e80a8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 19 Oct 2019 17:29:59 +0200 Subject: gnu: r-xcms: Update to 3.6.2. * gnu/packages/bioconductor.scm (r-xcms): Update to 3.6.2. --- gnu/packages/bioconductor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index cf5097a74e..6467fecb8c 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -4568,14 +4568,14 @@ based on @dfn{Continuous Wavelet Transform} (CWT).") (define-public r-xcms (package (name "r-xcms") - (version "3.6.1") + (version "3.6.2") (source (origin (method url-fetch) (uri (bioconductor-uri "xcms" version)) (sha256 (base32 - "06vhqvvzlkc5bslswagrapmn5ag3x84xg9gxk0fhlmgwapqwki1g")))) + "0icww3f1kahyk96mc07yhsbyiranzm2614n509as09jf8bdhq23v")))) (build-system r-build-system) (propagated-inputs `(("r-biobase" ,r-biobase) -- cgit 1.4.1 From e9d48bdad4766c4043a21b4765f6ea2e87ff6e88 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 20 Oct 2019 15:39:11 +0100 Subject: gnu: yasm: Disable parallel tests. * gnu/packages/assembly.scm (yasm)[arguments]: Set #:parallel-tests? to #f. --- gnu/packages/assembly.scm | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm index 26a6d23a8a..50f798ba83 100644 --- a/gnu/packages/assembly.scm +++ b/gnu/packages/assembly.scm @@ -99,6 +99,10 @@ has strong support for macros.") (base32 "0gv0slmm0qpq91za3v2v9glff3il594x5xsrbgab7xcmnh0ndkix")))) (build-system gnu-build-system) + (arguments + '(#:parallel-tests? #f)) ; Some tests fail + ; non-deterministically when run in + ; parallel (inputs `(("python" ,python-wrapper) ("xmlto" ,xmlto))) -- cgit 1.4.1 From 6fc03fccd41c1687933a0a70a40efcb5ed821995 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Fri, 11 Oct 2019 17:20:50 +0100 Subject: gnu: Add ephemeralpg. This is a general utility, but I'm particularly interested in using this to enable build time tests for the guix-data-service package. * gnu/packages/databases.scm (ephemeralpg): New variable. --- gnu/packages/databases.scm | 62 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index f8e72565a0..bfed9dff67 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -216,6 +216,68 @@ standard Go idioms.") (home-page "http://labix.org/mgo") (license license:bsd-2))) +(define-public ephemeralpg + (package + (name "ephemeralpg") + (version "2.8") + (source + (origin + (method url-fetch) + (uri (string-append + "http://eradman.com/ephemeralpg/code/ephemeralpg-" + version ".tar.gz")) + (sha256 + (base32 "1dpfxsd8a52psx3zlfbqkw53m35w28qwyb87a8anz143x6gnkkr4")))) + (build-system gnu-build-system) + (arguments + '(#:make-flags (list "CC=gcc" + (string-append "PREFIX=" %output)) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'check + (lambda* (#:key inputs #:allow-other-keys) + ;; The intention for one test is to test without PostgreSQL on + ;; the $PATH, so replace the test $PATH with just the util-linux + ;; bin, which contains getopt. It will hopefully be possible to + ;; remove this for releases after 2.8. + (substitute* "test.rb" + (("/bin:/usr/bin") + (string-append (assoc-ref inputs "util-linux") + "/bin"))) + ;; Set the LC_ALL=C as some tests use sort, and the locale + ;; affects the order. It will hopefully be possible to remove + ;; this for releases after 2.8. + (setenv "LC_ALL" "C") + (invoke "ruby" "test.rb") + #t)) + (add-after 'install 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/pg_tmp") + `("PATH" ":" prefix + (,(string-append (assoc-ref inputs "util-linux") + "/bin") + ,(string-append (assoc-ref inputs "postgresql") + "/bin") + ;; For getsocket + ,(string-append out "/bin"))))) + #t))))) + (inputs + `(("postgresql" ,postgresql) + ("util-linux" ,util-linux))) + (native-inputs + `(("ruby" ,ruby))) + (home-page "http://eradman.com/ephemeralpg/") + (synopsis "Run temporary PostgreSQL databases") + (description + "@code{pg_tmp} creates temporary PostgreSQL databases, suitable for tasks +like running software test suites. Temporary databases created with +@code{pg_tmp} have a limited shared memory footprint and are automatically +garbage-collected after a configurable number of seconds (the default is +60).") + (license license:isc))) + (define-public es-dump-restore (package (name "es-dump-restore") -- cgit 1.4.1 From 4e0703279113cc3ee0816f871beeff3282b5f94e Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Mon, 21 Oct 2019 09:56:40 -0700 Subject: gnu: emacs-counsel-dash: Update to 0.1.3-3.7027868. * gnu/packages/emacs-xyz.scm (emacs-counsel-dash): Update to 0.1.3-3.7027868. --- gnu/packages/emacs-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 54461b7a74..bbcf65489e 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -18484,8 +18484,8 @@ Dash docsets.") (license license:gpl3+)))) (define-public emacs-counsel-dash - (let ((commit "24d370be9e94e90d045c49967e19484b9903fce9") - (revision "2")) + (let ((commit "7027868d483b51d949b9f20fb8f34b122ca61520") + (revision "3")) (package (name "emacs-counsel-dash") (version (git-version "0.1.3" revision commit)) @@ -18498,7 +18498,7 @@ Dash docsets.") (file-name (git-file-name name version)) (sha256 (base32 - "18gp7hhgng271c7bh06k9p24zqic0f64j5cicivljmyk9c3nh7an")))) + "0h3f5pxnmb21pq4hh7k4w8jzflz1k2ap7nwpjc222w0q6x6jrbjp")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash-docs" ,emacs-dash-docs) -- cgit 1.4.1 From 05b0b050bce644d96ed2222b7d88414f50bb23d9 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Mon, 21 Oct 2019 10:48:29 -0700 Subject: gnu: Add emacs-auth-source-pass. * gnu/packages/emacs-xyz.scm (emacs-auth-source-pass): New variable. --- gnu/packages/emacs-xyz.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index bbcf65489e..8c3c50efdc 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -11602,6 +11602,34 @@ close, copy, cut, paste, undo, redo.") standard Unix password manager\").") (license license:gpl2+))) +(define-public emacs-auth-source-pass + (let ((commit "847a1f54ed48856b4dfaaa184583ef2c84173edf") + (revision "1")) + (package + (name "emacs-auth-source-pass") + (version (git-version "5.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/NicolasPetton/auth-password-store.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0g48z5w6n3c54zqfpx65dfyl9jqbl15idvbb1hhw2pd9f9r8fykk")))) + (build-system emacs-build-system) + (arguments + `(#:tests? #t + #:test-command '("emacs" "--batch" + "-L" "." + "-l" "test/auth-source-pass-tests.el" + "-f" "ert-run-tests-batch-and-exit"))) + (home-page "https://github.com/NicolasPetton/auth-password-store") + (synopsis "Integrate @code{auth-source} with @code{password-store}") + (description "This package helps Emacs integrate with the Unix +@code{password-store} application.") + (license license:gpl3+)))) + (define-public emacs-pass (package (name "emacs-pass") -- cgit 1.4.1 From 84261a233ecb58d7a622329d95a8d0d3fc92f886 Mon Sep 17 00:00:00 2001 From: Tim Gesthuizen Date: Thu, 10 Oct 2019 18:38:36 +0200 Subject: services: inputattach: Add 'baud-rate' parameter. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/services/desktop.scm (inputattach-configuration): Add baud-rate field. (inputattach-shepherd-service): Add baud-rate to parameters when specified. * doc/guix.texi (Miscellaneous Services): [inputattach Service] Document baud-rate parameter. Signed-off-by: Ludovic Courtès --- doc/guix.texi | 4 ++++ gnu/services/desktop.scm | 30 ++++++++++++++++++------------ 2 files changed, 22 insertions(+), 12 deletions(-) (limited to 'gnu') diff --git a/doc/guix.texi b/doc/guix.texi index 15b6ff04c3..b550b1c34a 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -24573,6 +24573,10 @@ The type of device to connect to. Run @command{inputattach --help}, from the @item @code{device} (default: @code{"/dev/ttyS0"}) The device file to connect to the device. +@item @code{baud-rate} (default: @code{#f}) +Baud rate to use for the serial connection. +Should be a number or @code{#f}. + @item @code{log-file} (default: @code{#f}) If true, this must be the name of a file to log messages to. @end table diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 5a7f8be4bb..08acb79ed6 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -1028,23 +1028,29 @@ as expected."))) (default "wacom")) (device inputattach-configuration-device (default "/dev/ttyS0")) + (baud-rate inputattach-configuration-baud-rate + (default #f)) (log-file inputattach-configuration-log-file (default #f))) (define inputattach-shepherd-service (match-lambda - (($ type device log-file) - (list (shepherd-service - (provision '(inputattach)) - (requirement '(udev)) - (documentation "inputattach daemon") - (start #~(make-forkexec-constructor - (list (string-append #$inputattach - "/bin/inputattach") - (string-append "--" #$type) - #$device) - #:log-file #$log-file)) - (stop #~(make-kill-destructor))))))) + (($ type device baud-rate log-file) + (let ((args (append (if baud-rate + (list "--baud-rate" (number->string baud-rate)) + '()) + (list (string-append "--" type) + device)))) + (list (shepherd-service + (provision '(inputattach)) + (requirement '(udev)) + (documentation "inputattach daemon") + (start #~(make-forkexec-constructor + (cons (string-append #$inputattach + "/bin/inputattach") + (quote #$args)) + #:log-file #$log-file)) + (stop #~(make-kill-destructor)))))))) (define inputattach-service-type (service-type -- cgit 1.4.1 From 58b13287905b27a68212c847be7bba803aa17937 Mon Sep 17 00:00:00 2001 From: Giacomo Leidi Date: Wed, 16 Oct 2019 21:31:42 +0200 Subject: gnu: Add gloo. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/machine-learning.scm (gloo): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/machine-learning.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 2b2df6da6a..b83b336d84 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -2051,3 +2051,39 @@ includes an implementation of Global Refinement of Random Forest.") (define-public ecl-cl-random-forest (sbcl-package->ecl-package sbcl-cl-random-forest)) + +(define-public gloo + (let ((version "0.0.0") ; no proper version tag + (commit "ca528e32fea9ca8f2b16053cff17160290fc84ce") + (revision "0")) + (package + (name "gloo") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/facebookincubator/gloo.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1q9f80zy75f6njrzrqkmhc0g3qxs4gskr7ns2jdqanxa2ww7a99w")))) + (build-system cmake-build-system) + (native-inputs + `(("googletest" ,googletest))) + (arguments + `(#:configure-flags '("-DBUILD_TEST=1") + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "make" "gloo_test") + #t))))) + (synopsis "Collective communications library") + (description + "Gloo is a collective communications library. It comes with a +number of collective algorithms useful for machine learning applications. +These include a barrier, broadcast, and allreduce.") + (home-page "https://github.com/facebookincubator/gloo") + (license license:bsd-3)))) -- cgit 1.4.1 From 0cd4a74600f856babd2a67770b37fbb916d31334 Mon Sep 17 00:00:00 2001 From: Ben Sturmfels Date: Mon, 21 Oct 2019 09:54:44 +1100 Subject: gnu: Add pdfarranger. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/pdf.scm (pdfarranger): New public variable. Signed-off-by: Ludovic Courtès --- gnu/packages/pdf.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index dfb4883a73..03ffeec0df 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2017, 2018 Rene Saavedra ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2019 Alex Griffin +;;; Copyright © 2019 Ben Sturmfels ;;; ;;; This file is part of GNU Guix. ;;; @@ -975,6 +976,41 @@ Note: This module isn't maintained anymore. For new projects please use python-pypdf2 instead.") (license license:bsd-3))) +(define-public pdfarranger + (package + (name "pdfarranger") + (version "1.3.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jeromerobert/pdfarranger.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1f8m8r81322i97wkqpmf7a4kiwnq244n6cnbldh03jc49vwq2kxx")))) + (build-system python-build-system) + (arguments + '(#:tests? #f)) ; no tests + (native-inputs + `(("intltool" ,intltool) + ("python-distutils-extra" ,python-distutils-extra))) + (propagated-inputs + `(("gtk+" ,gtk+) + ("poppler" ,poppler) + ("python-pycairo" ,python-pycairo) + ("python-pygobject" ,python-pygobject) + ("python-pypdf2" ,python-pypdf2))) + (home-page "https://github.com/jeromerobert/pdfarranger") + (synopsis "Merge, split and re-arrange pages from PDF documents") + (description + "PDF Arranger is a small application which allows one to merge or split +PDF documents and rotate, crop and rearrange their pages using an interactive +and intuitive graphical interface. + +PDF Arranger was formerly known as PDF-Shuffler.") + (license license:gpl3+))) + (define-public pdfposter (package (name "pdfposter") -- cgit 1.4.1 From 8b438f85cf85c1a22273eb6164c7f67f41f29bf4 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 21 Oct 2019 23:22:11 +0200 Subject: gnu: pdfarranger: Add 'wrap-for-typelib' phase. * gnu/packages/pdf.scm (pdfarranger)[arguments]: Add #:phases. --- gnu/packages/pdf.scm | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 03ffeec0df..7118afce4d 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2016 ng0 ;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner ;;; Copyright © 2016, 2017 Marius Bakke -;;; Copyright © 2016, 2017 Ludovic Courtès +;;; Copyright © 2016, 2017, 2019 Ludovic Courtès ;;; Copyright © 2016 Julien Lepiller ;;; Copyright © 2016, 2019 Arun Isaac ;;; Copyright © 2017, 2018 Leo Famulari @@ -991,7 +991,16 @@ python-pypdf2 instead.") (base32 "1f8m8r81322i97wkqpmf7a4kiwnq244n6cnbldh03jc49vwq2kxx")))) (build-system python-build-system) (arguments - '(#:tests? #f)) ; no tests + '(#:tests? #f ;no tests + #:phases (modify-phases %standard-phases + (add-after 'install 'wrap-for-typelib + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (program (string-append out "/bin/pdfarranger"))) + (wrap-program program + `("GI_TYPELIB_PATH" ":" prefix + (,(getenv "GI_TYPELIB_PATH")))) + #t)))))) (native-inputs `(("intltool" ,intltool) ("python-distutils-extra" ,python-distutils-extra))) -- cgit 1.4.1 From f5d6c88d0f5e1556295c1a19c46ddfcb7a23107f Mon Sep 17 00:00:00 2001 From: Carl Dong Date: Fri, 11 Oct 2019 19:56:03 -0400 Subject: gnu: mingw-w64: Add -winpthreads variants. This recursive package definition really demonstrates how magical Guix can be :-) Try invoking: ./pre-inst-env guix build mingw-w64-{x86_64,i686}{,-winpthreads} * gnu/packages/mingw.scm (make-mingw-w64): Add XGCC, XBINUTILS optional arguments to specify using a non-default cross-compiler/binutils. Add WITH-WINPTHREADS? optional argument to allow building with winpthreads support. Adjust accordingly for the new arguments. (mingw-w64-i686-winpthreads, mingw-w64-x86_64-winpthreads): Add variables. * gnu/packages/cross-base.scm (native-libc): Add XGCC, XBINUTILS key arugments and pass to MAKE-MINGW-W64. (cross-libc): Pass XGCC and XBINUTILS to NATIVE-LIBC. --- gnu/packages/cross-base.scm | 13 ++++++++++--- gnu/packages/mingw.scm | 47 +++++++++++++++++++++++++++++++++++++-------- 2 files changed, 49 insertions(+), 11 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 76d15f4c59..13237fb8a8 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -454,7 +454,9 @@ target that libc." "Return LIBC cross-built for TARGET, a GNU triplet. Use XGCC and XBINUTILS and the cross tool chain." (if (cross-newlib? target libc) - (native-libc target libc) + (native-libc target libc + #:xgcc xgcc + #:xbinutils xbinutils) (let ((libc libc)) (package (inherit libc) (name (string-append "glibc-cross-" target)) @@ -511,10 +513,15 @@ and the cross tool chain." (define* (native-libc target #:optional - (libc glibc)) + (libc glibc) + #:key + xgcc + xbinutils) (if (target-mingw? target) (let ((machine (substring target 0 (string-index target #\-)))) - (make-mingw-w64 machine)) + (make-mingw-w64 machine + #:xgcc xgcc + #:xbinutils xbinutils)) libc)) (define* (cross-newlib? target diff --git a/gnu/packages/mingw.scm b/gnu/packages/mingw.scm index fe51780fa3..88c8d41ef8 100644 --- a/gnu/packages/mingw.scm +++ b/gnu/packages/mingw.scm @@ -30,12 +30,21 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix utils) - #:use-module (ice-9 match)) + #:use-module (ice-9 match) + #:export (make-mingw-w64)) -(define-public (make-mingw-w64 machine) - (let ((triplet (string-append machine "-" "w64-mingw32"))) +(define* (make-mingw-w64 machine + #:key + xgcc + xbinutils + with-winpthreads?) + "Return a mingw-w64 for targeting MACHINE. If XGCC or XBINUTILS is specified, +use that gcc or binutils when cross-compiling. If WITH-WINPTHREADS? is +specified, recurse and return a mingw-w64 with support for winpthreads." + (let* ((triplet (string-append machine "-" "w64-mingw32"))) (package - (name (string-append "mingw-w64" "-" machine)) + (name (string-append "mingw-w64" "-" machine + (if with-winpthreads? "-winpthreads" ""))) (version "6.0.0") (source (origin (method url-fetch) @@ -45,8 +54,13 @@ (sha256 (base32 "1w28mynv500y03h92nh87rgw3fnp82qwnjbxrrzqkmr63q812pl0")) (patches (search-patches "mingw-w64-6.0.0-gcc.patch")))) - (native-inputs `(("xgcc-core" ,(cross-gcc triplet)) - ("xbinutils" ,(cross-binutils triplet)))) + (native-inputs `(("xgcc-core" ,(if xgcc xgcc (cross-gcc triplet))) + ("xbinutils" ,(if xbinutils xbinutils (cross-binutils triplet))) + ,@(if with-winpthreads? + `(("xlibc" ,(make-mingw-w64 machine + #:xgcc xgcc + #:xbinutils xbinutils))) + '()))) (build-system gnu-build-system) (search-paths (list (search-path-specification @@ -59,7 +73,10 @@ ,(string-append triplet "/lib") ,(string-append triplet "/lib64")))))) (arguments - `(#:configure-flags '(,(string-append "--host=" triplet)) + `(#:configure-flags '(,(string-append "--host=" triplet) + ,@(if with-winpthreads? + '("--with-libraries=winpthreads") + '())) #:phases (modify-phases %standard-phases (add-before 'configure 'setenv @@ -74,7 +91,13 @@ ":" mingw-headers "/include" ":" mingw-headers "/crt" ":" mingw-headers "/defaults/include" - ":" mingw-headers "/direct-x/include")))))) + ":" mingw-headers "/direct-x/include")) + (when ,with-winpthreads? + (let ((xlibc (assoc-ref inputs "xlibc"))) + (setenv "CROSS_LIBRARY_PATH" + (string-append + xlibc "/lib" ":" + xlibc "/" ,triplet "/lib")))))))) #:make-flags (list "DEFS=-DHAVE_CONFIG_H -D__MINGW_HAS_DXSDK=1") #:tests? #f ; compiles and includes glibc headers #:strip-binaries? #f)) @@ -98,4 +121,12 @@ several new APIs such as DirectX and DDK, and 64-bit support.") (define-public mingw-w64-x86_64 (make-mingw-w64 "x86_64")) +(define-public mingw-w64-i686-winpthreads + (make-mingw-w64 "i686" + #:with-winpthreads? #t)) + +(define-public mingw-w64-x86_64-winpthreads + (make-mingw-w64 "x86_64" + #:with-winpthreads? #t)) + (define-public mingw-w64 mingw-w64-i686) -- cgit 1.4.1 From 8ce774a54bfc8897a10eb21cde4649069ee06a82 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Mon, 21 Oct 2019 21:02:06 -0700 Subject: gnu: emacs-counsel-dash: Require emacs-ivy. * gnu/packages/emacs-xyz.scm (emacs-counsel-dash): Require emacs-ivy. --- gnu/packages/emacs-xyz.scm | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 8c3c50efdc..307b15c583 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -18531,6 +18531,15 @@ Dash docsets.") (propagated-inputs `(("emacs-dash-docs" ,emacs-dash-docs) ("emacs-ivy" ,emacs-ivy))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'require-ivy + (lambda _ + (substitute* "counsel-dash.el" + (("^\\(require 'cl-lib\\)") + "(require 'cl-lib)\n(require 'ivy)\n(require 'subr-x)")) + #t))))) (home-page "https://github.com/dash-docs-el/counsel-dash") (synopsis "Offline documentation browser for APIs using Dash docsets") (description "This package uses @code{ivy-mode} to install and navigate -- cgit 1.4.1 From 9d67480adf0d4cbfe82183f949065c8be1e39882 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Tue, 22 Oct 2019 07:23:07 +0100 Subject: gnu: mongodb: Fix build. * gnu/packages/databases.scm (mongodb)[inputs]: Use openssl 1, as 1.1. doesn't work. [arguments]: Change how a constant is defined in the tests to allow compiling with a newer version of GCC. --- gnu/packages/databases.scm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index bfed9dff67..5c9435ae82 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -498,7 +498,7 @@ replacement for the code@{python-memcached} library.") (search-patch "mongodb-support-unknown-linux-distributions.patch"))))) (build-system scons-build-system) (inputs - `(("openssl" ,openssl) + `(("openssl" ,openssl-1.0) ("pcre" ,pcre) ,@(match (%current-system) ((or "x86_64-linux" "aarch64-linux" "mips64el-linux") @@ -538,6 +538,15 @@ replacement for the code@{python-memcached} library.") ,(format #f "--jobs=~a" (parallel-job-count)) "--ssl"))) (modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda _ + ;; Remove use of GNU extensions in parse_number_test.cpp, to + ;; allow compiling with GCC 7 or later + ;; https://jira.mongodb.org/browse/SERVER-28063 + (substitute* "src/mongo/base/parse_number_test.cpp" + (("0xabcab\\.defdefP-10") + "687.16784283419838")) + #t)) (add-after 'unpack 'scons-propagate-environment (lambda _ ;; Modify the SConstruct file to arrange for -- cgit 1.4.1 From 487392ce3da2ade80e293aa76600db0ed247945f Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Mon, 21 Oct 2019 14:02:55 +0200 Subject: gnu: Add cl-heap. * gnu/packages/lisp.scm (cl-heap, sbcl-cl-heap, ecl-cl-heap): New variables. --- gnu/packages/lisp.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index dcc396dd25..7f62aed6b0 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -7866,3 +7866,33 @@ forms in parallel.") (define-public ecl-simple-parallel-tasks (sbcl-package->ecl-package sbcl-simple-parallel-tasks)) + +(define-public sbcl-cl-heap + (package + (name "sbcl-cl-heap") + (version "0.1.6") + (source + (origin + (method url-fetch) + (uri (string-append "https://common-lisp.net/project/cl-heap/releases/" + "cl-heap_" version ".tar.gz")) + (sha256 + (base32 + "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i")))) + (build-system asdf-build-system/sbcl) + (native-inputs + `(("xlunit" ,sbcl-xlunit))) + (arguments + `(#:test-asd-file "cl-heap-tests.asd")) + (synopsis "Heap and priority queue data structures for Common Lisp") + (description + "CL-HEAP provides various implementations of heap data structures (a +binary heap and a Fibonacci heap) as well as an efficient priority queue.") + (home-page "https://common-lisp.net/project/cl-heap/") + (license license:gpl3+))) + +(define-public cl-heap + (sbcl-package->cl-source-package sbcl-cl-heap)) + +(define-public ecl-cl-heap + (sbcl-package->ecl-package sbcl-cl-heap)) -- cgit 1.4.1 From bb20a990cd06b8f6c2b2d97528bfb348f54a7ee7 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Mon, 21 Oct 2019 14:02:56 +0200 Subject: gnu: Add curry-compose-reader-macros. * gnu/packages/lisp.scm (cl-curry-compose-reader-macros, sbcl-curry-compose-reader-macros, ecl-curry-compose-reader-macros): New variables. --- gnu/packages/lisp.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 7f62aed6b0..5e4f9484ee 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -7896,3 +7896,37 @@ binary heap and a Fibonacci heap) as well as an efficient priority queue.") (define-public ecl-cl-heap (sbcl-package->ecl-package sbcl-cl-heap)) + +(define-public sbcl-curry-compose-reader-macros + (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2") + (revision "0")) + (package + (name "sbcl-curry-compose-reader-macros") + (version (git-version "1.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/eschulte/curry-compose-reader-macros.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("named-readtables" ,sbcl-named-readtables))) + (synopsis "Reader macros for partial application and composition") + (description + "This Common Lisp library provides reader macros for concise expression +of function partial application and composition.") + (home-page "https://eschulte.github.io/curry-compose-reader-macros/") + (license license:public-domain)))) + +(define-public cl-curry-compose-reader-macros + (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros)) + +(define-public ecl-curry-compose-reader-macros + (sbcl-package->ecl-package sbcl-curry-compose-reader-macros)) -- cgit 1.4.1 From 9d9a82d94dfd3fdffc23149e33886ed021cac7af Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Mon, 21 Oct 2019 14:02:57 +0200 Subject: gnu: Add yason. * gnu/packages/lisp.scm (cl-yason, sbcl-yason, ecl-yason): New variables. --- gnu/packages/lisp.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 5e4f9484ee..be0b876df8 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -7930,3 +7930,34 @@ of function partial application and composition.") (define-public ecl-curry-compose-reader-macros (sbcl-package->ecl-package sbcl-curry-compose-reader-macros)) + +(define-public sbcl-yason + (package + (name "sbcl-yason") + (version "0.7.7") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/phmarek/yason.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("trivial-gray-streams" ,sbcl-trivial-gray-streams))) + (synopsis "Common Lisp JSON parser/encoder") + (description + "YASON is a Common Lisp library for encoding and decoding data in the +JSON interchange format.") + (home-page "https://github.com/phmarek/yason") + (license license:bsd-3))) + +(define-public cl-yason + (sbcl-package->cl-source-package sbcl-yason)) + +(define-public ecl-yason + (sbcl-package->ecl-package sbcl-yason)) -- cgit 1.4.1 From 5bb3272e181a6b8d02132006df5ffc75ffcdd707 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Mon, 21 Oct 2019 14:02:58 +0200 Subject: gnu: sbcl-iterate: Add missing native input. * gnu/packages/lisp.scm (sbcl-iterate)[native-inputs]: Add rt. --- gnu/packages/lisp.scm | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index be0b876df8..a559dcc37b 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -1508,6 +1508,8 @@ else @code{parse-number} signals an error of type @code{invalid-number}.") (base32 "0kvz16gnxnkdz0fy1x8y5yr28nfm7i2qpvix7mgwccdpjmsb4pgm")))) (build-system asdf-build-system/sbcl) + (native-inputs + `(("rt" ,sbcl-rt))) (home-page "https://common-lisp.net/project/iterate/") (synopsis "Iteration construct for Common Lisp") (description "@code{iterate} is an iteration construct for Common Lisp. -- cgit 1.4.1 From 93b27394343bdd1ccfbc1c0492bb772613f01fba Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Mon, 21 Oct 2019 14:02:59 +0200 Subject: gnu: Add ecl-iterate. * gnu/packages/lisp.scm (ecl-iterate): New variable. --- gnu/packages/lisp.scm | 3 +++ 1 file changed, 3 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index a559dcc37b..8f46ee9891 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -1526,6 +1526,9 @@ It is similar to the @code{CL:LOOP} macro, with these distinguishing marks: (define-public cl-iterate (sbcl-package->cl-source-package sbcl-iterate)) +(define-public ecl-iterate + (sbcl-package->ecl-package sbcl-iterate)) + (define-public sbcl-cl-uglify-js ;; There have been many bug fixes since the 2010 release. (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5") -- cgit 1.4.1 From 54d761d3a4ed29381364aef26bedf2fbd4ba5fbd Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Mon, 21 Oct 2019 14:03:00 +0200 Subject: gnu: Add stefil. * gnu/packages/lisp.scm (cl-stefil, sbcl-stefil): New variables. --- gnu/packages/lisp.scm | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 8f46ee9891..4abc0f7790 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -7966,3 +7966,46 @@ JSON interchange format.") (define-public ecl-yason (sbcl-package->ecl-package sbcl-yason)) + +(define-public sbcl-stefil + (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a") + (revision "0")) + (package + (name "sbcl-stefil") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.common-lisp.net/stefil/stefil.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("iterate" ,sbcl-iterate) + ("metabang-bind" ,sbcl-metabang-bind))) + (propagated-inputs + ;; Swank doesn't have a pre-compiled package, therefore we must + ;; propagate its sources. + `(("swank" ,cl-slime-swank))) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'drop-unnecessary-dependency + (lambda _ + (substitute* "package.lisp" + ((":stefil-system") "")) + #t))))) + (home-page "https://common-lisp.net/project/stefil/index-old.shtml") + (synopsis "Simple test framework") + (description + "Stefil is a simple test framework for Common Lisp, with a focus on +interactive development.") + (license license:public-domain)))) + +(define-public cl-stefil + (sbcl-package->cl-source-package sbcl-stefil)) -- cgit 1.4.1 From 9574d42008143909b269836a0eadbdbac67a6293 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Mon, 21 Oct 2019 14:03:01 +0200 Subject: gnu: Add graph. * gnu/packages/lisp.scm (cl-graph, sbcl-graph): New variables. * gnu/packages/patches/sbcl-graph-asdf-definitions.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/lisp.scm | 40 +++++++++++++ .../patches/sbcl-graph-asdf-definitions.patch | 70 ++++++++++++++++++++++ 3 files changed, 111 insertions(+) create mode 100644 gnu/packages/patches/sbcl-graph-asdf-definitions.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index 4292e6f415..2568d75c1a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1319,6 +1319,7 @@ dist_patch_DATA = \ %D%/packages/patches/rust-coresimd-doctest.patch \ %D%/packages/patches/rust-reproducible-builds.patch \ %D%/packages/patches/rxvt-unicode-escape-sequences.patch \ + %D%/packages/patches/sbcl-graph-asdf-definitions.patch \ %D%/packages/patches/scalapack-blacs-mpi-deprecations.patch \ %D%/packages/patches/scheme48-tests.patch \ %D%/packages/patches/scotch-build-parallelism.patch \ diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 4abc0f7790..38fc35744e 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -8009,3 +8009,43 @@ interactive development.") (define-public cl-stefil (sbcl-package->cl-source-package sbcl-stefil)) + +(define-public sbcl-graph + (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f") + (revision "0")) + (package + (name "sbcl-graph") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/eschulte/graph.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g")) + (patches (search-patches "sbcl-graph-asdf-definitions.patch")))) + (build-system asdf-build-system/sbcl) + (native-inputs + `(("stefil" ,sbcl-stefil))) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("cl-heap" ,sbcl-cl-heap) + ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros) + ("metabang-bind" ,sbcl-metabang-bind) + ("named-readtables" ,sbcl-named-readtables))) + (arguments + '(#:test-asd-file "graph.test.asd")) + (synopsis "Graph data structure and algorithms for Common Lisp") + (description + "The GRAPH Common Lisp library provides a data structures to represent +graphs, as well as some graph manipulation and analysis algorithms (shortest +path, maximum flow, minimum spanning tree, etc.).") + (home-page "https://eschulte.github.io/graph/") + (license license:gpl3+)))) + +(define-public cl-graph + (sbcl-package->cl-source-package sbcl-graph)) diff --git a/gnu/packages/patches/sbcl-graph-asdf-definitions.patch b/gnu/packages/patches/sbcl-graph-asdf-definitions.patch new file mode 100644 index 0000000000..a528ccfcc6 --- /dev/null +++ b/gnu/packages/patches/sbcl-graph-asdf-definitions.patch @@ -0,0 +1,70 @@ +commit 52ebece1243ae6900e414b6248b5145a28348eef +Author: Guillaume Le Vaillant +Date: Fri Oct 18 15:41:23 2019 +0200 + + Use basic ASDF system definitions instead of package-inferred-system + +diff --git a/graph.asd b/graph.asd +index 193b6e3..56afc8f 100644 +--- a/graph.asd ++++ b/graph.asd +@@ -3,12 +3,10 @@ + :version "0.0.0" + :author ("Eric Schulte " "Thomas Dye") + :licence "GPL V3" +- :class :package-inferred-system +- :defsystem-depends-on (:asdf-package-system) ++ :in-order-to ((test-op (test-op graph-test))) + :depends-on (alexandria + metabang-bind + named-readtables + curry-compose-reader-macros +- graph/graph)) +- +-(register-system-packages "femlisp-matlisp" '(:fl.matlisp)) ++ cl-heap) ++ :components ((:file "graph"))) +diff --git a/graph.dot.asd b/graph.dot.asd +new file mode 100644 +index 0000000..12aec7e +--- /dev/null ++++ b/graph.dot.asd +@@ -0,0 +1,8 @@ ++(defsystem :graph-dot ++ :depends-on (alexandria ++ metabang-bind ++ named-readtables ++ curry-compose-reader-macros ++ cl-ppcre ++ graph) ++ :components ((:file "dot"))) +diff --git a/graph.json.asd b/graph.json.asd +new file mode 100644 +index 0000000..e7d091f +--- /dev/null ++++ b/graph.json.asd +@@ -0,0 +1,8 @@ ++(defsystem :graph-json ++ :depends-on (alexandria ++ metabang-bind ++ named-readtables ++ curry-compose-reader-macros ++ yason ++ graph) ++ :components ((:file "json"))) +diff --git a/graph.test.asd b/graph.test.asd +new file mode 100644 +index 0000000..1e811e1 +--- /dev/null ++++ b/graph.test.asd +@@ -0,0 +1,10 @@ ++(defsystem :graph-test ++ :depends-on (alexandria ++ metabang-bind ++ named-readtables ++ curry-compose-reader-macros ++ graph ++ stefil) ++ :perform (test-op (o s) ++ (uiop:symbol-call :graph/test 'test)) ++ :components ((:file "test"))) -- cgit 1.4.1 From a4daf996503281cd0addb020ec0f17207eb48313 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Mon, 21 Oct 2019 14:03:02 +0200 Subject: gnu: Add sbcl-graph-dot. * gnu/packages/lisp.scm (sbcl-graph-dot): New variable. --- gnu/packages/lisp.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 38fc35744e..6083008870 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -8049,3 +8049,20 @@ path, maximum flow, minimum spanning tree, etc.).") (define-public cl-graph (sbcl-package->cl-source-package sbcl-graph)) + +(define-public sbcl-graph-dot + (package + (inherit sbcl-graph) + (name "sbcl-graph-dot") + (inputs + `(("alexandria" ,sbcl-alexandria) + ("cl-ppcre" ,sbcl-cl-ppcre) + ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros) + ("graph" ,sbcl-graph) + ("metabang-bind" ,sbcl-metabang-bind) + ("named-readtables" ,sbcl-named-readtables))) + (arguments + (substitute-keyword-arguments (package-arguments sbcl-graph) + ((#:asd-file _ "") "graph.dot.asd") + ((#:asd-system-name _ #f) "graph-dot"))) + (synopsis "Serialize graphs to and from DOT format"))) -- cgit 1.4.1 From b090bdc9f592b85e394e88b3d2c3c0e9ecbd75ac Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Mon, 21 Oct 2019 14:03:03 +0200 Subject: gnu: Add sbcl-graph-json. * gnu/packages/lisp.scm (sbcl-graph-json): New variable. --- gnu/packages/lisp.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 6083008870..4a7527344f 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -8066,3 +8066,20 @@ path, maximum flow, minimum spanning tree, etc.).") ((#:asd-file _ "") "graph.dot.asd") ((#:asd-system-name _ #f) "graph-dot"))) (synopsis "Serialize graphs to and from DOT format"))) + +(define-public sbcl-graph-json + (package + (inherit sbcl-graph) + (name "sbcl-graph-json") + (inputs + `(("alexandria" ,sbcl-alexandria) + ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros) + ("graph" ,sbcl-graph) + ("metabang-bind" ,sbcl-metabang-bind) + ("named-readtables" ,sbcl-named-readtables) + ("yason" ,sbcl-yason))) + (arguments + (substitute-keyword-arguments (package-arguments sbcl-graph) + ((#:asd-file _ "") "graph.json.asd") + ((#:asd-system-name _ #f) "graph-json"))) + (synopsis "Serialize graphs to and from JSON format"))) -- cgit 1.4.1 From 6fc9c6f7d96f44fa72ef64ebbd40a6f27a63a1e1 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 22 Oct 2019 11:55:54 +0300 Subject: gnu: font-awesome: Download using git-fetch. The official link on the website has a regularly changing hash. * gnu/packages/fonts.scm (font-awesome)[source]: Use 'git-fetch'. [arguments]: Replace 'install phase. [home-page]: Use new upstream home-page. --- gnu/packages/fonts.scm | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 03bfa43014..bb6dc45d94 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -1000,14 +1000,31 @@ correct spacing.") ;; (version "4.7.0") (source (origin - (method url-fetch) - (uri (string-append "http://fontawesome.io/assets/" - name "-" version ".zip")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/FortAwesome/Font-Awesome.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1m1rfwm4sjkv10j3xd2dhwk286a5912b2zgvc692cmxi5gxs68jf")))) + "0w30y26jp8nvxa3iiw7ayl6rkza1rz62msl9xw3srvxya1c77grc")))) (build-system font-build-system) - (home-page "http://fontawesome.io") + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (source (string-append (getcwd) "/fonts")) + (fonts (string-append out "/share/fonts"))) + (for-each (lambda (file) + (install-file file (string-append fonts "/truetype"))) + (find-files source "\\.(ttf|ttc)$")) + (for-each (lambda (file) + (install-file file (string-append fonts "/opentype"))) + (find-files source "\\.(otf|otc)$")) + #t)))))) + (home-page "https://fontawesome.com/") (synopsis "Font that contains a rich iconset") (description "Font Awesome is a full suite of pictographic icons for easy scalable -- cgit 1.4.1 From 0201e34cef3cc908e40f54818c8228fa8e786676 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 22 Oct 2019 15:48:48 +0300 Subject: gnu: libtommath: Update to 1.2.0. * gnu/packages/multiprecision.scm (libtommath): Update to 1.2.0. [arguments]: Update custom 'prepare-build for new version. Update custom 'check phase to use test-target keyword. (libtommath@1.1): New variable. (libtommath@1.0)[inherit]: Inherit from libtommath@1.1. --- gnu/packages/multiprecision.scm | 43 ++++++++++++++++++++++++++++++----------- 1 file changed, 32 insertions(+), 11 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm index 8e89836595..36d035ada0 100644 --- a/gnu/packages/multiprecision.scm +++ b/gnu/packages/multiprecision.scm @@ -293,7 +293,7 @@ multiplies.") (define-public libtommath (package (name "libtommath") - (version "1.1.0") + (version "1.2.0") (outputs '("out" "static")) (source (origin @@ -302,8 +302,7 @@ multiplies.") "download/v" version "/ltm-" version ".tar.xz")) (sha256 (base32 - "1bbyagqzfdbg37k1n08nsqzdf44z8zsnjjinqbsyj7rxg246qilh")) - (patches (search-patches "libtommath-fix-linkage.patch")))) + "1c8q1qy88cjhdjlk3g24mra94h34c1ldvkjz0n2988c0yvn5xixp")))) (build-system gnu-build-system) (arguments '(#:phases @@ -311,10 +310,6 @@ multiplies.") (delete 'configure) ; no configure (add-after 'unpack 'prepare-build (lambda _ - ;; Don't pull in coreutils. - (substitute* "makefile_include.mk" - (("arch") "uname -m")) - ;; We want the shared library by default so force it to be the ;; default makefile target. (delete-file "makefile") @@ -326,14 +321,15 @@ multiplies.") "/lib/libtommath.a")) #t)) (replace 'check - (lambda* (#:key make-flags #:allow-other-keys) - (apply invoke "make" "test_standalone" make-flags) + (lambda* (#:key test-target make-flags #:allow-other-keys) + (apply invoke "make" test-target make-flags) (invoke "sh" "test"))) (add-after 'install 'install-static-library (lambda* (#:key outputs #:allow-other-keys) (invoke "make" "-f" "makefile.unix" "install" (string-append "PREFIX=" (assoc-ref outputs "static")) (string-append "CC=" (which "gcc")))))) + #:test-target "test" #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")) "CC=gcc"))) (native-inputs @@ -346,9 +342,34 @@ simple to work with that provides fairly efficient routines that build out of the box without configuration.") (license unlicense))) -(define-public libtommath-1.0 +(define-public libtommath-1.1 (package (inherit libtommath) + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/libtom/libtommath/releases/" + "download/v" version "/ltm-" version ".tar.xz")) + (sha256 + (base32 + "1bbyagqzfdbg37k1n08nsqzdf44z8zsnjjinqbsyj7rxg246qilh")) + (patches (search-patches "libtommath-fix-linkage.patch")))) + (arguments + (substitute-keyword-arguments (package-arguments libtommath) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'patch-coreutils-call + (lambda _ + ;; Don't pull in coreutils. + (substitute* "makefile_include.mk" + (("arch") "uname -m")) + #t)))) + ((#:test-target _) "test_standalone"))))) + +(define-public libtommath-1.0 + (package + (inherit libtommath-1.1) (version "1.0.1") (outputs '("out")) (source @@ -360,7 +381,7 @@ the box without configuration.") (base32 "0sbccdwbkfc680id2fi0x067j23biqcjqilwkk7y9339knrjy0s7")))) (arguments - (substitute-keyword-arguments (package-arguments libtommath) + (substitute-keyword-arguments (package-arguments libtommath-1.1) ((#:phases phases) `(modify-phases ,phases (delete 'install-static-library))))))) -- cgit 1.4.1 From c1ff9072de7738feb5af5274d7c478f1efef0f09 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Mon, 30 Sep 2019 21:00:28 +0200 Subject: gnu: Add python-pytest-isort. * gnu/packages/python-check.scm (python-pytest-isort): New variable. --- gnu/packages/python-check.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm index 15cf9138d4..caa398752e 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2019 Tobias Geerinckx-Rice ;;; Copyright © 2019 Efraim Flashner ;;; Copyright © 2019 Maxim Cournoyer +;;; Copyright © 2019 Hartmut Goebel ;;; ;;; This file is part of GNU Guix. ;;; @@ -153,6 +154,36 @@ of the project to ensure it renders properly.") compliance.") (license license:bsd-3))) +(define-public python-pytest-isort + (package + (name "python-pytest-isort") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pytest-isort" version)) + (sha256 + (base32 "06myn5hhxs5yp8dqr1yjsgcnnxnsrvsqannm00bvaw0qml6ydzjb")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (setenv "PYTHONPATH" + (string-append (getcwd) ":" + (getenv "PYTHONPATH"))) + (invoke "pytest")))))) + (propagated-inputs + `(("python-isort" ,python-isort) + ("python-pytest" ,python-pytest))) + (home-page "https://github.com/moccu/pytest-isort/") + (synopsis "Pytest plugin to check import ordering using isort") + (description + "This package provides a pytest plugin to check import ordering using +isort.") + (license license:bsd-3))) + (define-public python-pytest-shutil (package (name "python-pytest-shutil") -- cgit 1.4.1 From df122333ac9fd46efe603fc0047ef3ffdfb1f1c9 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Mon, 30 Sep 2019 21:06:12 +0200 Subject: gnu: Add python-tinycss2. * gnu/packages/python-web.scm (python-tinycss2): New variable. --- gnu/packages/python-web.scm | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 752d120782..beecbef051 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2015 Cyril Roelandt ;;; Copyright © 2015, 2016, 2017, 2019 Leo Famulari -;;; Copyright © 2016 Hartmut Goebel +;;; Copyright © 2016, 2019 Hartmut Goebel ;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2015, 2017 Ben Woodcroft ;;; Copyright © 2015, 2016 Christopher Allan Webber @@ -63,6 +63,7 @@ #:use-module (gnu packages libffi) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-check) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-xyz) #:use-module (gnu packages sphinx) @@ -3301,3 +3302,36 @@ library to create slugs from unicode strings while keeping it DRY.") (description "Generate complex HTML+JS pages with Python") (license license:expat))) +(define-public python-tinycss2 + (package + (name "python-tinycss2") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "tinycss2" version)) + (sha256 + (base32 "1kw84y09lggji4krkc58jyhsfj31w8npwhznr7lf19d0zbix09v4")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ (invoke "pytest")))))) + (propagated-inputs + `(("python-webencodings" ,python-webencodings))) + (native-inputs + `(("python-pytest-flake8" ,python-pytest-flake8) + ("python-pytest-isort" ,python-pytest-isort) + ("python-pytest-runner" ,python-pytest-runner))) + (home-page "https://tinycss2.readthedocs.io/") + (synopsis "Low-level CSS parser for Python") + (description "@code{tinycss2} can parse strings, return Python objects +representing tokens and blocks, and generate CSS strings corresponding to +these objects. + +Based on the CSS Syntax Level 3 specification, @code{tinycss2} knows the +grammar of CSS but doesn’t know specific rules, properties or values supported +in various CSS modules.") + (license license:bsd-3))) + -- cgit 1.4.1 From 7d3f481b905d1a0950f0f60e8ec244211a42b9ba Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Mon, 30 Sep 2019 21:06:44 +0200 Subject: gnu: Add python-cssselect2. * gnu/packages/python-web.scm (python-cssselect2): New variable. --- gnu/packages/python-web.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index beecbef051..55a39a8a6f 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -3335,3 +3335,36 @@ grammar of CSS but doesn’t know specific rules, properties or values supported in various CSS modules.") (license license:bsd-3))) +(define-public python-cssselect2 + (package + (name "python-cssselect2") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "cssselect2" version)) + (sha256 + (base32 "0skymzb4ncrm2zdsy80f53vi0arf776lvbp51hzh4ayp1il5lj3h")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ (invoke "pytest")))))) + (propagated-inputs + `(("python-tinycss2" ,python-tinycss2))) + (native-inputs + `(("python-pytest-cov" ,python-pytest-cov) + ("python-pytest-flake8" ,python-pytest-flake8) + ("python-pytest-isort" ,python-pytest-isort) + ("python-pytest-runner" ,python-pytest-runner))) + (home-page "https://cssselect2.readthedocs.io/") + (synopsis "CSS selectors for Python ElementTree") + (description "@code{cssselect2} is a straightforward implementation of +CSS3 Selectors for markup documents (HTML, XML, etc.) that can be read by +ElementTree-like parsers (including cElementTree, lxml, html5lib, etc.). + +Unlike the Python package @code{cssselect}, it does not translate selectors to +XPath and therefore does not have all the correctness corner cases that are +hard or impossible to fix in cssselect.") + (license license:bsd-3))) -- cgit 1.4.1 From f2f41e1afe942993b299c5d28993e51a47746dd5 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Mon, 30 Sep 2019 21:08:47 +0200 Subject: gnu: Add python-cairosvg. * gnu/packages/python-xyz.scm (python-cairosvg): New variable. --- gnu/packages/python-xyz.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 65f944b56c..55498de3ab 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -16592,3 +16592,38 @@ It is the recommended replacement for Python's original @code{distro} also provides a command-line interface to output the platform information in various formats.") (license license:asl2.0))) + +(define-public python-cairosvg + (package + (name "python-cairosvg") + (version "2.4.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "CairoSVG" version)) + (sha256 + (base32 "1bb7irxbaxxb9ahm3z5wsx1q96mm5gzskc7b6q07h9ikcnb8yrjf")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ (invoke "pytest")))))) + (propagated-inputs + `(("python-cairocffi" ,python-cairocffi) + ("python-cssselect2" ,python-cssselect2) + ("python-defusedxml" ,python-defusedxml) + ("python-pillow" ,python-pillow) + ("python-tinycss2" ,python-tinycss2))) + (native-inputs + `(("python-pytest-flake8" ,python-pytest-flake8) + ("python-pytest-isort" ,python-pytest-isort) + ("python-pytest-runner" ,python-pytest-runner))) + (home-page "https://cairosvg.org/") + (synopsis "SVG to PDF/PS/PNG converter based on Cairo") + (description "CairoSVG is a SVG converter based on Cairo. It can export +SVG files to PDF, PostScript and PNG files. The main part of CairoSVG is a +SVG parser, trying to follow the SVG 1.1 recommendation from the W3C. Once +parsed, the result is drawn to a Cairo surface that can be exported to +qvarious formats: PDF, PostScript, PNG and even SVG.") + (license license:lgpl3+))) -- cgit 1.4.1 From ea1801e00bc79c8f7a8cc2e83589d4603bac5751 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Mon, 30 Sep 2019 21:09:12 +0200 Subject: gnu: Add python-pyphen. * gnu/packages/python-xyz.scm (python-pyphen): New variable. --- gnu/packages/python-xyz.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 55498de3ab..9f96556400 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -16627,3 +16627,22 @@ SVG parser, trying to follow the SVG 1.1 recommendation from the W3C. Once parsed, the result is drawn to a Cairo surface that can be exported to qvarious formats: PDF, PostScript, PNG and even SVG.") (license license:lgpl3+))) + +(define-public python-pyphen + (package + (name "python-pyphen") + (version "0.9.5") + (source + (origin + (method url-fetch) + (uri (pypi-uri "Pyphen" version)) + (sha256 + (base32 "08c9y69ry9d6m4zalhnalg86lsp9v2j5n1ziw5vxfmiihx83lqrv")))) + (build-system python-build-system) + ;; TODO: Use the Guix system hyphenation packages hyphen-* rather than the + ;; embedded set provided by upstream - like Debian does. + (home-page "https://github.com/Kozea/Pyphen") + (synopsis "Pure Python module to hyphenate text") + (description "Pyphen is a pure Python module to hyphenate text using +existing Hunspell hyphenation dictionaries.") + (license (list license:gpl2 license:lgpl2.1 license:mpl1.1)))) -- cgit 1.4.1 From 73f0ed8dbfde97341716fd8b156907e4ef800873 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Mon, 30 Sep 2019 21:09:49 +0200 Subject: gnu: Add weasyprint. * gnu/packages/pdf.scm (weasyprint): New variable. --- gnu/packages/pdf.scm | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 7118afce4d..0fd385d5d6 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2019 Alex Griffin ;;; Copyright © 2019 Ben Sturmfels +;;; Copyright © 2019 Hartmut Goebel ;;; ;;; This file is part of GNU Guix. ;;; @@ -66,6 +67,7 @@ #:use-module (gnu packages imagemagick) #:use-module (gnu packages javascript) #:use-module (gnu packages lesstif) + #:use-module (gnu packages libffi) #:use-module (gnu packages linux) #:use-module (gnu packages lua) #:use-module (gnu packages pcre) @@ -73,6 +75,8 @@ #:use-module (gnu packages photo) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-check) + #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) #:use-module (gnu packages sdl) @@ -1200,3 +1204,80 @@ manipulating PDF documents from the command line. It supports @item displaying the mapping between logical and physical page numbers @end itemize") (license license:bsd-3))) + +(define-public weasyprint + (package + (name "weasyprint") + (version "50") + (source + (origin + (method url-fetch) + (uri (pypi-uri "WeasyPrint" version)) + (sha256 + (base32 "0invs96zvmcr6wh5klj52jrcnr9qg150v9wpmbhcsf3vv1d1hbcw")) + (patches (search-patches "weasyprint-library-paths.patch")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-library-paths + (lambda* (#:key inputs #:allow-other-keys) + (let ((fontconfig (assoc-ref inputs "fontconfig")) + (glib (assoc-ref inputs "glib")) + (pango (assoc-ref inputs "pango")) + (pangoft2 (assoc-ref inputs "pangoft2"))) + (substitute* "weasyprint/fonts.py" + (("@fontconfig@") + (string-append fontconfig "/lib/libfontconfig.so")) + (("@pangoft2@") + (string-append pango "/lib/libpangoft2-1.0.so"))) + (substitute* "weasyprint/text.py" + (("@gobject@") + (string-append glib "/lib/libgobject-2.0.so")) + (("@pango@") + (string-append pango "/lib/libpango-1.0.so")) + (("@pangocairo@") + (string-append pango "/lib/libpangocairo-1.0.so")))))) + (add-after 'unpack 'remove-pytest-options + (lambda _ + (substitute* "setup.cfg" + ;; flake8 and isort syntax checks fail, which is not our + ;; business + (("addopts = --flake8 --isort") "")))) + (replace 'check + (lambda _ + ;; run pytest, excluding one failing test + (invoke "pytest" "-k" "not test_flex_column_wrap_reverse")))))) + (inputs + `(("fontconfig" ,fontconfig) + ("glib" ,glib) + ("pango" ,pango))) + (propagated-inputs + `(("gdk-pixbuf" ,gdk-pixbuf) + ("python-cairocffi" ,python-cairocffi) + ("python-cairosvg" ,python-cairosvg) + ("python-cffi" ,python-cffi) + ("python-cssselect2" ,python-cssselect2) + ("python-html5lib" ,python-html5lib) + ("python-pyphen" ,python-pyphen) + ("python-tinycss2" ,python-tinycss2))) + (native-inputs + `(("python-pytest-cov" ,python-pytest-cov) + ("python-pytest-runner" ,python-pytest-runner))) + (home-page "https://weasyprint.org/") + (synopsis "Document factory for creating PDF files from HTML") + (description "WeasyPrint helps web developers to create PDF documents. It +turns simple HTML pages into gorgeous statistical reports, invoices, tickets, +etc. + +From a technical point of view, WeasyPrint is a visual rendering engine for +HTML and CSS that can export to PDF and PNG. It aims to support web standards +for printing. + +It is based on various libraries but not on a full rendering engine like +WebKit or Gecko. The CSS layout engine is written in Python, designed for +pagination, and meant to be easy to hack on. Weasyprint can also be used as a +python library. + +Keywords: html2pdf, htmltopdf") + (license license:bsd-3))) -- cgit 1.4.1 From 00850bb836e1027edb310f3dc69b897f031e23e0 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 22 Oct 2019 17:29:35 +0200 Subject: services: elogind, gnome, mate, xfce: Fix config type predicate identifiers. * gnu/services/desktop.scm (): Add question mark in type predicate identifier. (): Likewise. (): Likewise. (): Likewise. --- gnu/services/desktop.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 08acb79ed6..449b606a31 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -580,7 +580,7 @@ include the @command{udisksctl} command, part of UDisks, and GNOME Disks." (define-record-type* elogind-configuration make-elogind-configuration - elogind-configuration + elogind-configuration? (elogind elogind-package (default elogind)) (kill-user-processes? elogind-kill-user-processes? @@ -834,7 +834,7 @@ accountsservice web site} for more information." (define-record-type* gnome-desktop-configuration make-gnome-desktop-configuration - gnome-desktop-configuration + gnome-desktop-configuration? (gnome-package gnome-package (default gnome))) (define (gnome-polkit-settings config) @@ -872,7 +872,7 @@ and extends polkit with the actions from @code{gnome-settings-daemon}." (define-record-type* mate-desktop-configuration make-mate-desktop-configuration - mate-desktop-configuration + mate-desktop-configuration? (mate-package mate-package (default mate))) (define mate-desktop-service-type @@ -905,7 +905,7 @@ and extends polkit with the actions from @code{mate-settings-daemon}." (define-record-type* xfce-desktop-configuration make-xfce-desktop-configuration - xfce-desktop-configuration + xfce-desktop-configuration? (xfce xfce-package (default xfce))) (define (xfce-polkit-settings config) -- cgit 1.4.1 From 84af1e74029fd4c43636f7d8d3e6f82ddab9ce82 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 22 Oct 2019 17:51:23 +0200 Subject: gnu: guile-json: Deprecate the 'guile-json' variable. * gnu/packages/guile.scm (guile-json): Rename to... (guile-json-1): ... this. (guile-json): Define as a deprecated alias for 'guile-json-1'. (guile2.0-json, guile-json-3): Explicitly refer to 'guile-json-1'. --- gnu/packages/guile.scm | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 49a6e964a3..5fa149a189 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -59,6 +59,7 @@ #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (guix build-system guile) + #:use-module (guix deprecation) #:use-module (guix utils) #:use-module (ice-9 match) #:use-module ((srfi srfi-1) #:prefix srfi-1:)) @@ -413,7 +414,7 @@ GNU@tie{}Guile. Use the @code{(ice-9 readline)} module and call its ;;; Extensions. ;;; -(define-public guile-json +(define-public guile-json-1 (package (name "guile-json") (version "1.2.0") @@ -444,17 +445,20 @@ specification. These are the main features: ;; Version 1.2.0 switched to GPLv3+ (from LGPLv3+). (license license:gpl3+))) -(define-public guile-json-1 - ;; This is the 1.x branch of Guile-JSON. - guile-json) +;; Deprecate the 'guile-json' alias to force the use 'guile-json-1' or +;; 'guile-json-3'. In the future, we may reuse 'guile-json' as an alias for +;; 'guile-json-3'. +(define-deprecated guile-json + guile-json-1 + guile-json-1) (define-public guile2.0-json - (package-for-guile-2.0 guile-json)) + (package-for-guile-2.0 guile-json-1)) (define-public guile-json-3 ;; This version is incompatible with 1.x; see the 'NEWS' file. (package - (inherit guile-json) + (inherit guile-json-1) (name "guile-json") (version "3.2.0") (source (origin -- cgit 1.4.1 From af561664b8191e2a34570176422f4d500d5fd4fb Mon Sep 17 00:00:00 2001 From: Miguel Ángel Arruga Vivas Date: Mon, 21 Oct 2019 19:16:24 +0200 Subject: gnu: seahorse: Update to 3.30.1.1. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gnome.scm (seahorse)[version]: Update version number. [origin]: Update hash. Add patch needed for compilation with our version of libsecret (0.19.1). [inputs]: Add avahi dependency. [native-inputs]: Add vala dependency. Use gettext-minimal instead of intltool, as only xgettext is used. * gnu/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 1 + gnu/packages/gnome.scm | 21 +++++++++++--- .../seahorse-gkr-use-0-on-empty-flags.patch | 32 ++++++++++++++++++++++ 3 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 gnu/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index 2568d75c1a..79d0e934d4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1325,6 +1325,7 @@ dist_patch_DATA = \ %D%/packages/patches/scotch-build-parallelism.patch \ %D%/packages/patches/scotch-integer-declarations.patch \ %D%/packages/patches/sdl-libx11-1.6.patch \ + %D%/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch \ %D%/packages/patches/seq24-rename-mutex.patch \ %D%/packages/patches/sharutils-CVE-2018-1000097.patch \ %D%/packages/patches/shishi-fix-libgcrypt-detection.patch \ diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 3a4494b2b5..6ce3b1cf37 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2223,7 +2223,7 @@ engineering.") (define-public seahorse (package (name "seahorse") - (version "3.30") + (version "3.30.1.1") (source (origin (method url-fetch) @@ -2232,8 +2232,19 @@ engineering.") version ".tar.xz")) (sha256 (base32 - "1sbj1czlx1fakm72dwgbn0bwm12j838yaky4mkf6hf8j8afnxmzp")))) - (build-system glib-or-gtk-build-system) + "12x7xmwh62yl0ax90v8nkx3jqzviaz9hz2g56yml78wzww20gawy")) + (patches (search-patches + "seahorse-gkr-use-0-on-empty-flags.patch")))) + (build-system meson-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "build-aux/meson_post_install.py" + (("gtk-update-icon-cache") "true")) + #t))))) (inputs `(("gtk+" ,gtk+) ("gcr" ,gcr) @@ -2241,13 +2252,15 @@ engineering.") ("gpgme" ,gpgme) ("openldap" ,openldap) ("openssh" ,openssh) + ("avahi" ,avahi) ("libsecret" ,libsecret) ("libsoup" ,libsoup))) (native-inputs - `(("intltool" ,intltool) + `(("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") ("itstool" ,itstool) ("pkg-config" ,pkg-config) + ("vala" ,vala) ("xmllint" ,libxml2))) (home-page "https://launchpad.net/gnome-themes-standard") (synopsis "Manage encryption keys and passwords in the GNOME keyring") diff --git a/gnu/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch b/gnu/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch new file mode 100644 index 0000000000..55866d2973 --- /dev/null +++ b/gnu/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch @@ -0,0 +1,32 @@ +Patch from . + +From d9db29db567012b7c72e85e1be1fbf55fcc9b667 Mon Sep 17 00:00:00 2001 +From: Niels De Graef +Date: Sat, 11 May 2019 09:02:34 +0200 +Subject: [PATCH] gkr: Use 0 on empty flags + +A Flags-type variable without any flag set can be replaced with 0, so +this is a safe thing to do. It also prevents us from having to deal with +the accidental API break in libsecret (see +https://gitlab.gnome.org/GNOME/libsecret/merge_requests/19) +--- + gkr/gkr-keyring-add.vala | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/gkr/gkr-keyring-add.vala b/gkr/gkr-keyring-add.vala +index 4e92a520..f60c9a22 100644 +--- a/gkr/gkr-keyring-add.vala ++++ b/gkr/gkr-keyring-add.vala +@@ -41,8 +41,7 @@ public class Seahorse.Gkr.KeyringAdd : Gtk.Dialog { + + var cancellable = Dialog.begin_request(this); + var service = Backend.instance().service; +- Secret.Collection.create.begin(service, this.name_entry.text, null, +- Secret.CollectionCreateFlags.COLLECTION_CREATE_NONE, ++ Secret.Collection.create.begin(service, this.name_entry.text, null, 0, + cancellable, (obj, res) => { + /* Clear the operation without cancelling it since it is complete */ + Dialog.complete_request(this, false); +-- +2.23.0 + -- cgit 1.4.1 From 12712817ae97eb6305deeaad68ce17c9fa212917 Mon Sep 17 00:00:00 2001 From: "Jakob L. Kreuze" Date: Sat, 28 Sep 2019 16:47:21 -0400 Subject: machine: Implement 'digital-ocean-environment-type'. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/machine/digital-ocean.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Invoking guix deploy): Add documentation for 'digital-ocean-configuration'. Signed-off-by: Ludovic Courtès --- doc/guix.texi | 24 ++- gnu/local.mk | 1 + gnu/machine/digital-ocean.scm | 422 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 444 insertions(+), 3 deletions(-) create mode 100644 gnu/machine/digital-ocean.scm (limited to 'gnu') diff --git a/doc/guix.texi b/doc/guix.texi index b550b1c34a..f24dc6b26b 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -26004,12 +26004,10 @@ The object of the operating system configuration to deploy. @item @code{environment} An @code{environment-type} describing how the machine should be provisioned. -At the moment, the only supported value is -@code{managed-host-environment-type}. @item @code{configuration} (default: @code{#f}) An object describing the configuration for the machine's @code{environment}. -If the @code{environment} has a default configuration, @code{#f} maybe used. +If the @code{environment} has a default configuration, @code{#f} may be used. If @code{#f} is used for an environment with no default configuration, however, an error will be thrown. @end table @@ -26037,6 +26035,26 @@ remote host. @end table @end deftp +@deftp {Data Type} digital-ocean-configuration +This is the data type describing the Droplet that should be created for a +machine with an @code{environment} of @code{digital-ocean-environment-type}. + +@table @asis +@item @code{ssh-key} +The path to the SSH private key to use to authenticate with the remote +host. In the future, this field may not exist. +@item @code{tags} +A list of string ``tags'' that uniquely identify the machine. Must be given +such that no two machines in the deployment have the same set of tags. +@item @code{region} +A Digital Ocean region slug, such as @code{"nyc3"}. +@item @code{size} +A Digital Ocean size slug, such as @code{"s-1vcpu-1gb"} +@item @code{enable-ipv6} +Whether or not the droplet should be created with IPv6 networking. +@end table +@end deftp + @node Running Guix in a VM @section Running Guix in a Virtual Machine diff --git a/gnu/local.mk b/gnu/local.mk index 79d0e934d4..9b9a215913 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -580,6 +580,7 @@ GNU_SYSTEM_MODULES = \ %D%/system/vm.scm \ \ %D%/machine.scm \ + %D%/machine/digital-ocean.scm \ %D%/machine/ssh.scm \ \ %D%/build/accounts.scm \ diff --git a/gnu/machine/digital-ocean.scm b/gnu/machine/digital-ocean.scm new file mode 100644 index 0000000000..5ad7c4d4a3 --- /dev/null +++ b/gnu/machine/digital-ocean.scm @@ -0,0 +1,422 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Jakob L. Kreuze +;;; +;;; 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 . + +(define-module (gnu machine digital-ocean) + #:use-module (gnu machine ssh) + #:use-module (gnu machine) + #:use-module (gnu services) + #:use-module (gnu services networking) + #:use-module (gnu system) + #:use-module (gnu system pam) + #:use-module (guix base32) + #:use-module (guix derivations) + #:use-module (guix i18n) + #:use-module (guix import json) + #:use-module (guix monads) + #:use-module (guix records) + #:use-module (guix ssh) + #:use-module (guix store) + #:use-module (ice-9 iconv) + #:use-module (json) + #:use-module (rnrs bytevectors) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-2) + #:use-module (srfi srfi-34) + #:use-module (srfi srfi-35) + #:use-module (ssh key) + #:use-module (ssh sftp) + #:use-module (ssh shell) + #:use-module (web client) + #:use-module (web request) + #:use-module (web response) + #:use-module (web uri) + #:export (digital-ocean-configuration + digital-ocean-configuration? + + digital-ocean-configuration-ssh-key + digital-ocean-configuration-tags + digital-ocean-configuration-region + digital-ocean-configuration-size + digital-ocean-configuration-enable-ipv6 + + digital-ocean-environment-type)) + +;;; Commentary: +;;; +;;; This module implements a high-level interface for provisioning "droplets" +;;; from the Digital Ocean virtual private server (VPS) service. +;;; +;;; Code: + +(define %api-base "https://api.digitalocean.com") + +(define %digital-ocean-token + (make-parameter (getenv "GUIX_DIGITAL_OCEAN_TOKEN"))) + +(define* (post-endpoint endpoint body) + "Encode BODY as JSON and send it to the Digital Ocean API endpoint +ENDPOINT. This procedure is quite a bit more specialized than 'http-post', as +it takes care to set headers such as 'Content-Type', 'Content-Length', and +'Authorization' appropriately." + (let* ((uri (string->uri (string-append %api-base endpoint))) + (body (string->bytevector (scm->json-string body) "UTF-8")) + (headers `((User-Agent . "Guix Deploy") + (Accept . "application/json") + (Content-Type . "application/json") + (Authorization . ,(format #f "Bearer ~a" + (%digital-ocean-token))) + (Content-Length . ,(number->string + (bytevector-length body))))) + (port (open-socket-for-uri uri)) + (request (build-request uri + #:method 'POST + #:version '(1 . 1) + #:headers headers + #:port port)) + (request (write-request request port))) + (write-request-body request body) + (force-output (request-port request)) + (let* ((response (read-response port)) + (body (read-response-body response))) + (unless (= 2 (floor/ (response-code response) 100)) + (raise + (condition (&message + (message (format + #f + (G_ "~a: HTTP post failed: ~a (~s)") + (uri->string uri) + (response-code response) + (response-reason-phrase response))))))) + (close-port port) + (bytevector->string body "UTF-8")))) + +(define (fetch-endpoint endpoint) + "Return the contents of the Digital Ocean API endpoint ENDPOINT as an +alist. This procedure is quite a bit more specialized than 'json-fetch', as it +takes care to set headers such as 'Accept' and 'Authorization' appropriately." + (define headers + `((user-agent . "Guix Deploy") + (Accept . "application/json") + (Authorization . ,(format #f "Bearer ~a" (%digital-ocean-token))))) + (json-fetch (string-append %api-base endpoint) #:headers headers)) + + +;;; +;;; Parameters for droplet creation. +;;; + +(define-record-type* digital-ocean-configuration + make-digital-ocean-configuration + digital-ocean-configuration? + this-digital-ocean-configuration + (ssh-key digital-ocean-configuration-ssh-key) ; string + (tags digital-ocean-configuration-tags) ; list of strings + (region digital-ocean-configuration-region) ; string + (size digital-ocean-configuration-size) ; string + (enable-ipv6 digital-ocean-configuration-enable-ipv6)) ; boolean + +(define (read-key-fingerprint file-name) + "Read the private key at FILE-NAME and return the key's fingerprint as a hex +string." + (let* ((privkey (private-key-from-file file-name)) + (pubkey (private-key->public-key privkey)) + (hash (get-public-key-hash pubkey 'md5))) + (bytevector->hex-string hash))) + +(define (machine-droplet machine) + "Return an alist describing the droplet allocated to MACHINE." + (let ((tags (digital-ocean-configuration-tags + (machine-configuration machine)))) + (find (lambda (droplet) + (equal? (assoc-ref droplet "tags") (list->vector tags))) + (vector->list + (assoc-ref (fetch-endpoint "/v2/droplets") "droplets"))))) + +(define (machine-public-ipv4-network machine) + "Return the public IPv4 network interface of the droplet allocated to +MACHINE as an alist. The expected fields are 'ip_address', 'netmask', and +'gateway'." + (and-let* ((droplet (machine-droplet machine)) + (networks (assoc-ref droplet "networks")) + (network (find (lambda (network) + (string= "public" (assoc-ref network "type"))) + (vector->list (assoc-ref networks "v4"))))) + network)) + + +;;; +;;; Remote evaluation. +;;; + +(define (digital-ocean-remote-eval target exp) + "Internal implementation of 'machine-remote-eval' for MACHINE instances with +an environment type of 'digital-ocean-environment-type'." + (let* ((network (machine-public-ipv4-network target)) + (address (assoc-ref network "ip_address")) + (ssh-key (digital-ocean-configuration-ssh-key + (machine-configuration target))) + (delegate (machine + (inherit target) + (environment managed-host-environment-type) + (configuration + (machine-ssh-configuration + (host-name address) + (identity ssh-key) + (system "x86_64-linux")))))) + (machine-remote-eval delegate exp))) + + +;;; +;;; System deployment. +;;; + +;; The following script was adapted from the guide available at +;; . +(define (guix-infect network) + "Given NETWORK, an alist describing the Droplet's public IPv4 network +interface, return a Bash script that will install the Guix system." + (format #f "#!/bin/bash + +apt-get update +apt-get install xz-utils -y +wget https://ftp.gnu.org/gnu/guix/guix-binary-1.0.1.x86_64-linux.tar.xz +cd /tmp +tar --warning=no-timestamp -xf ~~/guix-binary-1.0.1.x86_64-linux.tar.xz +mv var/guix /var/ && mv gnu / +mkdir -p ~~root/.config/guix +ln -sf /var/guix/profiles/per-user/root/current-guix ~~root/.config/guix/current +export GUIX_PROFILE=\"`echo ~~root`/.config/guix/current\" ; +source $GUIX_PROFILE/etc/profile +groupadd --system guixbuild +for i in `seq -w 1 10`; do + useradd -g guixbuild -G guixbuild \ + -d /var/empty -s `which nologin` \ + -c \"Guix build user $i\" --system \ + guixbuilder$i; +done; +cp ~~root/.config/guix/current/lib/systemd/system/guix-daemon.service /etc/systemd/system/ +systemctl start guix-daemon && systemctl enable guix-daemon +mkdir -p /usr/local/bin +cd /usr/local/bin +ln -s /var/guix/profiles/per-user/root/current-guix/bin/guix +mkdir -p /usr/local/share/info +cd /usr/local/share/info +for i in /var/guix/profiles/per-user/root/current-guix/share/info/*; do + ln -s $i; +done +guix archive --authorize < ~~root/.config/guix/current/share/guix/ci.guix.gnu.org.pub +# guix pull +guix package -i glibc-utf8-locales +export GUIX_LOCPATH=\"$HOME/.guix-profile/lib/locale\" +guix package -i openssl +cat > /etc/bootstrap-config.scm << EOF +(use-modules (gnu)) +(use-service-modules networking ssh) + +(operating-system + (host-name \"gnu-bootstrap\") + (timezone \"Etc/UTC\") + (bootloader (bootloader-configuration + (bootloader grub-bootloader) + (target \"/dev/vda\") + (terminal-outputs '(console)))) + (file-systems (cons (file-system + (mount-point \"/\") + (device \"/dev/vda1\") + (type \"ext4\")) + %base-file-systems)) + (services + (append (list (static-networking-service \"eth0\" \"~a\" + #:netmask \"~a\" + #:gateway \"~a\" + #:name-servers '(\"84.200.69.80\" \"84.200.70.40\")) + (simple-service 'guile-load-path-in-global-env + session-environment-service-type + \\`((\"GUILE_LOAD_PATH\" + . \"/run/current-system/profile/share/guile/site/2.2\") + (\"GUILE_LOAD_COMPILED_PATH\" + . ,(string-append \"/run/current-system/profile/lib/guile/2.2/site-ccache:\" + \"/run/current-system/profile/share/guile/site/2.2\")))) + (service openssh-service-type + (openssh-configuration + (log-level 'debug) + (permit-root-login 'without-password)))) + %base-services))) +EOF +# guix pull +guix system build /etc/bootstrap-config.scm +guix system reconfigure /etc/bootstrap-config.scm +mv /etc /old-etc +mkdir /etc +cp -r /old-etc/{passwd,group,shadow,gshadow,mtab,guix,bootstrap-config.scm} /etc/ +guix system reconfigure /etc/bootstrap-config.scm" + (assoc-ref network "ip_address") + (assoc-ref network "netmask") + (assoc-ref network "gateway"))) + +(define (machine-wait-until-available machine) + "Block until the initial Debian image has been installed on the droplet +named DROPLET-NAME." + (and-let* ((droplet (machine-droplet machine)) + (droplet-id (assoc-ref droplet "id")) + (endpoint (format #f "/v2/droplets/~a/actions" droplet-id))) + (let loop () + (let ((actions (assoc-ref (fetch-endpoint endpoint) "actions"))) + (unless (every (lambda (action) + (string= "completed" (assoc-ref action "status"))) + (vector->list actions)) + (sleep 5) + (loop)))))) + +(define (wait-for-ssh address ssh-key) + "Block until the an SSH session can be made as 'root' with SSH-KEY at ADDRESS." + (let loop () + (catch #t + (lambda () + (open-ssh-session address #:user "root" #:identity ssh-key)) + (lambda args + (sleep 5) + (loop))))) + +(define (add-static-networking target network) + "Return an based on TARGET with a static networking +configuration for the public IPv4 network described by the alist NETWORK." + (operating-system + (inherit (machine-operating-system target)) + (services (cons* (static-networking-service "eth0" + (assoc-ref network "ip_address") + #:netmask (assoc-ref network "netmask") + #:gateway (assoc-ref network "gateway") + #:name-servers '("84.200.69.80" "84.200.70.40")) + (simple-service 'guile-load-path-in-global-env + session-environment-service-type + `(("GUILE_LOAD_PATH" + . "/run/current-system/profile/share/guile/site/2.2") + ("GUILE_LOAD_COMPILED_PATH" + . ,(string-append "/run/current-system/profile/lib/guile/2.2/site-ccache:" + "/run/current-system/profile/share/guile/site/2.2")))) + (operating-system-user-services + (machine-operating-system target)))))) + +(define (deploy-digital-ocean target) + "Internal implementation of 'deploy-machine' for 'machine' instances with an +environment type of 'digital-ocean-environment-type'." + (maybe-raise-missing-api-key-error) + (maybe-raise-unsupported-configuration-error target) + (let* ((config (machine-configuration target)) + (name (machine-display-name target)) + (region (digital-ocean-configuration-region config)) + (size (digital-ocean-configuration-size config)) + (ssh-key (digital-ocean-configuration-ssh-key config)) + (fingerprint (read-key-fingerprint ssh-key)) + (enable-ipv6 (digital-ocean-configuration-enable-ipv6 config)) + (tags (digital-ocean-configuration-tags config)) + (request-body `(("name" . ,name) + ("region" . ,region) + ("size" . ,size) + ("image" . "debian-9-x64") + ("ssh_keys" . ,(vector fingerprint)) + ("backups" . #f) + ("ipv6" . ,enable-ipv6) + ("user_data" . #nil) + ("private_networking" . #nil) + ("volumes" . #nil) + ("tags" . ,(list->vector tags)))) + (response (post-endpoint "/v2/droplets" request-body))) + (machine-wait-until-available target) + (let* ((network (machine-public-ipv4-network target)) + (address (assoc-ref network "ip_address"))) + (wait-for-ssh address ssh-key) + (let* ((ssh-session (open-ssh-session address #:user "root" #:identity ssh-key)) + (sftp-session (make-sftp-session ssh-session))) + (call-with-remote-output-file sftp-session "/tmp/guix-infect.sh" + (lambda (port) + (display (guix-infect network) port))) + (rexec ssh-session "/bin/bash /tmp/guix-infect.sh") + ;; Session will close upon rebooting, which will raise 'guile-ssh-error. + (catch 'guile-ssh-error + (lambda () (rexec ssh-session "reboot")) + (lambda args #t))) + (wait-for-ssh address ssh-key) + (let ((delegate (machine + (operating-system (add-static-networking target network)) + (environment managed-host-environment-type) + (configuration + (machine-ssh-configuration + (host-name address) + (identity ssh-key) + (system "x86_64-linux")))))) + (deploy-machine delegate))))) + + +;;; +;;; Roll-back. +;;; + +(define (roll-back-digital-ocean target) + "Internal implementation of 'roll-back-machine' for MACHINE instances with an +environment type of 'digital-ocean-environment-type'." + (let* ((network (machine-public-ipv4-network target)) + (address (assoc-ref network "ip_address")) + (ssh-key (digital-ocean-configuration-ssh-key + (machine-configuration target))) + (delegate (machine + (inherit target) + (environment managed-host-environment-type) + (configuration + (machine-ssh-configuration + (host-name address) + (identity ssh-key) + (system "x86_64-linux")))))) + (roll-back-machine delegate))) + + +;;; +;;; Environment type. +;;; + +(define digital-ocean-environment-type + (environment-type + (machine-remote-eval digital-ocean-remote-eval) + (deploy-machine deploy-digital-ocean) + (roll-back-machine roll-back-digital-ocean) + (name 'digital-ocean-environment-type) + (description "Provisioning of \"droplets\": virtual machines + provided by the Digital Ocean virtual private server (VPS) service."))) + + +(define (maybe-raise-missing-api-key-error) + (unless (%digital-ocean-token) + (raise (condition + (&message + (message (G_ "No Digital Ocean access token was provided. This \ +may be fixed by setting the environment variable GUIX_DIGITAL_OCAEN_TOKEN to \ +one procured from https://cloud.digitalocean.com/account/api/tokens."))))))) + +(define (maybe-raise-unsupported-configuration-error machine) + "Raise an error if MACHINE's configuration is not an instance of +." + (let ((config (machine-configuration machine)) + (environment (environment-type-name (machine-environment machine)))) + (unless (and config (digital-ocean-configuration? config)) + (raise (condition + (&message + (message (format #f (G_ "unsupported machine configuration '~a' +for environment of type '~a'") + config + environment)))))))) -- cgit 1.4.1 From c93994b5e43acc6048b81836d30632e015306c92 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 22 Oct 2019 18:31:47 +0200 Subject: machine: digital-ocean: Rename 'enable-ipv6' to 'enable-ipv6?'. * gnu/machine/digital-ocean.scm ()[enable-ipv6]: Rename to... [enable-ipv6?]: ... this. (deploy-digital-ocean): Adjust accordingly. * doc/guix.texi (Invoking guix deploy): Adjust accordingly. --- doc/guix.texi | 2 +- gnu/machine/digital-ocean.scm | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'gnu') diff --git a/doc/guix.texi b/doc/guix.texi index f24dc6b26b..cb004d034d 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -26050,7 +26050,7 @@ such that no two machines in the deployment have the same set of tags. A Digital Ocean region slug, such as @code{"nyc3"}. @item @code{size} A Digital Ocean size slug, such as @code{"s-1vcpu-1gb"} -@item @code{enable-ipv6} +@item @code{enable-ipv6?} Whether or not the droplet should be created with IPv6 networking. @end table @end deftp diff --git a/gnu/machine/digital-ocean.scm b/gnu/machine/digital-ocean.scm index 5ad7c4d4a3..6f7cf8fb30 100644 --- a/gnu/machine/digital-ocean.scm +++ b/gnu/machine/digital-ocean.scm @@ -52,7 +52,7 @@ digital-ocean-configuration-tags digital-ocean-configuration-region digital-ocean-configuration-size - digital-ocean-configuration-enable-ipv6 + digital-ocean-configuration-enable-ipv6? digital-ocean-environment-type)) @@ -128,7 +128,7 @@ takes care to set headers such as 'Accept' and 'Authorization' appropriately." (tags digital-ocean-configuration-tags) ; list of strings (region digital-ocean-configuration-region) ; string (size digital-ocean-configuration-size) ; string - (enable-ipv6 digital-ocean-configuration-enable-ipv6)) ; boolean + (enable-ipv6? digital-ocean-configuration-enable-ipv6?)) ; boolean (define (read-key-fingerprint file-name) "Read the private key at FILE-NAME and return the key's fingerprint as a hex @@ -324,7 +324,7 @@ environment type of 'digital-ocean-environment-type'." (size (digital-ocean-configuration-size config)) (ssh-key (digital-ocean-configuration-ssh-key config)) (fingerprint (read-key-fingerprint ssh-key)) - (enable-ipv6 (digital-ocean-configuration-enable-ipv6 config)) + (enable-ipv6? (digital-ocean-configuration-enable-ipv6? config)) (tags (digital-ocean-configuration-tags config)) (request-body `(("name" . ,name) ("region" . ,region) @@ -332,7 +332,7 @@ environment type of 'digital-ocean-environment-type'." ("image" . "debian-9-x64") ("ssh_keys" . ,(vector fingerprint)) ("backups" . #f) - ("ipv6" . ,enable-ipv6) + ("ipv6" . ,enable-ipv6?) ("user_data" . #nil) ("private_networking" . #nil) ("volumes" . #nil) -- cgit 1.4.1 From cdc81ccedb332fb297f6100ccd99eaf13d161ada Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Tue, 22 Oct 2019 19:28:16 +0200 Subject: gnu: Add gperftools. * gnu/packages/cpp.scm (gperftools): New variable. --- gnu/packages/cpp.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 6aac60d284..f40f547781 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2018 Fis Trivial ;;; Copyright © 2018 Ludovic Courtès ;;; Copyright © 2019 Mathieu Othacehe +;;; Copyright © 2019 Pierre Neidhardt ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,6 +34,7 @@ #:use-module (gnu packages code) #:use-module (gnu packages compression) #:use-module (gnu packages llvm) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages tls) #:use-module (gnu packages web)) @@ -313,3 +315,38 @@ code analysis and supports cross references, hierarchies, completion and syntax highlighting. @code{ccls} is derived from @code{cquery} which is not maintained anymore.") (license license:asl2.0))) + +(define-public gperftools + (package + (name "gperftools") + (version "2.7") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gperftools/gperftools") + (commit (string-append "gperftools-" version)))) + (sha256 + (base32 "0amvwrzn5qc0b0jpxpy5g6zkmj97zjh4hhjrd130hsg2lwwcwhy1")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ;; For tests: + ("perl" ,perl))) + (home-page "https://github.com/gperftools/gperftools") + (synopsis "Multi-threaded malloc() and performance analysis tools for C++") + (description + "@code{gperftools} is a collection of a high-performance multi-threaded +malloc() implementation plus some thread-friendly performance analysis +tools: + +@itemize +@item tcmalloc, +@item heap profiler, +@item heap checker, +@item CPU checker. +@end itemize\n") + (license license:bsd-3))) -- cgit 1.4.1 From 0cb0c5df12630a9d0689c8a033be68e61283f8c1 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 22 Oct 2019 08:24:45 +0200 Subject: gnu: perl-error: Update to 0.17028. * gnu/packages/perl.scm (perl-error): Update to 0.17028. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index baa29af22e..33d0f107d6 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -3166,14 +3166,14 @@ separator.") (define-public perl-error (package (name "perl-error") - (version "0.17027") + (version "0.17028") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SH/SHLOMIF/" "Error-" version ".tar.gz")) (sha256 (base32 - "1gnkxf12dq2w1jmjpllp5f30ya4nll01jv2sfi24386zfn1arch7")))) + "0q796nwwiarfc6pga97380c9z8xva5545632001qj75kb1g5rn1s")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) (home-page "https://metacpan.org/release/Error") -- cgit 1.4.1 From 252bb4627764583db6c59ccbb99bd726c551685c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 22 Oct 2019 08:30:18 +0200 Subject: gnu: r-stringdist: Update to 0.9.5.5. * gnu/packages/cran.scm (r-stringdist): Update to 0.9.5.5. --- gnu/packages/cran.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index b833894cad..61d560a95d 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -3088,14 +3088,13 @@ color labels, layout, etc.") (define-public r-stringdist (package (name "r-stringdist") - (version "0.9.5.3") + (version "0.9.5.5") (source (origin (method url-fetch) (uri (cran-uri "stringdist" version)) (sha256 - (base32 - "1vbhn6qwj3bzplhq06bw1yqqq1qpf1zinnj27cr7pf1nqsbyx2nq")))) + (base32 "1dqfakclzaf878x7mhwmqrcpcql2h9cv19fz5f3ygpajf3si5kqi")))) (build-system r-build-system) (home-page "https://github.com/markvanderloo/stringdist") (synopsis "Approximate string matching and string distance functions") -- cgit 1.4.1 From c42625c8b0623a9502133be643d4aad03739d01f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 22 Oct 2019 08:31:00 +0200 Subject: gnu: r-rcppgsl: Update to 0.3.7. * gnu/packages/cran.scm (r-rcppgsl): Update to 0.3.7. --- gnu/packages/cran.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 61d560a95d..70b468dc84 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -8726,21 +8726,20 @@ and related methods.") (define-public r-rcppgsl (package (name "r-rcppgsl") - (version "0.3.6") + (version "0.3.7") (source (origin (method url-fetch) (uri (cran-uri "RcppGSL" version)) (sha256 - (base32 - "16pdapq31729db53agnb48jkvdm97167n3bigy5zazc3q3isis1m")))) + (base32 "0cnw2k7cfqrm79r6j283aybflxig80x4n4rjkfp2317wf10mrsa5")))) (properties `((upstream-name . "RcppGSL"))) (build-system r-build-system) (propagated-inputs `(("r-rcpp" ,r-rcpp) ("gsl" ,gsl))) (native-inputs - `(("r-knitr" ,r-knitr))) ; for vignettes + `(("r-knitr" ,r-knitr))) ; for vignettes (home-page "https://cran.r-project.org/web/packages/RcppGSL/") (synopsis "Rcpp integration for GSL vectors and matrices") (description -- cgit 1.4.1 From d45b92891a953c18d840241b1ee587e6f9fb471c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 22 Oct 2019 10:29:38 +0200 Subject: gnu: perl-cgi-simple: Update to 1.22. * gnu/packages/web.scm (perl-cgi-simple): Update to 1.22. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 5487eb2e71..3548c52411 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -2363,14 +2363,14 @@ HTTP requests.") (define-public perl-cgi-simple (package (name "perl-cgi-simple") - (version "1.21") + (version "1.22") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MA/MANWAR/" "CGI-Simple-" version ".tar.gz")) (sha256 - (base32 "1wzc2igs4khmj7zfahvs87c24p9ks8hnqhhsyviyiix53xx2y6sg")))) + (base32 "13c7iwnnavky10ab87pi8jc1kqph03s0rhvj7myn7szhbfisc4gn")))) (build-system perl-build-system) (native-inputs `(("perl-io-stringy" ,perl-io-stringy) ; for IO::Scalar -- cgit 1.4.1 From d37e8e53902f30365b2626ad3de96d580809e0e9 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 22 Oct 2019 11:07:46 +0200 Subject: gnu: python-rst.linker: Update to 1.11. * gnu/packages/python-xyz.scm (python-rst.linker): Update to 1.11. --- gnu/packages/python-xyz.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 9f96556400..342d20a065 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -3000,14 +3000,13 @@ receive files via the SCP1 protocol, as implemented by the OpenSSH (define-public python-rst.linker (package (name "python-rst.linker") - (version "1.10") + (version "1.11") (source (origin (method url-fetch) (uri (pypi-uri "rst.linker" version)) (sha256 - (base32 - "0iqaacp7pj1s8avs4kc0qg0r7dscywaq37y6l9j14glqdikk0wdj")))) + (base32 "0pqsfqqx8h0pq21k8l3k62kznrgaj2ala93c64s4d9rpbr4mgkd2")))) (build-system python-build-system) (propagated-inputs `(("python-dateutil" ,python-dateutil) -- cgit 1.4.1 From 1d4944f973dea25b7aab39e2aa3f32654a1e732c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 22 Oct 2019 19:35:13 +0200 Subject: gnu: parallel: Update to 20191022. * gnu/packages/parallel.scm (parallel): Update to 20191022. --- gnu/packages/parallel.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index 253596d8e3..d8338caffb 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -52,14 +52,14 @@ (define-public parallel (package (name "parallel") - (version "20190922") + (version "20191022") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/parallel/parallel-" version ".tar.bz2")) (sha256 - (base32 "0qrw34rpp8g5knb2nhs8z1hz9i42nxjn6i12m4rblm0anhnfwbr8")))) + (base32 "1a89x5ix9kls1abj8zkgxdf3g3s5phzb83xcd4cwpz4szfjfw6v4")))) (build-system gnu-build-system) (arguments `(#:phases -- cgit 1.4.1 From 225aaf26764c602a88d4d180c0871a86e5a484b3 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 22 Oct 2019 20:14:26 +0200 Subject: gnu: python-psutil: Update to 5.6.3. * gnu/packages/python-xyz.scm (python-psutil): Update to 5.6.3. --- gnu/packages/python-xyz.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 342d20a065..2c75d7f23b 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -166,14 +166,13 @@ (define-public python-psutil (package (name "python-psutil") - (version "5.6.2") + (version "5.6.3") (source (origin (method url-fetch) (uri (pypi-uri "psutil" version)) (sha256 - (base32 - "1v95vb5385qscfdvphv8l2w22bmir3d7yhpi02n58v3mlqy1r3l2")))) + (base32 "1wv31zly44qj0rp2acg58xbnc7bf6ffyadasq093l455q30qafl6")))) (build-system python-build-system) (arguments ;; FIXME: some tests does not return and times out. -- cgit 1.4.1 From 3feae386691acd00d79613bf5e4a89cbdf9221b4 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 22 Oct 2019 20:24:32 +0200 Subject: gnu: lm-sensors: Update to 3.6.0. * gnu/packages/linux.scm (lm-sensors): Update to 3.6.0. --- gnu/packages/linux.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index a3b12dea32..0a7f431a40 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2919,7 +2919,7 @@ country-specific regulations for the wireless spectrum.") (define-public lm-sensors (package (name "lm-sensors") - (version "3.5.0") + (version "3.6.0") (source (origin (method git-fetch) @@ -2929,7 +2929,7 @@ country-specific regulations for the wireless spectrum.") (string-split version #\.) "-"))))) (file-name (git-file-name name version)) (sha256 - (base32 "1mdrnb9r01z1xfdm6dpkywvf9yy9a4yzb59paih9sijwmigv19fj")) + (base32 "1ipf6wjx037sqyhy0r5jh4983h216anq9l68ckn2x5c3qc4wfmzn")) (patches (search-patches "lm-sensors-hwmon-attrs.patch")))) (build-system gnu-build-system) (inputs `(("rrdtool" ,rrdtool) @@ -2940,10 +2940,10 @@ country-specific regulations for the wireless spectrum.") ("flex" ,flex) ("bison" ,bison) ("which" ,which))) - (outputs '("lib" ;avoid perl in closure + (outputs '("lib" ; avoid perl in closure "out")) (arguments - `(#:tests? #f ; no 'check' target + `(#:tests? #f ; no 'check' target #:make-flags (list (string-append "PREFIX=" %output) (string-append "ETCDIR=" (assoc-ref %outputs "lib") "/etc") (string-append "INCLUDEDIR=" -- cgit 1.4.1 From 6d4ed78d91848b9a46b2642278a33d942e9d6a1e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 22 Oct 2019 20:31:15 +0200 Subject: gnu: python-pyld: Update to 1.0.5. * gnu/packages/python-xyz.scm (python-pyld): Update to 1.0.5. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 2c75d7f23b..c07ac53566 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -1923,13 +1923,13 @@ files.") (define-public python-pyld (package (name "python-pyld") - (version "1.0.3") + (version "1.0.5") (source (origin (method url-fetch) (uri (pypi-uri "PyLD" version)) (sha256 (base32 - "12i2g6xdj30k7xxcibg3sc5y76snwq8l6n8fy9lyi577kgy0h2pm")))) + "1ywbdbsrkg533qh8xn9ifjh2mvam6v5msrjyqq73jfpvcp89qvff")))) (build-system python-build-system) (home-page "https://github.com/digitalbazaar/pyld") (synopsis "Python implementation of the JSON-LD specification") -- cgit 1.4.1 From 8fbccd48b81bfbb8f09d22ae58a26d76ad6064c9 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 22 Oct 2019 21:05:30 +0200 Subject: gnu: python-wsgiproxy2: Update to 0.4.6. * gnu/packages/python-web.scm (python-wsgiproxy2): Update to 0.4.6. --- gnu/packages/python-web.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 55a39a8a6f..b79b10d51e 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -1637,14 +1637,13 @@ Amazon Web Services (AWS) API.") (define-public python-wsgiproxy2 (package (name "python-wsgiproxy2") - (version "0.4.5") + (version "0.4.6") (source (origin (method url-fetch) (uri (pypi-uri "WSGIProxy2" version ".tar.gz")) (sha256 - (base32 - "19d9dva282vfjs784i0zkxp078lxfz4h3f621z30ij9wbf5rba6a")))) + (base32 "16jch5nic0hia28lps3c678s9s9mjdq8n87igxncjg0rpi5adqnf")))) (build-system python-build-system) (native-inputs `(("python-webtest" ,python-webtest))) -- cgit 1.4.1 From 60289141303683015136a542a5758434d6a7eb44 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 22 Oct 2019 01:16:06 -0700 Subject: gnu: emacs-editorconfig: Update to 0.8.1. * gnu/packages/emacs-xyz.scm (emacs-editorconfig): Update to 0.8.1. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 307b15c583..32809070ba 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -16249,7 +16249,7 @@ backends, including the @command{wordnet} offline backend.") (define-public emacs-editorconfig (package (name "emacs-editorconfig") - (version "0.8.0") + (version "0.8.1") (source (origin (method git-fetch) @@ -16259,7 +16259,7 @@ backends, including the @command{wordnet} offline backend.") (file-name (git-file-name name version)) (sha256 (base32 - "1b2cpqz75pivl323bs60j5rszwi787x6vy68csycikqz9mhpmjn9")))) + "1djlhkap7zddknzvjsjz0agpfsms1ih05zcpg1bikid2vs4gddyr")))) (build-system emacs-build-system) (home-page "https://github.com/editorconfig/editorconfig-emacs") (synopsis "Define and maintain consistent coding styles between different -- cgit 1.4.1 From 32c894e9b3f0700245dbd600f632055f520a97c7 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 22 Oct 2019 01:21:58 -0700 Subject: gnu: emacs-debpaste: Use GIT-FILE-NAME. * gnu/packages/emacs-xyz.scm (emacs-debpaste): Use GIT-FILE-NAME. --- gnu/packages/emacs-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 32809070ba..d244e694d4 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -14990,7 +14990,7 @@ Org-mode. It features: (method git-fetch) (uri (git-reference (url home-page) (commit (string-append "v" version)))) - (file-name (string-append name "-" version ".tar.gz")) + (file-name (git-file-name name version)) (sha256 (base32 "1wi70r56pd5z0x4dp4m58p9asq03j74kdm4fi9vai83vsl2z9amq")))) -- cgit 1.4.1 From a379ddaff4aaba107ceba66204cdc1021b7e800b Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 22 Oct 2019 23:21:09 +0200 Subject: Revert "gnu: Add weasyprint." This reverts commit 73f0ed8dbfde97341716fd8b156907e4ef800873. The missing patch file breaks evaluation. --- gnu/packages/pdf.scm | 81 ---------------------------------------------------- 1 file changed, 81 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 0fd385d5d6..7118afce4d 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -16,7 +16,6 @@ ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2019 Alex Griffin ;;; Copyright © 2019 Ben Sturmfels -;;; Copyright © 2019 Hartmut Goebel ;;; ;;; This file is part of GNU Guix. ;;; @@ -67,7 +66,6 @@ #:use-module (gnu packages imagemagick) #:use-module (gnu packages javascript) #:use-module (gnu packages lesstif) - #:use-module (gnu packages libffi) #:use-module (gnu packages linux) #:use-module (gnu packages lua) #:use-module (gnu packages pcre) @@ -75,8 +73,6 @@ #:use-module (gnu packages photo) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) - #:use-module (gnu packages python-check) - #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) #:use-module (gnu packages sdl) @@ -1204,80 +1200,3 @@ manipulating PDF documents from the command line. It supports @item displaying the mapping between logical and physical page numbers @end itemize") (license license:bsd-3))) - -(define-public weasyprint - (package - (name "weasyprint") - (version "50") - (source - (origin - (method url-fetch) - (uri (pypi-uri "WeasyPrint" version)) - (sha256 - (base32 "0invs96zvmcr6wh5klj52jrcnr9qg150v9wpmbhcsf3vv1d1hbcw")) - (patches (search-patches "weasyprint-library-paths.patch")))) - (build-system python-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-library-paths - (lambda* (#:key inputs #:allow-other-keys) - (let ((fontconfig (assoc-ref inputs "fontconfig")) - (glib (assoc-ref inputs "glib")) - (pango (assoc-ref inputs "pango")) - (pangoft2 (assoc-ref inputs "pangoft2"))) - (substitute* "weasyprint/fonts.py" - (("@fontconfig@") - (string-append fontconfig "/lib/libfontconfig.so")) - (("@pangoft2@") - (string-append pango "/lib/libpangoft2-1.0.so"))) - (substitute* "weasyprint/text.py" - (("@gobject@") - (string-append glib "/lib/libgobject-2.0.so")) - (("@pango@") - (string-append pango "/lib/libpango-1.0.so")) - (("@pangocairo@") - (string-append pango "/lib/libpangocairo-1.0.so")))))) - (add-after 'unpack 'remove-pytest-options - (lambda _ - (substitute* "setup.cfg" - ;; flake8 and isort syntax checks fail, which is not our - ;; business - (("addopts = --flake8 --isort") "")))) - (replace 'check - (lambda _ - ;; run pytest, excluding one failing test - (invoke "pytest" "-k" "not test_flex_column_wrap_reverse")))))) - (inputs - `(("fontconfig" ,fontconfig) - ("glib" ,glib) - ("pango" ,pango))) - (propagated-inputs - `(("gdk-pixbuf" ,gdk-pixbuf) - ("python-cairocffi" ,python-cairocffi) - ("python-cairosvg" ,python-cairosvg) - ("python-cffi" ,python-cffi) - ("python-cssselect2" ,python-cssselect2) - ("python-html5lib" ,python-html5lib) - ("python-pyphen" ,python-pyphen) - ("python-tinycss2" ,python-tinycss2))) - (native-inputs - `(("python-pytest-cov" ,python-pytest-cov) - ("python-pytest-runner" ,python-pytest-runner))) - (home-page "https://weasyprint.org/") - (synopsis "Document factory for creating PDF files from HTML") - (description "WeasyPrint helps web developers to create PDF documents. It -turns simple HTML pages into gorgeous statistical reports, invoices, tickets, -etc. - -From a technical point of view, WeasyPrint is a visual rendering engine for -HTML and CSS that can export to PDF and PNG. It aims to support web standards -for printing. - -It is based on various libraries but not on a full rendering engine like -WebKit or Gecko. The CSS layout engine is written in Python, designed for -pagination, and meant to be easy to hack on. Weasyprint can also be used as a -python library. - -Keywords: html2pdf, htmltopdf") - (license license:bsd-3))) -- cgit 1.4.1 From 353f5f7aa7ea575f9f04d3a0b277bbb8012b942d Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 21 Oct 2019 18:32:11 +0100 Subject: gnu: guix-data-service: Enable build time tests. Previously the tests were not run, as PostgreSQL wasn't running at build time. Now there's a new target, check-with-tmp-database that uses ephemeralpg to run the tests without relying on an externally managed PostgreSQL service. * gnu/packages/web.scm (guix-data-service)[arguments]: Remove #:tests? #f, and set #:test-target to "check-with-tmp-database". [native-inputs]: Add ephemeralpg. --- gnu/packages/web.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 3548c52411..af694b58d5 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -4044,11 +4044,11 @@ CDF, Atom 0.3, and Atom 1.0 feeds.") "0awfvps7k9bpg3gpgc93y401g7pjabx7mr9960vigad8vddhixqi")))) (build-system gnu-build-system) (arguments - '(#:tests? #f ; TODO Tests require PostgreSQL - #:modules ((guix build utils) + '(#:modules ((guix build utils) (guix build gnu-build-system) (ice-9 rdelim) (ice-9 popen)) + #:test-target "check-with-tmp-database" #:phases (modify-phases %standard-phases (add-after 'set-paths 'set-GUIX_ENVIRONMENT @@ -4106,6 +4106,7 @@ CDF, Atom 0.3, and Atom 1.0 feeds.") `(("guile" ,guile-2.2) ("autoconf" ,autoconf) ("automake" ,automake) + ("ephemeralpg" ,ephemeralpg) ("emacs-with-modules" ,(directory-union "emacs-union" (list emacs-no-x -- cgit 1.4.1 From 7f81cce3c2fd3b11404042621a37d7c82c15443c Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 23 Oct 2019 00:43:49 +0200 Subject: gnu: guile-json: Export. This is a followup to 84af1e74029fd4c43636f7d8d3e6f82ddab9ce82. * gnu/packages/guile.scm (guile-json): Export. --- gnu/packages/guile.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu') diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 5fa149a189..4419c48d1a 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -451,6 +451,7 @@ specification. These are the main features: (define-deprecated guile-json guile-json-1 guile-json-1) +(export guile-json) (define-public guile2.0-json (package-for-guile-2.0 guile-json-1)) -- cgit 1.4.1 From f3fd5f4bca2d81e2b8a031e4c2744f9da18ca5fb Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 22 Oct 2019 16:50:13 -0700 Subject: gnu: Add emacs-evil-args. * gnu/packages/emacs-xyz.scm (emacs-evil-args): New variable. --- gnu/packages/emacs-xyz.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index d244e694d4..a1a0cf7300 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -7541,6 +7541,31 @@ end of a line and increment or decrement it.") a popup window for previewing candidates.") (license license:gpl3+)))) +(define-public emacs-evil-args + (let ((commit "758ad5ae54ad34202064fec192c88151c08cb387") + (revision "1")) + (package + (name "emacs-evil-args") + (version (git-version "1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wcsmith/evil-args.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0k35glgsirc3cph8v5hhjrqfh4ndwh8a28qbr03y3jl8s453xcj7")))) + (build-system emacs-build-system) + (propagated-inputs `(("emacs-evil" ,emacs-evil))) + (home-page "https://github.com/wcsmith/evil-args") + (synopsis "Motions and text objects for delimited arguments in Evil") + (description + "This package provides motions and text objects for delimited +arguments, such as arguments separated by commas and semicolons.") + (license license:expat)))) + (define-public emacs-evil-exchange (let ((commit "47691537815150715e64e6f6ec79be7746c96120") (version "0.41") -- cgit 1.4.1 From e99fbcad344367d8b6acee13f1f6dfbbcb8a1377 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 09:39:28 +0300 Subject: gnu: Add rust-ansi-term-0.11. * gnu/packages/rust-cbindgen.scm (rust-ansi-term-0.11): New file, new hidden variable. * gnu/local.mk (GNU_SYSTEM_MODULES): Register it. --- gnu/local.mk | 1 + gnu/packages/rust-cbindgen.scm | 44 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 gnu/packages/rust-cbindgen.scm (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index 9b9a215913..d563ecc99e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -425,6 +425,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/ruby.scm \ %D%/packages/rush.scm \ %D%/packages/rust.scm \ + %D%/packages/rust-cbindgen.scm \ %D%/packages/samba.scm \ %D%/packages/sagemath.scm \ %D%/packages/sawfish.scm \ diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm new file mode 100644 index 0000000000..aab4a81f5c --- /dev/null +++ b/gnu/packages/rust-cbindgen.scm @@ -0,0 +1,44 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Efraim Flashner +;;; +;;; 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 . + +(define-module (gnu packages rust-cbindgen) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system cargo)) + +(define rust-ansi-term-0.11 + (package + (name "rust-ansi-term") + (version "0.11.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "ansi_term" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "16wpvrghvd0353584i1idnsgm0r3vchg8fyrm0x8ayv1rgvbljgf")))) + (build-system cargo-build-system) + (home-page "https://github.com/ogham/rust-ansi-term") + (synopsis "Library for ANSI terminal colours and styles") + (description + "This is a library for controlling colours and formatting, such as red bold +text or blue underlined text, on ANSI terminals.") + (properties '((hidden? . #t))) + (license license:expat))) -- cgit 1.4.1 From 00f5b065b5159aa3987731850a56dd067a070f60 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 09:42:01 +0300 Subject: gnu: Add rust-atty-0.2. * gnu/packages/rust-cbindgen.scm (rust-atty-0.2): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index aab4a81f5c..c37b80ecc6 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -42,3 +42,23 @@ text or blue underlined text, on ANSI terminals.") (properties '((hidden? . #t))) (license license:expat))) + +(define rust-atty-0.2 + (package + (name "rust-atty") + (version "0.2.13") + (source + (origin + (method url-fetch) + (uri (crate-uri "atty" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "140sswp1bwqwc4zk80bxkbnfb3g936hgrb77g9g0k1zcld3wc0qq")))) + (build-system cargo-build-system) + (home-page "https://github.com/softprops/atty") + (synopsis "A simple interface for querying atty") + (description + "This package provides a simple interface for querying atty.") + (properties '((hidden? . #t))) + (license license:expat))) -- cgit 1.4.1 From c5050528ea7c52daad7697afa538a954163e5ec1 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 09:42:47 +0300 Subject: gnu: Add rust-autocfg-0.1. * gnu/packages/rust-cbindgen.scm (rust-autocfg-0.1): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index c37b80ecc6..35bc6b04df 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -62,3 +62,26 @@ text or blue underlined text, on ANSI terminals.") "This package provides a simple interface for querying atty.") (properties '((hidden? . #t))) (license license:expat))) + +(define rust-autocfg-0.1 + (package + (name "rust-autocfg") + (version "0.1.7") + (source + (origin + (method url-fetch) + (uri (crate-uri "autocfg" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "1chwgimpx5z7xbag7krr9d8asxfqbh683qhgl9kn3hxk2l0djj8x")))) + (build-system cargo-build-system) + (home-page "https://github.com/cuviper/autocfg") + (synopsis "Automatic cfg for Rust compiler features") + (description "Rust library for build scripts to automatically configure +code based on compiler support. Code snippets are dynamically tested to see +if the @code{rustc} will accept them, rather than hard-coding specific version +support.") + (properties '((hidden? . #t))) + (license (list license:asl2.0 + license:expat)))) -- cgit 1.4.1 From b249da1ddf78366002b45ef3e748156617301526 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 09:43:56 +0300 Subject: gnu: Add rust-bitflags-1.1. * gnu/packages/rust-cbindgen.scm (rust-bitflags-1.1): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index 35bc6b04df..6cc5882007 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -85,3 +85,24 @@ support.") (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) + +(define rust-bitflags-1.1 + (package + (name "rust-bitflags") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "bitflags" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "1zc1qb1hwsnl2d8rhzicsv9kqd5b2hwbrscrcfw5as4sfr35659x")))) + (build-system cargo-build-system) + (home-page "https://github.com/bitflags/bitflags") + (synopsis "Macro to generate structures which behave like bitflags") + (description "This package provides a macro to generate structures which +behave like a set of bitflags.") + (properties '((hidden? . #t))) + (license (list license:asl2.0 + license:expat)))) -- cgit 1.4.1 From df2252674025d9699f2a6ebd93f6e249ee8a3d92 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 09:44:40 +0300 Subject: gnu: Add rust-cfg-if-0.1. * gnu/packages/rust-cbindgen.scm (rust-cfg-if-0.1): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index 6cc5882007..0a5e50e1ec 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -106,3 +106,25 @@ behave like a set of bitflags.") (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) + +(define rust-cfg-if-0.1 + (package + (name "rust-cfg-if") + (version "0.1.10") + (source + (origin + (method url-fetch) + (uri (crate-uri "cfg-if" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "08h80ihs74jcyp24cd75wwabygbbdgl05k6p5dmq8akbr78vv1a7")))) + (build-system cargo-build-system) + (home-page "https://github.com/alexcrichton/cfg-if") + (synopsis "Define an item depending on parameters") + (description "This package provides a macro to ergonomically define an item +depending on a large number of #[cfg] parameters. Structured like an +@code{if-else} chain, the first matching branch is the item that gets emitted.") + (properties '((hidden? . #t))) + (license (list license:asl2.0 + license:expat)))) -- cgit 1.4.1 From 26be7f23f8cc2fea01d06e251535fc40f23726e4 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 09:45:09 +0300 Subject: gnu: Add rust-clap-2. * gnu/packages/rust-cbindgen.scm (rust-clap-2): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index 0a5e50e1ec..c7d3133489 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -128,3 +128,24 @@ depending on a large number of #[cfg] parameters. Structured like an (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) + +(define rust-clap-2 + (package + (name "rust-clap") + (version "2.33.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "clap" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "1nf6ld3bims1n5vfzhkvcb55pdzh04bbhzf8nil5vvw05nxzarsh")))) + (build-system cargo-build-system) + (home-page "https://clap.rs/") + (synopsis "Command Line Argument Parser") + (description + "This package provides a simple to use, efficient, and full-featured +Command Line Argument Parser.") + (properties '((hidden? . #t))) + (license license:expat))) -- cgit 1.4.1 From 71d111f5410f1b558c34491013fbb4378d87828a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 09:45:50 +0300 Subject: gnu: Add rust-cloudabi-0.0. * gnu/packages/rust-cbindgen.scm (rust-cloudabi-0.0): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index c7d3133489..36d4b5e8d3 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -149,3 +149,23 @@ depending on a large number of #[cfg] parameters. Structured like an Command Line Argument Parser.") (properties '((hidden? . #t))) (license license:expat))) + +(define rust-cloudabi-0.0 + (package + (name "rust-cloudabi") + (version "0.0.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "cloudabi" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "0kxcg83jlihy0phnd2g8c2c303px3l2p3pkjz357ll6llnd5pz6x")))) + (build-system cargo-build-system) + (home-page "https://nuxi.nl/cloudabi/") + (synopsis "Low level interface to CloudABI") + (description + "Low level interface to CloudABI. Contains all syscalls and related types.") + (properties '((hidden? . #t))) + (license license:bsd-2))) -- cgit 1.4.1 From 795835aa44cf17749522552aae6610bfa03e9b3b Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 09:46:31 +0300 Subject: gnu: Add rust-fuchsia-cprng-0.1. * gnu/packages/rust-cbindgen.scm (rust-fucshia-cprng-0.1): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index 36d4b5e8d3..043889ed3b 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -169,3 +169,23 @@ Command Line Argument Parser.") "Low level interface to CloudABI. Contains all syscalls and related types.") (properties '((hidden? . #t))) (license license:bsd-2))) + +(define rust-fuchsia-cprng-0.1 + (package + (name "rust-fuchsia-cprng") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "fuchsia-cprng" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "1fnkqrbz7ixxzsb04bsz9p0zzazanma8znfdqjvh39n14vapfvx0")))) + (build-system cargo-build-system) + (home-page "https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/fuchsia-cprng") + (synopsis "Fuchsia cryptographically secure pseudorandom number generator") + (description "Thix package provides a rust crate for the Fuchsia +cryptographically secure pseudorandom number generator.") + (properties '((hidden? . #t))) + (license license:bsd-3))) -- cgit 1.4.1 From 372a6bf0caaea253df995eb08afaf1b9f7843ea9 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 09:47:03 +0300 Subject: gnu: Add rust-itoa-0.4. * gnu/packages/rust-cbindgen.scm (rust-itoa-0.4): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index 043889ed3b..2f8fe40cd0 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -189,3 +189,24 @@ Command Line Argument Parser.") cryptographically secure pseudorandom number generator.") (properties '((hidden? . #t))) (license license:bsd-3))) + +(define rust-itoa-0.4 + (package + (name "rust-itoa") + (version "0.4.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "itoa" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "0zvg2d9qv3avhf3d8ggglh6fdyw8kkwqg3r4622ly5yhxnvnc4jh")))) + (build-system cargo-build-system) + (home-page "https://github.com/dtolnay/itoa") + (synopsis "Fast functions for printing integer primitives") + (description "This crate provides fast functions for printing integer +primitives to an @code{io::Write}.") + (properties '((hidden? . #t))) + (license (list license:asl2.0 + license:expat)))) -- cgit 1.4.1 From 5fafb361c94f3029820314457a7134a429df8404 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 09:47:40 +0300 Subject: gnu: Add rust-libc-0.2. * gnu/packages/rust-cbindgen.scm (rust-libc-0.2): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index 2f8fe40cd0..e02a023eb1 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -210,3 +210,32 @@ primitives to an @code{io::Write}.") (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) + +(define rust-libc-0.2 + (package + (name "rust-libc") + (version "0.2.65") + (source + (origin + (method url-fetch) + (uri (crate-uri "libc" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "1s14bjxnz6haw0gr1h3j4sr7s2s407hpgm8dxhwnl7yzgxia0c8s")))) + (build-system cargo-build-system) + (home-page "https://github.com/rust-lang/libc") + (synopsis "Raw FFI bindings to platform libraries like libc") + (description + "libc provides all of the definitions necessary to easily +interoperate with C code (or \"C-like\" code) on each of the platforms +that Rust supports. This includes type definitions (e.g., c_int), +constants (e.g., EINVAL) as well as function headers (e.g., malloc). + +This crate exports all underlying platform types, functions, and +constants under the crate root, so all items are accessible as +@samp{libc::foo}. The types and values of all the exported APIs match +the platform that libc is compiled for.") + (properties '((hidden? . #t))) + (license (list license:expat + license:asl2.0)))) -- cgit 1.4.1 From f38fb019ed9e385ec3270e6394c7a3227aa8f4bb Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 09:48:25 +0300 Subject: gnu: Add rust-log-0.4. * gnu/packages/rust-cbindgen.scm (rust-log-0.4): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index e02a023eb1..42f3a7470b 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -239,3 +239,23 @@ the platform that libc is compiled for.") (properties '((hidden? . #t))) (license (list license:expat license:asl2.0)))) + +(define rust-log-0.4 + (package + (name "rust-log") + (version "0.4.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "log" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "1xz18ixccl5c6np4linv3ypc7hpmmgpc5zzd2ymp2ssfx0mhbdhl")))) + (build-system cargo-build-system) + (home-page "https://github.com/rust-lang/log") + (synopsis "Lightweight logging facade for Rust") + (description + "This package provides a lightweight logging facade for Rust.") + (properties '((hidden? . #t))) + (license (list license:expat license:asl2.0)))) -- cgit 1.4.1 From b5a9cb71b0c207a9c73f6a248d2f2e059b5aec08 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 09:48:57 +0300 Subject: gnu: Add rust-numtoa-0.1. * gnu/packages/rust-cbindgen.scm (rust-numtoa-0.1): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index 42f3a7470b..a0bb7caee8 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -259,3 +259,23 @@ the platform that libc is compiled for.") "This package provides a lightweight logging facade for Rust.") (properties '((hidden? . #t))) (license (list license:expat license:asl2.0)))) + +(define rust-numtoa-0.1 + (package + (name "rust-numtoa") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "numtoa" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "1vs9rhggqbql1p26x8nkha1j06wawwgb2jp5fs88b5gi7prvvy5q")))) + (build-system cargo-build-system) + (home-page "https://gitlab.com/mmstick/numtoa") + (synopsis "Convert numbers into stack-allocated byte arrays") + (description + "This package can convert numbers into stack-allocated byte arrays.") + (properties '((hidden? . #t))) + (license (list license:expat license:asl2.0)))) -- cgit 1.4.1 From 88ce4ef9190a5ceb18b9ed50bbabb3328999a1a5 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 09:49:32 +0300 Subject: gnu: Add rust-proc-macro2-1.0. * gnu/packages/rust-cbindgen.scm (rust-proc-macro2-1.0): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index a0bb7caee8..92364ad485 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -279,3 +279,24 @@ the platform that libc is compiled for.") "This package can convert numbers into stack-allocated byte arrays.") (properties '((hidden? . #t))) (license (list license:expat license:asl2.0)))) + +(define rust-proc-macro2-1.0 + (package + (name "rust-proc-macro2") + (version "1.0.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "proc-macro2" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "09rgb5ab0jgw39kyad0lgqs4nb9yaf7mwcrgxqnsxbn4il54g7lw")))) + (build-system cargo-build-system) + (home-page "https://github.com/alexcrichton/proc-macro2") + (synopsis "Stable implementation of the upcoming new `proc_macro` API") + (description "This package provides a stable implementation of the upcoming new +`proc_macro` API. Comes with an option, off by default, to also reimplement itself +in terms of the upstream unstable API.") + (properties '((hidden? . #t))) + (license (list license:expat license:asl2.0)))) -- cgit 1.4.1 From e8a28c89641599f6408eb939a50e3a1dbaced906 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 09:50:03 +0300 Subject: gnu: Add rust-quote-1.0. * gnu/packages/rust-cbindgen.scm (rust-quote-1.0): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index 92364ad485..8471830f8a 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -300,3 +300,22 @@ the platform that libc is compiled for.") in terms of the upstream unstable API.") (properties '((hidden? . #t))) (license (list license:expat license:asl2.0)))) + +(define rust-quote-1.0 + (package + (name "rust-quote") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "quote" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "1zkc46ryacf2jdkc6krsy2z615xbk1x8kp1830rcxz3irj5qqfh5")))) + (build-system cargo-build-system) + (home-page "https://github.com/dtolnay/quote") + (synopsis "Quasi-quoting macro quote!(...)") + (description "Quasi-quoting macro quote!(...)") + (properties '((hidden? . #t))) + (license (list license:expat license:asl2.0)))) -- cgit 1.4.1 From 054fd40cc610e6c3fec1ef8e4940da05f2a4a4a1 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 09:50:42 +0300 Subject: gnu: Add rust-rand-0.6. * gnu/packages/rust-cbindgen.scm (rust-rand-0.6): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index 8471830f8a..7280078555 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -319,3 +319,25 @@ in terms of the upstream unstable API.") (description "Quasi-quoting macro quote!(...)") (properties '((hidden? . #t))) (license (list license:expat license:asl2.0)))) + +(define rust-rand-0.6 + (package + (name "rust-rand") + (version "0.6.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "1jl4449jcl4wgmzld6ffwqj5gwxrp8zvx8w573g1z368qg6xlwbd")))) + (build-system cargo-build-system) + (home-page "https://crates.io/crates/rand") + (synopsis "Random number generators and other randomness functionality") + (description + "This package contains random number generators and other randomness +functionality.") + (properties '((hidden? . #t))) + (license (list license:asl2.0 + license:expat)))) -- cgit 1.4.1 From 800bc0fbc35e64236f3b044083080a663c1b2e3f Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 10:42:06 +0300 Subject: gnu: Add rust-rand-chacha-0.1. * gnu/packages/rust-cbindgen.scm (rust-rand-chacha-0.1): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index 7280078555..e63448cdb8 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -341,3 +341,23 @@ functionality.") (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) + +(define rust-rand-chacha-0.1 + (package + (name "rust-rand-chacha") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_chacha" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "1vxwyzs4fy1ffjc8l00fsyygpiss135irjf7nyxgq2v0lqf3lvam")))) + (build-system cargo-build-system) + (home-page "https://crates.io/crates/rand_chacha") + (synopsis "ChaCha random number generator") + (description "ChaCha random number generator") + (properties '((hidden? . #t))) + (license (list license:asl2.0 + license:expat)))) -- cgit 1.4.1 From 235d82dfc093dc7b261892cb4a7138b3c74874e7 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 09:51:51 +0300 Subject: gnu: Add rust-rand-core-0.4. * gnu/packages/rust-cbindgen.scm (rust-rand-core-0.4): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index e63448cdb8..4f15d33eef 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -361,3 +361,25 @@ functionality.") (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) + +(define rust-rand-core-0.4 + (package + (name "rust-rand-core") + (version "0.4.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_core" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "1p09ynysrq1vcdlmcqnapq4qakl2yd1ng3kxh3qscpx09k2a6cww")))) + (build-system cargo-build-system) + (home-page "https://crates.io/crates/rand_core") + (synopsis + "Core random number generator traits and tools for implementation.") + (description + "Core random number generator traits and tools for implementation.") + (properties '((hidden? . #t))) + (license (list license:asl2.0 + license:expat)))) -- cgit 1.4.1 From a41ea6dc73a9b796d4789fd95e854c1e715a8fc6 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 09:52:23 +0300 Subject: gnu: Add rust-rand-core-0.3. * gnu/packages/rust-cbindgen.scm (rust-rand-core-0.3): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index 4f15d33eef..c8fd57f925 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -383,3 +383,20 @@ functionality.") (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) + +(define rust-rand-core-0.3 + (package + (inherit rust-rand-core-0.4) + (name "rust-rand-core") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_core" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "0jzdgszfa4bliigiy4hi66k7fs3gfwi2qxn8vik84ph77fwdwvvs")))) + ;; This version is a 0.3 API wrapper around the 0.4 version. + (arguments + `(#:cargo-inputs (("rand-core" ,rust-rand-core-0.4)))))) -- cgit 1.4.1 From 56fed052cfcaa82ae42e0b58a2107e5615334c17 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 09:56:25 +0300 Subject: gnu: Add rust-rand-hc-0.1. * gnu/packages/rust-cbindgen.scm (rust-rand-hc-0.1): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index c8fd57f925..a4504a7cdc 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -400,3 +400,23 @@ functionality.") ;; This version is a 0.3 API wrapper around the 0.4 version. (arguments `(#:cargo-inputs (("rand-core" ,rust-rand-core-0.4)))))) + +(define rust-rand-hc-0.1 + (package + (name "rust-rand-hc") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_hc" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "1i0vl8q5ddvvy0x8hf1zxny393miyzxkwqnw31ifg6p0gdy6fh3v")))) + (build-system cargo-build-system) + (home-page "https://crates.io/crates/rand_hc") + (synopsis "HC128 random number generator") + (description "HC128 random number generator") + (properties '((hidden? . #t))) + (license (list license:asl2.0 + license:expat)))) -- cgit 1.4.1 From 300ec64cf3a4fc11875fc9d4289297b564bc9289 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 09:57:02 +0300 Subject: gnu: Add rust-rand-isaac-0.1. * gnu/packages/rust-cbindgen.scm (rust-rand-isaac-0.1): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index a4504a7cdc..085e66041b 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -420,3 +420,23 @@ functionality.") (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) + +(define rust-rand-isaac-0.1 + (package + (name "rust-rand-isaac") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_isaac" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "027flpjr4znx2csxk7gxb7vrf9c7y5mydmvg5az2afgisp4rgnfy")))) + (build-system cargo-build-system) + (home-page "https://crates.io/crates/rand_isaac") + (synopsis "ISAAC random number generator") + (description "ISAAC random number generator") + (properties '((hidden? . #t))) + (license (list license:asl2.0 + license:expat)))) -- cgit 1.4.1 From 9c2838617cc9e9444ba14ead17e872848efc86bb Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 09:57:37 +0300 Subject: gnu: Add rust-rand-jitter-0.1. * gnu/packages/rust-cbindgen.scm (rust-rand-jitter-0.1): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index 085e66041b..d6ec640358 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -440,3 +440,25 @@ functionality.") (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) + +(define rust-rand-jitter-0.1 + (package + (name "rust-rand-jitter") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_jitter" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "16z387y46bfz3csc42zxbjq89vcr1axqacncvv8qhyy93p4xarhi")))) + (build-system cargo-build-system) + (home-page "https://github.com/rust-random/rand") + (synopsis + "Random number generator based on timing jitter") + (description + "Random number generator based on timing jitter") + (properties '((hidden? . #t))) + (license (list license:asl2.0 + license:expat)))) -- cgit 1.4.1 From 9ad71c4aec2c0e3e9b24e1938d7a4e731bad98ab Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 09:58:16 +0300 Subject: gnu: Add rust-rand-os-0.1. * gnu/packages/rust-cbindgen.scm (rust-rand-os-0.1): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index d6ec640358..208e5f39ba 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -462,3 +462,23 @@ functionality.") (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) + +(define rust-rand-os-0.1 + (package + (name "rust-rand-os") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_os" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "0wahppm0s64gkr2vmhcgwc0lij37in1lgfxg5rbgqlz0l5vgcxbv")))) + (build-system cargo-build-system) + (home-page "https://crates.io/crates/rand_os") + (synopsis "OS backed Random Number Generator") + (description "OS backed Random Number Generator") + (properties '((hidden? . #t))) + (license (list license:asl2.0 + license:expat)))) -- cgit 1.4.1 From 1e956eb02bb6cce64d805ddee92fee4b567d64fb Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 09:58:56 +0300 Subject: gnu: Add rust-rand-pcg-0.1. * gnu/packages/rust-cbindgen.scm (rust-rand-pcg-0.1): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index 208e5f39ba..d3c75eef9c 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -482,3 +482,25 @@ functionality.") (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) + +(define rust-rand-pcg-0.1 + (package + (name "rust-rand-pcg") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_pcg" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "0i0bdla18a8x4jn1w0fxsbs3jg7ajllz6azmch1zw33r06dv1ydb")))) + (build-system cargo-build-system) + (home-page "https://crates.io/crates/rand_pcg") + (synopsis + "Selected PCG random number generators") + (description + "Selected PCG random number generators") + (properties '((hidden? . #t))) + (license (list license:asl2.0 + license:expat)))) -- cgit 1.4.1 From 308480c3d6eeada2f0d2ff3648acb4b204748dfc Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 09:59:30 +0300 Subject: gnu: Add rust-rand-xorshift-0.1. * gnu/packages/rust-cbindgen.scm (rust-rand-xorshift-0.1): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index d3c75eef9c..c259a7317b 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -504,3 +504,24 @@ functionality.") (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) + +(define rust-rand-xorshift-0.1 + (package + (name "rust-rand-xorshift") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_xorshift" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "0p2x8nr00hricpi2m6ca5vysiha7ybnghz79yqhhx6sl4gkfkxyb")))) + (build-system cargo-build-system) + (home-page "https://crates.io/crates/rand_xorshift") + (synopsis "Xorshift random number generator") + (description + "Xorshift random number generator") + (properties '((hidden? . #t))) + (license (list license:asl2.0 + license:expat)))) -- cgit 1.4.1 From 847172e44f501a0537a682473c2fa8727b10879d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 10:00:05 +0300 Subject: gnu: Add rust-rdrand-0.4. * gnu/packages/rust-cbindgen.scm (rust-rdrand-0.4): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index c259a7317b..3ffa3f6d48 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -525,3 +525,24 @@ functionality.") (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) + +(define rust-rdrand-0.4 + (package + (name "rust-rdrand") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rdrand" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "1cjq0kwx1bk7jx3kzyciiish5gqsj7620dm43dc52sr8fzmm9037")))) + (build-system cargo-build-system) + (home-page "https://github.com/nagisa/rust_rdrand/") + (synopsis "Random number generator") + (description + "This package is an implementation of random number generator based on +@code{rdrand} and @cpde{rdseed} instructions") + (properties '((hidden? . #t))) + (license license:isc))) -- cgit 1.4.1 From 3f03cb20d6525d85578912f2894b9559ef53bff9 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 10:00:38 +0300 Subject: gnu: Add rust-redox-syscall-0.1. * gnu/packages/rust-cbindgen.scm (rust-redox-syscall-0.1): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index 3ffa3f6d48..012b977b36 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -546,3 +546,23 @@ functionality.") @code{rdrand} and @cpde{rdseed} instructions") (properties '((hidden? . #t))) (license license:isc))) + +(define rust-redox-syscall-0.1 + (package + (name "rust-redox-syscall") + (version "0.1.56") + (source + (origin + (method url-fetch) + (uri (crate-uri "redox_syscall" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "110y7dyfm2vci4x5vk7gr0q551dvp31npl99fnsx2fb17wzwcf94")))) + (build-system cargo-build-system) + (home-page "https://gitlab.redox-os.org/redox-os/syscall") + (synopsis "Rust library to access raw Redox system calls") + (description "This package provides a Rust library to access raw Redox +system calls.") + (properties '((hidden? . #t))) + (license license:expat))) -- cgit 1.4.1 From a8c86afaa52d3c6237e4085ac4e18ea91c8ba14d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 10:01:14 +0300 Subject: gnu: Add rust-redox-termios-0.1. * gnu/packages/rust-cbindgen.scm (rust-redox-termios-0.1): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index 012b977b36..fcb57ca130 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -566,3 +566,23 @@ functionality.") system calls.") (properties '((hidden? . #t))) (license license:expat))) + +(define rust-redox-termios-0.1 + (package + (name "rust-redox-termios") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "redox-termios" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "0xhgvdh62mymgdl3jqrngl8hr4i8xwpnbsxnldq0l47993z1r2by")))) + (build-system cargo-build-system) + (home-page "https://github.com/redox-os/termios") + (synopsis "Rust library to access Redox termios functions") + (description + "This package provides a Rust library to access Redox termios functions.") + (properties '((hidden? . #t))) + (license license:expat))) -- cgit 1.4.1 From 4b359565de1022577c8c04ebf1517a6cacfe56ec Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 10:01:45 +0300 Subject: gnu: Add rust-remove-dir-all-0.5. * gnu/packages/rust-cbindgen.scm (rust-remove-dir-all-0.5): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index fcb57ca130..8a507a0587 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -586,3 +586,25 @@ system calls.") "This package provides a Rust library to access Redox termios functions.") (properties '((hidden? . #t))) (license license:expat))) + +(define rust-remove-dir-all-0.5 + (package + (name "rust-remove-dir-all") + (version "0.5.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "remove-dir-all" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "0bkrlyg26mgizpiy1yb2hhpgscxcag8r5fnckqsvk25608vzm0sa")))) + (build-system cargo-build-system) + (home-page "https://github.com/XAMPPRocky/remove_dir_all.git") + (synopsis "Implementation of remove_dir_all for Windows") + (description + "This package provides a safe, reliable implementation of remove_dir_all +for Windows.") + (properties '((hidden? . #t))) + (license (list license:asl2.0 + license:expat)))) -- cgit 1.4.1 From df9a615640f99bbcf413ac2f42ae681882d6e1d9 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 10:02:30 +0300 Subject: gnu: Add rust-ryu-1.0. * gnu/packages/rust-cbindgen.scm (rust-ryu-1.0): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index 8a507a0587..ecefb7e457 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -608,3 +608,24 @@ for Windows.") (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) + +(define rust-ryu-1.0 + (package + (name "rust-ryu") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "ryu" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "1j0h74f1xqf9hjkhanp8i20mqc1aw35kr1iq9i79q7713mn51a5z")))) + (build-system cargo-build-system) + (home-page "https://github.com/dtolnay/ryu") + (synopsis + "Fast floating point to string conversion") + (description + "Fast floating point to string conversion") + (properties '((hidden? . #t))) + (license (list license:asl2.0 license:boost1.0)))) -- cgit 1.4.1 From 582630a1256939d5dc8a614386f5f0848644c8dc Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 10:03:03 +0300 Subject: gnu: Add rust-serde-1.0. * gnu/packages/rust-cbindgen.scm (rust-serde-1.0): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index ecefb7e457..d72bd6d291 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -629,3 +629,23 @@ for Windows.") "Fast floating point to string conversion") (properties '((hidden? . #t))) (license (list license:asl2.0 license:boost1.0)))) + +(define rust-serde-1.0 + (package + (name "rust-serde") + (version "1.0.101") + (source + (origin + (method url-fetch) + (uri (crate-uri "serde" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "1p8r24hagcsrl92w5z32nfrg9040qkgqf8iwwnf7mzigpavwk5lp")))) + (build-system cargo-build-system) + (home-page "https://serde.rs") + (synopsis "Generic serialization/deserialization framework") + (description + "This package provides a generic serialization/deserialization framework.") + (properties '((hidden? . #t))) + (license (list license:expat license:asl2.0)))) -- cgit 1.4.1 From 199d800546b6e97d9368f400b9b7a6cd0cc4c386 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 10:03:34 +0300 Subject: gnu: Add rust-serde-derive-1.0. * gnu/packages/rust-cbindgen.scm (rust-serde-derive-1.0): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index d72bd6d291..7ed9c0eef3 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -649,3 +649,24 @@ for Windows.") "This package provides a generic serialization/deserialization framework.") (properties '((hidden? . #t))) (license (list license:expat license:asl2.0)))) + +(define rust-serde-derive-1.0 + (package + (name "rust-serde-derive") + (version "1.0.101") + (source + (origin + (method url-fetch) + (uri (crate-uri "serde-derive" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "0bn0wz3j48248187mfmypyqnh73mq734snxxhr05vmgcl51kl4sb")))) + (build-system cargo-build-system) + (home-page "https://serde.rs") + (synopsis + "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]") + (description + "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]") + (properties '((hidden? . #t))) + (license (list license:expat license:asl2.0)))) -- cgit 1.4.1 From 1a7e2aa8edfdf7967ec864f17d9e2500dc289065 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 10:04:00 +0300 Subject: gnu: Add rust-serde-json-1.0. * gnu/packages/rust-cbindgen.scm (rust-serde-json-1.0): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index 7ed9c0eef3..dacc33c534 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -670,3 +670,23 @@ for Windows.") "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]") (properties '((hidden? . #t))) (license (list license:expat license:asl2.0)))) + +(define rust-serde-json-1.0 + (package + (name "rust-serde-json") + (version "1.0.41") + (source + (origin + (method url-fetch) + (uri (crate-uri "serde-json" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "1hipk84x40454mf599752mi7l08wb8qakz8vd6d3zp57d0mfnwig")))) + (build-system cargo-build-system) + (home-page "https://github.com/serde-rs/json") + (synopsis "A JSON serialization file format") + (description + "This package provides a JSON serialization file format.") + (properties '((hidden? . #t))) + (license (list license:expat license:asl2.0)))) -- cgit 1.4.1 From 10eeb2362c1e84aac53b79d6bcd19e156d7d2b5d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 10:04:29 +0300 Subject: gnu: Add rust-strsim-0.8. * gnu/packages/rust-cbindgen.scm (rust-strsim-0.8): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index dacc33c534..3f76eaa9a6 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -690,3 +690,24 @@ for Windows.") "This package provides a JSON serialization file format.") (properties '((hidden? . #t))) (license (list license:expat license:asl2.0)))) + +(define rust-strsim-0.8 + (package + (name "rust-strsim") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "strsim" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "0sjsm7hrvjdifz661pjxq5w4hf190hx53fra8dfvamacvff139cf")))) + (build-system cargo-build-system) + (home-page "https://github.com/dguo/strsim-rs") + (synopsis "Rust implementations of string similarity metrics") + (description "This crate includes implementations of string similarity +metrics. It includes Hamming, Levenshtein, OSA, Damerau-Levenshtein, Jaro, +and Jaro-Winkler.") + (properties '((hidden? . #t))) + (license license:expat))) -- cgit 1.4.1 From b62f74a656424a251c808561948b23f76773b9f7 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 10:04:56 +0300 Subject: gnu: Add rust-syn-1.0. * gnu/packages/rust-cbindgen.scm (rust-syn-1.0): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index 3f76eaa9a6..7c93e401e7 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -711,3 +711,22 @@ metrics. It includes Hamming, Levenshtein, OSA, Damerau-Levenshtein, Jaro, and Jaro-Winkler.") (properties '((hidden? . #t))) (license license:expat))) + +(define rust-syn-1.0 + (package + (name "rust-syn") + (version "1.0.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "syn" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "1gw03w7lzrlqmp2vislcybikgl5wkhrqi6sy70w93xss2abhx1b6")))) + (build-system cargo-build-system) + (home-page "https://github.com/dtolnay/syn") + (synopsis "Parser for Rust source code") + (description "Parser for Rust source code") + (properties '((hidden? . #t))) + (license (list license:expat license:asl2.0)))) -- cgit 1.4.1 From a2f821e74b3bb3a44860c3a23e7b7fdebf1a65c5 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 10:05:31 +0300 Subject: gnu: Add rust-tempfile-3.0. * gnu/packages/rust-cbindgen.scm (rust-tempfile-3.0): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index 7c93e401e7..57e80de9fe 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -730,3 +730,24 @@ and Jaro-Winkler.") (description "Parser for Rust source code") (properties '((hidden? . #t))) (license (list license:expat license:asl2.0)))) + +(define rust-tempfile-3.0 + (package + (name "rust-tempfile") + (version "3.0.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "tempfile" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "1vqk7aq2l04my2r3jiyyxirnf8f90nzcvjasvrajivb85s7p7i3x")))) + (build-system cargo-build-system) + (home-page "http://stebalien.com/projects/tempfile-rs") + (synopsis "Library for managing temporary files and directories") + (description + "This package provides a library for managing temporary files and +directories.") + (properties '((hidden? . #t))) + (license (list license:expat license:asl2.0)))) -- cgit 1.4.1 From 438a9173b9beea9949422d375b91e3e31b601b6e Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 10:06:01 +0300 Subject: gnu: Add rust-termion-1.5. * gnu/packages/rust-cbindgen.scm (rust-termion-1.5): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index 57e80de9fe..7bed4a012f 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -751,3 +751,23 @@ and Jaro-Winkler.") directories.") (properties '((hidden? . #t))) (license (list license:expat license:asl2.0)))) + +(define rust-termion-1.5 + (package + (name "rust-termion") + (version "1.5.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "termion" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "0c634rg520zjjfhwnxrc2jbfjz7db0rcpsjs1qici0nyghpv53va")))) + (build-system cargo-build-system) + (home-page "https://gitlab.redox-os.org/redox-os/termion") + (synopsis "Library for manipulating terminals") + (description + "This package provides a bindless library for manipulating terminals.") + (properties '((hidden? . #t))) + (license license:expat))) -- cgit 1.4.1 From da6a445a4055a2594b2bb79b9155880afa0bb997 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 10:06:33 +0300 Subject: gnu: Add rust-textwrap-0.11. * gnu/packages/rust-cbindgen.scm (rust-textwrap-0.11): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index 7bed4a012f..bc9f21544a 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -771,3 +771,26 @@ directories.") "This package provides a bindless library for manipulating terminals.") (properties '((hidden? . #t))) (license license:expat))) + +(define rust-textwrap-0.11 + (package + (name "rust-textwrap") + (version "0.11.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "textwrap" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "0q5hky03ik3y50s9sz25r438bc4nwhqc6dqwynv4wylc807n29nk")))) + (build-system cargo-build-system) + (home-page "https://github.com/mgeisler/textwrap") + (synopsis "Library for word wrapping, indenting, and dedenting strings") + (description + "Textwrap is a small library for word wrapping, indenting, and dedenting +strings. You can use it to format strings (such as help and error messages) +for display in commandline applications. It is designed to be efficient and +handle Unicode characters correctly.") + (properties '((hidden? . #t))) + (license license:expat))) -- cgit 1.4.1 From 5cf89cec6c8daeb9c77dc06f9a93a7bbac6651c4 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 10:07:02 +0300 Subject: gnu: Add rust-toml-0.5. * gnu/packages/rust-cbindgen.scm (rust-toml-0.5): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index bc9f21544a..51eb647453 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -794,3 +794,27 @@ for display in commandline applications. It is designed to be efficient and handle Unicode characters correctly.") (properties '((hidden? . #t))) (license license:expat))) + +(define rust-toml-0.5 + (package + (name "rust-toml") + (version "0.5.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "toml" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "093p48vpqm4bb8q3514xsij0dkljxlr3jp9ypxr4p48xjisvxan7")))) + (build-system cargo-build-system) + (home-page "https://github.com/alexcrichton/toml-rs") + (synopsis "Rust encoder and decoder of TOML-formatted files and streams") + (description + "This package provides a native Rust encoder and decoder of TOML-formatted +files and streams. Provides implementations of the standard +Serialize/Deserialize traits for TOML data to facilitate deserializing and +serializing Rust structures.") + (properties '((hidden? . #t))) + (license (list license:asl2.0 + license:expat)))) -- cgit 1.4.1 From 21bd039800b209b9d68b2074be7f4258f092a7b0 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 10:07:38 +0300 Subject: gnu: Add rust-unicode-width-0.1. * gnu/packages/rust-cbindgen.scm (rust-unicode-width-0.1): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index 51eb647453..b0b771ec62 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -818,3 +818,24 @@ serializing Rust structures.") (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) + +(define rust-unicode-width-0.1 + (package + (name "rust-unicode-width") + (version "0.1.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "unicode-width" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "082f9hv1r3gcd1xl33whjhrm18p0w9i77zhhhkiccb5r47adn1vh")))) + (build-system cargo-build-system) + (home-page "https://github.com/unicode-rs/unicode-width") + (synopsis "Determine displayed width according to Unicode rules") + (description "This crate allows you to determine displayed width of +@code{char} and @code{str} types according to Unicode Standard Annex #11 rules.") + (properties '((hidden? . #t))) + (license (list license:asl2.0 + license:expat)))) -- cgit 1.4.1 From 0f48c1fed88a21478f5357ba4e8214a3884cc8c2 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 10:08:11 +0300 Subject: gnu: Add rust-unicode-xid-0.2. * gnu/packages/rust-cbindgen.scm (rust-unicode-xid-0.2): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index b0b771ec62..22621d5f7e 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -839,3 +839,23 @@ serializing Rust structures.") (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) + +(define rust-unicode-xid-0.2 + (package + (name "rust-unicode-xid") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "unicode-xid" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "0z09fn515xm7zyr0mmdyxa9mx2f7azcpv74pqmg611iralwpcvl2")))) + (build-system cargo-build-system) + (home-page "https://github.com/unicode-rs/unicode-xid") + (synopsis "Determine Unicode XID related properties") + (description "Determine whether characters have the XID_Start +or XID_Continue properties according to Unicode Standard Annex #31.") + (properties '((hidden? . #t))) + (license (list license:asl2.0 license:expat)))) -- cgit 1.4.1 From e92a94390d6263514531d216069f62e2a6964ad3 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 10:08:43 +0300 Subject: gnu: Add rust-vec-map-0.8. * gnu/packages/rust-cbindgen.scm (rust-vec-map-0.8): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index 22621d5f7e..34570d9418 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -859,3 +859,24 @@ serializing Rust structures.") or XID_Continue properties according to Unicode Standard Annex #31.") (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) + +(define rust-vec-map-0.8 + (package + (name "rust-vec-map") + (version "0.8.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "vec_map" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "06n8hw4hlbcz328a3gbpvmy0ma46vg1lc0r5wf55900szf3qdiq5")))) + (build-system cargo-build-system) + (home-page "https://github.com/contain-rs/vec-map") + (synopsis "Simple map based on a vector for small integer keys") + (description + "This package provides a simple map based on a vector for small integer keys.") + (properties '((hidden? . #t))) + (license (list license:asl2.0 + license:expat)))) -- cgit 1.4.1 From 55777a29221efbaaac24a88e50b8e001e9e7bb59 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 10:10:04 +0300 Subject: gnu: Add rust-winapi-i686-pc-windows-gnu-0.4. * gnu/packages/rust-cbindgen.scm (rust-winapi-i686-pc-windows-gnu-0.4): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index 34570d9418..57f22ef0f8 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -880,3 +880,25 @@ or XID_Continue properties according to Unicode Standard Annex #31.") (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) + +(define-public rust-winapi-i686-pc-windows-gnu-0.4 + (package + (name "rust-winapi-i686-pc-windows-gnu") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "winapi-i686-pc-windows-gnu" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc")))) + (build-system cargo-build-system) + (home-page "https://github.com/retep998/winapi-rs") + (synopsis "Import libraries for the i686-pc-windows-gnu target") + (description "This crate provides import libraries for the +i686-pc-windows-gnu target. Please don't use this crate directly, depend on +@code{winapi} instead.") + (properties '((hidden? . #t))) + (license (list license:asl2.0 + license:expat)))) -- cgit 1.4.1 From e08ba87e6c56cc14729cc31b109a27ae3d53a71f Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 10:10:55 +0300 Subject: gnu: Add rust-winapi-x86-64-pc-windows-gnu-0.4. * gnu/packages/rust-cbindgen.scm (rust-winapi-x86-64-pc-windows-gnu-0.4): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index 57f22ef0f8..438407b155 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -902,3 +902,25 @@ i686-pc-windows-gnu target. Please don't use this crate directly, depend on (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) + +(define rust-winapi-x86-64-pc-windows-gnu-0.4 + (package + (name "rust-winapi-x86-64-pc-windows-gnu") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "winapi-x86_64-pc-windows-gnu" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki")))) + (build-system cargo-build-system) + (home-page "https://github.com/retep998/winapi-rs") + (synopsis "Import libraries for the x86_64-pc-windows-gnu target") + (description "This package provides import libraries for the +x86_64-pc-windows-gnu target. Please don't use this crate directly, depend on +@code{winapi} instead.") + (properties '((hidden? . #t))) + (license (list license:asl2.0 + license:expat)))) -- cgit 1.4.1 From cec27a23fe9c37aaf415b2ebcf3d912e7d257020 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 10:39:38 +0300 Subject: gnu: Add rust-winapi-0.3. * gnu/packages/rust-cbindgen.scm (rust-winapi-0.3): New hidden variable. --- gnu/packages/rust-cbindgen.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index 438407b155..13e32cc5d4 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -881,6 +881,32 @@ or XID_Continue properties according to Unicode Standard Annex #31.") (license (list license:asl2.0 license:expat)))) +(define rust-winapi-0.3 + (package + (name "rust-winapi") + (version "0.3.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "winapi" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "1ii9j9lzrhwri0902652awifzx9fpayimbp6hfhhc296xcg0k4w0")))) + (build-system cargo-build-system) + ;; This package depends unconditionally on these two crates. + (arguments + `(#:cargo-inputs + (("winapi-i686-pc-windows-gnu" ,rust-winapi-i686-pc-windows-gnu-0.4) + ("winapi-x86-64-pc-windows-gnu" ,rust-winapi-x86-64-pc-windows-gnu-0.4)))) + (home-page "https://github.com/retep998/winapi-rs") + (synopsis "Raw FFI bindings for all of Windows API") + (description + "This package contains raw FFI bindings for all of Windows API.") + (properties '((hidden? . #t))) + (license (list license:asl2.0 + license:expat)))) + (define-public rust-winapi-i686-pc-windows-gnu-0.4 (package (name "rust-winapi-i686-pc-windows-gnu") -- cgit 1.4.1 From 221012ec2d415d4306515b28e8e18db83c14fe62 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 10:16:14 +0300 Subject: gnu: Add rust-cbindgen. * gnu/packages/rust-cbindgen.scm (rust-cbindgen): New variable. --- gnu/packages/rust-cbindgen.scm | 67 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust-cbindgen.scm b/gnu/packages/rust-cbindgen.scm index 13e32cc5d4..9d20310346 100644 --- a/gnu/packages/rust-cbindgen.scm +++ b/gnu/packages/rust-cbindgen.scm @@ -22,6 +22,73 @@ #:use-module (guix download) #:use-module (guix build-system cargo)) +(define-public rust-cbindgen + (package + (name "rust-cbindgen") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "cbindgen" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "1zgamxahlxmg4warzivaa8m1f8d6b45mhznm7n6d7p5l18acdblx")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("clap" ,rust-clap-2) + ("log" ,rust-log-0.4) + ("proc-macro2" ,rust-proc-macro2-1.0) + ("quote" ,rust-quote-1.0) + ("serde" ,rust-serde-1.0) + ("serde-json" ,rust-serde-json-1.0) + ("syn" ,rust-syn-1.0) + ("tempfile" ,rust-tempfile-3.0) + ("toml" ,rust-toml-0.5)) + #:cargo-development-inputs + (("ansi-term" ,rust-ansi-term-0.11) + ("atty" ,rust-atty-0.2) + ("autocfg" ,rust-autocfg-0.1) + ("bitflags" ,rust-bitflags-1.1) + ("cfg-if" ,rust-cfg-if-0.1) + ("cloudabi" ,rust-cloudabi-0.0) + ("fuchsia-cprng" ,rust-fuchsia-cprng-0.1) + ("itoa" ,rust-itoa-0.4) + ("libc" ,rust-libc-0.2) + ("numtoa" ,rust-numtoa-0.1) + ("rand" ,rust-rand-0.6) + ("rand-chacha" ,rust-rand-chacha-0.1) + ("rand-core" ,rust-rand-core-0.3) + ("rand-hc" ,rust-rand-hc-0.1) + ("rand-isaac" ,rust-rand-isaac-0.1) + ("rand-jitter" ,rust-rand-jitter-0.1) + ("rand-os" ,rust-rand-os-0.1) + ("rand-pcg" ,rust-rand-pcg-0.1) + ("rand-xorshift" ,rust-rand-xorshift-0.1) + ("rdrand" ,rust-rdrand-0.4) + ("redox-syscall" ,rust-redox-syscall-0.1) + ("redox-termios" ,rust-redox-termios-0.1) + ("remove-dir-all" ,rust-remove-dir-all-0.5) + ("ryu" ,rust-ryu-1.0) + ("serde-derive" ,rust-serde-derive-1.0) + ("strsim" ,rust-strsim-0.8) + ("termion" ,rust-termion-1.5) + ("textwrap" ,rust-textwrap-0.11) + ("unicode-width" ,rust-unicode-width-0.1) + ("unicode-xid" ,rust-unicode-xid-0.2) + ("vec-map" ,rust-vec-map-0.8) + ("winapi" ,rust-winapi-0.3)))) + (home-page "https://github.com/eqrion/cbindgen/") + (synopsis "Tool for generating C bindings to Rust code") + (description + "This package provides a tool for generating C/C++ bindings to Rust code.") + (license license:mpl2.0))) + +;;; +;;;^L +;;; + (define rust-ansi-term-0.11 (package (name "rust-ansi-term") -- cgit 1.4.1 From 77e0cebcadc8b96613832e1554e326d48e20f72f Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Mon, 30 Sep 2019 21:09:49 +0200 Subject: gnu: Add weasyprint. Now includs the patch file missed in 73f0ed8dbfde97341716fd8b156907e4ef800873. * gnu/packages/pdf.scm (weasyprint): New variable. * gnu/packages/patches/weasyprint-library-paths.patch: New file. * gnu/local.mk: Add it. --- gnu/local.mk | 1 + .../patches/weasyprint-library-paths.patch | 38 ++++++++++ gnu/packages/pdf.scm | 81 ++++++++++++++++++++++ 3 files changed, 120 insertions(+) create mode 100644 gnu/packages/patches/weasyprint-library-paths.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index d563ecc99e..a8138a945c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1420,6 +1420,7 @@ dist_patch_DATA = \ %D%/packages/patches/wavpack-CVE-2018-6767.patch \ %D%/packages/patches/wavpack-CVE-2018-7253.patch \ %D%/packages/patches/wavpack-CVE-2018-7254.patch \ + %D%/packages/patches/weasyprint-library-paths.patch \ %D%/packages/patches/wicd-bitrate-none-fix.patch \ %D%/packages/patches/wicd-get-selected-profile-fix.patch \ %D%/packages/patches/wicd-urwid-1.3.patch \ diff --git a/gnu/packages/patches/weasyprint-library-paths.patch b/gnu/packages/patches/weasyprint-library-paths.patch new file mode 100644 index 0000000000..eabbdbdcd6 --- /dev/null +++ b/gnu/packages/patches/weasyprint-library-paths.patch @@ -0,0 +1,38 @@ +diff --git a/weasyprint/fonts.py b/weasyprint/fonts.py +index 377716c1..2016e01c 100644 +--- a/weasyprint/fonts.py ++++ b/weasyprint/fonts.py +@@ -48,11 +48,8 @@ else: + # with OSError: dlopen() failed to load a library: cairo / cairo-2 + # So let's hope we find the same file as cairo already did ;) + # Same applies to pangocairo requiring pangoft2 +- fontconfig = dlopen(ffi, 'fontconfig', 'libfontconfig', +- 'libfontconfig-1.dll', +- 'libfontconfig.so.1', 'libfontconfig-1.dylib') +- pangoft2 = dlopen(ffi, 'pangoft2-1.0', 'libpangoft2-1.0-0', +- 'libpangoft2-1.0.so', 'libpangoft2-1.0.dylib') ++ fontconfig = dlopen(ffi, '@fontconfig@') ++ pangoft2 = dlopen(ffi, '@pangoft2@') + + ffi.cdef(''' + // FontConfig +diff --git a/weasyprint/text.py b/weasyprint/text.py +index 035074e9..08e40395 100644 +--- a/weasyprint/text.py ++++ b/weasyprint/text.py +@@ -243,12 +243,9 @@ def dlopen(ffi, *names): + return ffi.dlopen(names[0]) # pragma: no cover + + +-gobject = dlopen(ffi, 'gobject-2.0', 'libgobject-2.0-0', 'libgobject-2.0.so', +- 'libgobject-2.0.dylib') +-pango = dlopen(ffi, 'pango-1.0', 'libpango-1.0-0', 'libpango-1.0.so', +- 'libpango-1.0.dylib') +-pangocairo = dlopen(ffi, 'pangocairo-1.0', 'libpangocairo-1.0-0', +- 'libpangocairo-1.0.so', 'libpangocairo-1.0.dylib') ++gobject = dlopen(ffi, '@gobject@') ++pango = dlopen(ffi, '@pango@') ++pangocairo = dlopen(ffi, '@pangocairo@') + + gobject.g_type_init() + diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 7118afce4d..0fd385d5d6 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2019 Alex Griffin ;;; Copyright © 2019 Ben Sturmfels +;;; Copyright © 2019 Hartmut Goebel ;;; ;;; This file is part of GNU Guix. ;;; @@ -66,6 +67,7 @@ #:use-module (gnu packages imagemagick) #:use-module (gnu packages javascript) #:use-module (gnu packages lesstif) + #:use-module (gnu packages libffi) #:use-module (gnu packages linux) #:use-module (gnu packages lua) #:use-module (gnu packages pcre) @@ -73,6 +75,8 @@ #:use-module (gnu packages photo) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-check) + #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) #:use-module (gnu packages sdl) @@ -1200,3 +1204,80 @@ manipulating PDF documents from the command line. It supports @item displaying the mapping between logical and physical page numbers @end itemize") (license license:bsd-3))) + +(define-public weasyprint + (package + (name "weasyprint") + (version "50") + (source + (origin + (method url-fetch) + (uri (pypi-uri "WeasyPrint" version)) + (sha256 + (base32 "0invs96zvmcr6wh5klj52jrcnr9qg150v9wpmbhcsf3vv1d1hbcw")) + (patches (search-patches "weasyprint-library-paths.patch")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-library-paths + (lambda* (#:key inputs #:allow-other-keys) + (let ((fontconfig (assoc-ref inputs "fontconfig")) + (glib (assoc-ref inputs "glib")) + (pango (assoc-ref inputs "pango")) + (pangoft2 (assoc-ref inputs "pangoft2"))) + (substitute* "weasyprint/fonts.py" + (("@fontconfig@") + (string-append fontconfig "/lib/libfontconfig.so")) + (("@pangoft2@") + (string-append pango "/lib/libpangoft2-1.0.so"))) + (substitute* "weasyprint/text.py" + (("@gobject@") + (string-append glib "/lib/libgobject-2.0.so")) + (("@pango@") + (string-append pango "/lib/libpango-1.0.so")) + (("@pangocairo@") + (string-append pango "/lib/libpangocairo-1.0.so")))))) + (add-after 'unpack 'remove-pytest-options + (lambda _ + (substitute* "setup.cfg" + ;; flake8 and isort syntax checks fail, which is not our + ;; business + (("addopts = --flake8 --isort") "")))) + (replace 'check + (lambda _ + ;; run pytest, excluding one failing test + (invoke "pytest" "-k" "not test_flex_column_wrap_reverse")))))) + (inputs + `(("fontconfig" ,fontconfig) + ("glib" ,glib) + ("pango" ,pango))) + (propagated-inputs + `(("gdk-pixbuf" ,gdk-pixbuf) + ("python-cairocffi" ,python-cairocffi) + ("python-cairosvg" ,python-cairosvg) + ("python-cffi" ,python-cffi) + ("python-cssselect2" ,python-cssselect2) + ("python-html5lib" ,python-html5lib) + ("python-pyphen" ,python-pyphen) + ("python-tinycss2" ,python-tinycss2))) + (native-inputs + `(("python-pytest-cov" ,python-pytest-cov) + ("python-pytest-runner" ,python-pytest-runner))) + (home-page "https://weasyprint.org/") + (synopsis "Document factory for creating PDF files from HTML") + (description "WeasyPrint helps web developers to create PDF documents. It +turns simple HTML pages into gorgeous statistical reports, invoices, tickets, +etc. + +From a technical point of view, WeasyPrint is a visual rendering engine for +HTML and CSS that can export to PDF and PNG. It aims to support web standards +for printing. + +It is based on various libraries but not on a full rendering engine like +WebKit or Gecko. The CSS layout engine is written in Python, designed for +pagination, and meant to be easy to hack on. Weasyprint can also be used as a +python library. + +Keywords: html2pdf, htmltopdf") + (license license:bsd-3))) -- cgit 1.4.1 From 59d452da401c375e7bd18d2260c2e42ee0d05b72 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 23 Oct 2019 11:24:51 +0300 Subject: gnu: enlightenment: Hardcode 'bc' location. * gnu/packages/enlightenment.scm (enlightenment)[arguments]: In custom 'set-system-actions phase hardcode location of 'bc' binary. [inputs]: Add bc. --- gnu/packages/enlightenment.scm | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 32a1e60bf0..c49e6cf66b 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -30,6 +30,7 @@ #:use-module (guix build-system meson) #:use-module (guix build-system python) #:use-module (gnu packages) + #:use-module (gnu packages algebra) #:use-module (gnu packages avahi) #:use-module (gnu packages bash) #:use-module (gnu packages check) @@ -311,6 +312,7 @@ Libraries with some extra bells and whistles.") (utils (assoc-ref inputs "util-linux")) (libc (assoc-ref inputs "libc")) (bluez (assoc-ref inputs "bluez")) + (bc (assoc-ref inputs "bc")) (efl (assoc-ref inputs "efl"))) ;; We need to patch the path to 'base.lst' to be able ;; to switch the keyboard layout in E. @@ -331,6 +333,8 @@ Libraries with some extra bells and whistles.") (string-append efl "/bin/edje_cc -v %s %s %s\""))) (substitute* "src/modules/everything/evry_plug_apps.c" (("/usr/bin/") "")) + (substitute* "src/modules/everything/evry_plug_calc.c" + (("bc -l") (string-append bc "/bin/bc -l"))) (substitute* "data/etc/meson.build" (("/bin/mount") (string-append utils "/bin/mount")) (("/bin/umount") (string-append utils "/bin/umount")) @@ -348,6 +352,7 @@ Libraries with some extra bells and whistles.") ("util-linux" ,util-linux))) (inputs `(("alsa-lib" ,alsa-lib) + ("bc" ,bc) ("bluez" ,bluez) ("dbus" ,dbus) ("efl" ,efl) -- cgit 1.4.1 From 3da6bd5f2c0aaf215a3c357b837968e6344b3a26 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 23 Oct 2019 16:43:54 +0200 Subject: gnu: cuirass: Update to 80b6e89. * gnu/packages/ci.scm (cuirass): Update to 80b6e89. --- gnu/packages/ci.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index 5807c8b68c..f9dae5fd66 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -47,8 +47,8 @@ #:use-module (guix build-system gnu)) (define-public cuirass - (let ((commit "d27ff21e430cd38b02bd70a0dc8d60c9c2736f83") - (revision "24")) + (let ((commit "80b6e89a7b2e9a6f9dee26dcf22277970930039f") + (revision "25")) (package (name "cuirass") (version (string-append "0.0.1-" revision "." (string-take commit 7))) @@ -60,7 +60,7 @@ (file-name (string-append name "-" version)) (sha256 (base32 - "166xl9zfy7dm645fk2ln45bvw0y0gy0xw8fb7mprbjz8v95dh27p")))) + "0m7g7wqa1l8gab8pcyi43a6w6rxhaqbpsrwlnadwsds1b95x9bka")))) (build-system gnu-build-system) (arguments '(#:modules ((guix build utils) -- cgit 1.4.1 From ee42e9f9fd16868c23b2aa656cccbb72d886ba19 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 23 Oct 2019 16:55:42 +0200 Subject: gnu: wine-staging: Update to 4.18. * gnu/packages/wine.scm (wine-staging-patchset-data): Update to 4.18. (wine-staging): Update hash. --- gnu/packages/wine.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index d1c27a65a7..e73432ba3a 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -318,7 +318,7 @@ integrate Windows applications into your desktop.") (define-public wine-staging-patchset-data (package (name "wine-staging-patchset-data") - (version "4.16") + (version "4.18") (source (origin (method git-fetch) @@ -327,8 +327,7 @@ integrate Windows applications into your desktop.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "0zkvwl6rxr6xcqk4a3h43cak67w6bcyqqnajz6azif07ir3z1c61")))) + (base32 "03z0haf47mpm2aj9cji3wma4jy6j12wz10kkbgmbgrkkrc5lcqc2")))) (build-system trivial-build-system) (native-inputs `(("bash" ,bash) @@ -374,7 +373,7 @@ integrate Windows applications into your desktop.") (file-name (string-append name "-" version ".tar.xz")) (sha256 (base32 - "17qxbddv23ibbayw1ai984m0dlq63cgplms2jhsc09incjhafywd")))) + "0chf6vdy41kg75liibkb862442zwi8dbjzf6l5arcy2z4580a2yi")))) (inputs `(("autoconf" ,autoconf) ; for autoreconf ("faudio" ,faudio) ("ffmpeg" ,ffmpeg) -- cgit 1.4.1 From dff0eedb04ac7c61fc1e2ddd4cd577f83f5eb89a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 23 Oct 2019 17:50:31 +0200 Subject: gnu: simple-scan: Update home page. * gnu/packages/gnome.scm (simple-scan)[home-page]: Update. --- gnu/packages/gnome.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 6ce3b1cf37..870c4be4ab 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4366,7 +4366,7 @@ USB transfers with your high-level application or system daemon.") ;; one breaks the build by referring to a ;; non-existent header (packagekit.h) (delete-file "src/ui.c")))))) - (home-page "https://launchpad.net/simple-scan") + (home-page "https://gitlab.gnome.org/GNOME/simple-scan") (synopsis "Document and image scanner") (description "Simple Scan is an easy-to-use application, designed to let users connect their scanner and quickly have the image/document in an -- cgit 1.4.1 From 3f4ea9a62b5fa68d57724b2f83c35a191e33b7c8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 23 Oct 2019 19:43:02 +0200 Subject: gnu: avahi: Fix CVE-2018-1000845 and duplicate CVE-2017-6519. * gnu/packages/avahi.scm (avahi/fixed): New variable. (avahi)[replacement]: Use it. * gnu/packages/patches/avahi-CVE-2018-1000845.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/avahi.scm | 11 ++++++ gnu/packages/patches/avahi-CVE-2018-1000845.patch | 42 +++++++++++++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 gnu/packages/patches/avahi-CVE-2018-1000845.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index a8138a945c..50bcab514a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -706,6 +706,7 @@ dist_patch_DATA = \ %D%/packages/patches/ath9k-htc-firmware-objcopy.patch \ %D%/packages/patches/audacity-build-with-system-portaudio.patch \ %D%/packages/patches/automake-skip-amhello-tests.patch \ + %D%/packages/patches/avahi-CVE-2018-1000845.patch \ %D%/packages/patches/avahi-localstatedir.patch \ %D%/packages/patches/avogadro-boost148.patch \ %D%/packages/patches/avogadro-eigen3-update.patch \ diff --git a/gnu/packages/avahi.scm b/gnu/packages/avahi.scm index e71ffc2982..408be8ed57 100644 --- a/gnu/packages/avahi.scm +++ b/gnu/packages/avahi.scm @@ -35,6 +35,7 @@ (package (name "avahi") (version "0.7") + (replacement avahi/fixed) (home-page "http://avahi.org") (source (origin (method url-fetch) @@ -74,6 +75,16 @@ network. It is an implementation of the mDNS (for \"Multicast DNS\") and DNS-SD (for \"DNS-Based Service Discovery\") protocols.") (license lgpl2.1+))) +(define avahi/fixed + (package/inherit avahi + (source (origin + (inherit (package-source avahi)) + (patches + (append (search-patches "avahi-CVE-2018-1000845.patch") + (origin-patches (package-source avahi)))))) + ;; Hide a duplicate of the CVE fixed above. + (properties `((lint-hidden-cve . ("CVE-2017-6519")))))) + (define-public nss-mdns (package (name "nss-mdns") diff --git a/gnu/packages/patches/avahi-CVE-2018-1000845.patch b/gnu/packages/patches/avahi-CVE-2018-1000845.patch new file mode 100644 index 0000000000..e5b13e0bee --- /dev/null +++ b/gnu/packages/patches/avahi-CVE-2018-1000845.patch @@ -0,0 +1,42 @@ +From e111def44a7df4624a4aa3f85fe98054bffb6b4f Mon Sep 17 00:00:00 2001 +From: Trent Lloyd +Date: Sat, 22 Dec 2018 09:06:07 +0800 +Subject: [PATCH] Drop legacy unicast queries from address not on local link + +When handling legacy unicast queries, ensure that the source IP is +inside a subnet on the local link, otherwise drop the packet. + +Fixes #145 +Fixes #203 +CVE-2017-6519 +CVE-2018-100084 +--- + avahi-core/server.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/avahi-core/server.c b/avahi-core/server.c +index a2cb19a8..a2580e38 100644 +--- a/avahi-core/server.c ++++ b/avahi-core/server.c +@@ -930,6 +930,7 @@ static void dispatch_packet(AvahiServer *s, AvahiDnsPacket *p, const AvahiAddres + + if (avahi_dns_packet_is_query(p)) { + int legacy_unicast = 0; ++ char t[AVAHI_ADDRESS_STR_MAX]; + + /* For queries EDNS0 might allow ARCOUNT != 0. We ignore the + * AR section completely here, so far. Until the day we add +@@ -947,6 +948,13 @@ static void dispatch_packet(AvahiServer *s, AvahiDnsPacket *p, const AvahiAddres + legacy_unicast = 1; + } + ++ if (!is_mdns_mcast_address(dst_address) && ++ !avahi_interface_address_on_link(i, src_address)) { ++ ++ avahi_log_debug("Received non-local unicast query from host %s on interface '%s.%i'.", avahi_address_snprint(t, sizeof(t), src_address), i->hardware->name, i->protocol); ++ return; ++ } ++ + if (legacy_unicast) + reflect_legacy_unicast_query_packet(s, p, i, src_address, port); + -- cgit 1.4.1 From 4163b6d855a4e655852029625762fccb077a196d Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 23 Oct 2019 20:38:29 +0200 Subject: gnu: avahi: Don't use package/inherit. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Thanks to Mark H Weaver . * gnu/packages/avahi.scm (avahi): Use (package (inherit …)) instead of package/inherit. --- gnu/packages/avahi.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/avahi.scm b/gnu/packages/avahi.scm index 408be8ed57..e84fed6a71 100644 --- a/gnu/packages/avahi.scm +++ b/gnu/packages/avahi.scm @@ -76,7 +76,8 @@ DNS-SD (for \"DNS-Based Service Discovery\") protocols.") (license lgpl2.1+))) (define avahi/fixed - (package/inherit avahi + (package + (inherit avahi) (source (origin (inherit (package-source avahi)) (patches -- cgit 1.4.1