From 94db92f78ec9c849f9c8da05d4d35356909f9fbe Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 3 Jun 2017 19:48:52 -0400 Subject: artwork: Use a descriptive name for the source directory. * gnu/artwork.scm (%artwork-repository): Set a descriptive file-name and use the full commit hash when fetching. --- gnu/artwork.scm | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/gnu/artwork.scm b/gnu/artwork.scm index 94c89143a6..92498b8b23 100644 --- a/gnu/artwork.scm +++ b/gnu/artwork.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015 Ludovic Courtès +;;; Copyright © 2017 Leo Famulari ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,13 +29,16 @@ ;;; Code: (define %artwork-repository - (origin - (method git-fetch) - (uri (git-reference - (url "git://git.savannah.gnu.org/guix/guix-artwork.git") - (commit "6998d30"))) - (sha256 - (base32 - "0k7j3pj9s3zqiqmfkapypssvzx3f12yr0cc2rbzxqfii0b4clp1j")))) + (let ((commit "6998d30425289b087c64f63e7415df2241e591db")) + (origin + (method git-fetch) + (uri (git-reference + (url "git://git.savannah.gnu.org/guix/guix-artwork.git") + (commit commit))) + (file-name (string-append "guix-artwork-" (string-take commit 7) + "-checkout")) + (sha256 + (base32 + "0k7j3pj9s3zqiqmfkapypssvzx3f12yr0cc2rbzxqfii0b4clp1j"))))) ;;; artwork.scm ends here -- cgit v1.2.3 From 9a68fb6c3002f3e440bb01d8c25c660800101c1b Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 7 Jun 2017 18:18:39 -0400 Subject: gnu: Rename 's' to 's-shell'. * gnu/packages/shells.scm (s): Rename to ... (s-shell): ... this. [name]: Change to "s-shell". --- gnu/packages/shells.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index 5e04e86539..41d1758250 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -503,11 +503,11 @@ Its features include: @end enumerate\n") (license bsd-2))) -(define-public s +(define-public s-shell (let ((commit "6604341edb3a775ff94415762af3ee9bd86bfb3c") (revision "1")) (package - (name "s") + (name "s-shell") (version (string-append "0.0.0-" revision "." (string-take commit 7))) (source (origin -- cgit v1.2.3 From 517c66c03d16604e0f59db313368a676b761f79b Mon Sep 17 00:00:00 2001 From: Clément Lassieur Date: Wed, 7 Jun 2017 23:42:30 +0200 Subject: gnu: livemedia-utils: Change source URL to one that is archived. * gnu/packages/video.scm (livemedia-utils)[source]: Change it. --- gnu/packages/video.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 4b3d83df28..1053f76bb7 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -2176,7 +2176,7 @@ many codecs and formats supported by libmediainfo.") (source (origin (method url-fetch) (uri (string-append - "http://www.live555.com/liveMedia/public/live." + "https://download.videolan.org/contrib/live555/live." version ".tar.gz")) (sha256 (base32 -- cgit v1.2.3 From f45878a80d412dd79c95e9274c3ee5dd24e1cec9 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 28 Mar 2017 05:52:28 -0400 Subject: mapped-devices: Cope with delayed appearance of LUKS source. Fixes . * gnu/system/mapped-devices.scm (open-luks-device): If 'find-partition-by-luks-uuid' fails, try again once per second, up to ten times. --- gnu/system/mapped-devices.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gnu/system/mapped-devices.scm b/gnu/system/mapped-devices.scm index 2959802c96..18b9f5b4b6 100644 --- a/gnu/system/mapped-devices.scm +++ b/gnu/system/mapped-devices.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2016 Andreas Enge +;;; Copyright © 2017 Mark H Weaver ;;; ;;; This file is part of GNU Guix. ;;; @@ -114,7 +115,16 @@ ;; udev-populated /dev/disk/by-id directory but udev may ;; be unavailable at the time we run this. (if (bytevector? source) - (or (find-partition-by-luks-uuid source) + (or (let loop ((tries-left 10)) + (and (positive? tries-left) + (or (find-partition-by-luks-uuid source) + ;; If the underlying partition is + ;; not found, try again after + ;; waiting a second, up to ten + ;; times. FIXME: This should be + ;; dealt with in a more robust way. + (begin (sleep 1) + (loop (- tries-left 1)))))) (error "LUKS partition not found" source)) source) -- cgit v1.2.3 From 1577a65809f8ef1883d18cf81095f632b65c042a Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 7 Jun 2017 19:13:59 -0400 Subject: gnu: guile-2.2: Increase max-silent-time to 6 hours. * gnu/packages/guile.scm (guile-2.2)[properties]: Increase max-silent-time to 6 hours. --- gnu/packages/guile.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 5b85a61c12..b9cd664604 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -240,7 +240,8 @@ without requiring the source code to be rewritten.") (snippet '(for-each delete-file (find-files "prebuilt" "\\.go$"))))) (properties '((timeout . 72000) ;20 hours - (max-silent-time . 10800))) ;3 hours (needed on ARM) + (max-silent-time . 21600))) ;6 hours (needed on ARM + ; when heavily loaded) (native-search-paths (list (search-path-specification (variable "GUILE_LOAD_PATH") -- cgit v1.2.3 From f69ff11af7a06b285c4d370f5c68788c3f4503d0 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Thu, 8 Jun 2017 09:38:41 +1000 Subject: gnu: diamond: Update to 0.9.6. * gnu/packages/bioinformatics.scm (diamond): Update to 0.9.6. --- 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 a5c28afc6e..bf4dd87eb3 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -2093,7 +2093,7 @@ identify enrichments with functional annotations of the genome.") (define-public diamond (package (name "diamond") - (version "0.9.3") + (version "0.9.6") (source (origin (method url-fetch) (uri (string-append @@ -2102,7 +2102,7 @@ identify enrichments with functional annotations of the genome.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1fs5ilvda50vfdg9wll35w8hcpq3jlkp8q2kim4llkwljkj8bls3")))) + "1y8a10b695pvgn7kk2s87jdwbdf7iszpnr6139pw8ina1ajs4w8y")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; no "check" target -- cgit v1.2.3 From 4391a0295e090e7440685ff886f0c99c753c40a3 Mon Sep 17 00:00:00 2001 From: Clément Lassieur Date: Thu, 8 Jun 2017 11:23:27 +0200 Subject: gnu: the-silver-searcher: Update to 2.0.0. * gnu/packages/code.scm (the-silver-searcher): Update to 2.0.0. --- gnu/packages/code.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index 1576c23b35..6f25b7cd82 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2015 Ricardo Wurmus ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017 Clément Lassieur ;;; ;;; This file is part of GNU Guix. ;;; @@ -191,7 +192,7 @@ COCOMO model or user-provided parameters.") (define-public the-silver-searcher (package (name "the-silver-searcher") - (version "1.0.2") + (version "2.0.0") (source (origin (method url-fetch) (uri (string-append @@ -199,7 +200,7 @@ COCOMO model or user-provided parameters.") version ".tar.gz")) (sha256 (base32 - "0v54himv65w294l0k4lhdyc6kvpgijn8b9g5356479fzy7hphjkg")))) + "04wm3r5p2mgv8mdkvysak0d5199h5y0yzl032624brfxpzmqfcq0")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) -- cgit v1.2.3 From dfe93c9ac0578b624f952d0bf98142f8f1c20775 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Thu, 8 Jun 2017 10:33:36 +0200 Subject: gnu: Add nftables. * gnu/packages/linux.scm (nftables): New variable Signed-off-by: Kei Kebreau --- gnu/packages/linux.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 217647e071..14e921ecd3 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -72,6 +72,7 @@ #:use-module (gnu packages libusb) #:use-module (gnu packages man) #:use-module (gnu packages maths) + #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) #:use-module (gnu packages networking) #:use-module (gnu packages ninja) @@ -3854,6 +3855,36 @@ libnftnl has been previously known as libnftables. This library is currently used by nftables.") (license license:gpl2+))) +(define-public nftables + (package + (name "nftables") + (version "0.7") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.nftables.org/projects/nftables" + "/files/nftables-" version ".tar.bz2")) + (sha256 + (base32 + "0hzdqigdx4i6jbpxbdyq4zy4p4waqn8l6vvz7685ikh1v0wr4qzy")))) + (build-system gnu-build-system) + (inputs `(("bison", bison) + ("flex", flex) + ("gmp", gmp) + ("libmnl", libmnl) + ("libnftnl", libnftnl) + ("readline", readline))) + (native-inputs `(("pkg-config", pkg-config))) + (home-page "http://www.nftables.org") + (synopsis "Userspace utility for Linux packet filtering") + (description "nftables is the project that aims to replace the existing +{ip,ip6,arp,eb}tables framework. Basically, this project provides a new packet +filtering framework, a new userspace utility and also a compatibility layer for +{ip,ip6}tables. nftables is built upon the building blocks of the Netfilter +infrastructure such as the existing hooks, the connection tracking system, the +userspace queueing component and the logging subsystem.") + (license license:gpl2))) + (define-public proot (package (name "proot") -- cgit v1.2.3 From df34f478944217b8621315acbe21d1f1dd63f4be Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sat, 3 Jun 2017 23:43:02 -0700 Subject: build-system: emacs: Factorize include/exclude default arguments. The `install' phase of the emacs-build-system contained default arguments duplicated from the host side `emacs-build' procedure. This change factorizes them so that: 1. They are not duplicated. 2. They can be reused and extended easily when defining emacs packages. * guix/build/emacs-build-system.scm (%default-include, %default-exclude): New variables. (install): Use %default-include and %default-exclude as default arguments. * guix/build-system/emacs.scm: Use and re-export %default-include, %default-exclude from (guix build emacs-build-system). (emacs-build): Use %default-include and %default-exclude as default arguments. Signed-off-by: Arun Isaac --- guix/build-system/emacs.scm | 11 ++++++++--- guix/build/emacs-build-system.scm | 11 +++++++++-- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/guix/build-system/emacs.scm b/guix/build-system/emacs.scm index 9a46ecfd26..02296829c6 100644 --- a/guix/build-system/emacs.scm +++ b/guix/build-system/emacs.scm @@ -17,6 +17,8 @@ ;;; along with GNU Guix. If not, see . (define-module (guix build-system emacs) + #:use-module ((guix build emacs-build-system) + #:select (%default-include %default-exclude)) #:use-module (guix store) #:use-module (guix utils) #:use-module (guix packages) @@ -28,7 +30,10 @@ #:use-module (srfi srfi-26) #:export (%emacs-build-system-modules emacs-build - emacs-build-system)) + emacs-build-system) + #:re-export (%default-include ;for convenience + %default-exclude)) + ;; Commentary: ;; @@ -83,8 +88,8 @@ (phases '(@ (guix build emacs-build-system) %standard-phases)) (outputs '("out")) - (include ''("^[^/]*\\.el$" "^[^/]*\\.info$" "^doc/.*\\.info$")) - (exclude ''("^\\.dir-locals\\.el$" "-pkg\\.el$" "^[^/]*tests?\\.el$")) + (include (quote %default-include)) + (exclude (quote %default-exclude)) (search-paths '()) (system (%current-system)) (guile #f) diff --git a/guix/build/emacs-build-system.scm b/guix/build/emacs-build-system.scm index 50af4be363..bda699ddf4 100644 --- a/guix/build/emacs-build-system.scm +++ b/guix/build/emacs-build-system.scm @@ -29,6 +29,8 @@ #:use-module (ice-9 regex) #:use-module (ice-9 match) #:export (%standard-phases + %default-include + %default-exclude emacs-build)) ;; Commentary: @@ -42,6 +44,11 @@ ;; archive signature. (define %install-suffix "/share/emacs/site-lisp/guix.d") +;; These are the default inclusion/exclusion regexps for the install phase. +(define %default-include '("^[^/]*\\.el$" "^[^/]*\\.info$" "^doc/.*\\.info$")) +(define %default-exclude '("^\\.dir-locals\\.el$" "-pkg\\.el$" + "^[^/]*tests?\\.el$")) + (define gnu:unpack (assoc-ref gnu:%standard-phases 'unpack)) (define (store-file->elisp-source-file file) @@ -96,8 +103,8 @@ store in '.el' files." #t)) (define* (install #:key outputs - (include '("^[^/]*\\.el$" "^[^/]*\\.info$" "^doc/.*\\.info$")) - (exclude '("^\\.dir-locals\\.el$" "-pkg\\.el$" "^[^/]*tests?\\.el$")) + (include %default-include) + (exclude %default-exclude) #:allow-other-keys) "Install the package contents." -- cgit v1.2.3 From 45f523d9f018c262900e94b0f70f17b05118941c Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 4 Jun 2017 20:57:03 -0700 Subject: gnu: emacs: Fix ert-runner by adding 'reporters' subdirectory. Previous this change, ert-runner would fail with error: "Invalid reporter: dot". * gnu/packages/emacs.scm (ert-runner)[include]: Add regexp to match elisp files under the 'reporters' subdirectory. Signed-off-by: Arun Isaac --- gnu/packages/emacs.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 987aaf4226..a4cb4a0b3a 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -4814,7 +4814,8 @@ Emacs.") ;; determined by emacs' standard initialization ;; procedure (list "")))) - #t)))))) + #t)))) + #:include (cons* "^reporters/.*\\.el$" %default-include))) (home-page "https://github.com/rejeep/ert-runner.el") (synopsis "Opinionated Ert testing workflow") (description "@code{ert-runner} is a tool for Emacs projects tested -- cgit v1.2.3 From 8b22107e5d0bdeb300fb33b5a40aed2057a66b94 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Mon, 29 May 2017 14:24:20 +0200 Subject: bootloader: Use menu-entry to define custom bootloader entries. * gnu/bootloader.scm (): New variable. Export associated getters, This record is extracted from grub module. * gnu/bootloader/extlinux.scm (extlinux-configuration-file): Use menu-entry->boot-parameters to convert menu-entry records to boot-parameters. * gnu/bootloader/grub.scm (): Remove. (boot-parameters->menu-entry): Remove. (grub-configuration-file): Use boot-parameters to create configuration entries. * gnu/system.scm (menu-entry->boot-parameters): New exported procedure. --- gnu/bootloader.scm | 26 ++++++++++++++- gnu/bootloader/extlinux.scm | 3 +- gnu/bootloader/grub.scm | 77 ++++++++++++++++++--------------------------- gnu/system.scm | 14 +++++++++ 4 files changed, 71 insertions(+), 49 deletions(-) diff --git a/gnu/bootloader.scm b/gnu/bootloader.scm index 4e77974d31..d5fcf30f05 100644 --- a/gnu/bootloader.scm +++ b/gnu/bootloader.scm @@ -23,7 +23,15 @@ #:use-module (guix records) #:use-module (guix ui) #:use-module (srfi srfi-1) - #:export (bootloader + #:export (menu-entry + menu-entry? + menu-entry-label + menu-entry-device + menu-entry-linux + menu-entry-linux-arguments + menu-entry-initrd + + bootloader bootloader? bootloader-name bootloader-package @@ -48,6 +56,22 @@ %bootloaders lookup-bootloader-by-name)) + +;;; +;;; Menu-entry record. +;;; + +(define-record-type* + menu-entry make-menu-entry + menu-entry? + (label menu-entry-label) + (device menu-entry-device ; file system uuid, label, or #f + (default #f)) + (linux menu-entry-linux) + (linux-arguments menu-entry-linux-arguments + (default '())) ; list of string-valued gexps + (initrd menu-entry-initrd)) ; file name of the initrd as a gexp + ;;; ;;; Bootloader record. diff --git a/gnu/bootloader/extlinux.scm b/gnu/bootloader/extlinux.scm index 67b8815d40..0a1263aed7 100644 --- a/gnu/bootloader/extlinux.scm +++ b/gnu/bootloader/extlinux.scm @@ -37,7 +37,8 @@ corresponding to old generations of the system." (define all-entries - (append entries (bootloader-configuration-menu-entries config))) + (append entries (map menu-entry->boot-parameters + (bootloader-configuration-menu-entries config)))) (define (boot-parameters->gexp params) (let ((label (boot-parameters-label params)) diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm index 49616b7164..f1cc3324db 100644 --- a/gnu/bootloader/grub.scm +++ b/gnu/bootloader/grub.scm @@ -66,12 +66,15 @@ (define (strip-mount-point mount-point file) "Strip MOUNT-POINT from FILE, which is a gexp or other lowerable object denoting a file name." - (if (string=? mount-point "/") - file - #~(let ((file #$file)) - (if (string-prefix? #$mount-point file) - (substring #$file #$(string-length mount-point)) - file)))) + (match mount-point + ((? string? mount-point) + (if (string=? mount-point "/") + file + #~(let ((file #$file)) + (if (string-prefix? #$mount-point file) + (substring #$file #$(string-length mount-point)) + file)))) + (#f file))) (define-record-type* grub-image make-grub-image @@ -103,19 +106,6 @@ denoting a file name." (color-highlight '((fg . yellow) (bg . black))) (color-normal '((fg . light-gray) (bg . black))))) ;XXX: #x303030 -(define-record-type* - menu-entry make-menu-entry - menu-entry? - (label menu-entry-label) - (device menu-entry-device ; file system uuid, label, or #f - (default #f)) - (device-mount-point menu-entry-device-mount-point - (default "/")) - (linux menu-entry-linux) - (linux-arguments menu-entry-linux-arguments - (default '())) ; list of string-valued gexps - (initrd menu-entry-initrd)) ; file name of the initrd as a gexp - ;;; ;;; Background image & themes. @@ -312,16 +302,6 @@ code." (#f #~(format #f "search --file --set ~a" #$file))))) -(define (boot-parameters->menu-entry conf) - "Convert a instance to a corresponding ." - (menu-entry - (label (boot-parameters-label conf)) - (device (boot-parameters-store-device conf)) - (device-mount-point (boot-parameters-store-mount-point conf)) - (linux (boot-parameters-kernel conf)) - (linux-arguments (boot-parameters-kernel-arguments conf)) - (initrd (boot-parameters-initrd conf)))) - (define* (grub-configuration-file config entries #:key (system (%current-system)) @@ -331,33 +311,36 @@ code." STORE-FS, a object. OLD-ENTRIES is taken to be a list of menu entries corresponding to old generations of the system." (define all-entries - (map boot-parameters->menu-entry - (append entries - (bootloader-configuration-menu-entries config)))) - - (define entry->gexp - (match-lambda - (($ label device device-mount-point - linux arguments initrd) + (append entries (map menu-entry->boot-parameters + (bootloader-configuration-menu-entries config)))) + + (define (boot-parameters->gexp params) + (let ((device (boot-parameters-store-device params)) + (device-mount-point (boot-parameters-store-mount-point params)) + (label (boot-parameters-label params)) + (kernel (boot-parameters-kernel params)) + (arguments (boot-parameters-kernel-arguments params)) + (initrd (boot-parameters-initrd params))) ;; Here DEVICE is the store and DEVICE-MOUNT-POINT is its mount point. - ;; Use the right file names for LINUX and INITRD in case + ;; Use the right file names for KERNEL and INITRD in case ;; DEVICE-MOUNT-POINT is not "/", meaning that the store is on a ;; separate partition. - (let ((linux (strip-mount-point device-mount-point linux)) - (initrd (strip-mount-point device-mount-point initrd))) + (let ((kernel (strip-mount-point device-mount-point kernel)) + (initrd (strip-mount-point device-mount-point initrd))) #~(format port "menuentry ~s { ~a linux ~a ~a initrd ~a }~%" #$label - #$(grub-root-search device linux) - #$linux (string-join (list #$@arguments)) - #$initrd))))) + #$(grub-root-search device kernel) + #$kernel (string-join (list #$@arguments)) + #$initrd)))) (mlet %store-monad ((sugar (eye-candy config - (menu-entry-device (first all-entries)) - (menu-entry-device-mount-point + (boot-parameters-store-device + (first all-entries)) + (boot-parameters-store-mount-point (first all-entries)) #:system system #:port #~port))) @@ -374,12 +357,12 @@ set default=~a set timeout=~a~%" #$(bootloader-configuration-default-entry config) #$(bootloader-configuration-timeout config)) - #$@(map entry->gexp all-entries) + #$@(map boot-parameters->gexp all-entries) #$@(if (pair? old-entries) #~((format port " submenu \"GNU system, old configurations...\" {~%") - #$@(map entry->gexp (map boot-parameters->menu-entry old-entries)) + #$@(map boot-parameters->gexp old-entries) (format port "}~%")) #~())))) diff --git a/gnu/system.scm b/gnu/system.scm index 0076f2fcb1..674c6f85be 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -112,6 +112,7 @@ boot-parameters-initrd read-boot-parameters read-boot-parameters-file + menu-entry->boot-parameters local-host-aliases %setuid-programs @@ -299,6 +300,19 @@ The object has its kernel-arguments extended in order to make it bootable." system root-device))) #f))) + +(define (menu-entry->boot-parameters menu-entry) + "Convert a instance to a corresponding ." + (boot-parameters + (label (menu-entry-label menu-entry)) + (root-device #f) + (boot-name 'custom) + (store-device #f) + (store-mount-point #f) + (kernel (menu-entry-linux menu-entry)) + (kernel-arguments (menu-entry-linux-arguments menu-entry)) + (initrd (menu-entry-initrd menu-entry)))) + ;;; ;;; Services. -- cgit v1.2.3 From 74e64724519f8db62f8d5b14dd7aba3c7ddf94af Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Tue, 16 May 2017 11:54:55 +0200 Subject: doc: Adapt to multiple bootloader support. * doc/guix.texi (GRUB configuration): Rename to "Bootloader configuration". Remove device-mount-point field from menu-entry description. Adapt occurences of "GRUB" in other sections. --- doc/guix.texi | 177 ++++++++++++++++++++++++++++++++-------------------------- 1 file changed, 98 insertions(+), 79 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index f69c84dea6..00bf24d3f7 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -199,7 +199,7 @@ System Configuration * X.509 Certificates:: Authenticating HTTPS servers. * Name Service Switch:: Configuring libc's name service switch. * Initial RAM Disk:: Linux-Libre bootstrapping. -* GRUB Configuration:: Configuring the boot loader. +* Bootloader Configuration:: Configuring the boot loader. * Invoking guix system:: Instantiating a system configuration. * Running GuixSD in a VM:: How to run GuixSD in a virtual machine. * Defining Services:: Adding new service definitions. @@ -7797,7 +7797,7 @@ instance to support new system services. * X.509 Certificates:: Authenticating HTTPS servers. * Name Service Switch:: Configuring libc's name service switch. * Initial RAM Disk:: Linux-Libre bootstrapping. -* GRUB Configuration:: Configuring the boot loader. +* Bootloader Configuration:: Configuring the boot loader. * Invoking guix system:: Instantiating a system configuration. * Running GuixSD in a VM:: How to run GuixSD in a virtual machine. * Defining Services:: Adding new service definitions. @@ -7980,7 +7980,7 @@ system, should you ever need to. Speaking of roll-back, each time you run @command{guix system reconfigure}, a new @dfn{generation} of the system is created---without modifying or deleting previous generations. Old system generations get -an entry in the GRUB boot menu, allowing you to boot them in case +an entry in the bootloader boot menu, allowing you to boot them in case something went wrong with the latest generation. Reassuring, no? The @command{guix system list-generations} command lists the system generations available on disk. It is also possible to roll back the @@ -8036,7 +8036,7 @@ List of strings or gexps representing additional arguments to pass on the command-line of the kernel---e.g., @code{("console=ttyS0")}. @item @code{bootloader} -The system bootloader configuration object. @xref{GRUB Configuration}. +The system bootloader configuration object. @xref{Bootloader Configuration}. @item @code{initrd} (default: @code{base-initrd}) @cindex initrd @@ -15711,32 +15711,52 @@ upon booting. All the derivations referenced by @var{exp} are automatically copied to the initrd. @end deffn -@node GRUB Configuration -@subsection GRUB Configuration +@node Bootloader Configuration +@subsection Bootloader Configuration -@cindex GRUB +@cindex bootloader @cindex boot loader -The operating system uses GNU@tie{}GRUB as its boot loader -(@pxref{Overview, overview of GRUB,, grub, GNU GRUB Manual}). It is -configured using a @code{grub-configuration} declaration. This data type -is exported by the @code{(gnu system grub)} module and described below. +The operating system supports multiple bootloaders. The bootloader is +configured using @code{bootloader-configuration} declaration. All the +fields of this structure are bootloader agnostic except for one field, +@code{bootloader} that indicates the bootloader to be configured and +installed. -@deftp {Data Type} grub-configuration -The type of a GRUB configuration declaration. +Some of the bootloaders do not honor every field of +@code{bootloader-configuration}. For instance, the extlinux +bootloader does not support themes and thus ignores the @code{theme} +field. + +@deftp {Data Type} bootloader-configuration +The type of a bootloader configuration declaration. @table @asis +@item @code{bootloader} +@cindex EFI, bootloader +@cindex UEFI, bootloader +@cindex BIOS, bootloader +The bootloader to use, as a @code{bootloader} object. For now +@code{grub-bootloader}, @code{grub-efi-bootloader} and +@code{extlinux-bootloader} are supported. @code{grub-efi-bootloader}, +allows to boot on modern systems using the @dfn{Unified Extensible +Firmware Interface} (UEFI). + +Available bootloaders are described in @code{(gnu bootloader @dots{})} +modules. + @item @code{device} This is a string denoting the boot device. It must be a device name -understood by the @command{grub-install} command, such as -@code{/dev/sda} or @code{(hd0)} (@pxref{Invoking grub-install,,, grub, +understood by the bootloader @command{installer} command, such as +@code{/dev/sda} or @code{(hd0)} (for GRUB, @pxref{Invoking grub-install,,, grub, GNU GRUB Manual}). @item @code{menu-entries} (default: @code{()}) A possibly empty list of @code{menu-entry} objects (see below), denoting -entries to appear in the GRUB boot menu, in addition to the current +entries to appear in the bootloader menu, in addition to the current system entry and the entry pointing to previous system generations. +generations. @item @code{default-entry} (default: @code{0}) The index of the default boot menu entry. Index 0 is for the entry of the @@ -15746,42 +15766,37 @@ current system. The number of seconds to wait for keyboard input before booting. Set to 0 to boot immediately, and to -1 to wait indefinitely. -@item @code{theme} (default: @var{%default-theme}) -The @code{grub-theme} object describing the theme to use. - -@item @code{grub} (default: @code{grub}) -@cindex EFI, bootloader -@cindex UEFI, bootloader -@cindex BIOS, bootloader -The GRUB package to use. Currently either @code{grub}, for ``legacy'' -x86 BIOS systems, or @code{grub-efi}, for modern systems using the -@dfn{Unified Extensible Firmware Interface} (UEFI). +@item @code{theme} (default: @var{#f}) +The bootloader theme object describing the theme to use. If no theme +is provided, some bootloaders might use a default theme, that's true +for GRUB. @item @code{terminal-outputs} (default: @code{'gfxterm}) -The output terminals used for the GRUB boot menu, as a list of symbols. -These values are accepted: @code{console}, @code{serial}, -@code{serial_@{0-3@}}, @code{gfxterm}, @code{vga_text}, @code{mda_text}, -@code{morse}, and @code{pkmodem}. This field corresponds to the GRUB -variable GRUB_TERMINAL_OUTPUT (@pxref{Simple configuration,,, grub,GNU -GRUB manual}). +The output terminals used for the bootloader boot menu, as a list of +symbols. GRUB accepts the values: @code{console}, @code{serial}, +@code{serial_@{0-3@}}, @code{gfxterm}, @code{vga_text}, +@code{mda_text}, @code{morse}, and @code{pkmodem}. This field +corresponds to the GRUB variable GRUB_TERMINAL_OUTPUT (@pxref{Simple +configuration,,, grub,GNU GRUB manual}). @item @code{terminal-inputs} (default: @code{'()}) -The input terminals used for the GRUB boot menu, as a list of symbols. -The default is the native platform terminal as determined by GRUB at -run-time. These values are accepted: @code{console}, @code{serial}, -@code{serial_@{0-3@}}, @code{at_keyboard}, and @code{usb_keyboard}. -This field corresponds to the GRUB variable GRUB_TERMINAL_INPUT -(@pxref{Simple configuration,,, grub,GNU GRUB manual}). +The input terminals used for the bootloader boot menu, as a list of +symbols. For GRUB, the default is the native platform terminal as +determined at run-time. GRUB accepts the values: @code{console}, +@code{serial}, @code{serial_@{0-3@}}, @code{at_keyboard}, and +@code{usb_keyboard}. This field corresponds to the GRUB variable +GRUB_TERMINAL_INPUT (@pxref{Simple configuration,,, grub,GNU GRUB +manual}). @item @code{serial-unit} (default: @code{#f}) -The serial unit used by GRUB, as an integer from 0 to 3. The default -value is chosen by GRUB at run-time; currently GRUB chooses 0, which +The serial unit used by the bootloader, as an integer from 0 to 3. +For GRUB it is choosen at run-time; currently GRUB chooses 0, which corresponds to COM1 (@pxref{Serial terminal,,, grub,GNU GRUB manual}). @item @code{serial-speed} (default: @code{#f}) -The speed of the serial interface, as an integer. The default value is -chosen by GRUB at run-time; currently GRUB chooses 9600@tie{}bps -(@pxref{Serial terminal,,, grub,GNU GRUB manual}). +The speed of the serial interface, as an integer. For GRUB, the +default value is chosen at run-time; currently GRUB chooses +9600@tie{}bps (@pxref{Serial terminal,,, grub,GNU GRUB manual}). @end table @end deftp @@ -15805,7 +15820,7 @@ along these lines: Details below. @deftp {Data Type} menu-entry -The type of an entry in the GRUB boot menu. +The type of an entry in the bootloader menu. @table @asis @@ -15819,9 +15834,9 @@ The Linux kernel image to boot, for example: (file-append linux-libre "/bzImage") @end example -It is also possible to specify a device explicitly in the file path -using GRUB's device naming convention (@pxref{Naming convention,,, grub, -GNU GRUB manual}), for example: +For GRUB, it is also possible to specify a device explicitly in the +file path using GRUB's device naming convention (@pxref{Naming +convention,,, grub, GNU GRUB manual}), for example: @example "(hd0,msdos1)/boot/vmlinuz" @@ -15837,33 +15852,30 @@ The list of extra Linux kernel command-line arguments---e.g., @item @code{initrd} A G-Expression or string denoting the file name of the initial RAM disk to use (@pxref{G-Expressions}). - @item @code{device} (default: @code{#f}) -The device where the kernel and initrd are to be found---i.e., the GRUB +The device where the kernel and initrd are to be found---i.e., for GRUB, @dfn{root} for this menu entry (@pxref{root,,, grub, GNU GRUB manual}). This may be a file system label (a string), a file system UUID (a -bytevector, @pxref{File Systems}), or @code{#f}, in which case GRUB will -search the device containing the file specified by the @code{linux} -field (@pxref{search,,, grub, GNU GRUB manual}). It must @emph{not} be -an OS device name such as @file{/dev/sda1}. - -@item @code{device-mount-point} (default: @code{"/"}) -The mount point of the above device on the system. You probably do not -need to change the default value. GuixSD uses it to strip the prefix of -store file names for systems where @file{/gnu} or @file{/gnu/store} is -on a separate partition. +bytevector, @pxref{File Systems}), or @code{#f}, in which case +the bootloader will search the device containing the file specified by +the @code{linux} field (@pxref{search,,, grub, GNU GRUB manual}). It +must @emph{not} be an OS device name such as @file{/dev/sda1}. @end table @end deftp @c FIXME: Write documentation once it's stable. -Themes are created using the @code{grub-theme} form, which is not -documented yet. +Fow now only GRUB has theme support. GRUB themes are created using +the @code{grub-theme} form, which is not documented yet. @defvr {Scheme Variable} %default-theme -This is the default GRUB theme used by the operating system, with a -fancy background image displaying the GNU and Guix logos. +This is the default GRUB theme used by the operating system if no +@code{theme} field is specified in @code{bootloader-configuration} +record. + +It comes with a fancy background image displaying the GNU and Guix +logos. @end defvr @@ -15903,9 +15915,10 @@ list-generations}). If that generation already exists, it will be overwritten. This behavior mirrors that of @command{guix package} (@pxref{Invoking guix package}). -It also adds a GRUB menu entry for the new OS configuration, and moves -entries for older configurations to a submenu---unless -@option{--no-bootloader} is passed. +It also adds a bootloader menu entry for the new OS configuration, +---unless @option{--no-bootloader} is passed. For GRUB, it moves +entries for older configurations to a submenu, allowing you to choose +an older system generation at boot time should you need it. @quotation Note @c The paragraph below refers to the problem discussed at @@ -15919,11 +15932,16 @@ once @command{reconfigure} has completed. @item switch-generation @cindex generations Switch to an existing system generation. This action atomically -switches the system profile to the specified system generation. It also -rearranges the system's existing GRUB menu entries. It makes the menu -entry for the specified system generation the default, and it moves the -entries for the other generations to a submenu. The next time the -system boots, it will use the specified system generation. +switches the system profile to the specified system generation. It +also rearranges the system's existing bootloader menu entries. It +makes the menu entry for the specified system generation the default, +and it moves the entries for the other generatiors to a submenu, if +supported by the bootloader being used. The next time the system +boots, it will use the specified system generation. + +The bootloader itself is not being reinstalled when using this +command. Thus, the installed bootloader is used with an updated +configuration file. The target generation can be specified explicitly by its generation number. For example, the following invocation would switch to system @@ -15945,11 +15963,11 @@ guix system switch-generation -- -1 @end example Currently, the effect of invoking this action is @emph{only} to switch -the system profile to an existing generation and rearrange the GRUB menu -entries. To actually start using the target system generation, you must -reboot after running this action. In the future, it will be updated to -do the same things as @command{reconfigure}, like activating and -deactivating services. +the system profile to an existing generation and rearrange the +bootloader menu entries. To actually start using the target system +generation, you must reboot after running this action. In the future, +it will be updated to do the same things as @command{reconfigure}, +like activating and deactivating services. This action will fail if the specified generation does not exist. @@ -15984,8 +16002,9 @@ files, packages, and so on. It also creates other essential files needed for the system to operate correctly---e.g., the @file{/etc}, @file{/var}, and @file{/run} directories, and the @file{/bin/sh} file. -This command also installs GRUB on the device specified in -@file{my-os-config}, unless the @option{--no-bootloader} option was passed. +This command also installs bootloader on the device specified in +@file{my-os-config}, unless the @option{--no-bootloader} option was +passed. @item vm @cindex virtual machine @@ -16125,7 +16144,7 @@ build users of the daemon (@pxref{Build Environment Setup}). Once you have built, configured, re-configured, and re-re-configured your GuixSD installation, you may find it useful to list the operating system generations available on disk---and that you can choose from the -GRUB boot menu: +bootloader boot menu: @table @code -- cgit v1.2.3 From 758798a9cb9af09e146506d08a4fe7bfdd3d38ba Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 8 Jun 2017 18:00:01 +0200 Subject: gnu: geoclue: Create typelib files. * gnu/packages/gnome.scm (geoclue)[native-inputs]: Add GOBJECT-INTROSPECTION. --- gnu/packages/gnome.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 84ae1cf2f1..4069abab82 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2634,6 +2634,7 @@ output devices.") (("/bin/true") (which "true")))))))) (native-inputs `(("pkg-config" ,pkg-config) + ("gobject-introspection" ,gobject-introspection) ("intltool" ,intltool))) (inputs `(("avahi" ,avahi) -- cgit v1.2.3 From 30e760f0cf6d7c1beae275853b86046ab3b9d7eb Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 8 Jun 2017 18:04:20 +0200 Subject: gnu: gnome-shell: Fix startup failure. Fixes . * gnu/packages/gnome.scm (gnome-shell)[inputs]: Add LIBRSVG and GEOCLUE. --- gnu/packages/gnome.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 4069abab82..9ea3bb07a5 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -5111,6 +5111,10 @@ properties, screen resolution, and other GNOME parameters.") ("startup-notification" ,startup-notification) ("telepathy-logger" ,telepathy-logger) ("upower" ,upower) + ;; XXX: These requirements were added in 3.24, but no mention in NEWS. + ;; Missing propagation? See also: + ("librsvg" ,librsvg) + ("geoclue" ,geoclue) ;; XXX: required by libgjs.la. ("readline" ,readline))) (synopsis "Desktop shell for GNOME") -- cgit v1.2.3 From e7aab7736214d021d43bef598064f9daa95adc19 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Mon, 15 May 2017 17:27:55 +0200 Subject: gnu: kguiaddons: Add more optional inputs. * gnu/packages/kde-frameworks.scm (kguiaddons) [native-inputs]: Add pkg-config. [inputs]:Add qtx11extras. --- gnu/packages/kde-frameworks.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 07943e1e5e..d44692ac6d 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -641,9 +641,11 @@ infrastructure.") (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) + ("pkg-config" ,pkg-config) ("xorg-server" ,xorg-server))) (inputs - `(("qtbase" ,qtbase))) + `(("qtbase" ,qtbase) + ("qtx11extras" ,qtx11extras))) (arguments `(#:phases (modify-phases %standard-phases -- cgit v1.2.3 From 986447c8a61a3746173c960aa9c064843123b77b Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Mon, 15 May 2017 18:12:20 +0200 Subject: gnu: kguiaddons: Remove unused native input. The xorg server is not required since change 1de5b667f896aa2c612416bffac5f77cae94c5f4. * gnu/packages/kde-frameworks.scm (kguiaddons)[native-inputs]: Remove xorg-server. --- gnu/packages/kde-frameworks.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index d44692ac6d..f7f5598fe8 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -641,8 +641,7 @@ infrastructure.") (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) - ("pkg-config" ,pkg-config) - ("xorg-server" ,xorg-server))) + ("pkg-config" ,pkg-config))) (inputs `(("qtbase" ,qtbase) ("qtx11extras" ,qtx11extras))) -- cgit v1.2.3 From 0cd3e818e7bfdfc8812e00b209e75a4298514b07 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Mon, 15 May 2017 17:31:36 +0200 Subject: gnu: kitemmodels: Add more optional inputs. * gnu/packages/kde-frameworks.scm (kitemmodels)[inputs]: Add qtdeclarative. --- gnu/packages/kde-frameworks.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index f7f5598fe8..1547c0154c 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -747,7 +747,8 @@ or user activity.") `(("extra-cmake-modules" ,extra-cmake-modules) ("xorg-server" ,xorg-server))) (inputs - `(("qtbase" ,qtbase))) + `(("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative))) (arguments `(#:phases (modify-phases %standard-phases -- cgit v1.2.3 From 72b073ca9e6a3a9702d4f206602fa105e9af48ab Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Mon, 15 May 2017 18:14:17 +0200 Subject: gnu: kcompletion: Remove unused native input. The xorg server is not required since change 548f99b3e0d3647f29ddc3c3864ca36b655f14ec. * gnu/packages/kde-frameworks.scm (kcompletion)[native-inputs]: Remove xorg-server. --- gnu/packages/kde-frameworks.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 1547c0154c..0354e1d7fd 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -1303,8 +1303,7 @@ utilities.") (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) - ("qttools" ,qttools) - ("xorg-server" ,xorg-server))) + ("qttools" ,qttools))) (inputs `(("kconfig" ,kconfig) ("kwidgetsaddons" ,kwidgetsaddons) -- cgit v1.2.3 From 03ac48248b104becf026418ef0cef9fedfff9bbb Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Mon, 15 May 2017 22:25:28 +0200 Subject: gnu: kde frameworks: Avoid requiring xorg-server for tests. Some packages started a x.org server for testing, which can be avoided by setting QT_QPA_PLATFORM=offscreen. * gnu/packages/kde-frameworks.scm (kitemmodels) [native-inputs]: Remove xorg-server. [arguments]<#phases> 'start-xorg-server' replace by 'check-setup'. (kplotting, kcrash, kimageformats): Likewise. (kitemviews)[native-inputs]: Remove xorg-server. [arguments]<#phases> 'start-xorg-server': Remove phase; 'check-setup': set QT_QPA_PLATFORM=offscreen. --- gnu/packages/kde-frameworks.scm | 64 +++++++++++++++-------------------------- 1 file changed, 23 insertions(+), 41 deletions(-) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 0354e1d7fd..5fe457fb3b 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -744,20 +744,17 @@ or user activity.") "1liq1ppa7xb1dcncv25c2a0xy3l9bvb2a56cff90c0b0vwr239q5")))) (build-system cmake-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("xorg-server" ,xorg-server))) + `(("extra-cmake-modules" ,extra-cmake-modules))) (inputs `(("qtbase" ,qtbase) ("qtdeclarative" ,qtdeclarative))) (arguments `(#:phases (modify-phases %standard-phases - (add-before 'check 'start-xorg-server - (lambda* (#:key inputs #:allow-other-keys) - ;; The test suite requires a running X server. - (system (string-append (assoc-ref inputs "xorg-server") - "/bin/Xvfb :1 &")) - (setenv "DISPLAY" ":1") + (add-before 'check 'check-setup + (lambda _ + ;; make Qt render "offscreen", required for tests + (setenv "QT_QPA_PLATFORM" "offscreen") #t))))) (home-page "https://community.kde.org/Frameworks") (synopsis "Set of item models extending the Qt model-view framework") @@ -807,8 +804,7 @@ model to observers (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) - ("qttools" ,qttools) - ("xorg-server" ,xorg-server))) + ("qttools" ,qttools))) (inputs `(("qtbase" ,qtbase))) (arguments @@ -817,13 +813,8 @@ model to observers (add-before 'check 'check-setup (lambda _ (setenv "DBUS_FATAL_WARNINGS" "0") - #t)) - (add-before 'check 'start-xorg-server - (lambda* (#:key inputs #:allow-other-keys) - ;; The test suite requires a running X server. - (system (string-append (assoc-ref inputs "xorg-server") - "/bin/Xvfb :1 &")) - (setenv "DISPLAY" ":1") + ;; make Qt render "offscreen", required for tests + (setenv "QT_QPA_PLATFORM" "offscreen") #t))))) (home-page "https://community.kde.org/Frameworks") (synopsis "Set of item views extending the Qt model-view framework") @@ -847,19 +838,16 @@ to flat and hierarchical lists.") "1ffy9b08128ym024wlfgnzk52vpy0mbaa91dhndpr40qcz0i67sh")))) (build-system cmake-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("xorg-server" ,xorg-server))) + `(("extra-cmake-modules" ,extra-cmake-modules))) (inputs `(("qtbase" ,qtbase))) (arguments `(#:phases (modify-phases %standard-phases - (add-before 'check 'start-xorg-server - (lambda* (#:key inputs #:allow-other-keys) - ;; The test suite requires a running X server. - (system (string-append (assoc-ref inputs "xorg-server") - "/bin/Xvfb :1 &")) - (setenv "DISPLAY" ":1") + (add-before 'check 'check-setup + (lambda _ ; kplotting + ;; make Qt render "offscreen", required for tests + (setenv "QT_QPA_PLATFORM" "offscreen") #t))))) (home-page "https://community.kde.org/Frameworks") (synopsis "Data plotting library") @@ -1338,8 +1326,7 @@ integrated it into your application's other widgets.") "1cshay7dhbqgh62nq85vd9sm20gq9s9f70mdnzjjh1q7cajybkp3")))) (build-system cmake-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("xorg-server" ,xorg-server))) + `(("extra-cmake-modules" ,extra-cmake-modules))) (inputs `(("kcoreaddons" ,kcoreaddons) ("kwindowsystem" ,kwindowsystem) @@ -1348,12 +1335,10 @@ integrated it into your application's other widgets.") (arguments `(#:phases (modify-phases %standard-phases - (add-before 'check 'start-xorg-server - (lambda* (#:key inputs #:allow-other-keys) - ;; The test suite requires a running X server. - (system "Xvfb :1 &") - (sleep 2) ;XXX: give the server enough time to start - (setenv "DISPLAY" ":1") + (add-before 'check 'check-setup + (lambda _ + ;; make Qt render "offscreen", required for tests + (setenv "QT_QPA_PLATFORM" "offscreen") #t))))) (home-page "https://community.kde.org/Frameworks") (synopsis "Graceful handling of application crashes") @@ -1476,19 +1461,16 @@ by applications to write metadata.") "0q9ng4clqk2dqw43nk1pmq1d61rahc3qr4dmg4y3kjvz3ahnnijw")))) (build-system cmake-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("xorg-server" ,xorg-server))) + `(("extra-cmake-modules" ,extra-cmake-modules))) (inputs `(("qtbase" ,qtbase))) (arguments `(#:phases (modify-phases %standard-phases - (add-before 'check 'start-xorg-server - (lambda* (#:key inputs #:allow-other-keys) - ;; The test suite requires a running X server. - (system (string-append (assoc-ref inputs "xorg-server") - "/bin/Xvfb :1 &")) - (setenv "DISPLAY" ":1") + (add-before 'check 'check-setup + (lambda _ + ;; make Qt render "offscreen", required for tests + (setenv "QT_QPA_PLATFORM" "offscreen") #t))))) (home-page "https://community.kde.org/Frameworks") (synopsis "Plugins to allow QImage to support extra file formats") -- cgit v1.2.3 From 92605669e117cd3f00c5b895bc2833a3d105b4f3 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Mon, 29 May 2017 12:23:14 +0200 Subject: gnu: kimageformats: Add more optional and recommended inputs. * gnu/packages/kde-frameworks.scm (kimageformats) [native-inputs]: Add pkg-config. [inputs]: Add karchive, openexr. [arguments]<#:configure-flags>: Set include-flags. --- gnu/packages/kde-frameworks.scm | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 5fe457fb3b..8aa4419c27 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -43,6 +43,7 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) + #:use-module (gnu packages graphics) #:use-module (gnu packages gstreamer) #:use-module (gnu packages image) #:use-module (gnu packages linux) @@ -1461,9 +1462,12 @@ by applications to write metadata.") "0q9ng4clqk2dqw43nk1pmq1d61rahc3qr4dmg4y3kjvz3ahnnijw")))) (build-system cmake-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules))) + `(("extra-cmake-modules" ,extra-cmake-modules) + ("pkg-config" ,pkg-config))) (inputs - `(("qtbase" ,qtbase))) + `(("karchive" ,karchive) ; for Krita and OpenRaster images + ("openexr" ,openexr) ; for OpenEXR high dynamic-range images + ("qtbase" ,qtbase))) (arguments `(#:phases (modify-phases %standard-phases @@ -1471,7 +1475,14 @@ by applications to write metadata.") (lambda _ ;; make Qt render "offscreen", required for tests (setenv "QT_QPA_PLATFORM" "offscreen") - #t))))) + #t))) + ;; FIXME: The header files of ilmbase (propagated by openexr) are not + ;; found when included by the header files of openexr, and an explicit + ;; flag needs to be set. + #:configure-flags + (list (string-append "-DCMAKE_CXX_FLAGS=-I" + (assoc-ref %build-inputs "ilmbase") + "/include/OpenEXR")))) (home-page "https://community.kde.org/Frameworks") (synopsis "Plugins to allow QImage to support extra file formats") (description "This framework provides additional image format plugins for -- cgit v1.2.3 From 786cb78386f2819375d0b9f6612b4d0c06e0d9e9 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Sat, 3 Jun 2017 11:20:07 +0200 Subject: gnu: kio: Add more optional and recommended inputs. * gnu/packages/kde-frameworks.scm (kio)[inputs]: Add mit-krb5, qtscript. --- gnu/packages/kde-frameworks.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 8aa4419c27..601c61ee3d 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -46,6 +46,7 @@ #:use-module (gnu packages graphics) #:use-module (gnu packages gstreamer) #:use-module (gnu packages image) + #:use-module (gnu packages kerberos) #:use-module (gnu packages linux) #:use-module (gnu packages mp3) #:use-module (gnu packages pdf) @@ -2304,6 +2305,7 @@ makes starting KDE applications faster and reduces memory consumption.") ("extra-cmake-modules" ,extra-cmake-modules))) (inputs `(("acl" ,acl) + ("krb5" ,mit-krb5) ("karchive" ,karchive) ("kauth" ,kauth) ("kcodecs" ,kcodecs) @@ -2320,6 +2322,7 @@ makes starting KDE applications faster and reduces memory consumption.") ("libxml2" ,libxml2) ("libxslt" ,libxslt) ("qtbase" ,qtbase) + ("qtscript" ,qtscript) ("qtx11extras" ,qtx11extras) ("sonnet" ,sonnet))) (arguments -- cgit v1.2.3 From 7cf6793b4e63a74fed35fd143b92fa7be92cb05d Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Sat, 3 Jun 2017 11:38:58 +0200 Subject: gnu: kinit: Add more optional inputs. * gnu/packages/kde-frameworks.scm (kinit) [native-inputs]: Add pkg-config. [inputs]: Add kdoctools, libcap. --- gnu/packages/kde-frameworks.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 601c61ee3d..e4a2e99379 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -2247,7 +2247,8 @@ in applications using the KDE Frameworks.") "08429kjihpaip73wszr3rsii8sdlwgm3kxx7g0hpjhkj9d2jq3m1")))) (build-system cmake-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules))) + `(("extra-cmake-modules" ,extra-cmake-modules) + ("pkg-config" ,pkg-config))) (inputs `(("kauth" ,kauth) ("kbookmarks" ,kbookmarks) @@ -2257,6 +2258,7 @@ in applications using the KDE Frameworks.") ("kconfigwidgets" ,kconfigwidgets) ("kcoreaddons" ,kcoreaddons) ("kcrash" ,kcrash) + ("kdoctools" ,kdoctools) ("kio" ,kio) ("kitemviews" ,kitemviews) ("ki18n" ,ki18n) @@ -2265,6 +2267,7 @@ in applications using the KDE Frameworks.") ("kwidgetsaddons" ,kwidgetsaddons) ("kwindowsystem" ,kwindowsystem) ("kxmlgui" ,kxmlgui) + ("libcap" ,libcap) ; to install start_kdeinit with CAP_SYS_RESOURCE ("qtbase" ,qtbase) ("solid" ,solid))) (home-page "https://community.kde.org/Frameworks") -- cgit v1.2.3 From 37aa54b7221bb1709889d6ba21107b8eb80d6b97 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Sun, 4 Jun 2017 17:55:33 +0200 Subject: gnu: ktexteditor: Add more optional inputs. * gnu/packages/kde-frameworks.scm (ktexteditor)[native-inputs]: Add pkg-config. --- gnu/packages/kde-frameworks.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index e4a2e99379..995d45276e 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -2664,7 +2664,8 @@ types or handled by application specific code.") (propagated-inputs `(("kparts" ,kparts))) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules))) + `(("extra-cmake-modules" ,extra-cmake-modules) + ("pkg-config" ,pkg-config))) (inputs `(("karchive" ,karchive) ("kauth" ,kauth) -- cgit v1.2.3 From faec8b8f0728f63b01f5616c2a927612aff83d90 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Sat, 3 Jun 2017 11:42:46 +0200 Subject: gnu: plasma-framework: Add more optional inputs. * gnu/packages/kde-frameworks.scm (plasma-frameworks)[native-inputs]: Add pkg-config. [inputs]: Add kwayland. --- gnu/packages/kde-frameworks.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 995d45276e..0e7bcb9210 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -2916,7 +2916,8 @@ setUrl, setUserAgent and call.") `(("kpackage" ,kpackage) ("kservice" ,kservice))) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules))) + `(("extra-cmake-modules" ,extra-cmake-modules) + ("pkg-config" ,pkg-config))) (inputs `(("kactivities" ,kactivities) ("karchive" ,karchive) @@ -2938,6 +2939,7 @@ setUrl, setUserAgent and call.") ("ki18n" ,ki18n) ("kjobwidgets" ,kjobwidgets) ("knotificantions" ,knotifications) + ("kwayland" ,kwayland) ("kwidgetsaddons" ,kwidgetsaddons) ("kwindowsystem" ,kwindowsystem) ("kxmlgui" ,kxmlgui) -- cgit v1.2.3 From 73a3598df8dc86ed72d0779c8db0932fa69952c7 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Sun, 4 Jun 2017 18:14:44 +0200 Subject: gnu: kpackage: Add more optional inputs. * gnu/packages/kde-frameworks.scm (kpackage)[inputs]: Add kdoctools. --- gnu/packages/kde-frameworks.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 0e7bcb9210..1aa438b77d 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -1583,6 +1583,7 @@ covers feedback and persistent events.") `(("karchive" ,karchive) ("kconfig" ,kconfig) ("kcoreaddons" ,kcoreaddons) + ("kdoctools" ,kdoctools) ("ki18n" ,ki18n) ("qtbase" ,qtbase))) (arguments -- cgit v1.2.3 From ab313cd0ba59098e7b88627a223204bacd3a7eb9 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Sun, 4 Jun 2017 18:43:09 +0200 Subject: gnu: sonnet: Add optional input (spell-checker). * gnu/packages/kde-frameworks.scm (sonnet)[inputs]: Add hunspell; add todo comment for other language's spell-checker. --- gnu/packages/kde-frameworks.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 1aa438b77d..c5b14eae7f 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -47,6 +47,7 @@ #:use-module (gnu packages gstreamer) #:use-module (gnu packages image) #:use-module (gnu packages kerberos) + #:use-module (gnu packages libreoffice) #:use-module (gnu packages linux) #:use-module (gnu packages mp3) #:use-module (gnu packages pdf) @@ -1192,7 +1193,9 @@ system.") `(("extra-cmake-modules" ,extra-cmake-modules) ("qttools" ,qttools))) (inputs - `(("qtbase" ,qtbase))) + `(("hunspell" ,hunspell) + ;; TODO: hspell (for Hebrew), Voikko (for Finish) + ("qtbase" ,qtbase))) (home-page "https://community.kde.org/Frameworks") (synopsis "Multi-language spell checker") (description "Sonnet is a plugin-based spell checking library for Qt-based -- cgit v1.2.3 From 73577a66f171be57b7d54a53b0d2f655916a06df Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Sun, 4 Jun 2017 20:30:43 +0200 Subject: gnu: gpgmepp: Superseded by gpgme. The C++-bindings are part of gpgme since version 1.7. * gnu/packages/kde-frameworks.scm (gpgmepp)[properties]: New field. --- gnu/packages/kde-frameworks.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index c5b14eae7f..4090f88554 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -205,7 +205,8 @@ Phonon-GStreamer is a backend based on the GStreamer multimedia library.") (home-page "https://community.kde.org/Frameworks") (synopsis "C++ bindings/wrapper for gpgme") (description "C++ bindings/wrapper for gpgme.") - (license license:lgpl2.1+))) + (license license:lgpl2.1+) + (properties `((superseded . ,gpgme))))) (define-public kpmcore (package -- cgit v1.2.3 From 51361afd78f84ef26bf5f0408cd2c9418b2af700 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Sun, 4 Jun 2017 20:29:08 +0200 Subject: gnu: kwallet: Use gpgme instead of gpgmepp. The C++-bindings are part of gpgme since version 1.7. * gnu/packages/kde-frameworks.scm(kwallet)[inputs]: Replace gpgmepp by gpgme. --- gnu/packages/kde-frameworks.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 4090f88554..60b2ca012a 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -2784,7 +2784,7 @@ It supports rich text as well as plain text.") (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) (inputs - `(("gpgmepp" ,gpgmepp) + `(("gpgme" ,gpgme) ;; TODO: Add gpgme Qt-bindings ("kauth" ,kauth) ("kcodecs" ,kcodecs) ("kconfig" ,kconfig) -- cgit v1.2.3 From 9ebffc504d8f27a10d2bf66ddd74ca138a6d448f Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Mon, 5 Jun 2017 13:17:58 +0200 Subject: gnu: kiconthemes: Re-enable tests. * gnu/packages/kde-frameworks.scm (kiconthemes)[arguments]: Test-suite is now passing; reenable it. --- gnu/packages/kde-frameworks.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 60b2ca012a..8f5f480058 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -2219,8 +2219,7 @@ window does not need focus for them to be activated.") ("qtbase" ,qtbase) ("qtsvg" ,qtsvg))) (arguments - `(#:tests? #f ; FIXME: Test failure - #:phases + `(#:phases (modify-phases %standard-phases (add-before 'check 'check-setup (lambda* (#:key inputs #:allow-other-keys) -- cgit v1.2.3 From 3406d0b3a97b93f43c1cd3c20293ec6f6d125b53 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Sun, 4 Jun 2017 21:10:51 +0200 Subject: gnu: kwidgetsaddons: Re-enable tests. * gnu/packages/kde-frameworks.scm (kwidgetsaddons)[arguments]: Test-suite is now passing; reenable it. --- gnu/packages/kde-frameworks.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 8f5f480058..e9c8b887bc 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -970,8 +970,7 @@ represented by a QPoint or a QSize.") (inputs `(("qtbase" ,qtbase))) (arguments - `(#:tests? #f ; FIXME: Regression after update to qt 5.7 - #:phases + `(#:phases (modify-phases %standard-phases (add-before 'check 'check-setup (lambda _ -- cgit v1.2.3 From ed4a3ec68c24693fcefe8ca7c1f55d62cc5bf482 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Mon, 5 Jun 2017 00:42:08 +0200 Subject: gnu: kwindowsystem: Fix some test-cases (test-suite still disabled). MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Make five tests pass, three are still failing – thus the test-suite is still disabled. This commit's aim is to retain the progress. * gnu/packages/kde-frameworks.scm (kwindowsystem)[native-inputs]: Add dbus. [arguments]<#:test?>: Change comment. <#:phases>: Replace phase `check` by new one befind 'install'. --- gnu/packages/kde-frameworks.scm | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index e9c8b887bc..18e445e215 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -1013,6 +1013,7 @@ configuration pages, message boxes, and password requests.") (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) ("pkg-config" ,pkg-config) + ("dbus" ,dbus) ; for the tests ("qttools" ,qttools) ("xorg-server" ,xorg-server))) ; for the tests (inputs @@ -1021,7 +1022,31 @@ configuration pages, message boxes, and password requests.") ("qtx11extras" ,qtx11extras) ("xcb-utils-keysyms" ,xcb-util-keysyms))) (arguments - `(#:tests? #f)) ; FIXME: 8/10 tests fail. + `(#:tests? #f ; FIXME: 3/12 tests fail. + #:phases + (modify-phases %standard-phases + (delete 'check) + (add-after 'install 'check + (lambda* (#:key inputs outputs tests? #:allow-other-keys) + ;; TODO: Simplify and use "common" phases when test-suite passes + (if tests? + (begin + (let ((out (assoc-ref outputs "out"))) + (setenv "QT_PLUGIN_PATH" + (string-append out "/lib/plugins:" + (getenv "QT_PLUGIN_PATH")))) + ;; The test suite requires a running X server, setting + ;; QT_QPA_PLATFORM=offscreen does not suffice and even make + ;; some tests fail. + (system (string-append (assoc-ref inputs "xorg-server") + "/bin/Xvfb :1 -screen 0 640x480x24 &")) + (setenv "DISPLAY" ":1") + (setenv "CTEST_OUTPUT_ON_FAILURE" "1") + (setenv "DBUS_FATAL_WARNINGS" "0") + (zero? (system* "dbus-launch" "ctest" "."))) + (begin + (format #t "test suite not run~%") + #t))))))) (home-page "https://community.kde.org/Frameworks") (synopsis "KDE access to the windowing system") (description "KWindowSystem provides information about and allows -- cgit v1.2.3 From 1e0ae3b352d4521aa2a88158ab49277cea7cd0bd Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Sun, 4 Jun 2017 17:55:56 +0200 Subject: gnu: kde.scm, kde-frameworks.scm: Add and update comments. * gnu/packages/kde-frameworks.scm (kpackage,plasma-framework)[arguments]: Update comment (number of failed tests). (kdeclarative)[arguments]<#:phases>: Update comment. (bluez-qt,knotifications,kpty,ktexteditor,ktextwidgets,solid)[inputs]: Add a todo comment. (kguiaddons): Add a todo comment. (phonon)[native-inputs]: Add a todo comment. * gnu/packages/kde-frameworks.scm (kauth)[arguments]<#:phases>: Add a todo comment. --- gnu/packages/kde-frameworks.scm | 23 +++++++++++++++++++---- gnu/packages/kde.scm | 2 ++ 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 18e445e215..8fe71d5b5d 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -123,6 +123,8 @@ common build settings used in software produced by the KDE community.") "177647r2jqfm32hqcz2nqfqv6v48hn5ab2vc31svba2wz23fkgk7")))) (build-system cmake-build-system) (native-inputs + ;; TODO: Add qttools to build the Qt Designer plugin. + ;; TODO: Think about adding pulseaudio. Is it required for sound? `(("extra-cmake-modules" ,extra-cmake-modules))) (inputs `(("qtbase" ,qtbase))) @@ -296,6 +298,7 @@ http://freedesktop.org/wiki/Specifications/open-collaboration-services/") `(("dbus" ,dbus) ("extra-cmake-modules" ,extra-cmake-modules))) (inputs + ;; TODO: qtdeclarative (yields one failing test) `(("qtbase" ,qtbase))) (arguments `(#:configure-flags @@ -643,6 +646,10 @@ infrastructure.") (base32 "1nmlwvy2jdmh0m6bmahvk68vl2rs9s28c10dkncpi6gvhsdkigqx")))) (build-system cmake-build-system) + ;; TODO: Build packages for the Python bindings. Ideally this will be + ;; done for all versions of python guix supports. Requires python, + ;; python-sip, clang-python, libclang. Requires python-2 in all cases for + ;; clang-python. (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) ("pkg-config" ,pkg-config))) @@ -1193,6 +1200,7 @@ which are used in DBus communication.") (inputs `(("qtbase" ,qtbase) ("udev" ,eudev))) + ;; TODO: Add runtime-only dependency MediaPlayerInfo (home-page "https://community.kde.org/Frameworks") (synopsis "Desktop hardware abstraction") (description "Solid is a device integration framework. It provides a way of @@ -1573,6 +1581,9 @@ asynchronous jobs.") ("kwindowsystem" ,kwindowsystem) ("phonon" ,phonon) ("qtbase" ,qtbase) + ;; TODO: qtspeech (new in Qt 5.9) + ;; TODO: Think about adding dbusmenu-qt5 from + ;; https://launchpad.net/libdbusmenu-qt ("qtx11extras" ,qtx11extras))) (arguments `(#:phases @@ -1615,7 +1626,7 @@ covers feedback and persistent events.") ("ki18n" ,ki18n) ("qtbase" ,qtbase))) (arguments - `(#:tests? #f ; FIXME: 1/4 tests fail. + `(#:tests? #f ; FIXME: 3/9 tests fail. #:phases (modify-phases %standard-phases (add-before 'check 'check-setup @@ -1648,6 +1659,7 @@ were traditional plugins.") (inputs `(("kcoreaddons" ,kcoreaddons) ("ki18n" ,ki18n) + ;; TODO: utempter, for managing UTMP entries ("qtbase" ,qtbase))) (arguments `(#:tests? #f ; FIXME: 1/1 tests fail. @@ -2013,7 +2025,8 @@ their settings.") (modify-phases %standard-phases (add-before 'check 'start-xorg-server (lambda* (#:key inputs #:allow-other-keys) - ;; The test suite requires a running X server. + ;; The test suite requires a running X server, setting + ;; QT_QPA_PLATFORM=offscreen does not suffice. (system (string-append (assoc-ref inputs "xorg-server") "/bin/Xvfb :1 -screen 0 640x480x24 &")) (setenv "DISPLAY" ":1") @@ -2695,7 +2708,8 @@ types or handled by application specific code.") `(("extra-cmake-modules" ,extra-cmake-modules) ("pkg-config" ,pkg-config))) (inputs - `(("karchive" ,karchive) + `(;; TODO: editor-config + ("karchive" ,karchive) ("kauth" ,kauth) ("kbookmarks" ,kbookmarks) ("kcodecs" ,kcodecs) @@ -2774,6 +2788,7 @@ library.") ("kservice" ,kservice) ("kwidgetsaddons" ,kwidgetsaddons) ("kwindowsystem" ,kwindowsystem) + ;; TODO: qtspeech (new in Qt 5.9) ("qtbase" ,qtbase))) (arguments `(#:phases @@ -2978,7 +2993,7 @@ setUrl, setUserAgent and call.") ("qtx11extras" ,qtx11extras) ("solid" ,solid))) (arguments - `(#:tests? #f ; FIXME: 13/14 tests fail. + `(#:tests? #f ; FIXME: 9/15 tests fail. #:phases (modify-phases %standard-phases (add-before 'check 'check-setup diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index b481bb98db..a5ad8da062 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -293,6 +293,8 @@ used in KDE development tools Kompare and KDevelop.") (modify-phases %standard-phases (add-before 'configure 'patch-cmakelists (lambda _ + ;; TODO: Verify: This should no longer be necessary, since + ;; KF5AuthConfig.cmake.in contains this already. (substitute* "processcore/CMakeLists.txt" (("KAUTH_HELPER_INSTALL_DIR") "KDE_INSTALL_LIBEXECDIR")))) (replace 'check -- cgit v1.2.3 From 6175937011bc7891006468ea700f90d3335e6886 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 8 Jun 2017 15:25:30 -0400 Subject: gnu: certbot, python-acme: Update to 0.15.0. * gnu/packages/tls.scm (certbot, python-acme, python2-acme): Update to 0.15.0. (python-acme, python2-acme)[arguments]: Remove 'patch-dependency' phase. This issue was fixed upstream: https://github.com/certbot/certbot/commit/d0e471dc8093bd0d08c5a739e5cf9677240d9c0e --- gnu/packages/tls.scm | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 7f62b37690..cdb4becb07 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -484,25 +484,17 @@ security, and applying best practice development processes.") (package (name "python-acme") ;; Remember to update the hash of certbot when updating python-acme. - (version "0.14.2") + (version "0.15.0") (source (origin (method url-fetch) (uri (pypi-uri "acme" version)) (sha256 (base32 - "1kbgpjabbly7r757vyr1050ixnm9hyvrbf9n6aq49cgmb147ysqn")))) + "11zwgj663vr575pbqw74ia10wxaw16i8rnkcivsrbsx148rxdbcz")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-dependency - ;; This module is part of the Python standard library, so we don't - ;; need to use an external package. - ;; https://github.com/certbot/certbot/pull/2249 - (lambda _ - (substitute* "setup.py" - (("'argparse',") "")) - #t)) (add-after 'build 'build-documentation (lambda _ (zero? (system* "make" "-C" "docs" "man" "info")))) @@ -549,7 +541,7 @@ security, and applying best practice development processes.") (uri (pypi-uri name version)) (sha256 (base32 - "1b39hybswzm8mkarg1mwpx47wffqg57jcgi52mz5iz60rxym9j2v")))) + "1srvmjxz75dbafx7xfg1w3n9h3srr9p2ljnfsih9dwwd5cxh9i5q")))) (build-system python-build-system) (arguments `(#:python ,python-2 -- cgit v1.2.3 From 28c98738009e522c48fc484033a0009ab7cea99d Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Thu, 8 Jun 2017 15:58:45 -0400 Subject: gnu: minetest: Update to 0.4.16. * gnu/packages/games.scm (minetest-data, minetest): Update to 0.4.16. --- gnu/packages/games.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 9153a2b5cf..d63c6d0ddf 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -959,7 +959,7 @@ match, cannon keep, and grave-itation pit.") (define minetest-data (package (name "minetest-data") - (version "0.4.15") + (version "0.4.16") (source (origin (method url-fetch) (uri (string-append @@ -968,7 +968,7 @@ match, cannon keep, and grave-itation pit.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "12kxklcd1b5n0f369zf3xxhvkrizxj4d9xv0dh8crfqiymaym0zm")))) + "0nibpm600rbv9dg1zgcsl5grlbqx0b5l6cg1lp6sqkwvjialb4ga")))) (build-system trivial-build-system) (native-inputs `(("source" ,source) @@ -1000,7 +1000,7 @@ match, cannon keep, and grave-itation pit.") (define-public minetest (package (name "minetest") - (version "0.4.15") + (version "0.4.16") (source (origin (method url-fetch) (uri (string-append @@ -1009,7 +1009,7 @@ match, cannon keep, and grave-itation pit.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1ag3jcj7kpq3ph12zirk1c0mj9i0g50wmw932f8gi11liq8yd12n")))) + "0mbnf1ma4gsw9ah68ply04059xkfx5psdxwalxp78sgmx4ypkwqf")))) (build-system cmake-build-system) (arguments '(#:configure-flags -- cgit v1.2.3 From 525da27c25bf16dfcb08472dec546e3ed4cebc65 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 8 Jun 2017 19:11:52 +0200 Subject: gnu: php: Update to 7.1.6. * gnu/packages/php.scm (php): Update to 7.1.6. --- gnu/packages/php.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm index 1b55cd4eb9..b6f64bc0ef 100644 --- a/gnu/packages/php.scm +++ b/gnu/packages/php.scm @@ -53,7 +53,7 @@ (define-public php (package (name "php") - (version "7.1.5") + (version "7.1.6") (home-page "https://secure.php.net/") (source (origin (method url-fetch) @@ -61,7 +61,7 @@ name "-" version ".tar.xz")) (sha256 (base32 - "1b7njiqgy66ga5c8wsm78mqqjr7lj3hlpwbbvksi2mn4jv1s6jfi")) + "0nr49gqhk4pv8kcdc60cl1mgwlinawpraq9ba15whzmb472lsn01")) (modules '((guix build utils))) (snippet '(with-directory-excursion "ext" -- cgit v1.2.3 From 10f4353dd6a89076a9088456f164109f9719d7cc Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 8 Jun 2017 23:16:28 +0200 Subject: doc: Add missing node in master menu. * doc/guix.texi (Top): Add missing ref to "Debugging Build Failures". --- doc/guix.texi | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 00bf24d3f7..d6275fe7ae 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -138,7 +138,7 @@ Programming Interface Defining Packages -* package Reference:: The package data type. +* package Reference :: The package data type. * origin Reference:: The origin data type. Utilities @@ -163,6 +163,7 @@ Invoking @command{guix build} * Common Build Options:: Build options for most commands. * Package Transformation Options:: Creating variants of packages. * Additional Build Options:: Options specific to 'guix build'. +* Debugging Build Failures:: Real life packaging experience. GNU Distribution @@ -4866,7 +4867,7 @@ described in the subsections below. * Common Build Options:: Build options for most commands. * Package Transformation Options:: Creating variants of packages. * Additional Build Options:: Options specific to 'guix build'. -* Debugging Build Failures:: Real life packaging experience +* Debugging Build Failures:: Real life packaging experience. @end menu @node Common Build Options -- cgit v1.2.3 From 5abfa08d676efb11e6b1cc98a8be397c19da4b53 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 8 Jun 2017 23:17:50 +0200 Subject: doc: Add Hartmut to the @copying section. * doc/guix.texi: Add a copyright line for Hartmut. --- doc/guix.texi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index d6275fe7ae..87aaae8545 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -37,7 +37,8 @@ Copyright @copyright{} 2017 Carlo Zancanaro@* Copyright @copyright{} 2017 Thomas Danckaert@* Copyright @copyright{} 2017 humanitiesNerd@* Copyright @copyright{} 2017 Christopher Allan Webber@* -Copyright @copyright{} 2017 Marius Bakke +Copyright @copyright{} 2017 Marius Bakke@* +Copyright @copyright{} 2017 Hartmut Goebel Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or -- cgit v1.2.3 From ea4678a427b5c95f13a25faf4dca792f0bb9bbd8 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 8 Jun 2017 23:33:31 +0200 Subject: gnu: gnuastro: Update to 0.3. * gnu/packages/astronomy.scm (gnuastro): Update to 0.3. Adjust as suggested by 'guix lint'. --- gnu/packages/astronomy.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 6984f10742..2aa65d5880 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -93,7 +93,7 @@ systems in a FITS image header.") (define-public gnuastro (package (name "gnuastro") - (version "0.2") + (version "0.3") (source (origin (method url-fetch) @@ -101,7 +101,7 @@ systems in a FITS image header.") version ".tar.gz")) (sha256 (base32 - "0099g7zqg1gr9y94ybhyjgx9pkn9zv4rj1xb00fkybfw8w6ij9iv")))) + "109xjwbs36gbkx5sd5yzf6ailfcldc5d28vl1n19z0ylfzww4nwa")))) (inputs `(("cfitsio" ,cfitsio) ("gsl" ,gsl) @@ -109,7 +109,7 @@ systems in a FITS image header.") ("wcslib" ,wcslib))) (build-system gnu-build-system) (home-page "https://www.gnu.org/software/gnuastro/") - (synopsis "Astronomical data manipulation programs") + (synopsis "Astronomy utilities") (description "The GNU Astronomy Utilities (Gnuastro) is a suite of programs for the manipulation and analysis of astronomical data.") (license license:gpl3+))) -- cgit v1.2.3 From dfcd02c0f69a36bf91bfd1dfc9f8144fa6888df5 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 8 Jun 2017 23:54:56 +0200 Subject: gnu: artanis: Update to 0.2.1. * gnu/packages/guile.scm (artanis): Update to 0.2.1. [inputs]: Switch to GUILE-2.2. [arguments]: Adjust #:make-flags for Guile 2.2. Take .go files from lib/guile/2.2. Add 'wrap-art' phase. * gnu/packages/patches/artanis-fix-Makefile.in.patch: Remove. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/guile.scm | 29 +++++---- gnu/packages/patches/artanis-fix-Makefile.in.patch | 70 ---------------------- 3 files changed, 19 insertions(+), 81 deletions(-) delete mode 100644 gnu/packages/patches/artanis-fix-Makefile.in.patch diff --git a/gnu/local.mk b/gnu/local.mk index ab3fbb2d39..01bcff584a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -504,7 +504,6 @@ dist_patch_DATA = \ %D%/packages/patches/agg-am_c_prototype.patch \ %D%/packages/patches/antiword-CVE-2014-8123.patch \ %D%/packages/patches/apr-skip-getservbyname-test.patch \ - %D%/packages/patches/artanis-fix-Makefile.in.patch \ %D%/packages/patches/aspell-default-dict-dir.patch \ %D%/packages/patches/ath9k-htc-firmware-binutils.patch \ %D%/packages/patches/ath9k-htc-firmware-gcc.patch \ diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index b9cd664604..b57f4c3b6c 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -387,18 +387,17 @@ program can be installed in one go.") (define-public artanis (package (name "artanis") - (version "0.1.2") + (version "0.2.1") (source (origin (method url-fetch) (uri (string-append "ftp://alpha.gnu.org/gnu/artanis/artanis-" version ".tar.gz")) (sha256 (base32 - "19m3ak12cqk8js9d2mdg11kh4fjsq8frfpd10qw75h0zpr5cywpp")) - (patches (search-patches "artanis-fix-Makefile.in.patch")))) + "041ajcg2pz918kd9iqcj4inpzddc3impvz3r2nhlpbv8zrz011hn")))) (build-system gnu-build-system) ;; TODO: Add guile-dbi and guile-dbd optional dependencies. - (inputs `(("guile" ,guile-2.0))) + (inputs `(("guile" ,guile-2.2))) (native-inputs `(("bash" ,bash) ;for the `source' builtin ("pkgconfig" ,pkg-config) ("util-linux" ,util-linux))) ;for the `script' command @@ -406,15 +405,15 @@ program can be installed in one go.") '(#:make-flags ;; TODO: The documentation must be built with the `docs' target. (let* ((out (assoc-ref %outputs "out")) - (dir (string-append out "/share/guile/site/2.0"))) + (scm (string-append out "/share/guile/site/2.2")) + (go (string-append out "/lib/guile/2.2/site-ccache"))) ;; Don't use (%site-dir) for site paths. - (list (string-append "MOD_PATH=" dir) - (string-append "MOD_COMPILED_PATH=" dir))) + (list (string-append "MOD_PATH=" scm) + (string-append "MOD_COMPILED_PATH=" go))) #:test-target "test" #:phases (modify-phases %standard-phases - (add-before - 'install 'substitute-root-dir + (add-before 'install 'substitute-root-dir (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (substitute* "Makefile" ;ignore the execution of bash.bashrc @@ -422,7 +421,17 @@ program can be installed in one go.") (substitute* "Makefile" ;set the root of config files to OUT ((" /etc") (string-append " " out "/etc"))) (mkdir-p (string-append out "/bin")) ;for the `art' executable - #t)))))) + #t))) + (add-after 'install 'wrap-art + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (scm (string-append out "/share/guile/site/2.2")) + (go (string-append out "/lib/guile/2.2/site-ccache"))) + (wrap-program (string-append bin "/art") + `("GUILE_LOAD_PATH" ":" prefix (,scm)) + `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,go))) + #t)))))) (synopsis "Web application framework written in Guile") (description "GNU Artanis is a web application framework written in Guile Scheme. A web application framework (WAF) is a software framework that is diff --git a/gnu/packages/patches/artanis-fix-Makefile.in.patch b/gnu/packages/patches/artanis-fix-Makefile.in.patch deleted file mode 100644 index 7e4800d364..0000000000 --- a/gnu/packages/patches/artanis-fix-Makefile.in.patch +++ /dev/null @@ -1,70 +0,0 @@ -Applies until an Artanis release comes with the following patches -applied: -* -* -diff -ru artanis-0.1.2/Makefile.in artanis-0.1.2.1/Makefile.in ---- artanis-0.1.2/Makefile.in 2016-02-10 12:35:18.800490571 -0200 -+++ artanis-0.1.2.1/Makefile.in 2016-10-15 19:44:35.140907367 -0300 -@@ -19,9 +19,18 @@ - MOD_OBJ := $(OBJ)/artanis - BIN := bin - TEMP_LIB_PATH := $(OBJ) --MOD_PATH := $(shell guile -c "(display (%site-dir))") - MOD_COMPILED_PATH := $(shell guile -c "(display (%site-ccache-dir))") -+ -+ifdef DESTDIR -+INFO_DIR := $(DESTDIR)/share/info/ -+MOD_PATH := $(DESTDIR)/$(shell guile -c "(display (%site-dir))") - MOD_TARGET_PATH := $(DESTDIR)/$(MOD_COMPILED_PATH) -+else -+INFO_DIR := $(PREFIX)/share/info/ -+MOD_PATH := $(shell guile -c "(display (%site-dir))") -+MOD_TARGET_PATH := $(MOD_COMPILED_PATH) -+endif -+ - GUILE_CFLAGS := -Wunsupported-warning -Wunbound-variable -Warity-mismatch -Wduplicate-case-datum -Wbad-case-datum -Wformat - GUILEC := GUILE_LOAD_COMPILED_PATH=$(TEMP_LIB_PATH) guild compile $(GUILE_CFLAGS) - ARTANIS_ETC := $(SRC)/etc/artanis -@@ -36,7 +45,6 @@ - GENDOCS :=$(BUILD_AUX)/gendocs.sh - CHK_TEXINFO := $(BUILD_AUX)/check_texinfo.scm - CP := cp -frd -P --INFO_DIR := $(PREFIX)/share/info/ - TARBALL_NAME := artanis-$(VERSION) - TMP_DIR := $(shell mktemp -d) - ANN_GEN := $(BUILD_AUX)/announce-gen -@@ -124,18 +132,29 @@ - -rm -f config.{h,log} - - install: $(ALL_TARGETS) -- mkdir -p $(DESTDIR)/$(MOD_PATH) -- $(CP) $(MOD) $(DESTDIR)/$(MOD_PATH)/ -+ mkdir -p $(MOD_PATH) -+ $(CP) $(MOD) $(MOD_PATH)/ - mkdir -p $(MOD_TARGET_PATH)/ - $(CP) $(MOD_OBJ) $(MOD_TARGET_PATH)/ -+ -+ifdef DESTDIR - $(CP) $(ARTANIS_ETC) $(DESTDIR)/etc/ - $(CP) $(ARTANIS_PAGES) $(DESTDIR)/etc/artanis/ -- mkdir -p $(DESTDIR)/$(PREFIX)/bin/ -- $(CP) $(BIN)/art $(DESTDIR)/$(PREFIX)/bin/ -+ mkdir -p $(DESTDIR)/bin/ -+ $(CP) $(BIN)/art $(DESTDIR)/bin/ - mkdir -p $(DESTDIR)/etc/bash_completion.d/ - $(CP) $(CMDCOMP) $(DESTDIR)/etc/bash_completion.d/ -+else -+ $(CP) $(ARTANIS_ETC) $(PREFIX)/etc/ -+ $(CP) $(ARTANIS_PAGES) $(PREFIX)/etc/artanis/ -+ mkdir -p $(PREFIX)/bin/ -+ $(CP) $(BIN)/art $(PREFIX)/bin/ -+ mkdir -p $(PREFIX)/etc/bash_completion.d/ -+ $(CP) $(CMDCOMP) $(PREFIX)/etc/bash_completion.d/ -+endif -+ - if [ -e /etc/bash.bashrc ]; then source /etc/bash.bashrc; fi -- if [ -e artanis.info ]; then mkdir -p $(DESTDIR)/$(INFO_DIR); $(CP) artanis.info $(DESTDIR)/$(INFO_DIR)/; fi -+ if [ -e artanis.info ]; then mkdir -p $(INFO_DIR); $(CP) artanis.info $(INFO_DIR)/; fi - - distclean: distclean-mk clean clean-config clean-tarball - -rm -f $(BIN)/art -- cgit v1.2.3 From 099c9fdae623e06e4fded8b0d4e55d9d5b56715b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 8 Jun 2017 18:50:52 +0200 Subject: gnu: raptor2: Fix heap overflow bug. * gnu/packages/patches/raptor2-heap-overflow.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/rdf.scm (raptor2): Use it. --- gnu/local.mk | 1 + gnu/packages/patches/raptor2-heap-overflow.patch | 51 ++++++++++++++++++++++++ gnu/packages/rdf.scm | 2 + 3 files changed, 54 insertions(+) create mode 100644 gnu/packages/patches/raptor2-heap-overflow.patch diff --git a/gnu/local.mk b/gnu/local.mk index 01bcff584a..93a58440e2 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -966,6 +966,7 @@ dist_patch_DATA = \ %D%/packages/patches/qtscript-disable-tests.patch \ %D%/packages/patches/quickswitch-fix-dmenu-check.patch \ %D%/packages/patches/rapicorn-isnan.patch \ + %D%/packages/patches/raptor2-heap-overflow.patch \ %D%/packages/patches/ratpoison-shell.patch \ %D%/packages/patches/rcs-5.9.4-noreturn.patch \ %D%/packages/patches/readline-link-ncurses.patch \ diff --git a/gnu/packages/patches/raptor2-heap-overflow.patch b/gnu/packages/patches/raptor2-heap-overflow.patch new file mode 100644 index 0000000000..ce2a4516f8 --- /dev/null +++ b/gnu/packages/patches/raptor2-heap-overflow.patch @@ -0,0 +1,51 @@ +This patch addresses two heap overflow bugs in raptor2: + +http://seclists.org/oss-sec/2017/q2/424 + +Patch copied from libreoffice: + +https://github.com/LibreOffice/core/blob/master/external/redland/raptor/0001-Calcualte-max-nspace-declarations-correctly-for-XML-.patch.1 + +From 590681e546cd9aa18d57dc2ea1858cb734a3863f Mon Sep 17 00:00:00 2001 +From: Dave Beckett +Date: Sun, 16 Apr 2017 23:15:12 +0100 +Subject: [PATCH] Calcualte max nspace declarations correctly for XML writer + +(raptor_xml_writer_start_element_common): Calculate max including for +each attribute a potential name and value. + +Fixes Issues #0000617 http://bugs.librdf.org/mantis/view.php?id=617 +and #0000618 http://bugs.librdf.org/mantis/view.php?id=618 +--- + src/raptor_xml_writer.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/src/raptor_xml_writer.c b/src/raptor_xml_writer.c +index 693b946..0d3a36a 100644 +--- a/src/raptor_xml_writer.c ++++ b/src/raptor_xml_writer.c +@@ -181,9 +181,10 @@ raptor_xml_writer_start_element_common(raptor_xml_writer* xml_writer, + size_t nspace_declarations_count = 0; + unsigned int i; + +- /* max is 1 per element and 1 for each attribute + size of declared */ + if(nstack) { +- int nspace_max_count = element->attribute_count+1; ++ int nspace_max_count = element->attribute_count * 2; /* attr and value */ ++ if(element->name->nspace) ++ nspace_max_count++; + if(element->declared_nspaces) + nspace_max_count += raptor_sequence_size(element->declared_nspaces); + if(element->xml_language) +@@ -237,7 +238,7 @@ raptor_xml_writer_start_element_common(raptor_xml_writer* xml_writer, + } + } + +- /* Add the attribute + value */ ++ /* Add the attribute's value */ + nspace_declarations[nspace_declarations_count].declaration= + raptor_qname_format_as_xml(element->attributes[i], + &nspace_declarations[nspace_declarations_count].length); +-- +2.9.3 + diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index 7b7fe60855..6b5cfb013c 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -53,6 +53,8 @@ (method url-fetch) (uri (string-append "http://download.librdf.org/source/" name "-" version ".tar.gz")) + (patches + (search-patches "raptor2-heap-overflow.patch")) (sha256 (base32 "1vc02im4mpc28zxzgli68k6j0dakh0k3s389bm436yvqajxg19xd")))) -- cgit v1.2.3 From 0377d5006efe29e249316352b3abaf64eac1c63d Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Thu, 8 Jun 2017 19:56:28 -0400 Subject: gnu: crawl: Update to 0.20.0. * gnu/packages/games.scm (crawl, crawl-tiles): Update to 0.20.0. --- gnu/packages/games.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index d63c6d0ddf..a76ab1ddc2 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -4035,7 +4035,7 @@ fish. The whole game is accompanied by quiet, comforting music.") (define-public crawl (package (name "crawl") - (version "0.19.5") + (version "0.20.0") (source (origin (method url-fetch) @@ -4049,7 +4049,7 @@ fish. The whole game is accompanied by quiet, comforting music.") version "-nodeps.tar.xz"))) (sha256 (base32 - "00yl2lb2shglxlxzpyk99zvglfx4amjybqwnzdcasvbiggb4cj18")))) + "0127dgldij2h4m7cf32yy9ndv4vcz03g4km71lmxrsi5mw7ljgpd")))) (build-system gnu-build-system) (inputs `(("lua51" ,lua-5.1) -- cgit v1.2.3 From db0bb6f0afad658eddfa350a8ba8c05e151f6a28 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 31 May 2017 17:12:07 +0200 Subject: gnu: Add r-lubridate. * gnu/packages/statistics.scm (r-lubridate): New variable. --- gnu/packages/statistics.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index b81bb42073..625f9f4884 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -5231,3 +5231,29 @@ devices that don't have Cairo's capabilities such as alpha support or anti-aliasing. Backends are modular such that any subset of backends is supported.") (license license:gpl2))) + +(define-public r-lubridate + (package + (name "r-lubridate") + (version "1.6.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "lubridate" version)) + (sha256 + (base32 + "0ci6rwij9i1inn840m0mlh1nqgh6vm2lada9kdnjpcjp5kyfv1qs")))) + (build-system r-build-system) + (propagated-inputs + `(("r-stringr" ,r-stringr))) + (home-page + "http://cran.r-project.org/web/packages/lubridate") + (synopsis "Make dealing with dates a little easier") + (description + "This package provides functions to work with date-times and time-spans: +fast and user friendly parsing of date-time data, extraction and updating of +components of a date-time (years, months, days, hours, minutes, and seconds), +algebraic manipulation on date-time and time-span objects. The 'lubridate' +package has a consistent and memorable syntax that makes working with dates +easy and fun.") + (license license:gpl2))) -- cgit v1.2.3 From 1dacc269567683cedc439545a8077e523a1ed94e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 31 May 2017 17:12:08 +0200 Subject: gnu: Add r-fdrtool. * gnu/packages/statistics.scm (r-fdrtool): New variable. --- gnu/packages/statistics.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 625f9f4884..ae44bfb01f 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -5257,3 +5257,31 @@ algebraic manipulation on date-time and time-span objects. The 'lubridate' package has a consistent and memorable syntax that makes working with dates easy and fun.") (license license:gpl2))) + +(define-public r-fdrtool + (package + (name "r-fdrtool") + (version "1.2.15") + (source + (origin + (method url-fetch) + (uri (cran-uri "fdrtool" version)) + (sha256 + (base32 + "1h46frlk7d9f4qx0bg6p55nrm9wwwz2sv6d1nz7061wdfsm69yb5")))) + (build-system r-build-system) + (home-page "http://strimmerlab.org/software/fdrtool/") + (synopsis "Estimation of false discovery rates and higher criticism") + (description + "This package provides tools to estimate both tail area-based false +discovery rates (Fdr) as well as local false discovery rates (fdr) for a +variety of null models (p-values, z-scores, correlation coefficients, +t-scores). The proportion of null values and the parameters of the null +distribution are adaptively estimated from the data. In addition, the package +contains functions for non-parametric density estimation (Grenander +estimator), for monotone regression (isotonic regression and antitonic +regression with weights), for computing the greatest convex minorant (GCM) and +the least concave majorant (LCM), for the half-normal and correlation +distributions, and for computing empirical higher criticism (HC) scores and +the corresponding decision threshold.") + (license license:gpl3+))) -- cgit v1.2.3 From b8fffd3a53a6b588e3613272802db580994b9cb0 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 13 Apr 2017 14:16:12 +0200 Subject: gnu: Add ritornello. * gnu/packages/bioinformatics.scm (ritornello): New variable. --- gnu/packages/bioinformatics.scm | 45 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index bf4dd87eb3..d61f91fcad 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -9223,3 +9223,48 @@ working with SAM and BAM files. Current parallelised functionality is an important subset of samtools functionality, including view, index, sort, markdup, and depth.") (license license:gpl2+))) + +(define-public ritornello + (package + (name "ritornello") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/KlugerLab/" + "Ritornello/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "02nik86gq9ljjriv6pamwlmqnfky3ads1fpklx6mc3hx6k40pg38")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; there are no tests + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-samtools-references + (lambda* (#:key inputs #:allow-other-keys) + (substitute* '("src/SamStream.h" + "src/BufferedGenomeReader.h") + (("") "")) + #t)) + (delete 'configure) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin/"))) + (mkdir-p bin) + (install-file "bin/Ritornello" bin) + #t)))))) + (inputs + `(("samtools" ,samtools-0.1) + ("fftw" ,fftw) + ("boost" ,boost) + ("zlib" ,zlib))) + (home-page "https://github.com/KlugerLab/Ritornello") + (synopsis "Control-free peak caller for ChIP-seq data") + (description "Ritornello is a ChIP-seq peak calling algorithm based on +signal processing that can accurately call binding events without the need to +do a pair total DNA input or IgG control sample. It has been tested for use +with narrow binding events such as transcription factor ChIP-seq.") + (license license:gpl3+))) -- cgit v1.2.3 From 44f6c88909061bb37facc180f3af948a55eb3caa Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 13 Apr 2017 14:16:32 +0200 Subject: gnu: Add trim-galore. * gnu/packages/bioinformatics.scm (trim-galore): New variable. --- gnu/packages/bioinformatics.scm | 60 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index d61f91fcad..fbff587302 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -9268,3 +9268,63 @@ signal processing that can accurately call binding events without the need to do a pair total DNA input or IgG control sample. It has been tested for use with narrow binding events such as transcription factor ChIP-seq.") (license license:gpl3+))) + +(define-public trim-galore + (package + (name "trim-galore") + (version "0.4.2") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.bioinformatics.babraham.ac.uk/" + "projects/trim_galore/trim_galore_v" + version ".zip")) + (sha256 + (base32 + "0b9qdxi4521gsrjvbhgky8g7kry9b5nx3byzaxkgxz7p4k8bn1mn")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + ;; The archive contains plain files. + (replace 'unpack + (lambda* (#:key source #:allow-other-keys) + (zero? (system* "unzip" source)))) + (delete 'configure) + (delete 'build) + (add-after 'unpack 'hardcode-tool-references + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "trim_galore" + (("\\$path_to_cutadapt = 'cutadapt'") + (string-append "$path_to_cutadapt = '" + (assoc-ref inputs "cutadapt") + "/bin/cutadapt'")) + (("\\| gzip") + (string-append "| " + (assoc-ref inputs "gzip") + "/bin/gzip")) + (("\"gunzip") + (string-append "\"" + (assoc-ref inputs "gzip") + "/bin/gunzip"))) + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") + "/bin"))) + (mkdir-p bin) + (install-file "trim_galore" bin) + #t)))))) + (inputs + `(("gzip" ,gzip) + ("perl" ,perl) + ("cutadapt" ,cutadapt))) + (native-inputs + `(("unzip" ,unzip))) + (home-page "http://www.bioinformatics.babraham.ac.uk/projects/trim_galore/") + (synopsis "Wrapper around Cutadapt and FastQC") + (description "Trim Galore! is a wrapper script to automate quality and +adapter trimming as well as quality control, with some added functionality to +remove biased methylation positions for RRBS sequence files.") + (license license:gpl3+))) -- cgit v1.2.3 From 3420c905cdc37027bd630e9c5f3ac0e6fc066405 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 13 Apr 2017 14:18:10 +0200 Subject: gnu: Add gess. * gnu/packages/bioinformatics.scm (gess): New variable. --- gnu/packages/bioinformatics.scm | 61 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index fbff587302..2844c46075 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -9328,3 +9328,64 @@ with narrow binding events such as transcription factor ChIP-seq.") adapter trimming as well as quality control, with some added functionality to remove biased methylation positions for RRBS sequence files.") (license license:gpl3+))) + +(define-public gess + (package + (name "gess") + (version "1.0") + (source (origin + (method url-fetch) + (uri (string-append "http://compbio.uthscsa.edu/" + "GESS_Web/files/" + "gess-" version ".src.tar.gz")) + (sha256 + (base32 + "0hyk403kxscclzfs24pvdgiv0wm03kjcziqdrp5w46cb049gz0d7")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((python (assoc-ref inputs "python")) + (out (assoc-ref outputs "out")) + (bin (string-append out "/bin/")) + (target (string-append + out "/lib/python2.7/site-packages/gess/"))) + (mkdir-p target) + (copy-recursively "." target) + ;; Make GESS.py executable + (chmod (string-append target "GESS.py") #o555) + ;; Add Python shebang to the top and make Matplotlib + ;; usable. + (substitute* (string-append target "GESS.py") + (("\"\"\"Description:" line) + (string-append "#!" (which "python") " +import matplotlib +matplotlib.use('Agg') +" line))) + ;; Make sure GESS has all modules in its path + (wrap-program (string-append target "GESS.py") + `("PYTHONPATH" ":" prefix (,target ,(getenv "PYTHONPATH")))) + (mkdir-p bin) + (symlink (string-append target "GESS.py") + (string-append bin "GESS.py")) + #t)))))) + (inputs + `(("python" ,python-2) + ("python2-pysam" ,python2-pysam) + ("python2-scipy" ,python2-scipy) + ("python2-numpy" ,python2-numpy) + ("python2-networkx" ,python2-networkx) + ("python2-biopython" ,python2-biopython))) + (home-page "http://compbio.uthscsa.edu/GESS_Web/") + (synopsis "Detect exon-skipping events from raw RNA-seq data") + (description + "GESS is an implementation of a novel computational method to detect de +novo exon-skipping events directly from raw RNA-seq data without the prior +knowledge of gene annotation information. GESS stands for the graph-based +exon-skipping scanner detection scheme.") + (license license:bsd-3))) -- cgit v1.2.3 From 282b01515ba48f17638631c40cfc17e99d4a6cce Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 13 Apr 2017 14:21:27 +0200 Subject: gnu: Add phylip. * gnu/packages/bioinformatics.scm (phylip): New variable. --- gnu/packages/bioinformatics.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 2844c46075..b7d39ea359 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -9389,3 +9389,40 @@ novo exon-skipping events directly from raw RNA-seq data without the prior knowledge of gene annotation information. GESS stands for the graph-based exon-skipping scanner detection scheme.") (license license:bsd-3))) + +(define-public phylip + (package + (name "phylip") + (version "3.696") + (source + (origin + (method url-fetch) + (uri (string-append "http://evolution.gs.washington.edu/phylip/" + "download/phylip-" version ".tar.gz")) + (sha256 + (base32 + "01jar1rayhr2gba2pgbw49m56rc5z4p5wn3ds0m188hrlln4a2nd")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no check target + #:make-flags (list "-f" "Makefile.unx" "install") + #:parallel-build? #f ; not supported + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'enter-dir + (lambda _ (chdir "src") #t)) + (delete 'configure) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((target (string-append (assoc-ref outputs "out") + "/bin"))) + (mkdir-p target) + (for-each (lambda (file) + (install-file file target)) + (find-files "../exe" ".*"))) + #t))))) + (home-page "http://evolution.genetics.washington.edu/phylip/") + (synopsis "Tools for inferring phylogenies") + (description "PHYLIP (the PHYLogeny Inference Package) is a package of +programs for inferring phylogenies (evolutionary trees).") + (license license:bsd-2))) -- cgit v1.2.3 From aa163424b249bb11525fccc0a87cf60aa687ac60 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 13 Apr 2017 22:56:54 +0200 Subject: gnu: Add imp. * gnu/packages/bioinformatics.scm (imp): New variable. --- gnu/packages/bioinformatics.scm | 48 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index b7d39ea359..7b36d6bbdc 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -85,6 +85,7 @@ #:use-module (gnu packages ruby) #:use-module (gnu packages serialization) #:use-module (gnu packages statistics) + #:use-module (gnu packages swig) #:use-module (gnu packages tbb) #:use-module (gnu packages tex) #:use-module (gnu packages texinfo) @@ -9426,3 +9427,50 @@ exon-skipping scanner detection scheme.") (description "PHYLIP (the PHYLogeny Inference Package) is a package of programs for inferring phylogenies (evolutionary trees).") (license license:bsd-2))) + +(define-public imp + (package + (name "imp") + (version "2.6.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://integrativemodeling.org/" + version "/download/imp-" version ".tar.gz")) + (sha256 + (base32 + "0lxqx7vh79d771svr611dkilp6sn30qrbw8zvscbrm37v38d2j6h")))) + (build-system cmake-build-system) + (arguments + `(;; FIXME: Some tests fail because they produce warnings, others fail + ;; because the PYTHONPATH does not include the modeller's directory. + #:tests? #f + ;; Do not place libraries in an architecture-specific directory. + #:configure-flags + (list "-DCMAKE_INSTALL_LIBDIR=lib"))) + (inputs + `(("boost" ,boost) + ("gsl" ,gsl) + ("swig" ,swig) + ("hdf5" ,hdf5) + ("fftw" ,fftw) + ("python" ,python-2))) + (propagated-inputs + `(("python2-numpy" ,python2-numpy) + ("python2-scipy" ,python2-scipy) + ("python2-pandas" ,python2-pandas) + ("python2-scikit-learn" ,python2-scikit-learn) + ("python2-networkx" ,python2-networkx))) + (home-page "https://integrativemodeling.org") + (synopsis "Integrative modeling platform") + (description "IMP's broad goal is to contribute to a comprehensive +structural characterization of biomolecules ranging in size and complexity +from small peptides to large macromolecular assemblies, by integrating data +from diverse biochemical and biophysical experiments. IMP provides a C++ and +Python toolbox for solving complex modeling problems, and a number of +applications for tackling some common problems in a user-friendly way.") + ;; IMP is largely available under the GNU Lesser GPL; see the file + ;; COPYING.LGPL for the full text of this license. Some IMP modules are + ;; available under the GNU GPL (see the file COPYING.GPL). + (license (list license:lgpl2.1+ + license:gpl3+)))) -- cgit v1.2.3 From 8befd0940b4d443d5c2f1e91f9fe1b375f30fe1f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 13 Apr 2017 23:15:06 +0200 Subject: gnu: Add tadbit. * gnu/packages/bioinformatics.scm (tadbit): New variable. --- gnu/packages/bioinformatics.scm | 58 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 7b36d6bbdc..b47f136935 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -9474,3 +9474,61 @@ applications for tackling some common problems in a user-friendly way.") ;; available under the GNU GPL (see the file COPYING.GPL). (license (list license:lgpl2.1+ license:gpl3+)))) + +(define-public tadbit + (package + (name "tadbit") + (version "0.2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/3DGenomes/TADbit/" + "archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1cnfqrl4685zar4nnw94j94nhvl2h29jm448nadqi1h05z6fdk4f")))) + (build-system python-build-system) + (arguments + `(;; Tests are included and must be run after installation, but + ;; they are incomplete and thus cannot be run. + #:tests? #f + #:python ,python-2 + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-problems-with-setup.py + (lambda* (#:key outputs #:allow-other-keys) + ;; setup.py opens these files for writing + (chmod "_pytadbit/_version.py" #o664) + (chmod "README.rst" #o664) + + ;; Don't attempt to install the bash completions to + ;; the home directory. + (rename-file "extras/.bash_completion" + "extras/tadbit") + (substitute* "setup.py" + (("\\(path.expanduser\\('~'\\)") + (string-append "(\"" + (assoc-ref outputs "out") + "/etc/bash_completion.d\"")) + (("extras/\\.bash_completion") + "extras/tadbit")) + #t))))) + (inputs + ;; TODO: add Chimera for visualization + `(("imp" ,imp) + ("mcl" ,mcl) + ("python2-scipy" ,python2-scipy) + ("python2-numpy" ,python2-numpy) + ("python2-matplotlib" ,python2-matplotlib) + ("python2-pysam" ,python2-pysam))) + (home-page "http://3dgenomes.github.io/TADbit/") + (synopsis "Analyze, model, and explore 3C-based data") + (description + "TADbit is a complete Python library to deal with all steps to analyze, +model, and explore 3C-based data. With TADbit the user can map FASTQ files to +obtain raw interaction binned matrices (Hi-C like matrices), normalize and +correct interaction matrices, identify adn compare the so-called +@dfn{Topologically Associating Domains} (TADs), build 3D models from the +interaction matrices, and finally, extract structural properties from the +models. TADbit is complemented by TADkit for visualizing 3D models.") + (license license:gpl3+))) -- cgit v1.2.3 From f1a710c3210795c8c501a06799a1ac55b06bc83b Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 9 Jun 2017 01:29:47 -0400 Subject: gnu: linux-libre@4.4: Update to 4.4.71. * gnu/packages/linux.scm (linux-libre-4.4): Update to 4.4.71. --- 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 14e921ecd3..ea2de00214 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -374,8 +374,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.70" - "1dvcj3mk42m91y1x41yh52frjdcwip1wj57qwlkmrpg02icr0b3s" + (make-linux-libre "4.4.71" + "0nrd165crx9m9s1px98if6q5dcdqwmas9kh8i4rw51gz2xinh0gx" %intel-compatible-systems #:configuration-file kernel-config)) -- cgit v1.2.3 From e2d57d12ce5dc63c8c96c77a3dc5a269b3cc5f49 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 9 Jun 2017 01:30:29 -0400 Subject: gnu: linux-libre@4.9: Update to 4.9.31. * gnu/packages/linux.scm (linux-libre-4.9): Update to 4.9.31. --- 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 ea2de00214..51dd781777 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -368,8 +368,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.30" - "1m1ii9n65lwkbwx0ifj13vgdfr0mnx8n7sfvhf5mn4r8krhxi77a" + (make-linux-libre "4.9.31" + "0amc35c9f2rym6grb277yscnx8ybn8d4fbc2a59sgkg1lsdv7n4q" %intel-compatible-systems #:configuration-file kernel-config)) -- cgit v1.2.3 From 6fe5c49ab487154074eaab2ef80e9a2f8163320c Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 9 Jun 2017 01:31:08 -0400 Subject: gnu: linux-libre: Update to 4.11.4. * gnu/packages/linux.scm (%linux-libre-version): Update to 4.11.4. (%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 51dd781777..2bbc3b6ef6 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -358,8 +358,8 @@ It has been modified to remove all non-free binary blobs.") (define %intel-compatible-systems '("x86_64-linux" "i686-linux")) -(define %linux-libre-version "4.11.3") -(define %linux-libre-hash "14fbn9s7n86p5yivr4vmh4axdavny6xw1qk63cfwlcma7426wmva") +(define %linux-libre-version "4.11.4") +(define %linux-libre-hash "11nd9pv18vz3g82ja71dkz9mbs0ffb8yamsd44d381szmmm2kpj8") (define-public linux-libre (make-linux-libre %linux-libre-version -- cgit v1.2.3 From 6b7b3ca9813d00b734d1318e40e6c10d17859d12 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Fri, 5 May 2017 11:01:50 +0200 Subject: guix: git: Add new module. * guix/git.scm: New file. * configure.ac: Check for (guile git). * Makefile.am: Build guix/git.scm if (guile git) is available. --- Makefile.am | 7 ++++ configure.ac | 4 ++ guix/git.scm | 123 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 134 insertions(+) create mode 100644 guix/git.scm diff --git a/Makefile.am b/Makefile.am index 3925f3e2dc..1be09d7637 100644 --- a/Makefile.am +++ b/Makefile.am @@ -201,6 +201,13 @@ MODULES += \ endif HAVE_GUILE_SSH +if HAVE_GUILE_GIT + +MODULES += \ + guix/git.scm + +endif HAVE_GUILE_GIT + if BUILD_DAEMON_OFFLOAD MODULES += \ diff --git a/configure.ac b/configure.ac index dc3d8f377f..c937e948d3 100644 --- a/configure.ac +++ b/configure.ac @@ -104,6 +104,10 @@ dnl Guile-JSON is used in various places. GUILE_MODULE_AVAILABLE([have_guile_json], [(json)]) AM_CONDITIONAL([HAVE_GUILE_JSON], [test "x$have_guile_json" = "xyes"]) +dnl Check for Guile-Git. +GUILE_MODULE_AVAILABLE([have_guile_git], [(git)]) +AM_CONDITIONAL([HAVE_GUILE_GIT], [test "x$have_guile_git" = "xyes"]) + dnl Make sure we have a full-fledged Guile. GUIX_ASSERT_GUILE_FEATURES([regex posix socket net-db threads]) diff --git a/guix/git.scm b/guix/git.scm new file mode 100644 index 0000000000..17a6784aef --- /dev/null +++ b/guix/git.scm @@ -0,0 +1,123 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2017 Mathieu Othacehe +;;; +;;; 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 (guix git) + #:use-module (git) + #:use-module (git object) + #:use-module (guix base32) + #:use-module (guix hash) + #:use-module (guix build utils) + #:use-module (guix store) + #:use-module (guix utils) + #:use-module (rnrs bytevectors) + #:use-module (ice-9 match) + #:use-module (srfi srfi-1) + #:export (%repository-cache-directory + latest-repository-commit)) + +(define %repository-cache-directory + (make-parameter "/var/cache/guix/checkouts")) + +(define-syntax-rule (with-libgit2 thunk ...) + (dynamic-wind + (lambda () + (libgit2-init!)) + (lambda () + thunk ...) + (lambda () + (libgit2-shutdown)))) + +(define* (url-cache-directory url + #:optional (cache-directory + (%repository-cache-directory))) + "Return the directory associated to URL in %repository-cache-directory." + (string-append + cache-directory "/" + (bytevector->base32-string (sha256 (string->utf8 url))))) + +(define (clone* url directory) + "Clone git repository at URL into DIRECTORY. Upon failure, +make sure no empty directory is left behind." + (with-throw-handler #t + (lambda () + (mkdir-p directory) + (clone url directory)) + (lambda _ + (false-if-exception (rmdir directory))))) + +(define (repository->head-sha1 repo) + "Return the sha1 of the HEAD commit in REPOSITORY as a string." + (let ((oid (reference-target (repository-head repo)))) + (oid->string (commit-id (commit-lookup repo oid))))) + +(define (url+commit->name url sha1) + "Return the string \"-\" where REPO-NAME is the name of +the git repository, extracted from URL and SHA1:7 the seven first digits +of SHA1 string." + (string-append + (string-replace-substring + (last (string-split url #\/)) ".git" "") + "-" (string-take sha1 7))) + +(define* (copy-to-store store cache-directory #:key url repository) + "Copy items in cache-directory to store. URL and REPOSITORY are used +to forge store directory name." + (let* ((commit (repository->head-sha1 repository)) + (name (url+commit->name url commit))) + (values (add-to-store store name #t "sha256" cache-directory) commit))) + +(define (switch-to-ref repository ref) + "Switch to REPOSITORY's branch, commit or tag specified by REF." + (let* ((oid (match ref + (('branch . branch) + (reference-target + (branch-lookup repository branch BRANCH-REMOTE))) + (('commit . commit) + (string->oid commit)) + (('tag . tag) + (reference-name->oid repository + (string-append "refs/tags/" tag))))) + (obj (object-lookup repository oid))) + (reset repository obj RESET_HARD))) + +(define* (latest-repository-commit store url + #:key + (cache-directory + (%repository-cache-directory)) + (ref '(branch . "origin/master"))) + "Return two values: the content of the git repository at URL copied into a +store directory and the sha1 of the top level commit in this directory. The +reference to be checkout, once the repository is fetched, is specified by REF. +REF is pair whose key is [branch | commit | tag] and value the associated +data, respectively [ | | ]. + +Git repositories are kept in the cache directory specified by +%repository-cache-directory parameter." + (with-libgit2 + (let* ((cache-dir (url-cache-directory url cache-directory)) + (cache-exists? (openable-repository? cache-dir)) + (repository (if cache-exists? + (repository-open cache-dir) + (clone* url cache-dir)))) + ;; Only fetch remote if it has not been cloned just before. + (when cache-exists? + (remote-fetch (remote-lookup repository "origin"))) + (switch-to-ref repository ref) + (copy-to-store store cache-dir + #:url url + #:repository repository)))) -- cgit v1.2.3 From 19c90e5f697bbf1be5ea3a7b4f5fe712d77070a1 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 7 Jun 2017 13:44:47 +0200 Subject: pull: Add a dependency to guile-git. * build-aux/build-self.scm (guile-git, guile-bytestructures): New variables. (build): Add guile-git and guile-bytestructures to %load-path and %load-compiled-path. --- build-aux/build-self.scm | 52 ++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 41 insertions(+), 11 deletions(-) diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm index a1335fea1d..8fb9af23ca 100644 --- a/build-aux/build-self.scm +++ b/build-aux/build-self.scm @@ -97,6 +97,13 @@ Guile major version (2.0 or 2.2), or #f if none of the packages matches." "guile2.2-ssh" "guile2.0-ssh")) +(define guile-git + (package-for-current-guile "guile-git" + "guile2.0-git")) + +(define guile-bytestructures + (package-for-current-guile "guile-bytestructures" + "guile2.0-bytestructures")) ;; The actual build procedure. @@ -148,19 +155,42 @@ files." #~(begin (use-modules (guix build pull)) - (let ((json (string-append #$guile-json "/share/guile/site/" - #$(effective-version)))) + (letrec-syntax ((maybe-load-path + (syntax-rules () + ((_ item rest ...) + (let ((tail (maybe-load-path rest ...))) + (if (string? item) + (cons (string-append item + "/share/guile/site/" + #$(effective-version)) + tail) + tail))) + ((_) + '())))) (set! %load-path - (cons* json - (string-append #$guile-ssh "/share/guile/site/" - #$(effective-version)) - %load-path)) + (append + (maybe-load-path #$guile-json #$guile-ssh + #$guile-git #$guile-bytestructures) + %load-path))) + + (letrec-syntax ((maybe-load-compiled-path + (syntax-rules () + ((_ item rest ...) + (let ((tail (maybe-load-compiled-path rest ...))) + (if (string? item) + (cons (string-append item + "/lib/guile/" + #$(effective-version) + "/site-ccache") + tail) + tail))) + ((_) + '())))) (set! %load-compiled-path - (cons* json - (string-append #$guile-ssh "/lib/guile/" - #$(effective-version) - "/site-ccache") - %load-compiled-path))) + (append + (maybe-load-compiled-path #$guile-json #$guile-ssh + #$guile-git #$guile-bytestructures) + %load-compiled-path))) ;; XXX: The 'guile-ssh' package prior to Guix commit 92b7258 was ;; broken: libguile-ssh could not be found. Work around that. -- cgit v1.2.3 From bb7cf4f5335370c4a29adc236816851076c0fe61 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Thu, 8 Jun 2017 21:24:36 +0200 Subject: file-systems: Provide string->iso9660-uuid. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/build/file-systems.scm (string->iso9660-uuid): New variable. Export it. Co-authored-by: Ludovic Courtès --- gnu/build/file-systems.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm index 7737de3d03..1c733f43b4 100644 --- a/gnu/build/file-systems.scm +++ b/gnu/build/file-systems.scm @@ -43,6 +43,7 @@ uuid->string string->uuid + string->iso9660-uuid bind-mount @@ -235,6 +236,27 @@ Trailing spaces are trimmed." ;; . +(define %iso9660-uuid-rx + ;; Y m d H M S ss + (make-regexp "^([[:digit:]]{4})-([[:digit:]]{2})-([[:digit:]]{2})-([[:digit:]]{2})-([[:digit:]]{2})-([[:digit:]]{2})-([[:digit:]]{2})$")) + +(define (string->iso9660-uuid str) + "Parse STR as a ISO9660 UUID (which is really a timestamp - see /dev/disk/by-uuid). +Return its contents as a 16-byte bytevector. Return #f if STR is not a valid +ISO9660 UUID representation." + (and=> (regexp-exec %iso9660-uuid-rx str) + (lambda (match) + (letrec-syntax ((match-numerals + (syntax-rules () + ((_ index (name rest ...) body) + (let ((name (match:substring match index))) + (match-numerals (+ 1 index) (rest ...) body))) + ((_ index () body) + body)))) + (match-numerals 1 (year month day hour minute second hundredths) + (string->utf8 (string-append year month day + hour minute second hundredths))))))) + (define (iso9660-superblock? sblock) "Return #t when SBLOCK is an iso9660 volume descriptor." (bytevector=? (sub-bytevector sblock 1 6) -- cgit v1.2.3 From b22cdf0c4240016ca321639682bc58b0384ea36b Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Fri, 9 Jun 2017 20:50:11 +0800 Subject: gnu: python-paramiko: Update to 2.1.2. * gnu/packages.scm (python-paramiko, python2-paramiko): Update to 2.1.2. Enable tests. --- gnu/packages/python.scm | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 19ffe729bf..44adcba01e 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -533,26 +533,24 @@ John the Ripper).") (define-public python-paramiko (package (name "python-paramiko") - (version "1.17.4") + (version "2.1.2") (source (origin (method url-fetch) (uri (pypi-uri "paramiko" version)) (sha256 (base32 - "1rs2qcmskcmq66q6g5al08wa41l9am0fad5r719m8wf91msyylqw")))) + "04734n0wy3hxk6rij4fr29in5jmr70nxpc7pqi2ksbjysfz4kbjz")))) (build-system python-build-system) (arguments - '(;; FIXME: One test fails with "EOFError not raised by connect". - #:tests? #f)) - ;; #:phases - ;; (modify-phases %standard-phases - ;; (replace 'check - ;; (lambda _ - ;; (zero? (system* "python" "test.py"))))))) + '(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (zero? (system* "python" "test.py"))))))) (propagated-inputs - `(("python-pycrypto" ,python-pycrypto) - ("python-ecdsa" ,python-ecdsa))) + `(("python-pyasn1" ,python-pyasn1) + ("python-cryptography" ,python-cryptography))) (home-page "http://www.paramiko.org/") (synopsis "SSHv2 protocol library") (description "Paramiko is a python implementation of the SSHv2 protocol, -- cgit v1.2.3 From e6ad9bda4992a8170c40b5775cce991b9c48d128 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 9 Jun 2017 23:26:14 +0200 Subject: gnu: p11-kit: Update to 0.23.7. Newer releases are only available on GitHub. See release announcements: https://lists.freedesktop.org/archives/p11-glue/2017-June/000661.html * gnu/packages/tls.scm (p11-kit): Update to 0.23.7. [source]: Remove obsolete substitution. --- gnu/packages/tls.scm | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index cdb4becb07..8964abb2f2 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -112,23 +112,15 @@ in intelligent transportation networks.") (define-public p11-kit (package (name "p11-kit") - (version "0.23.2") + (version "0.23.7") (source (origin (method url-fetch) - (uri (string-append "https://p11-glue.freedesktop.org/releases/p11-kit-" - version ".tar.gz")) + (uri (string-append "https://github.com/p11-glue/p11-kit/releases/" + "download/" version "/p11-kit-" version ".tar.gz")) (sha256 (base32 - "1w7szm190phlkg7qx05ychlj2dbvkgkhx9gw6dx4d5rw62l6wwms")) - (modules '((guix build utils))) ; for substitute* - (snippet - '(begin - ;; Drop one test that fails, also when trying to compile manually. - ;; Reported upstream at - ;; https://bugs.freedesktop.org/show_bug.cgi?id=89027 - (substitute* "Makefile.in" - (("test-module\\$\\(EXEEXT\\) ") "")))))) + "0hdy4h8byvcvd4av504xqfqyd1h6xy914j034mq3c6v4ya37r3lq")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) -- cgit v1.2.3 From ad27449ef10e469d9e937700ee3a0f3015cf0945 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 9 Jun 2017 23:28:55 +0200 Subject: gnu: ffmpeg: Update to 3.3.2. * gnu/packages/video.scm (ffmpeg): Update to 3.3.2. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 1053f76bb7..8a91a97017 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -461,14 +461,14 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).") (define-public ffmpeg (package (name "ffmpeg") - (version "3.3.1") + (version "3.3.2") (source (origin (method url-fetch) (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" version ".tar.xz")) (sha256 (base32 - "0bwgm6z6k3khb91qh9xv15inykkfchpkm0lcdckkxhkacpyaf0mp")))) + "11974vcfsy8w0i6f4lfwqmg80xkfybqw7vw6zzrcn5i6ncddx60r")))) (build-system gnu-build-system) (inputs `(("fontconfig" ,fontconfig) -- cgit v1.2.3 From 0866dd46a97082a963acc631ecae02820c718079 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 9 Jun 2017 23:33:36 +0200 Subject: gnu: capnproto: Update to 0.6.1. * gnu/packages/serialization.scm (capnproto): Update to 0.6.1. --- gnu/packages/serialization.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm index a6b5270199..6a3d8f900d 100644 --- a/gnu/packages/serialization.scm +++ b/gnu/packages/serialization.scm @@ -282,7 +282,7 @@ it a convenient format to store user input files.") (define-public capnproto (package (name "capnproto") - (version "0.6.0") + (version "0.6.1") (source (origin (method url-fetch) (uri (string-append @@ -290,7 +290,7 @@ it a convenient format to store user input files.") version ".tar.gz")) (sha256 (base32 - "0gpp1cxsb9nfd7qkjjykzknx03y0z0n4bq5q0fmxci7w38ci22g5")))) + "010s9yhq4531wvdfrdf2477zswhck6cjfby79w73rff3v06090l0")))) (build-system gnu-build-system) (arguments `(#:phases -- cgit v1.2.3 From e5eede3fb37e5f50542f138f86ee752696442580 Mon Sep 17 00:00:00 2001 From: ng0 Date: Thu, 8 Jun 2017 17:14:06 +0000 Subject: gnu: Rename (gnu packages markdown) to (gnu packages markup). * gnu/packages/markdown.scm: Rename this ... * gnu/packages/markup.scm: ... to this. * gnu-system.am (GNU_SYSTEM_MODULES): Change markdown.scm to markup.scm. Signed-off-by: Marius Bakke --- gnu/local.mk | 2 +- gnu/packages/markdown.scm | 132 ---------------------------------------------- gnu/packages/markup.scm | 132 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 133 insertions(+), 133 deletions(-) delete mode 100644 gnu/packages/markdown.scm create mode 100644 gnu/packages/markup.scm diff --git a/gnu/local.mk b/gnu/local.mk index 93a58440e2..686c3c6396 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -256,7 +256,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/man.scm \ %D%/packages/mail.scm \ %D%/packages/make-bootstrap.scm \ - %D%/packages/markdown.scm \ + %D%/packages/markup.scm \ %D%/packages/marst.scm \ %D%/packages/mate.scm \ %D%/packages/maths.scm \ diff --git a/gnu/packages/markdown.scm b/gnu/packages/markdown.scm deleted file mode 100644 index 4a020198e4..0000000000 --- a/gnu/packages/markdown.scm +++ /dev/null @@ -1,132 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015 Mathieu Lirzin -;;; Copyright © 2015 David Thompson -;;; Copyright © 2016 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 markdown) - #:use-module (guix licenses) - #:use-module (guix download) - #:use-module (guix packages) - #:use-module (guix build-system gnu) - #:use-module (guix build-system trivial) - #:use-module (guix build-system cmake) - #:use-module (gnu packages perl) - #:use-module (gnu packages python) - #:use-module (gnu packages web) - #:use-module (gnu packages zip)) - -(define-public hoedown - (package - (name "hoedown") - (version "3.0.7") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/hoedown/hoedown/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0859dc2xjasd6kgkshi8mb20kbyw5sql1ln0hw3bfaf33qdh5dh1")))) - (build-system gnu-build-system) - (arguments - '(#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output)) - #:phases (modify-phases %standard-phases - (delete 'configure)) ; no configure script - #:test-target "test")) - (native-inputs - `(("python" ,python-2) - ("tidy" ,tidy))) - (synopsis "Markdown processing library") - (description "Hoedown is a standards compliant, fast, secure markdown -processing library written in C.") - (home-page "https://github.com/hoedown/hoedown") - (license expat))) - -(define-public markdown - (package - (name "markdown") - (version "1.0.1") - (source - (origin - (method url-fetch) - (uri (string-append - "http://daringfireball.net/projects/downloads/" - (string-capitalize name) "_" version ".zip")) - (sha256 - (base32 "0dq1pj91pvlwkv0jwcgdfpv6gvnxzrk3s8mnh7imamcclnvfj835")))) - (build-system trivial-build-system) - (arguments - '(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let ((source (assoc-ref %build-inputs "source")) - (out (assoc-ref %outputs "out")) - (perlbd (string-append (assoc-ref %build-inputs "perl") "/bin")) - (unzip (string-append (assoc-ref %build-inputs "unzip") - "/bin/unzip"))) - (mkdir-p out) - (with-directory-excursion out - (system* unzip source) - (mkdir "bin") - (mkdir-p "share/doc") - (rename-file "Markdown_1.0.1/Markdown.pl" "bin/markdown") - (rename-file "Markdown_1.0.1/Markdown Readme.text" - "share/doc/README") - (patch-shebang "bin/markdown" (list perlbd)) - (delete-file-recursively "Markdown_1.0.1")))))) - (native-inputs `(("unzip" ,unzip))) - (inputs `(("perl" ,perl))) - (home-page "http://daringfireball.net/projects/markdown") - (synopsis "Text-to-HTML conversion tool") - (description - "Markdown is a text-to-HTML conversion tool for web writers. It allows -you to write using an easy-to-read, easy-to-write plain text format, then -convert it to structurally valid XHTML (or HTML).") - (license (non-copyleft "file://License.text" - "See License.text in the distribution.")))) - -(define-public cmark - (package - (name "cmark") - (version "0.27.1") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/jgm/cmark/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1da62ispca9aal2a36gaj87175rv5013pl7x740vk32y6lclr6v6")))) - (build-system cmake-build-system) - (arguments - '(#:test-target "test")) - (native-inputs `(("python" ,python))) - (synopsis "CommonMark Markdown reference implementation") - (description "CommonMark is a strongly defined, highly compatible -specification of Markdown. cmark is the C reference implementation of -CommonMark. It provides @code{libcmark} shared library for parsing -CommonMark to an abstract syntax tree (AST) and rendering the document -as HTML, groff man, LaTeX, CommonMark, or an XML representation of the -AST. The package also provides the command-line program @command{cmark} -for parsing and rendering CommonMark.") - (home-page "http://commonmark.org") - ;; cmark is distributed with a BSD-2 license, but some components are Expat - ;; licensed. The CommonMark specification is Creative Commons CC-BY-SA 4.0 - ;; licensed. See 'COPYING' in the source distribution for more information. - (license (list bsd-2 expat cc-by-sa4.0)))) diff --git a/gnu/packages/markup.scm b/gnu/packages/markup.scm new file mode 100644 index 0000000000..de40de670d --- /dev/null +++ b/gnu/packages/markup.scm @@ -0,0 +1,132 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 Mathieu Lirzin +;;; Copyright © 2015 David Thompson +;;; Copyright © 2016 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 markup) + #:use-module (guix licenses) + #:use-module (guix download) + #:use-module (guix packages) + #:use-module (guix build-system gnu) + #:use-module (guix build-system trivial) + #:use-module (guix build-system cmake) + #:use-module (gnu packages perl) + #:use-module (gnu packages python) + #:use-module (gnu packages web) + #:use-module (gnu packages zip)) + +(define-public hoedown + (package + (name "hoedown") + (version "3.0.7") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/hoedown/hoedown/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0859dc2xjasd6kgkshi8mb20kbyw5sql1ln0hw3bfaf33qdh5dh1")))) + (build-system gnu-build-system) + (arguments + '(#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output)) + #:phases (modify-phases %standard-phases + (delete 'configure)) ; no configure script + #:test-target "test")) + (native-inputs + `(("python" ,python-2) + ("tidy" ,tidy))) + (synopsis "Markdown processing library") + (description "Hoedown is a standards compliant, fast, secure markdown +processing library written in C.") + (home-page "https://github.com/hoedown/hoedown") + (license expat))) + +(define-public markdown + (package + (name "markdown") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://daringfireball.net/projects/downloads/" + (string-capitalize name) "_" version ".zip")) + (sha256 + (base32 "0dq1pj91pvlwkv0jwcgdfpv6gvnxzrk3s8mnh7imamcclnvfj835")))) + (build-system trivial-build-system) + (arguments + '(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let ((source (assoc-ref %build-inputs "source")) + (out (assoc-ref %outputs "out")) + (perlbd (string-append (assoc-ref %build-inputs "perl") "/bin")) + (unzip (string-append (assoc-ref %build-inputs "unzip") + "/bin/unzip"))) + (mkdir-p out) + (with-directory-excursion out + (system* unzip source) + (mkdir "bin") + (mkdir-p "share/doc") + (rename-file "Markdown_1.0.1/Markdown.pl" "bin/markdown") + (rename-file "Markdown_1.0.1/Markdown Readme.text" + "share/doc/README") + (patch-shebang "bin/markdown" (list perlbd)) + (delete-file-recursively "Markdown_1.0.1")))))) + (native-inputs `(("unzip" ,unzip))) + (inputs `(("perl" ,perl))) + (home-page "http://daringfireball.net/projects/markdown") + (synopsis "Text-to-HTML conversion tool") + (description + "Markdown is a text-to-HTML conversion tool for web writers. It allows +you to write using an easy-to-read, easy-to-write plain text format, then +convert it to structurally valid XHTML (or HTML).") + (license (non-copyleft "file://License.text" + "See License.text in the distribution.")))) + +(define-public cmark + (package + (name "cmark") + (version "0.27.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/jgm/cmark/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1da62ispca9aal2a36gaj87175rv5013pl7x740vk32y6lclr6v6")))) + (build-system cmake-build-system) + (arguments + '(#:test-target "test")) + (native-inputs `(("python" ,python))) + (synopsis "CommonMark Markdown reference implementation") + (description "CommonMark is a strongly defined, highly compatible +specification of Markdown. cmark is the C reference implementation of +CommonMark. It provides @code{libcmark} shared library for parsing +CommonMark to an abstract syntax tree (AST) and rendering the document +as HTML, groff man, LaTeX, CommonMark, or an XML representation of the +AST. The package also provides the command-line program @command{cmark} +for parsing and rendering CommonMark.") + (home-page "http://commonmark.org") + ;; cmark is distributed with a BSD-2 license, but some components are Expat + ;; licensed. The CommonMark specification is Creative Commons CC-BY-SA 4.0 + ;; licensed. See 'COPYING' in the source distribution for more information. + (license (list bsd-2 expat cc-by-sa4.0)))) -- cgit v1.2.3 From 83f0d3a5c8a1f551d7a92283d445fb605f9fb069 Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 30 May 2017 13:56:26 +0000 Subject: gnu: Add smu. * gnu/packages/markup.scm (smu): New variable. Signed-off-by: Marius Bakke --- gnu/packages/markup.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/markup.scm b/gnu/packages/markup.scm index de40de670d..cd883b23ec 100644 --- a/gnu/packages/markup.scm +++ b/gnu/packages/markup.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2015 Mathieu Lirzin ;;; Copyright © 2015 David Thompson ;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2017 ng0 ;;; ;;; This file is part of GNU Guix. ;;; @@ -130,3 +131,39 @@ for parsing and rendering CommonMark.") ;; licensed. The CommonMark specification is Creative Commons CC-BY-SA 4.0 ;; licensed. See 'COPYING' in the source distribution for more information. (license (list bsd-2 expat cc-by-sa4.0)))) + +(define-public smu + (package + (name "smu") + (version "1.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/Gottox/smu/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0iazl45rkz8ngsb5hpykl76w0ngvdvqqhym1qz5wykgmrzk293rp")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags (list "CC=gcc" + (string-append "PREFIX=" + (assoc-ref %outputs "out"))) + #:tests? #f ;No tests included + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (home-page "https://github.com/Gottox/smu") + (synopsis "Simple markup") + (description + "Smu is a very simple and minimal markup language. It is +designed for using in wiki-like environments. Smu makes it very +easy to write your documents on the fly and convert them into HTML. +Smu is capable to parse very large documents. As long as you avoid an huge +amount of indents it scales just great. + +Smu was started as a rewrite of Markdown but became something more +lightweight and consistent. The biggest difference between Markdown +and smu is that smu doesn't support reference style links.") + (license x11))) -- cgit v1.2.3 From b2193c359a3a6c6bc6db68b22b3dc29b8421dc1a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 10 Jun 2017 01:06:40 +0200 Subject: gnu: xclip: Update to 0.13. Yet another GitHub casualty. See: https://sourceforge.net/projects/xclip/ * gnu/packages/xdisorg.scm (xclip): Update to 0.13. [source, home-page]: Change to new home. [native-inputs]: Add AUTOCONF and AUTOMAKE. [arguments]: Add "bootstrap" phase. --- gnu/packages/xdisorg.scm | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 91abf66945..97f68e872a 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -14,7 +14,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2016 Alex Kost -;;; Copyright © 2016 Marius Bakke +;;; Copyright © 2016, 2017 Marius Bakke ;;; Copyright © 2016 Petter ;;; Copyright © 2017 Mekeor Melire ;;; Copyright © 2017 ng0 @@ -47,6 +47,7 @@ #:use-module (gnu packages) #:use-module (gnu packages documentation) #:use-module (gnu packages algebra) + #:use-module (gnu packages autotools) #:use-module (gnu packages compression) #:use-module (gnu packages image) #:use-module (gnu packages pkg-config) @@ -117,22 +118,29 @@ program.") (define-public xclip (package (name "xclip") - (version "0.12") + (version "0.13") (source (origin (method url-fetch) - (uri (string-append - "mirror://sourceforge/" name "/" name "/" version "/" - name "-" version ".tar.gz")) + (uri (string-append "https://github.com/astrand/xclip" + "/archive/" version ".tar.gz")) (sha256 (base32 - "0ibcf46rldnv0r424qcnai1fa5iq3lm5q5rdd7snsi5sb78gmixp")))) + "0n7pczk9vv30zf8qfln8ba3hnif9yfdxg0m84djac469wc28hnya")))) (build-system gnu-build-system) (arguments - '(#:tests? #f)) ; There is no test suite + '(#:tests? #f ; There is no test suite + #:phases + (modify-phases %standard-phases + ;; Since version 0.13, bootstrapped releases are no longer available. + (add-after 'unpack 'bootstrap + (lambda _ (zero? (system* "autoreconf" "-v"))))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake))) (inputs `(("libxmu" ,libxmu) ("libxt" ,libxt))) - (home-page "http://xclip.sourceforge.net/") + (home-page "https://github.com/astrand/xclip") (synopsis "Command line interface to X11 clipboard") (description "Xclip is a command line interface to the X11 clipboard. It can also be used for copying files, as an alternative to sftp/scp, thus -- cgit v1.2.3 From b634408158346ab6e28fd5b9b3fdf60f11f53ccb Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 10 Jun 2017 01:32:24 +0200 Subject: gnu: slop: Update to 6.3.43. * gnu/packages/xdisorg.scm (slop): Update to 6.3.43. --- gnu/packages/xdisorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 97f68e872a..aaa961bb2b 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -449,7 +449,7 @@ of the screen selected by mouse.") (define-public slop (package (name "slop") - (version "6.3.41") + (version "6.3.43") (source (origin (method url-fetch) (uri (string-append @@ -458,7 +458,7 @@ of the screen selected by mouse.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1yiv0ak1z7zbmcdw0dwx2gpblrh7l7s3l7y7sgpx071dy8s4rqpb")))) + "0kazcnnarc61d3rjysaym9vadf31wisfd3sn076rsjnsldm4y66h")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; no "check" target -- cgit v1.2.3 From bddcaf76259eabf87f4c2b591d0b8cf8d1eab9d8 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 10 Jun 2017 01:47:40 +0200 Subject: gnu: xf86-video-ati: Update to 7.9.0. * gnu/packages/xorg.scm (xf86-video-ati): Update to 7.9.0. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index f243222fb3..1b126d85d5 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2621,7 +2621,7 @@ as USB mice.") (define-public xf86-video-ati (package (name "xf86-video-ati") - (version "7.8.0") + (version "7.9.0") (source (origin (method url-fetch) @@ -2631,7 +2631,7 @@ as USB mice.") ".tar.bz2")) (sha256 (base32 - "1ynnm4v4261xmg94b7jam9hjyym4n2nqba23rv23v3wjfbkms7s0")))) + "0xcq0lncb5p4sas5866qpkjyp1v8ksalw7m1gmqb3brhccp8gb9w")))) (build-system gnu-build-system) (inputs `(("mesa" ,mesa) ("xxf86driproto" ,xf86driproto) -- cgit v1.2.3 From 8caf5bac4c89512793276054770386c343c73e7b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 10 Jun 2017 01:49:16 +0200 Subject: gnu: xf86-video-openchrome: Update to 0.6.0. * gnu/packages/xorg.scm (xf86-video-openchrome): Update to 0.6.0. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 1b126d85d5..cc785a998b 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -3019,7 +3019,7 @@ graphics cards.") (define-public xf86-video-openchrome (package (name "xf86-video-openchrome") - (version "0.5.0") + (version "0.6.0") (source (origin (method url-fetch) @@ -3029,7 +3029,7 @@ graphics cards.") ".tar.bz2")) (sha256 (base32 - "1fsmr455lk89zl795d6b5ypyqjim40j3h2vjch52lcssjw9xdza9")))) + "0x9gq3hw6k661k82ikd1y2kkk4dmgv310xr5q59dwn4k6z37aafs")))) (build-system gnu-build-system) (inputs `(("libx11" ,libx11) ("libxext" ,libxext) -- cgit v1.2.3