From 096c10cb47ce9d2e13c46d2b3cbf0d87d7c5d514 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 21 May 2018 15:14:12 -0400 Subject: [PATCH 01/45] gnu: mutt: Update to 1.10.0. * gnu/packages/mail.scm (mutt): Update to 1.10.0. --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index d6ad333fd4..a5f152532c 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -257,14 +257,14 @@ aliasing facilities to work just as they would on normal mail.") (define-public mutt (package (name "mutt") - (version "1.9.5") + (version "1.10.0") (source (origin (method url-fetch) (uri (string-append "https://bitbucket.org/mutt/mutt/downloads/" "mutt-" version ".tar.gz")) (sha256 (base32 - "0lsp72lm3cw490x7lhzia7h8f591bab2mr7qpscaj22fmrj7wqdz")) + "0nskymwr2cdapxlfv0ysz3bjwhb4kcvl5a3c39237k7r1vwva582")) (patches (search-patches "mutt-store-references.patch")))) (build-system gnu-build-system) (inputs From bdadf8557e9bd8bda70dcf40326f43ace7d28429 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Tue, 22 May 2018 10:37:54 +0200 Subject: [PATCH 02/45] gnu: Add emacs-daemons. * gnu/packages/emacs.scm (emacs-daemons): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/emacs.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index ca78cb2bc2..053fe6d479 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -34,6 +34,7 @@ ;;; Copyright © 2017, 2018 Maxim Cournoyer ;;; Copyright © 2018 Sohom Bhattacharjee ;;; Copyright © 2018 Mathieu Lirzin +;;; Copyright © 2018 Pierre Neidhardt ;;; ;;; This file is part of GNU Guix. ;;; @@ -10469,3 +10470,27 @@ Dumb Jump performs best with The Silver Searcher @command{ag} or ripgrep "This package provides an Emacs minor mode for highlighting device tree files.") (license license:gpl3+)))) + +(define-public emacs-daemons + (package + (name "emacs-daemons") + (version "1.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cbowdon/daemons.el") + (commit version))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "00ijgm22ck76gw0x79krl05yy0m8a502yfakazfy5xhpn1zi6ab7")))) + (build-system emacs-build-system) + (home-page "https://github.com/cbowdon/daemons.el") + (synopsis "Emacs UI for managing init system services") + (description + "This is an Emacs mode to give you a UI for managing init system +daemons (services) for those getting tired of typing out @code{sudo service +my_thing reload} all the time. Its offers a consistent UI over different init +systems.") + (license license:gpl3+))) From 35d438439c979ee629804ebf54a64d574d136530 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 22 May 2018 12:16:49 +0200 Subject: [PATCH 03/45] gnu: emacs-daemons: Fix typo in description. * gnu/packages/emacs.scm (emacs-daemons)[description]: Fix typo. --- gnu/packages/emacs.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 053fe6d479..da68e00703 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -10491,6 +10491,6 @@ device tree files.") (description "This is an Emacs mode to give you a UI for managing init system daemons (services) for those getting tired of typing out @code{sudo service -my_thing reload} all the time. Its offers a consistent UI over different init +my_thing reload} all the time. It offers a consistent UI over different init systems.") (license license:gpl3+))) From 71d3521541d08942d6088892ca6d9eac1f6b0ddc Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Tue, 22 May 2018 10:38:28 +0200 Subject: [PATCH 04/45] gnu: Add emacs-esh-autosuggest. * gnu/packages/emacs.scm (emacs-esh-autosuggest): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/emacs.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index da68e00703..ca3c077399 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -10494,3 +10494,32 @@ daemons (services) for those getting tired of typing out @code{sudo service my_thing reload} all the time. It offers a consistent UI over different init systems.") (license license:gpl3+))) + +(define-public emacs-esh-autosuggest + (package + (name "emacs-esh-autosuggest") + (version "2.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dieggsy/esh-autosuggest") + (commit version))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "116pdjgpjy9b0psm5kzwkwy7dq8vn0p6dy75dl1zsy2xrjf1iqdw")))) + (build-system emacs-build-system) + (propagated-inputs `(("emacs-company" ,emacs-company))) + (home-page "https://github.com/dieggsy/esh-autosuggest") + (synopsis "Fish-like autosuggestions in Eshell") + (description + "This package assumes you use something other than company for eshell +completion (e.g. @code{eshell-pcomplete}, @code{completion-at-point}, +@code{helm-esh-pcomplete}). @code{company-mode} is used solely as a mechanism +for history autosuggestions. + +Unless you're using @code{use-package}'s hook keyword, you can enable the +autosuggestions with: +@code{(add-hook 'eshell-mode-hook #'esh-autosuggest-mode)}") + (license license:gpl3+))) From 0f5ad3a1bcdc20062ee3966296c5dcb99d0be6e9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 22 May 2018 16:05:41 +0200 Subject: [PATCH 05/45] gnu: bismark: Patch bismark2report before installing. * gnu/packages/bioinformatics.scm (bismark)[arguments]: Patch file before installing it. --- gnu/packages/bioinformatics.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index a6d28be4e3..17b7366fa7 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -11624,6 +11624,9 @@ Browser.") "filter_non_conversion" "bam2nuc" "bismark2summary"))) + (substitute* "bismark2report" + (("\\$RealBin/bismark_sitrep") + (string-append share "/bismark_sitrep"))) (mkdir-p share) (mkdir-p docdir) (mkdir-p bin) @@ -11632,10 +11635,6 @@ Browser.") (for-each (lambda (file) (install-file file docdir)) docs) (copy-recursively "Docs/Images" (string-append docdir "/Images")) - - (substitute* "bismark2report" - (("\\$RealBin/bismark_sitrep") - (string-append share "/bismark_sitrep"))) (copy-recursively "bismark_sitrep" (string-append share "/bismark_sitrep")) From bbdf36666b82eae0a583d7124d8117801969570c Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Fri, 18 May 2018 15:25:39 +0300 Subject: [PATCH 06/45] gnu: Add emacs-cmake-mode. * gnu/packages/cmake.scm (emacs-cmake-mode): New public variable. --- gnu/packages/cmake.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index e6c5c4e793..eba7a92c04 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -206,3 +206,20 @@ and workspaces that can be used in the compiler environment of your choice.") (inputs `(("rhash" ,rhash) ,@(package-inputs cmake))))) + +(define-public emacs-cmake-mode + (package + (inherit cmake) + (name "emacs-cmake-mode") + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir-elisp + ;; Elisp directory is not in root of the source. + (lambda _ + (chdir "Auxiliary")))))) + (synopsis "Emacs major mode for editing Cmake expressions") + (description "@code{cmakeos-mode} provides an Emacs major mode for editing +Cmake files. It supports syntax highlighting, indenting and refilling of +comments."))) From aa4818c33b6b2fd8d602ee93a2f53005d9472f41 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Tue, 22 May 2018 17:36:29 +0300 Subject: [PATCH 07/45] gnu: cmake.scm: Add missing module. * gnu/packages/cmake.scm: Import emacs-build-system. --- gnu/packages/cmake.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index eba7a92c04..258ea9c638 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -28,6 +28,7 @@ #:use-module (guix download) #:use-module (guix utils) #:use-module (guix build-system gnu) + #:use-module (guix build-system emacs) #:use-module (gnu packages) #:use-module (gnu packages backup) #:use-module (gnu packages compression) From b2086776f1466cdb8096eec0b75a52fcf169d7cd Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 May 2018 09:53:08 +0200 Subject: [PATCH 08/45] gnu: gimp-fourier: Fix build. * gnu/packages/gimp.scm (gimp-fourier)[arguments]: Copy gegl-0.4.pc to gegl-0.3.pc in the configure phase. [inputs]: Add gegl. --- gnu/packages/gimp.scm | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index f2e020b560..08b2d2a43f 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015 Ludovic Courtès -;;; Copyright © 2016 Ricardo Wurmus +;;; Copyright © 2016, 2018 Ricardo Wurmus ;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Leo Famulari @@ -196,7 +196,18 @@ that is extensible via a plugin system.") `(#:tests? #f ;no tests #:phases (modify-phases %standard-phases - (delete 'configure) + ;; FIXME: The gegl package only installs "gegl-0.4.pc", but + ;; "gimp-2.0.pc" requires "gegl-0.3.pc", so we just copy it. + (replace 'configure + (lambda* (#:key inputs #:allow-other-keys) + (mkdir-p "tmppkgconfig") + (copy-file (string-append (assoc-ref inputs "gegl") + "/lib/pkgconfig/gegl-0.4.pc") + "tmppkgconfig/gegl-0.3.pc") + (setenv "PKG_CONFIG_PATH" + (string-append "tmppkgconfig:" + (or (getenv "PKG_CONFIG_PATH") ""))) + #t)) (add-after 'unpack 'set-prefix (lambda* (#:key outputs #:allow-other-keys) ;; gimptool-2.0 does not allow us to install to any target @@ -215,6 +226,7 @@ that is extensible via a plugin system.") ("gimp" ,gimp) ;; needed by gimp-2.0.pc ("gdk-pixbuf" ,gdk-pixbuf) + ("gegl" ,gegl) ("cairo" ,cairo) ("glib" ,glib) ;; needed by gimpui-2.0.pc From d282388789a21ae031035e9fd8e94a72463d0c96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 23 May 2018 10:13:19 +0200 Subject: [PATCH 09/45] linux-initrd: Enable "virtio-rng". Fixes . * gnu/system/linux-initrd.scm (default-initrd-modules)[virtio-modules]: Add "virtio-rng". --- gnu/system/linux-initrd.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index e0cb59c009..d73ebfd8d3 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -283,7 +283,7 @@ FILE-SYSTEMS." (define virtio-modules ;; Modules for Linux para-virtualized devices, for use in QEMU guests. '("virtio_pci" "virtio_balloon" "virtio_blk" "virtio_net" - "virtio_console")) + "virtio_console" "virtio-rng")) `("ahci" ;for SATA controllers "usb-storage" "uas" ;for the installation image etc. From 353df40102b209a06376044af946a28c2594377b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 23 May 2018 10:14:20 +0200 Subject: [PATCH 10/45] vm: Print the label and UUID of partitions. * gnu/build/vm.scm (create-ext-file-system): Print the label and UUID. --- gnu/build/vm.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index 527b4c495d..989b74f4f1 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -265,7 +265,8 @@ actual /dev name based on DEVICE." #:key label uuid) "Create an ext-family file system of TYPE on PARTITION. If LABEL is true, use that as the volume name. If UUID is true, use it as the partition UUID." - (format #t "creating ~a partition...\n" type) + (format #t "creating ~a partition... ~@[label: ~s~] ~@[uuid: ~s~]\n" + type label (and uuid (uuid->string uuid))) (apply invoke (string-append "mkfs." type) "-F" partition `(,@(if label From 56f9d442e0b5624130042f69f33ea5bd7e970798 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 22 May 2018 17:36:35 +0200 Subject: [PATCH 11/45] vm: Use a deterministic file system UUID in shared-store VMs. * gnu/system/vm.scm (system-qemu-image/shared-store): Pass #:file-system-uuid to 'qemu-image'. --- gnu/system/vm.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 09a11af863..eb73b5ca7a 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -752,6 +752,10 @@ with the host. When FULL-BOOT? is true, return an image that does a complete boot sequence, bootloaded included; thus, make a disk image that contains everything the bootloader refers to: OS kernel, initrd, bootloader data, etc." + (define root-uuid + ;; Use a fixed UUID to improve determinism. + (operating-system-uuid os 'dce)) + (mlet* %store-monad ((os-drv (operating-system-derivation os)) (bootcfg (operating-system-bootcfg os))) ;; XXX: When FULL-BOOT? is true, we end up creating an image that contains @@ -763,6 +767,7 @@ bootloader refers to: OS kernel, initrd, bootloader data, etc." #:bootloader (bootloader-configuration-bootloader (operating-system-bootloader os)) #:disk-image-size disk-image-size + #:file-system-uuid root-uuid #:inputs (if full-boot? `(("bootcfg" ,bootcfg)) '()) From 7874bbbb9f09cc14ea3e179fd0fa10da5f90cfc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 16 May 2018 10:05:24 +0200 Subject: [PATCH 12/45] records: Insert record type ABI checks in constructors. * guix/records.scm (print-record-abi-mismatch-error): New procedure. : Add 'set-exception-printer!' call. (current-abi-identifier, abi-check): New procedures. (make-syntactic-constructor): Add #:abi-cookie parameter. Insert calls to 'abi-check'. (define-record-type*)[compute-abi-cookie]: New procedure. Use it and emit a definition of the 'current-abi-identifier' for TYPE. * tests/records.scm ("ABI checks"): New test. --- guix/records.scm | 54 ++++++++++++++++++++++++++++++++++++++++++++--- tests/records.scm | 30 +++++++++++++++++++++++++- 2 files changed, 80 insertions(+), 4 deletions(-) diff --git a/guix/records.scm b/guix/records.scm index c02395f2ae..c71cfcfe32 100644 --- a/guix/records.scm +++ b/guix/records.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -52,13 +52,45 @@ ((weird _ ...) ;weird! (syntax-violation name "invalid field specifier" #'weird))))) +(define (print-record-abi-mismatch-error port key args + default-printer) + (match args + ((rtd . _) + ;; The source file where this exception is thrown must be recompiled. + (format port "ERROR: ~a: record ABI mismatch; recompilation needed" + rtd)))) + +(set-exception-printer! 'record-abi-mismatch-error + print-record-abi-mismatch-error) + +(define (current-abi-identifier type) + "Return an identifier unhygienically derived from TYPE for use as its +\"current ABI\" variable." + (let ((type-name (syntax->datum type))) + (datum->syntax + type + (string->symbol + (string-append "% " (symbol->string type-name) + " abi-cookie"))))) + +(define (abi-check type cookie) + "Return syntax that checks that the current \"application binary +interface\" (ABI) for TYPE is equal to COOKIE." + (with-syntax ((current-abi (current-abi-identifier type))) + #`(unless (eq? current-abi #,cookie) + (throw 'record-abi-mismatch-error #,type)))) + (define-syntax make-syntactic-constructor (syntax-rules () "Make the syntactic constructor NAME for TYPE, that calls CTOR, and expects all of EXPECTED fields to be initialized. DEFAULTS is the list of FIELD/DEFAULT-VALUE tuples, THUNKED is the list of identifiers of thunked -fields, and DELAYED is the list of identifiers of delayed fields." +fields, and DELAYED is the list of identifiers of delayed fields. + +ABI-COOKIE is the cookie (an integer) against which to check the run-time ABI +of TYPE matches the expansion-time ABI." ((_ type name ctor (expected ...) + #:abi-cookie abi-cookie #:thunked thunked #:delayed delayed #:innate innate @@ -130,6 +162,7 @@ fields, and DELAYED is the list of identifiers of delayed fields." (syntax-case s (inherit expected ...) ((_ (inherit orig-record) (field value) (... ...)) #`(let* #,(field-bindings #'((field value) (... ...))) + #,(abi-check #'type abi-cookie) #,(record-inheritance #'orig-record #'((field value) (... ...))))) ((_ (field value) (... ...)) @@ -144,6 +177,7 @@ fields, and DELAYED is the list of identifiers of delayed fields." (cond ((lset= eq? fields '(expected ...)) #`(let* #,(field-bindings #'((field value) (... ...))) + #,(abi-check #'type abi-cookie) (ctor #,@(map field-value '(expected ...))))) ((pair? (lset-difference eq? fields '(expected ...))) @@ -270,6 +304,16 @@ inherited." ;; The real value of that field is a promise, so force it. (force (real-get x))))))) + (define (compute-abi-cookie field-specs) + ;; Compute an "ABI cookie" for the given FIELD-SPECS. We use + ;; 'string-hash' because that's a better hash function that 'hash' on a + ;; list of symbols. + (syntax-case field-specs () + (((field get properties ...) ...) + (string-hash (object->string + (syntax->datum #'((field properties ...) ...))) + most-positive-fixnum)))) + (syntax-case s () ((_ type syntactic-ctor ctor pred (field get properties ...) ...) @@ -278,7 +322,8 @@ inherited." (delayed (filter-map delayed-field? field-spec)) (innate (filter-map innate-field? field-spec)) (defaults (filter-map field-default-value - #'((field properties ...) ...)))) + #'((field properties ...) ...))) + (cookie (compute-abi-cookie field-spec))) (with-syntax (((field-spec* ...) (map field-spec->srfi-9 field-spec)) ((thunked-field-accessor ...) @@ -298,10 +343,13 @@ inherited." (ctor field ...) pred field-spec* ...) + (define #,(current-abi-identifier #'type) + #,cookie) thunked-field-accessor ... delayed-field-accessor ... (make-syntactic-constructor type syntactic-ctor ctor (field ...) + #:abi-cookie #,cookie #:thunked #,thunked #:delayed #,delayed #:innate #,innate diff --git a/tests/records.scm b/tests/records.scm index d6d27bb96a..80e08a9a5f 100644 --- a/tests/records.scm +++ b/tests/records.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -288,6 +288,34 @@ (and (string-match "extra.*initializer.*baz" message) (eq? proc 'foo))))) +(test-assert "ABI checks" + (let ((module (test-module))) + (eval '(begin + (define-record-type* foo make-foo + foo? + (bar foo-bar (default 42))) + + (define (make-me-a-record) (foo))) + module) + (unless (eval '(foo? (make-me-a-record)) module) + (error "what?" (eval '(make-me-a-record) module))) + + ;; Redefine with an additional field. + (eval '(define-record-type* foo make-foo + foo? + (baz foo-baz) + (bar foo-bar (default 42))) + module) + + ;; Now 'make-me-a-record' is out of sync because it does an + ;; 'allocate-struct' that corresponds to the previous definition of . + (catch 'record-abi-mismatch-error + (lambda () + (eval '(foo? (make-me-a-record)) module) + #f) + (lambda (key rtd . _) + (eq? rtd (eval ' module)))))) + (test-equal "recutils->alist" '((("Name" . "foo") ("Version" . "0.1") From 9c4dcfaf66d37faeb165e9284f6a57871e96e1ac Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sun, 20 May 2018 14:31:55 +0200 Subject: [PATCH 13/45] gnu: Add uncrustify. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/code.scm (uncrustify): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/code.scm | 43 +++++++++++++++++++++++++++++++++++ gnu/packages/pretty-print.scm | 1 + 2 files changed, 44 insertions(+) diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index 15fdf9d66f..24398fac91 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2017, 2018 Clément Lassieur ;;; Copyright © 2017 Andy Wingo ;;; Copyright © 2018 Fis Trivial +;;; Copyright © 2018 Pierre Neidhardt ;;; ;;; This file is part of GNU Guix. ;;; @@ -527,3 +528,45 @@ produce colored output.") output is a graphviz-dot file, a Gexf-XML file or a list of the deepest independent targets.") (license license:expat))) + +(define-public uncrustify + (package + (name "uncrustify") + (version "0.67") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/uncrustify/uncrustify/archive/" + "uncrustify-" version ".zip")) + (sha256 + (base32 + "0n13kq0nsm35fxhdp0f275n4x0w88hdv3bdjy0hgvv42x0dx5zyp")))) + (build-system cmake-build-system) + (native-inputs + `(("unzip" ,unzip))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'unpack-etc + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Configuration samples are not installed by default. + (let* ((output (assoc-ref outputs "out")) + (etcdir (string-append output "/etc"))) + (for-each (lambda (l) + (install-file l etcdir)) + (find-files "etc" "\\.cfg$"))) + #t))))) + (home-page "http://uncrustify.sourceforge.net/") + (synopsis "Code formatter for C and other related languages") + (description + "Beautify source code in many languages of the C family (C, C++, C#, +Objective@tie{}C, D, Java, Pawn, and Vala). Features: +@itemize +@item Indent and align code. +@item Reformat comments (a little bit). +@item Fix inter-character spacing. +@item Add or remove parens / braces. +@item Supports embedded SQL @code{EXEC SQL} stuff. +@item Highly configurable - More than 600 configurable options. +@end itemize\n") + (license license:gpl2+))) diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm index 6edfba95cc..29b0039788 100644 --- a/gnu/packages/pretty-print.scm +++ b/gnu/packages/pretty-print.scm @@ -322,3 +322,4 @@ highlighting. Language definitions and color themes are customizable.") "Artistic Style is a source code indenter, formatter, and beautifier for the C, C++, C++/CLI, Objective‑C, C#, and Java programming languages.") (license lgpl3+))) + From c1e5109b6843d5670bf81678f2697babc9b770c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 23 May 2018 12:11:40 +0200 Subject: [PATCH 14/45] gnu: Move 'astyle' to code.scm. Suggested by Pierre Neidhardt . * gnu/packages/pretty-print.scm (astyle): Move to... * gnu/packages/code.scm (astyle): ... here. New variable. --- gnu/packages/code.scm | 42 ++++++++++++++++++++++++++++++++++ gnu/packages/pretty-print.scm | 43 ----------------------------------- 2 files changed, 42 insertions(+), 43 deletions(-) diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index 24398fac91..6dbdf8a232 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2017 Andy Wingo ;;; Copyright © 2018 Fis Trivial ;;; Copyright © 2018 Pierre Neidhardt +;;; Copyright © 2014 Eric Bavier ;;; ;;; This file is part of GNU Guix. ;;; @@ -570,3 +571,44 @@ Objective@tie{}C, D, Java, Pawn, and Vala). Features: @item Highly configurable - More than 600 configurable options. @end itemize\n") (license license:gpl2+))) + +(define-public astyle + (package + (name "astyle") + (version "2.05") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/astyle/astyle/astyle%20" + version "/astyle_" version "_linux.tar.gz")) + (sha256 + (base32 + "0f9sh9kq5ajp1yz133h00fr9235p1m698x7n3h7zbrhjiwgynd6s")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;no tests + #:make-flags (list (string-append "prefix=" %output) + "INSTALL=install" + "all") + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda _ (chdir "build/gcc") #t)) + (add-after 'install 'install-libs + (lambda* (#:key outputs #:allow-other-keys) + ;; Libraries are not installed by default + (let* ((output (assoc-ref outputs "out")) + (libdir (string-append output "/lib"))) + (begin + (mkdir-p libdir) + (for-each (lambda (l) + (copy-file + l (string-append libdir "/" (basename l)))) + (find-files "bin" "lib*")))) + #t))))) + (home-page "http://astyle.sourceforge.net/") + (synopsis "Source code indenter, formatter, and beautifier") + (description + "Artistic Style is a source code indenter, formatter, and beautifier for +the C, C++, C++/CLI, Objective‑C, C#, and Java programming languages.") + (license license:lgpl3+))) diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm index 29b0039788..cc3431b674 100644 --- a/gnu/packages/pretty-print.scm +++ b/gnu/packages/pretty-print.scm @@ -1,5 +1,4 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014 Eric Bavier ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Ricardo Wurmus ;;; Copyright © 2017 Marius Bakke @@ -281,45 +280,3 @@ seen in a terminal.") TeX, SVG, BBCode and terminal escape sequences with colored syntax highlighting. Language definitions and color themes are customizable.") (license gpl3+))) - -(define-public astyle - (package - (name "astyle") - (version "2.05") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/astyle/astyle/astyle%20" - version "/astyle_" version "_linux.tar.gz")) - (sha256 - (base32 - "0f9sh9kq5ajp1yz133h00fr9235p1m698x7n3h7zbrhjiwgynd6s")))) - (build-system gnu-build-system) - (arguments - `(#:tests? #f ;no tests - #:make-flags (list (string-append "prefix=" %output) - "INSTALL=install" - "all") - #:phases - (modify-phases %standard-phases - (replace 'configure - (lambda _ (chdir "build/gcc") #t)) - (add-after 'install 'install-libs - (lambda* (#:key outputs #:allow-other-keys) - ;; Libraries are not installed by default - (let* ((output (assoc-ref outputs "out")) - (libdir (string-append output "/lib"))) - (begin - (mkdir-p libdir) - (for-each (lambda (l) - (copy-file - l (string-append libdir "/" (basename l)))) - (find-files "bin" "lib*")))) - #t))))) - (home-page "http://astyle.sourceforge.net/") - (synopsis "Source code indenter, formatter, and beautifier") - (description - "Artistic Style is a source code indenter, formatter, and beautifier for -the C, C++, C++/CLI, Objective‑C, C#, and Java programming languages.") - (license lgpl3+))) - From e470abf8b789e61ae918a80f141e3c06afd44832 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 23 May 2018 12:13:16 +0200 Subject: [PATCH 15/45] gnu: Move 'indent' to code.scm. Suggested by Pierre Neidhardt . * gnu/packages/indent.scm: Remove. Move 'indent' to... * gnu/packages/code.scm (indent): ... here. New variable. * gnu/local.mk (GNU_SYSTEM_MODULES): Remove indent.scm. --- gnu/local.mk | 1 - gnu/packages/code.scm | 33 ++++++++++++++++++++++++ gnu/packages/indent.scm | 56 ----------------------------------------- 3 files changed, 33 insertions(+), 57 deletions(-) delete mode 100644 gnu/packages/indent.scm diff --git a/gnu/local.mk b/gnu/local.mk index 469e73f7c7..4cdbaec1dc 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -226,7 +226,6 @@ GNU_SYSTEM_MODULES = \ %D%/packages/image-processing.scm \ %D%/packages/image-viewers.scm \ %D%/packages/imagemagick.scm \ - %D%/packages/indent.scm \ %D%/packages/inklingreader.scm \ %D%/packages/inkscape.scm \ %D%/packages/irc.scm \ diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index 6dbdf8a232..fc1c000b92 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -9,6 +9,8 @@ ;;; Copyright © 2018 Fis Trivial ;;; Copyright © 2018 Pierre Neidhardt ;;; Copyright © 2014 Eric Bavier +;;; Copyright © 2013 Andreas Enge +;;; Copyright © 2014 Mark H Weaver ;;; ;;; This file is part of GNU Guix. ;;; @@ -612,3 +614,34 @@ Objective@tie{}C, D, Java, Pawn, and Vala). Features: "Artistic Style is a source code indenter, formatter, and beautifier for the C, C++, C++/CLI, Objective‑C, C#, and Java programming languages.") (license license:lgpl3+))) + +(define-public indent + (package + (name "indent") + (version "2.2.10") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/indent/indent-" version + ".tar.gz")) + (sha256 (base32 + "0f9655vqdvfwbxvs1gpa7py8k1z71aqh8hp73f65vazwbfz436wa")))) + (build-system gnu-build-system) + (arguments + `(#:phases (alist-cons-after + 'unpack 'fix-docdir + (lambda _ + ;; Although indent uses a modern autoconf in which docdir + ;; defaults to PREFIX/share/doc, the doc/Makefile.am + ;; overrides this to be in PREFIX/doc. Fix this. + (substitute* "doc/Makefile.in" + (("^docdir = .*$") "docdir = @docdir@\n"))) + %standard-phases))) + (synopsis "Code reformatter") + (description + "Indent is a program that makes source code easier to read by +reformatting it in a consistent style. It can change the style to one of +several different styles such as GNU, BSD or K&R. It has some flexibility to +deal with incomplete or malformed syntax. GNU indent offers several +extensions over the standard utility.") + (license license:gpl3+) + (home-page "https://www.gnu.org/software/indent/"))) diff --git a/gnu/packages/indent.scm b/gnu/packages/indent.scm deleted file mode 100644 index 4950a26121..0000000000 --- a/gnu/packages/indent.scm +++ /dev/null @@ -1,56 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Andreas Enge -;;; Copyright © 2014 Mark H Weaver -;;; -;;; 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 indent) - #:use-module (gnu packages) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public indent - (package - (name "indent") - (version "2.2.10") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/indent/indent-" version - ".tar.gz")) - (sha256 (base32 - "0f9655vqdvfwbxvs1gpa7py8k1z71aqh8hp73f65vazwbfz436wa")))) - (build-system gnu-build-system) - (arguments - `(#:phases (alist-cons-after - 'unpack 'fix-docdir - (lambda _ - ;; Although indent uses a modern autoconf in which docdir - ;; defaults to PREFIX/share/doc, the doc/Makefile.am - ;; overrides this to be in PREFIX/doc. Fix this. - (substitute* "doc/Makefile.in" - (("^docdir = .*$") "docdir = @docdir@\n"))) - %standard-phases))) - (synopsis "Code reformatter") - (description - "Indent is a program that makes source code easier to read by -reformatting it in a consistent style. It can change the style to one of -several different styles such as GNU, BSD or K&R. It has some flexibility to -deal with incomplete or malformed syntax. GNU indent offers several -extensions over the standard utility.") - (license license:gpl3+) - (home-page "https://www.gnu.org/software/indent/"))) From 94a8990f78be24f8f66c95f2cc5160ae4e0b6032 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 May 2018 13:41:16 +0200 Subject: [PATCH 16/45] gnu: Add r-rappdirs. * gnu/packages/cran.scm (r-rappdirs): New variable. --- gnu/packages/cran.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index d0f99aaeca..49ed877964 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -3974,3 +3974,23 @@ including the ability to summarize or get a high-level view of code, determining dependencies between variables, code improvement suggestions.") ;; Any version of the GPL (license (list license:gpl2+ license:gpl3+)))) + +(define-public r-rappdirs + (package + (name "r-rappdirs") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "rappdirs" version)) + (sha256 + (base32 + "0ji6sg3bdn5gazkq14xmmcq7jnbsyxw4lzmmbgv6526j2vn93n1g")))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/web/packages/rappdirs/") + (synopsis "Determine where to save data, caches, and logs") + (description + "This package provides an easy way to determine which directories on the +user's computer should be used to save data, caches and logs. It is a port of +Python's @url{https://github.com/ActiveState/appdirs,Appdirs} to R.") + (license license:expat))) From 2b47ebe1a600d18f2517ba7d3b1dc98cf52e18bb Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 May 2018 13:43:20 +0200 Subject: [PATCH 17/45] gnu: Add r-learnr. * gnu/packages/cran.scm (r-learnr): New variable. --- gnu/packages/cran.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 49ed877964..d4ec2e9d23 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -3994,3 +3994,35 @@ determining dependencies between variables, code improvement suggestions.") user's computer should be used to save data, caches and logs. It is a port of Python's @url{https://github.com/ActiveState/appdirs,Appdirs} to R.") (license license:expat))) + +(define-public r-learnr + (package + (name "r-learnr") + (version "0.9.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "learnr" version)) + (sha256 + (base32 + "1z04c1djg7ghsl7p9ypc6k5m7snahnmjy10xmrzqfayx1wkfkn9n")))) + (build-system r-build-system) + (propagated-inputs + `(("r-evaluate" ,r-evaluate) + ("r-htmltools" ,r-htmltools) + ("r-htmlwidgets" ,r-htmlwidgets) + ("r-jsonlite" ,r-jsonlite) + ("r-knitr" ,r-knitr) + ("r-markdown" ,r-markdown) + ("r-rappdirs" ,r-rappdirs) + ("r-rmarkdown" ,r-rmarkdown) + ("r-rprojroot" ,r-rprojroot) + ("r-shiny" ,r-shiny) + ("r-withr" ,r-withr))) + (home-page "https://rstudio.github.io/learnr/") + (synopsis "Interactive tutorials for R") + (description + "This package provides tools to create interactive tutorials using R +Markdown. Use a combination of narrative, figures, videos, exercises, and +quizzes to create self-paced tutorials for learning about R and R packages.") + (license license:asl2.0))) From fb50664f6b0178446836786580e005960a1c2325 Mon Sep 17 00:00:00 2001 From: Rouby Pierre-Antoine Date: Tue, 15 May 2018 15:09:20 +0200 Subject: [PATCH 18/45] gnu: Add go-github-com-burntsushi-toml. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/golang.scm (go-github-com-burntsushi-toml): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/golang.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index fe6dfbe1c8..3b65d58123 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Christopher Baines ;;; Copyright © 2018 Tomáš Čech +;;; Copyright © 2018 Pierre-Antoine Rouby ;;; ;;; This file is part of GNU Guix. ;;; @@ -1300,3 +1301,30 @@ support functions for dealing with terminals, as commonly found on UNIX systems.") (home-page "https://go.googlesource.com/crypto/") (license license:bsd-3)))) + +(define-public go-github-com-burntsushi-toml + (let ((commit + "a368813c5e648fee92e5f6c30e3944ff9d5e8895") + (revision "0")) + (package + (name "go-github-com-burntsushi-toml") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/BurntSushi/toml.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1sjxs2lwc8jpln80s4rlzp7nprbcljhy5mz4rf9995gq93wqnym5")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/BurntSushi/toml")) + (home-page "https://github.com/BurntSushi/toml") + (synopsis "Toml parser and encoder for Go") + (description "This package is toml parser and encoder for Go. The +interface is similar to Go's standard library @code{json} and @code{xml} +package.") + (license license:expat)))) From 8c5a69aa0095bd444dc8727683e4796b8f5e0af2 Mon Sep 17 00:00:00 2001 From: Rouby Pierre-Antoine Date: Tue, 15 May 2018 15:23:29 +0200 Subject: [PATCH 19/45] gnu: Add go-github-com-getsentry-raven-go. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/golang.scm (go-github-com-getsentry-raven-go): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/golang.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 3b65d58123..8acd528779 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -1328,3 +1328,30 @@ systems.") interface is similar to Go's standard library @code{json} and @code{xml} package.") (license license:expat)))) + +(define-public go-github-com-getsentry-raven-go + (let ((commit + "dffeb57df75d6a911f00232155194e43d79d38d7") + (revision "0")) + (package + (name "go-github-com-getsentry-raven-go") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/getsentry/raven-go.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "13sb9rvl3369m7fah3ss9g0hwky259snqfn8gmbr0h5zvp651lja")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/getsentry/raven-go")) + (home-page + "https://github.com/getsentry/raven-go") + (synopsis "Sentry client in Go") + (description "This package is Go client API for the Sentry event/error +logging system.") + (license license:bsd-3)))) From 0972411a5712e7d2b40f6a5fcca0c99a3d9534cb Mon Sep 17 00:00:00 2001 From: Rouby Pierre-Antoine Date: Tue, 15 May 2018 15:24:08 +0200 Subject: [PATCH 20/45] gnu: Add go-github-com-hashicorp-go-version. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/golang.scm (go-github-com-hashicorp-go-version): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/golang.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 8acd528779..01e59983fe 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -1355,3 +1355,33 @@ package.") (description "This package is Go client API for the Sentry event/error logging system.") (license license:bsd-3)))) + +(define-public go-github-com-hashicorp-go-version + (let ((commit + "03c5bf6be031b6dd45afec16b1cf94fc8938bc77") + (revision "0")) + (package + (name "go-github-com-hashicorp-go-version") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hashicorp/go-version.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0sjq57gpfznaqdrbyb2p0bn90g9h661cvr0jrk6ngags4pbw14ik")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/hashicorp/go-version")) + (home-page + "https://github.com/hashicorp/go-version") + (synopsis "Go library for parsing and verifying versions and version +constraints") + (description "This package is a library for parsing versions and version +constraints, and verifying versions against a set of constraints. It can sort +a collection of versions properly, handles prerelease/beta versions, can +increment versions.") + (license license:mpl2.0)))) From c4230cda090b8a4d96c195173f968c7a603d6d36 Mon Sep 17 00:00:00 2001 From: Rouby Pierre-Antoine Date: Tue, 15 May 2018 15:24:42 +0200 Subject: [PATCH 21/45] gnu: Add go-github-com-jpillora-backoff. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/golang.scm (go-github-com-jpillora-backoff): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/golang.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 01e59983fe..e4caf82562 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -1385,3 +1385,29 @@ constraints, and verifying versions against a set of constraints. It can sort a collection of versions properly, handles prerelease/beta versions, can increment versions.") (license license:mpl2.0)))) + +(define-public go-github-com-jpillora-backoff + (let ((commit + "06c7a16c845dc8e0bf575fafeeca0f5462f5eb4d") + (revision "0")) + (package + (name "go-github-com-jpillora-backoff") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jpillora/backoff.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0xhvxr7bm47czdc5hy3kl508z3y4j91i2jm7vg774i52zych6k4l")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/jpillora/backoff")) + (home-page "https://github.com/jpillora/backoff") + (synopsis "Simple exponential backoff counter in Go") + (description "This package is a simple exponential backoff counter in +Go.") + (license license:expat)))) From 28380e0e2854f2a78e4b2677d1cf57fe42468f4d Mon Sep 17 00:00:00 2001 From: Rouby Pierre-Antoine Date: Tue, 15 May 2018 15:25:29 +0200 Subject: [PATCH 22/45] gnu: Add go-github-com-stretchr-testify. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/golang.scm (go-github-com-stretchr-testify): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/golang.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index e4caf82562..e1ed9966ef 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -1411,3 +1411,37 @@ increment versions.") (description "This package is a simple exponential backoff counter in Go.") (license license:expat)))) + +(define-public go-github-com-stretchr-testify + (let ((commit + "b1f989447a57594c728884458a39abf3a73447f7") + (revision "0")) + (package + (name "go-github-com-stretchr-testify") + (version (git-version "1.1.4" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/stretchr/testify.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0p0gkqzh2p8r5g0rxm885ljl7ghih7h7hx9w562imx5ka0vdgixv")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/stretchr/testify")) + (home-page "https://github.com/stretchr/testify") + (synopsis "Go helper library for tests and invariant checking") + (description "This package provide many tools for testifying that your +code will behave as you intend. + +Features include: +@itemize +@item Easy assertions +@item Mocking +@item HTTP response trapping +@item Testing suite interfaces and functions. +@end itemize") + (license license:expat)))) From 21290c35b1edd41a23a144cab5cf85bc99853511 Mon Sep 17 00:00:00 2001 From: Rouby Pierre-Antoine Date: Tue, 15 May 2018 15:25:42 +0200 Subject: [PATCH 23/45] gnu: Add go-github-com-tevino-abool. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/golang.scm (go-github-com-tevino-abool): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/golang.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index e1ed9966ef..7b09f56853 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -1445,3 +1445,29 @@ Features include: @item Testing suite interfaces and functions. @end itemize") (license license:expat)))) + +(define-public go-github-com-tevino-abool + (let ((commit + "3c25f2fe7cd0ef3eabefce1d90efd69a65d35b12") + (revision "0")) + (package + (name "go-github-com-tevino-abool") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tevino/abool.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1wxqrclxk93q0aj15z596dx2y57x9nkhi64nbrr5cxnhxn8vwixm")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/tevino/abool")) + (home-page "https://github.com/tevino/abool") + (synopsis "Atomic boolean library for Go code") + (description "This package is atomic boolean library for Go code, +optimized for performance yet simple to use.") + (license license:expat)))) From 6c7d0620cf1d893a9fa71a0d7f556314ef09531b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 May 2018 13:57:23 +0200 Subject: [PATCH 24/45] gnu: Use "code" instead of "indent". This is a follow-up to commit e470abf8b789e61ae918a80f141e3c06afd44832. * gnu/packages/debug.scm: Use module "code" instead of "indent". --- gnu/packages/debug.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm index c12baf4e2b..af9f9f1ae1 100644 --- a/gnu/packages/debug.scm +++ b/gnu/packages/debug.scm @@ -31,7 +31,7 @@ #:use-module (gnu packages bash) #:use-module (gnu packages flex) #:use-module (gnu packages golang) - #:use-module (gnu packages indent) + #:use-module (gnu packages code) #:use-module (gnu packages llvm) #:use-module (gnu packages perl) #:use-module (gnu packages pretty-print) From 8efe2a22eaaf00d667c54968c025a3477cb3c3f7 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 May 2018 13:59:46 +0200 Subject: [PATCH 25/45] gnu: Use "code" instead of "indent". This is a follow-up to commit e470abf8b789e61ae918a80f141e3c06afd44832. * gnu/packages/commencement.scm, gnu/packages/flex.scm: Use module "code" instead of "indent". --- gnu/packages/commencement.scm | 2 +- gnu/packages/flex.scm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 2791409bf9..9f3e1e52a7 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -29,7 +29,7 @@ #:use-module (gnu packages bash) #:use-module (gnu packages gcc) #:use-module (gnu packages m4) - #:use-module (gnu packages indent) + #:use-module (gnu packages code) #:use-module (gnu packages file) #:use-module (gnu packages gawk) #:use-module (gnu packages bison) diff --git a/gnu/packages/flex.scm b/gnu/packages/flex.scm index b09ac0bb89..29c5c92766 100644 --- a/gnu/packages/flex.scm +++ b/gnu/packages/flex.scm @@ -26,7 +26,7 @@ #:use-module (gnu packages m4) #:use-module (gnu packages man) #:use-module (gnu packages bison) - #:use-module (gnu packages indent) + #:use-module (gnu packages code) #:use-module (srfi srfi-1)) (define-public flex From 6623bd826be7ccf39aeb4157c2863db06cc3f18a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 May 2018 15:23:01 +0200 Subject: [PATCH 26/45] gnu: libusb-for-axoloti: Adjust patch. * gnu/packages/patches/libusb-for-axoloti.patch: Adjust patch for use with current version of libusb. --- gnu/packages/patches/libusb-for-axoloti.patch | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/gnu/packages/patches/libusb-for-axoloti.patch b/gnu/packages/patches/libusb-for-axoloti.patch index 76a45e801d..fb94c489b0 100644 --- a/gnu/packages/patches/libusb-for-axoloti.patch +++ b/gnu/packages/patches/libusb-for-axoloti.patch @@ -1,8 +1,8 @@ -diff -rpu4 libusb-1.0.22.orig/libusb/descriptor.c libusb-1.0.22/libusb/descriptor.c ---- libusb-1.0.22.orig/libusb/descriptor.c 2018-03-17 08:23:37.000000000 +0100 -+++ libusb-1.0.22/libusb/descriptor.c 2018-03-29 10:36:09.968429473 +0200 -@@ -1173,9 +1173,9 @@ int API_EXPORTED libusb_get_string_descr - if (tbuf[1] != LIBUSB_DT_STRING) +diff --git a/libusb/descriptor.c b/libusb/descriptor.c +index 74d6de5..0b0e314 100644 +--- a/libusb/descriptor.c ++++ b/libusb/descriptor.c +@@ -1174,7 +1174,7 @@ int API_EXPORTED libusb_get_string_descriptor_ascii(libusb_device_handle *dev_ha return LIBUSB_ERROR_IO; if (tbuf[0] > r) @@ -11,4 +11,6 @@ diff -rpu4 libusb-1.0.22.orig/libusb/descriptor.c libusb-1.0.22/libusb/descripto di = 0; for (si = 2; si < tbuf[0]; si += 2) { - if (di >= (length - 1)) +-- +2.17.0 + From a4ab65ee79655aa430a26a69e898a8b5b8f3fd67 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 May 2018 15:27:32 +0200 Subject: [PATCH 27/45] gnu: pigx-scrnaseq: Update to 0.0.4. * gnu/packages/bioinformatics.scm (pigx-scrnaseq): Update to 0.0.4. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 17b7366fa7..1315127343 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -12995,7 +12995,7 @@ methylation and segmentation.") (define-public pigx-scrnaseq (package (name "pigx-scrnaseq") - (version "0.0.3") + (version "0.0.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/BIMSBbioinfo/pigx_scrnaseq/" @@ -13003,7 +13003,7 @@ methylation and segmentation.") "/pigx_scrnaseq-" version ".tar.gz")) (sha256 (base32 - "12qdq0nj1wdkyighdxj6924bmbpd1a0b3gam6w64l4hiqrv5sijz")))) + "1pvjm6f3mascprs65vflggwwg5v925knvgal7k7a6nnlmw5qndrf")))) (build-system gnu-build-system) (arguments `(#:configure-flags From afe0c03a4ec5e8430bdd3964d9692934ed7b9cde Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 23 Apr 2018 02:00:24 +0200 Subject: [PATCH 28/45] gnu: x265: Update to 2.7. * gnu/packages/video.scm (x265): Update to 2.7. --- gnu/packages/video.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 997cf57003..05e16d734a 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -380,7 +380,7 @@ and creating Matroska files from other media files (@code{mkvmerge}).") (define-public x265 (package (name "x265") - (version "2.6") + (version "2.7") (source (origin (method url-fetch) @@ -388,14 +388,14 @@ and creating Matroska files from other media files (@code{mkvmerge}).") "x265_" version ".tar.gz")) (sha256 (base32 - "1gyd94jkwdii9308m07nymsbxrmrcl81c0j8i10zhslr2mj07w0v")) + "18llni1m8kfvdwy5bp950z6gyd0nijmvi3hzd6gd8vpy5yk5zrym")) (modules '((guix build utils))) (snippet '(delete-file-recursively "source/compat/getopt")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; tests are skipped if cpu-optimized code isn't built - ;; Currently the source code doesn't check for aarch64 + ;; Currently the source code doesn't check for aarch64. ,@(if (string-prefix? "aarch64" (or (%current-target-system) (%current-system))) '(#:configure-flags '("-DENABLE_PIC=TRUE")) '()) From b284877c31bdacf79593c7e3f293d247563cbd71 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 23 Apr 2018 02:00:54 +0200 Subject: [PATCH 29/45] gnu: x265: Return a boolean from the snippet. * gnu/packages/video.scm (x265)[source]: End snippet with #t. --- gnu/packages/video.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 05e16d734a..1a47fc706a 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -391,7 +391,9 @@ and creating Matroska files from other media files (@code{mkvmerge}).") "18llni1m8kfvdwy5bp950z6gyd0nijmvi3hzd6gd8vpy5yk5zrym")) (modules '((guix build utils))) (snippet - '(delete-file-recursively "source/compat/getopt")))) + '(begin + (delete-file-recursively "source/compat/getopt") + #t)))) (build-system cmake-build-system) (arguments `(#:tests? #f ; tests are skipped if cpu-optimized code isn't built From 27f44a46df15d8ac073ca463ab403f24ba704cd1 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 23 May 2018 01:48:22 +0200 Subject: [PATCH 30/45] gnu: tor: Update to 0.3.3.6 [security fixes]. * gnu/packages/tor.scm (tor): Update to 0.3.3.6. --- gnu/packages/tor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index 795c105f61..b18673b81b 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -47,14 +47,14 @@ (define-public tor (package (name "tor") - (version "0.3.2.10") + (version "0.3.3.6") (source (origin (method url-fetch) (uri (string-append "https://dist.torproject.org/tor-" version ".tar.gz")) (sha256 (base32 - "1vnb2wkcmm8rnz0fqi3k7arl60mpycs8rjn8hvbgv56g3p1pgpv0")))) + "1drk2h8zd05xrfpx7xn77pcxz0hs4nrq6figw56qk5gkvgv5kg4r")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list "--enable-gcc-hardening" From 11151192025bcfd50e9f456c51743d880f608287 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 23 May 2018 02:53:58 +0200 Subject: [PATCH 31/45] gnu: parallel: Update to 20180522. * gnu/packages/parallel.scm (parallel): Update to 20180522. --- gnu/packages/parallel.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index 1dfafac4e7..716b433443 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -47,7 +47,7 @@ (define-public parallel (package (name "parallel") - (version "20180422") + (version "20180522") (source (origin (method url-fetch) @@ -55,7 +55,7 @@ version ".tar.bz2")) (sha256 (base32 - "0xsfpbxwgd4197gra981iv0nmjfk58c0d88dxx6dh6yrqz523klx")))) + "1khcz9pm7rjnq4gw8pn30k1d40x337a204dxj4y4qijpx8m7w0gb")))) (build-system gnu-build-system) (arguments `(#:phases From 0b1e903d1edb27335a94b1886160b14b11eace2e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 23 May 2018 02:55:51 +0200 Subject: [PATCH 32/45] gnu: stunnel: Update to 5.45. * gnu/packages/web.scm (stunnel): Update to 5.45. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 548796aab4..9f1609591b 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -4904,7 +4904,7 @@ tools like SSH (Secure Shell) to reach the outside world.") (define-public stunnel (package (name "stunnel") - (version "5.44") + (version "5.45") (source (origin (method url-fetch) @@ -4912,7 +4912,7 @@ tools like SSH (Secure Shell) to reach the outside world.") version ".tar.gz")) (sha256 (base32 - "1692y69wl7j6yjgnrrzclgzb34bxsaxjzl1dfy47vms7pdfk42lr")))) + "1qrfb418skdcm7b3v30ixng1ng907f4rfv54zvgz8jwakf1l90jl")))) (build-system gnu-build-system) (inputs `(("openssl" ,openssl))) (arguments From a5a568d246c3d5392aa812ea47009015617de5a0 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 23 May 2018 03:06:15 +0200 Subject: [PATCH 33/45] gnu: redshift: Update to 1.12. * gnu/packages/xdisorg.scm (redshift): Update to 1.12. --- gnu/packages/xdisorg.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index f42691b75d..f1149b2c89 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -955,7 +955,7 @@ the X.Org X Server version 1.7 and later (X11R7.5 or later).") (define-public redshift (package (name "redshift") - (version "1.11") + (version "1.12") (source (origin (method url-fetch) @@ -965,7 +965,7 @@ the X.Org X Server version 1.7 and later (X11R7.5 or later).") "/redshift-" version ".tar.xz")) (sha256 (base32 - "0ngkwj7rg8nfk806w0sg443w6wjr91xdc0zisqfm5h2i77wm1qqh")))) + "1fi27b73x85qqar526dbd33av7mahca2ykaqwr7siqiw1qqcby6j")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -975,7 +975,7 @@ the X.Org X Server version 1.7 and later (X11R7.5 or later).") ("libx11" ,libx11) ("libxcb" ,libxcb) ("libxxf86vm" ,libxxf86vm) - ("glib" ,glib))) ;for Geoclue2 support + ("glib" ,glib))) ; for Geoclue2 support (home-page "https://github.com/jonls/redshift") (synopsis "Adjust the color temperature of your screen") (description From 8332ac031c4edf5d8ace51a5a9a5bb1eeed1df31 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 23 May 2018 04:48:54 +0200 Subject: [PATCH 34/45] gnu: simplescreenrecorder: Update to 0.3.11. * gnu/packages/video.scm (simplescreenrecorder): Update to 0.3.11. [inputs]: Use defaut FFMPEG version. --- gnu/packages/video.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 1a47fc706a..7df318edfc 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -2071,7 +2071,7 @@ making @dfn{screencasts}.") (define-public simplescreenrecorder (package (name "simplescreenrecorder") - (version "0.3.10") + (version "0.3.11") (source (origin (method url-fetch) @@ -2080,14 +2080,14 @@ making @dfn{screencasts}.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "02rl9yyx3hlz9fqvgzv7ipmvx2qahj7ws5wx2m7zs3lssq3qag3g")))) + "0l6irdadqpajvv0dj3ngs1231n559l0y1pykhs2h7526qm4w7xal")))) (build-system cmake-build-system) ;; Although libx11, libxfixes, libxext are listed as build dependencies in ;; README.md, the program builds and functions properly without them. ;; As a result, they are omitted. Please add them back if problems appear. (inputs `(("alsa-lib" ,alsa-lib) - ("ffmpeg" ,ffmpeg-3.4) + ("ffmpeg" ,ffmpeg) ("glu" ,glu) ("jack" ,jack-1) ("libxi" ,libxi) From 8c8d015077d7751e99047bcb09cd6e594254c07c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 23 May 2018 04:54:33 +0200 Subject: [PATCH 35/45] gnu: python-gitpython: Update to 2.1.10. * gnu/packages/version-control.scm (python-gitpython): Update to 2.1.10. --- gnu/packages/version-control.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index f53d0f4fa9..603e8a46dd 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -725,13 +725,13 @@ allowing to handle large objects with a small memory footprint.") (define-public python-gitpython (package (name "python-gitpython") - (version "2.1.9") + (version "2.1.10") (source (origin (method url-fetch) (uri (pypi-uri "GitPython" version)) (sha256 (base32 - "0a9in1jfv9ssxhckl6sasw45bhm762y2r5ikgb2pk2g8yqdc6z64")))) + "00bk48s5szh296r7zyvdpv3sd7q9j2cb9sqdc9diwcjayrf082xn")))) (build-system python-build-system) (arguments `(#:tests? #f ;XXX: Tests can only be run within the GitPython repository. From 34fb6c51ca98d96f5643f2d9300764016ca12d23 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 23 May 2018 04:58:05 +0200 Subject: [PATCH 36/45] gnu: connman: Update to 1.36. * gnu/packages/connman.scm (connman): Update to 1.36. --- gnu/packages/connman.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/connman.scm b/gnu/packages/connman.scm index 7e87cd8968..55dd4a632b 100644 --- a/gnu/packages/connman.scm +++ b/gnu/packages/connman.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2017 Clément Lassieur ;;; Copyright © 2017 Ricardo Wurmus -;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -43,7 +43,7 @@ (define-public connman (package (name "connman") - (version "1.35") + (version "1.36") (source (origin (method url-fetch) @@ -51,7 +51,7 @@ name "-" version ".tar.xz")) (sha256 (base32 - "1apj5j25kj7v1bsfv3nh54aiq873nfrsjfbj85p5qm3ihfwxxmv6")))) + "0x00dq5c2frz06md3g5y0jh5kbcj2hrfl5qjcqga8gs4ri0xp2f7")))) (build-system gnu-build-system) (arguments `(#:configure-flags From 996e45cbf7e46977e16c4ebc5ecc394db28f4a21 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Mon, 16 Apr 2018 10:36:53 +0200 Subject: [PATCH 37/45] gnu: Add gdal. * gnu/packages/geo.scm (gdal): New variable. --- gnu/packages/geo.scm | 94 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index 0ec3d6e756..924d13867e 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2018 Arun Isaac ;;; Copyright © 2018 Joshua Sierles, Nextjournal +;;; Copyright © 2018 Julien Lepiller ;;; ;;; This file is part of GNU Guix. ;;; @@ -43,6 +44,7 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages image) #:use-module (gnu packages icu4c) + #:use-module (gnu packages pcre) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages statistics) @@ -611,3 +613,95 @@ spatial data and models on top of static maps from various online sources (e.g Google Maps and Stamen Maps). It includes tools common to those tasks, including functions for geolocation and routing.") (license license:gpl2))) + +(define-public gdal + (package + (name "gdal") + (version "2.2.4") + (source (origin + (method url-fetch) + (uri (string-append + "http://download.osgeo.org/gdal/" version "/gdal-" + version ".tar.gz")) + (sha256 + (base32 + "1951f7b69x3d1vic0rmq92q8f4bj3hbxnxmj5jl0cc3zg0isgmdr")) + (modules '((guix build utils))) + (snippet + `(begin + ;; TODO: frmts contains a lot more bundled code. + (for-each delete-file-recursively + ;; bundled code + '("frmts/png/libpng" + "frmts/gif/giflib" + "frmts/jpeg/libjpeg" + "frmts/jpeg/libjpeg12" + "frmts/gtiff/libtiff" + "frmts/gtiff/libgeotiff" + "frmts/zlib" + "ogr/ogrsf_frmts/geojson/libjson")))))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f + #:configure-flags + (let-syntax ((with (syntax-rules () + ((_ option input) + (string-append option "=" + (assoc-ref %build-inputs input)))))) + (list + ;; TODO: --with-pcidsk, --with-pcraster + (with "--with-freexl" "freexl") + (with "--with-libjson-c" "json-c") + (with "--with-png" "libpng") + (with "--with-webp" "libwebp") + (with "--with-gif" "giflib") + (with "--with-jpeg" "libjpeg") + (with "--with-libtiff" "libtiff") + (with "--with-geotiff" "libgeotiff") + (with "--with-libz" "zlib") + "--with-pcre")) + #:phases + (modify-phases %standard-phases + (add-before 'build 'fix-path + (lambda _ + (substitute* "frmts/mrf/mrf_band.cpp" + (("\"../zlib/zlib.h\"") ""))))))) + (inputs + `(("freexl" ,freexl) + ("geos" ,geos) + ("giflib" ,giflib) + ("json-c" ,json-c) + ("libgeotiff" ,libgeotiff) + ("libjpeg-turbo" ,libjpeg-turbo) + ("libpng" ,libpng) + ("libtiff" ,libtiff) + ("libwebp" ,libwebp) + ("pcre" ,pcre) + ("zlib" ,zlib))) + (home-page "http://www.gdal.org/") + (synopsis "Raster and vector geospatial data format library") + (description "GDAL is a translator library for raster and vector geospatial +data formats. As a library, it presents a single raster abstract data model +and single vector abstract data model to the calling application for all +supported formats. It also comes with a variety of useful command line +utilities for data translation and processing.") + (license (list + ;; general license + license:expat + ;; frmts/gtiff/tif_float.c, frmts/pcraster/libcsf, + ;; ogr/ogrsf_frmts/dxf/intronurbs.cpp, frmts/pdf/pdfdataset.cpp + ;; frmts/mrf/ + license:bsd-3 + ;; frmts/hdf4/hdf-eos/* + ;; similar to the expat license, but without guarantee exclusion + (license:non-copyleft "file://frmts/hdf4/hdf-eos/README") + ;; frmts/grib/degrib/ + license:public-domain ; with guarantee exclusion + ;; port/cpl_minizip* + ;; Some bsd-inspired license + (license:non-copyleft "file://port/LICENCE_minizip") + ;; alg/internal_libqhull + ;; Some 5-clause license + (license:non-copyleft "file://alg/internal_libqhull/COPYING.txt") + ;; frmts/mrf/libLERC + license:asl2.0)))) From 2b9be1a63aef1a0e67e94bfd9a676b6cb5c8463f Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Mon, 16 Apr 2018 10:45:52 +0200 Subject: [PATCH 38/45] gnu: Add postgis. * gnu/packages/geo.scm (postgis): New variable. --- gnu/packages/geo.scm | 54 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index 924d13867e..9995ff3e88 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -45,6 +45,7 @@ #:use-module (gnu packages image) #:use-module (gnu packages icu4c) #:use-module (gnu packages pcre) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages statistics) @@ -705,3 +706,56 @@ utilities for data translation and processing.") (license:non-copyleft "file://alg/internal_libqhull/COPYING.txt") ;; frmts/mrf/libLERC license:asl2.0)))) + +(define-public postgis + (package + (name "postgis") + (version "2.4.4") + (source (origin + (method url-fetch) + (uri (string-append "https://download.osgeo.org/postgis/source/postgis-" + version ".tar.gz")) + (sha256 + (base32 + "1hm8migjb53cymp4qvg1h20yqllmy9f7x0awv5450391i6syyqq6")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f + #:make-flags + (list (string-append "datadir=" (assoc-ref %outputs "out") "/share") + (string-append "docdir="(assoc-ref %outputs "out") "/share/doc") + (string-append "pkglibdir="(assoc-ref %outputs "out") "/lib") + (string-append "bindir=" (assoc-ref %outputs "out") "/bin")) + #:phases + (modify-phases %standard-phases + (add-before 'build 'fix-install-path + (lambda* (#:key outputs #:allow-other-keys) + (substitute* '("raster/loader/Makefile" "raster/scripts/python/Makefile") + (("\\$\\(DESTDIR\\)\\$\\(PGSQL_BINDIR\\)") + (string-append (assoc-ref outputs "out") "/bin")))))))) + (inputs + `(("gdal" ,gdal) + ("geos" ,geos) + ("libxml2" ,libxml2) + ("pcre" ,pcre) + ("postgresql" ,postgresql) + ("proj.4" ,proj.4))) + (native-inputs + `(("perl" ,perl) + ("pkg-config" ,pkg-config))) + (home-page "https://postgis.net") + (synopsis "Spatial database extender for PostgreSQL") + (description "PostGIS is a spatial database extender for PostgreSQL +object-relational database. It adds support for geographic objects allowing +location queries to be run in SQL.") + (license (list + ;; General license + license:gpl2+ + ;; loader/dbfopen, safileio.*, shapefil.h, shpopen.c + license:expat + ;; loader/getopt.* + license:public-domain + ;; doc/xsl + license:bsd-3 ; files only say "BSD" + ;; doc + license:cc-by-sa3.0)))) From ad3068b5f1ffd3ebd7c92b11b963b886be095ef9 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 23 May 2018 16:08:41 -0400 Subject: [PATCH 39/45] gnu: procps: Update to 3.3.15 [fixes CVE-2018-{1122,1123,1124,1125,1126}]. * gnu/packages/linux.scm (procps): Update to 3.3.15. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 4d3bda8824..44a2e4acab 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -695,14 +695,14 @@ by Robert Shea and Robert Anton Wilson.") (define-public procps (package (name "procps") - (version "3.3.14") + (version "3.3.15") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/procps-ng/Production/" "procps-ng-" version ".tar.xz")) (sha256 (base32 - "0v3j6rkzzscqds37i105cxx3q4dk04rsgpqfd5p7hzcvk59h5njy")))) + "0r84kwa5fl0sjdashcn4vh7hgfm7ahdcysig3mcjvpmkzi7p9g8h")))) (build-system gnu-build-system) (arguments '(#:modules ((guix build utils) From 24c9d8b084e10ee2b4ac0a322853fc5bf7be3100 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 24 May 2018 01:13:34 -0400 Subject: [PATCH 40/45] gnu: linux-libre@4.9: Update to 4.9.102. * gnu/packages/linux.scm (linux-libre-4.9): Update to 4.9.102. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 44a2e4acab..b7bb932018 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -413,8 +413,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.9 - (make-linux-libre "4.9.101" - "1s8zpl3dnz0nrg0by6hnss5z20iwlcwdg5x4251w0l9la81p05v5" + (make-linux-libre "4.9.102" + "1y32rc2zi2is4yl184i1vbbvc7gvkyr15r325g2syascxqzxarn0" %intel-compatible-systems #:configuration-file kernel-config)) From a75702d242a8ea22be6031c2abbcf6e8938b7a51 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 24 May 2018 01:14:34 -0400 Subject: [PATCH 41/45] gnu: linux-libre@4.14: Update to 4.14.43. * gnu/packages/linux.scm (%linux-libre-4.14-version): Update to 4.14.43. (%linux-libre-4.14-hash): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index b7bb932018..3f7188f1d2 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -403,8 +403,8 @@ It has been modified to remove all non-free binary blobs.") %linux-compatible-systems #:configuration-file kernel-config)) -(define %linux-libre-4.14-version "4.14.42") -(define %linux-libre-4.14-hash "12vjzb5g1abg5d5w6z65n1ixw7c3y9f5zwx3gd3854dgnynbq708") +(define %linux-libre-4.14-version "4.14.43") +(define %linux-libre-4.14-hash "0mqgxp0001j11m5s82s7j4398443zx474a5kpzql7cqf3aljfybm") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version From b7290048eaae65aaa477cd353e5b83719ff52a0c Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 24 May 2018 01:15:22 -0400 Subject: [PATCH 42/45] gnu: linux-libre: Update to 4.16.11. * gnu/packages/linux.scm (%linux-libre-version): Update to 4.16.11. (%linux-libre-hash): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 3f7188f1d2..7ec62853e9 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -394,8 +394,8 @@ It has been modified to remove all non-free binary blobs.") ;; supports qemu "virt" machine and possibly a large number of ARM boards. ;; See : https://wiki.debian.org/DebianKernel/ARMMP. -(define %linux-libre-version "4.16.10") -(define %linux-libre-hash "028xl0jj7wibd8v93r1r0vnw5iifin46p6ghd9m3w095lailqlsi") +(define %linux-libre-version "4.16.11") +(define %linux-libre-hash "0dc6kwpzncg2a8haf081i5si4ry9y3x6m39bjblbx9c809hdls6g") (define-public linux-libre (make-linux-libre %linux-libre-version From d236c51c17c848529c2b9df9555abd6c0c8fe421 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Wed, 23 May 2018 15:06:39 +0200 Subject: [PATCH 43/45] gnu: Add nyacc-for-mes. * gnu/packages/mes.scm (nyacc-for-mes): New variable. --- gnu/packages/mes.scm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm index d2ce394a03..23541b38f7 100644 --- a/gnu/packages/mes.scm +++ b/gnu/packages/mes.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017 Jan Nieuwenhuizen +;;; Copyright © 2017,2018 Jan Nieuwenhuizen ;;; Copyright © 2017, 2018 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; @@ -56,6 +56,19 @@ extensive examples, including parsers for the Javascript and C99 languages.") (home-page "https://savannah.nongnu.org/projects/nyacc") (license (list gpl3+ lgpl3+)))) +(define-public nyacc-for-mes + (package + (inherit nyacc) + (version "0.80.42") + (source (origin + (method url-fetch) + (uri (string-append "https://gitlab.com/janneke/nyacc" + "/-/archive/v" version + "/nyacc-" version ".tar.gz")) + (sha256 + (base32 + "0c8c8kxir0h2d4nxr131xbkfs7c80haipmkp2g6677sh14wn0b3y")))))) + (define-public mes (let ((triplet "i686-unknown-linux-gnu")) (package From 0b689430669ee0330db810e0a8f5102c96d77ef7 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Wed, 23 May 2018 15:07:26 +0200 Subject: [PATCH 44/45] gnu: mescc-tools: Update to 0.4. * gnu/packages/mes.scm (mescc-tools): Update to 0.4. --- gnu/packages/mes.scm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm index 23541b38f7..34d572fe74 100644 --- a/gnu/packages/mes.scm +++ b/gnu/packages/mes.scm @@ -120,7 +120,7 @@ Guile-] Scheme interpreter prototype in C and a Nyacc-based C compiler in (define-public mescc-tools (package (name "mescc-tools") - (version "0.3") + (version "0.4") (source (origin (method url-fetch) (uri (string-append @@ -130,13 +130,18 @@ Guile-] Scheme interpreter prototype in C and a Nyacc-based C compiler in (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "04lvyyp7isamgddrnfpi92lgqdflzdzx5kc2x8fxmgsjisy0dgr4")))) + "1iwc8xqwzdaqckb4jkkisljrgn8ii4bl7dzk1l2kpv98hsyq9vi1")))) (build-system gnu-build-system) + (supported-systems '("i686-linux" "x86_64-linux")) (arguments `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) #:test-target "test" #:phases (modify-phases %standard-phases - (delete 'configure)))) + (delete 'configure) + (add-after 'install 'install-2 + (lambda _ + (let ((out (assoc-ref %outputs "out"))) + (copy-file "bin/blood-elf" (string-append out "/bin/blood-elf")))))))) (synopsis "Tools for the full source bootstrapping process") (description "Mescc-tools is a collection of tools for use in a full source From 11c237f54e4de5916e204aba574ab15f7818a3f5 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Wed, 23 May 2018 15:07:54 +0200 Subject: [PATCH 45/45] gnu: mes: Update to 0.14. * gnu/packages/mes.scm (mes): Use nyacc-for-mes. Update to 0.14. --- gnu/packages/mes.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm index 34d572fe74..a8a19854de 100644 --- a/gnu/packages/mes.scm +++ b/gnu/packages/mes.scm @@ -73,7 +73,7 @@ extensive examples, including parsers for the Javascript and C99 languages.") (let ((triplet "i686-unknown-linux-gnu")) (package (name "mes") - (version "0.13") + (version "0.14") (source (origin (method url-fetch) (uri (string-append "https://gitlab.com/janneke/mes" @@ -81,12 +81,12 @@ extensive examples, including parsers for the Javascript and C99 languages.") "/mes-" version ".tar.gz")) (sha256 (base32 - "0db4f32rak839ff3n7ywkkng9672457pd2pvvgvcsyndqmmdsqw0")))) + "1i23jk61iibjza2s3lka56ry4ma424g2fyk8pjd5bd1dyjd0yrzf")))) (build-system gnu-build-system) (supported-systems '("i686-linux" "x86_64-linux")) (propagated-inputs `(("mescc-tools" ,mescc-tools) - ("nyacc" ,nyacc))) + ("nyacc" ,nyacc-for-mes))) (native-inputs `(("guile" ,guile-2.2) ,@(if (not (string-prefix? "i686-linux" (or (%current-target-system) @@ -98,7 +98,9 @@ extensive examples, including parsers for the Javascript and C99 languages.") '()) ("perl" ,perl))) ;build-aux/gitlog-to-changelog (arguments - `(#:phases + `(#:make-flags (list + (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases (modify-phases %standard-phases (add-before 'install 'generate-changelog (lambda _