From 9b91fb32f8c7b1bcd910d2d4baa6eeba172764f7 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 24 May 2017 23:23:42 +0200 Subject: gnu: brdf-explorer: Update to 1.0.0-1.5b2cd46f3. * gnu/packages/graphics.scm (brdf-explorer): Update to 1.0.0-1.5b2cd46f3. [source]: Use git-fetch method. [arguments]: Adjust configure phase. [native-inputs]: Replace qt with qttools. [inputs]: Replace qt with qtbase. --- gnu/packages/graphics.scm | 106 +++++++++++++++++++++++----------------------- 1 file changed, 53 insertions(+), 53 deletions(-) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index a502f246ff..cc1497cb8d 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015, 2016 Ludovic Courtès ;;; Copyright © 2015 Tomáš Čech ;;; Copyright © 2016 Leo Famulari -;;; Copyright © 2016 Ricardo Wurmus +;;; Copyright © 2016, 2017 Ricardo Wurmus ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Andreas Enge ;;; @@ -23,7 +23,7 @@ (define-module (gnu packages graphics) #:use-module (guix download) - #:use-module (guix svn-download) + #:use-module (guix git-download) #:use-module (guix packages) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) @@ -423,66 +423,66 @@ output.") (license (license:non-copyleft "file://LICENSE")))) (define-public brdf-explorer - (package - (name "brdf-explorer") - (version "17") ;svn revision - (source (origin - ;; There are no release tarballs, and not even tags in the repo, - ;; so use the latest revision. - (method svn-fetch) - (uri (svn-reference - (url "https://github.com/wdas/brdf") - (revision (string->number version)))) - (sha256 - (base32 - "1458fwsqxramh0gpnp24x7brfpl9afhvr1wqg6c78xqwf32960m5")) - (file-name (string-append name "-" version "-checkout")))) - (build-system gnu-build-system) - (arguments - `(#:phases (modify-phases %standard-phases - (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (chdir "trunk") - (zero? (system* "qmake" - (string-append - "prefix=" out)))))) - (add-after 'install 'wrap-program - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (data (string-append - out "/share/brdf"))) - (with-directory-excursion bin - (rename-file "brdf" ".brdf-real") - (call-with-output-file "brdf" - (lambda (port) - (format port "#!/bin/sh + ;; There are no release tarballs, and not even tags in the repo, + ;; so use the latest revision. + (let ((commit "5b2cd46f38a06e47207fa7229b72d37beb945019") + (revision "1")) + (package + (name "brdf-explorer") + (version (string-append "1.0.0-" revision "." (string-take commit 9))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wdas/brdf.git") + (commit commit))) + (sha256 + (base32 + "06vzbiajzbi2xl8jlff5d45bc9wd68i3jdndfab1f3jgfrd8bsgx")) + (file-name (string-append name "-" version "-checkout")))) + (build-system gnu-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (zero? (system* "qmake" + (string-append "prefix=" out)))))) + (add-after 'install 'wrap-program + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (data (string-append + out "/share/brdf"))) + (with-directory-excursion bin + (rename-file "brdf" ".brdf-real") + (call-with-output-file "brdf" + (lambda (port) + (format port "#!/bin/sh # Run the thing from its home, otherwise it just bails out. cd \"~a\" exec -a \"$0\" ~a/.brdf-real~%" - data bin))) - (chmod "brdf" #o555)))))))) - (native-inputs - `(("qt" ,qt-4))) ;for 'qmake' - (inputs - `(("qt" ,qt-4) - ("mesa" ,mesa) - ("glew" ,glew) - ("freeglut" ,freeglut) - ("zlib" ,zlib))) - (home-page "http://www.disneyanimation.com/technology/brdf.html") - (synopsis - "Analyze bidirectional reflectance distribution functions (BRDFs)") - (description - "BRDF Explorer is an application that allows the development and analysis + data bin))) + (chmod "brdf" #o555)))))))) + (native-inputs + `(("qttools" ,qttools))) ;for 'qmake' + (inputs + `(("qtbase" ,qtbase) + ("mesa" ,mesa) + ("glew" ,glew) + ("freeglut" ,freeglut) + ("zlib" ,zlib))) + (home-page "http://www.disneyanimation.com/technology/brdf.html") + (synopsis + "Analyze bidirectional reflectance distribution functions (BRDFs)") + (description + "BRDF Explorer is an application that allows the development and analysis of bidirectional reflectance distribution functions (BRDFs). It can load and plot analytic BRDF functions (coded as functions in OpenGL's GLSL shader language), measured material data from the MERL database, and anisotropic measured material data from MIT CSAIL. Graphs and visualizations update in real time as parameters are changed, making it a useful tool for evaluating and understanding different BRDFs (and other component functions).") - (license license:ms-pl))) + (license license:ms-pl)))) (define-public agg (package -- cgit v1.2.3 From 7b3318e34f4e2743254a88b908859901db960e9a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 22 May 2017 16:13:15 +0200 Subject: gnu: Allow overriding of xgcc package in cross-gcc. * gnu/packages/cross-base.scm (cross-gcc-arguments): Take extra "xgcc" argument. (cross-gcc): Use keyword arguments; take optional "xgcc" argument. * gnu/packages/embedded.scm (gcc-arm-none-eabi-4.9, propeller-gcc, gcc-vc4): Use keyword arguments. * gnu/packages/avr.scm (avr-gcc-4.9): Likewise. --- gnu/packages/avr.scm | 2 +- gnu/packages/cross-base.scm | 28 ++++++++++++++++------------ gnu/packages/embedded.scm | 7 ++++--- 3 files changed, 21 insertions(+), 16 deletions(-) diff --git a/gnu/packages/avr.scm b/gnu/packages/avr.scm index fd18ff6a9a..fc4eb8db0a 100644 --- a/gnu/packages/avr.scm +++ b/gnu/packages/avr.scm @@ -39,7 +39,7 @@ (name "avr-binutils"))) (define-public avr-gcc-4.9 - (let ((xgcc (cross-gcc "avr" avr-binutils))) + (let ((xgcc (cross-gcc "avr" #:xbinutils avr-binutils))) (package (inherit xgcc) (name "avr-gcc") diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 47e0958193..54303b7b45 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -100,9 +100,9 @@ binutils) target))) -(define (cross-gcc-arguments target libc) - "Return build system arguments for a cross-gcc for TARGET, using LIBC (which -may be either a libc package or #f.)" +(define (cross-gcc-arguments target xgcc libc) + "Return build system arguments for a cross-gcc for TARGET, using XGCC as the +base compiler and using LIBC (which may be either a libc package or #f.)" ;; Set the current target system so that 'glibc-dynamic-linker' returns the ;; right name. (parameterize ((%current-target-system target)) @@ -111,7 +111,7 @@ may be either a libc package or #f.)" ;; ;; for instance. (let ((args `(#:strip-binaries? #f - ,@(package-arguments %xgcc)))) + ,@(package-arguments xgcc)))) (substitute-keyword-arguments args ((#:configure-flags flags) `(append (list ,(string-append "--target=" target) @@ -183,18 +183,22 @@ may be either a libc package or #f.)" (else #f))) (define* (cross-gcc target - #:optional (xbinutils (cross-binutils target)) libc) + #:key + (xgcc %xgcc) + (xbinutils (cross-binutils target)) + (libc #f)) "Return a cross-compiler for TARGET, where TARGET is a GNU triplet. Use -XBINUTILS as the associated cross-Binutils. If LIBC is false, then build a -GCC that does not target a libc; otherwise, target that libc." - (package (inherit %xgcc) +XGCC as the base compiler. Use XBINUTILS as the associated cross-Binutils. +If LIBC is false, then build a GCC that does not target a libc; otherwise, +target that libc." + (package (inherit xgcc) (name (string-append "gcc-cross-" (if libc "" "sans-libc-") target)) - (source (origin (inherit (package-source %xgcc)) + (source (origin (inherit (package-source xgcc)) (patches (append - (origin-patches (package-source %xgcc)) + (origin-patches (package-source xgcc)) (cons (search-patch "gcc-cross-environment-variables.patch") (cross-gcc-patches target)))) (modules '((guix build utils))) @@ -216,7 +220,7 @@ GCC that does not target a libc; otherwise, target that libc." (srfi srfi-26) (ice-9 regex)) - ,@(cross-gcc-arguments target libc))) + ,@(cross-gcc-arguments target xgcc libc))) (native-inputs `(("ld-wrapper-cross" ,(make-ld-wrapper @@ -230,7 +234,7 @@ GCC that does not target a libc; otherwise, target that libc." ("libc-native" ,@(assoc-ref (%final-inputs) "libc")) ;; Remaining inputs. - ,@(let ((inputs (append (package-inputs %xgcc) + ,@(let ((inputs (append (package-inputs xgcc) (alist-delete "libc" (%final-inputs))))) (cond ((target-mingw? target) diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index b919bdf6c4..632682d630 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -52,7 +52,8 @@ ;; See https://launchpadlibrarian.net/218827644/release.txt (define-public gcc-arm-none-eabi-4.9 (let ((xgcc (cross-gcc "arm-none-eabi" - (cross-binutils "arm-none-eabi"))) + #:xgcc gcc-4.9 + #:xbinutils (cross-binutils "arm-none-eabi"))) (revision "1") (svn-revision 227977)) (package (inherit xgcc) @@ -419,7 +420,7 @@ with a layered architecture of JTAG interface and TAP support.") (define-public propeller-gcc (let ((xgcc (cross-gcc "propeller-elf" - propeller-binutils)) + #:xbinutils propeller-binutils)) (commit "b4f45a4725e0b6d0af59e594c4e3e35ca4105867") (revision "1")) (package (inherit xgcc) @@ -776,7 +777,7 @@ the Raspberry Pi chip.") (define-public gcc-vc4 (let ((commit "165f6d0e11d2e76ee799533bb45bd5c92bf60dc2") - (xgcc (cross-gcc "vc4-elf" binutils-vc4))) + (xgcc (cross-gcc "vc4-elf" #:xbinutils binutils-vc4))) (package (inherit xgcc) (name "gcc-vc4") (source (origin -- cgit v1.2.3 From 6a34e2ae2875e8152f90ad1337832e60b8a85ce1 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 22 May 2017 16:13:16 +0200 Subject: gnu: avr-gcc-4.9: Use gcc-4.9 as base compiler. * gnu/packages/avr.scm (avr-gcc-4.9): Pass gcc-4.9 to "cross-gcc". --- gnu/packages/avr.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/avr.scm b/gnu/packages/avr.scm index fc4eb8db0a..916f7983fa 100644 --- a/gnu/packages/avr.scm +++ b/gnu/packages/avr.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2016 Manolis Fragkiskos Ragkousis -;;; Copyright © 2015 Ricardo Wurmus +;;; Copyright © 2015, 2017 Ricardo Wurmus ;;; Copyright © 2016 David Thompson ;;; Copyright © 2016 Efraim Flashner ;;; @@ -39,7 +39,7 @@ (name "avr-binutils"))) (define-public avr-gcc-4.9 - (let ((xgcc (cross-gcc "avr" #:xbinutils avr-binutils))) + (let ((xgcc (cross-gcc "avr" #:xgcc gcc-4.9 #:xbinutils avr-binutils))) (package (inherit xgcc) (name "avr-gcc") -- cgit v1.2.3 From 1a1e83366d2d9aa5b49f2dba728a1a312fc22b65 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 22 May 2017 16:13:17 +0200 Subject: gnu: Add libstdc++-arm-none-eabi. * gnu/packages/embedded.scm (make-libstdc++-arm-none-eabi): New procedure. --- gnu/packages/embedded.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index 632682d630..2befdf31b3 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -197,6 +197,30 @@ usable on embedded products.") "--disable-nls")))) (synopsis "Newlib variant for small systems with limited memory"))) +(define (make-libstdc++-arm-none-eabi xgcc newlib) + (let ((libstdc++ (make-libstdc++ xgcc))) + (package (inherit libstdc++) + (name "libstdc++-arm-none-eabi") + (arguments + (substitute-keyword-arguments (package-arguments libstdc++) + ((#:configure-flags flags) + ``("--target=arm-none-eabi" + "--host=arm-none-eabi" + "--disable-libstdcxx-pch" + "--enable-multilib" + "--with-multilib-list=armv6-m,armv7-m,armv7e-m" + "--disable-shared" + "--disable-tls" + "--disable-plugin" + "--with-newlib" + ,(string-append "--with-gxx-include-dir=" + (assoc-ref %outputs "out") + "/arm-none-eabi/include"))))) + (native-inputs + `(("newlib" ,newlib) + ("xgcc" ,xgcc) + ,@(package-native-inputs libstdc++)))))) + (define (arm-none-eabi-toolchain xgcc newlib) "Produce a cross-compiler toolchain package with the compiler XGCC and the C library variant NEWLIB." -- cgit v1.2.3 From 9cdf48728e74c5aed0650201c2e39c82fea0ce4b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 22 May 2017 16:13:18 +0200 Subject: gnu: arm-none-eabi-toolchain: Provide union of all inputs at the output. * gnu/packages/embedded.scm (arm-none-eabi-toolchain)[arguments]: Make the union of all inputs available at the output. --- gnu/packages/embedded.scm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index 2befdf31b3..f8684f46a2 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -237,7 +237,16 @@ library variant NEWLIB." (version (package-version xgcc)) (source #f) (build-system trivial-build-system) - (arguments '(#:builder (mkdir %output))) + (arguments + '(#:modules ((guix build union)) + #:builder + (begin + (use-modules (ice-9 match) + (guix build union)) + (match %build-inputs + (((names . directories) ...) + (union-build (assoc-ref %outputs "out") + directories)))))) (propagated-inputs `(("binutils" ,(cross-binutils "arm-none-eabi")) ("gcc" ,xgcc) -- cgit v1.2.3 From 8ea169d074d1edaa176974302c7fa3edf0264363 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 22 May 2017 16:13:19 +0200 Subject: gnu: arm-none-eabi-toolchain: Include libstdc++. * gnu/packages/embedded.scm (arm-none-eabi-toolchain)[propagated-inputs]: Add libstdc++. --- gnu/packages/embedded.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index f8684f46a2..70541540e5 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -249,6 +249,7 @@ library variant NEWLIB." directories)))))) (propagated-inputs `(("binutils" ,(cross-binutils "arm-none-eabi")) + ("libstdc++" ,(make-libstdc++-arm-none-eabi xgcc newlib-with-xgcc)) ("gcc" ,xgcc) ("newlib" ,newlib-with-xgcc))) (synopsis "Complete GCC tool chain for ARM bare metal development") -- cgit v1.2.3 From 8675ae15b77eca8c25b99a332056004bad9d88b1 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 24 May 2017 23:35:40 +0200 Subject: gnu: mcelog: Update to 151. * gnu/packages/linux.scm (mcelog): Update to 151. --- 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 bfe6b64ffe..28babb4db5 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -3325,14 +3325,14 @@ the default @code{nsswitch} and the experimental @code{umich_ldap}.") (define-public mcelog (package (name "mcelog") - (version "150") + (version "151") (source (origin (method url-fetch) (uri (string-append "https://git.kernel.org/cgit/utils/cpu/mce/" "mcelog.git/snapshot/v" version ".tar.gz")) (sha256 (base32 - "1skfiracl3a1afmml8mvnccr4rym4ibv33c342rkyxn0j3088h24")) + "1cgfdlz51hv2zbph00ylzm8z94gv8wakx7dva1pa4jcl3hnq0dh5")) (file-name (string-append name "-" version ".tar.gz")) (modules '((guix build utils))) (snippet -- cgit v1.2.3 From 631ced1b5b0dfccf70bdca9947111894ea5a00f7 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 24 May 2017 23:40:19 +0200 Subject: gnu: libconfuse: Update to 3.1. * gnu/packages/wm.scm (libconfuse): Update to 3.1. [source, home-page]: Change to new home page. --- gnu/packages/wm.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 3cf74c4ca8..607ef2b0e7 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -72,16 +72,17 @@ (define-public libconfuse (package (name "libconfuse") - (version "2.7") + (version "3.1") (source (origin (method url-fetch) - (uri (string-append "http://savannah.nongnu.org/download/confuse/" - "confuse-" version ".tar.gz")) + (uri (string-append "https://github.com/martinh/libconfuse/" + "releases/download/v" version + "/confuse-" version ".tar.xz")) (sha256 (base32 - "0y47r2ashz44wvnxdb18ivpmj8nxhw3y9bf7v9w0g5byhgyp89g3")))) + "0rnacgfkd88qyxrfdfzn9cxz533l9s5wrzb9093f9mbi00gg6wc1")))) (build-system gnu-build-system) - (home-page "http://www.nongnu.org/confuse/") + (home-page "https://github.com/martinh/libconfuse") (synopsis "Configuration file parser library") (description "libconfuse is a configuration file parser library. It supports sections and (lists of) values (strings, integers, floats, booleans -- cgit v1.2.3 From 9619a95ed8bbc400af6536e9619cf9c65a5833eb Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Thu, 25 May 2017 00:55:22 +0200 Subject: gnu: Add emacs-rainbow-mode. * gnu/packages/emacs.scm (emacs-rainbow-mode): New variable. --- gnu/packages/emacs.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index a59a4ca698..8c3950d31d 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -3248,6 +3248,25 @@ identifiers based on their names. Each identifier gets a color based on a hash of its name.") (license license:bsd-2))) +(define-public emacs-rainbow-mode + (package + (name "emacs-rainbow-mode") + (version "0.12") + (source (origin + (method url-fetch) + (uri (string-append + "http://elpa.gnu.org/packages/rainbow-mode-" version ".el")) + (sha256 + (base32 + "10a7qs7fvw4qi4vxj9n56j26gjk61bl79dgz4md1d26slb2j1c04")))) + (build-system emacs-build-system) + (home-page "http://elpa.gnu.org/packages/rainbow-mode.html") + (synopsis "Colorize color names in buffers") + (description + "This minor mode sets background color to strings that match color +names, e.g. #0000ff is displayed in white with a blue background.") + (license license:gpl3+))) + (define-public emacs-visual-fill-column (package (name "emacs-visual-fill-column") -- cgit v1.2.3 From 2eb676819f712d894dff47aa44196d1abcce883f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 25 May 2017 08:46:08 +0200 Subject: gnu: qtox: Update to 1.10.1. * gnu/packages/messaging.scm (qtox): Update to 1.10.1. [inputs]: Remove libtoxcore and qt; add c-toxcore, qtbase, and qtsvg. [native-inputs]: Remove qt; add qttools. [build-system]: Change to cmake-build-system. [arguments]: Remove configure phase replacement. --- gnu/packages/messaging.scm | 53 +++++++++++++++++++++------------------------- 1 file changed, 24 insertions(+), 29 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 89df0970d6..c22d3d4dc8 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -756,48 +756,43 @@ instant messenger with audio and video chat capabilities.") (define-public qtox (package (name "qtox") - (version "1.5.1") - (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/qTox/qTox/archive/v" - version ".tar.gz")) - (sha256 - (base32 "0y15mc39x54k1kz36cw9412kl1p1p6nzlx97gagv4gg3vybfhbjv")) - (file-name (string-append name "-" version ".tar.gz")))) + (version "1.10.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/qTox/qTox/archive/v" + version ".tar.gz")) + (sha256 + (base32 + "0b37an611i2jdri59vsspyl3yf6cn4h0bn9d2jdrkw8d2rfqc8qy")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system cmake-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-reproducibility-issues + (lambda _ + (substitute* "src/main.cpp" + (("__DATE__") "\"\"") + (("__TIME__") "\"\"") + (("TIMESTAMP") "\"\"")) + #t))))) (inputs `(("ffmpeg" ,ffmpeg) ("glib" ,glib) ("gtk+" ,gtk+-2) ("libsodium" ,libsodium) - ("libtoxcore" ,libtoxcore) + ("c-toxcore" ,c-toxcore) ("libvpx" ,libvpx) ("libxscrnsaver" ,libxscrnsaver) ("libx11" ,libx11) ("openal" ,openal) ("qrencode" ,qrencode) - ("qt" ,qt) + ("qtbase" ,qtbase) + ("qtsvg" ,qtsvg) ("sqlcipher" ,sqlcipher))) (native-inputs `(("pkg-config" ,pkg-config) - ("qmake" ,qt))) - (build-system gnu-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-reproducibility-issues - (lambda _ - (substitute* "src/main.cpp" - (("__DATE__") "\"\"") - (("__TIME__") "\"\"") - (("TIMESTAMP") "\"\"")) - #t)) - (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - (zero? - (system* "qmake" - (string-append "PREFIX=" - (assoc-ref outputs "out"))))))))) + ("qmake" ,qttools))) (home-page "https://qtox.github.io/") (synopsis "Tox chat client using Qt") (description "qTox is a Tox client that follows the Tox design -- cgit v1.2.3 From dd13aa90d6b4cd57fa16046428b0a2a4f5f75065 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 25 May 2017 09:26:23 +0200 Subject: gnu: vlc: Update to 2.2.6. * gnu/packages/video.scm (vlc): Update to 2.2.6. --- 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 b7c26a0424..5399334f2e 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -646,7 +646,7 @@ audio/video codec library.") (define-public vlc (package (name "vlc") - (version "2.2.5.1") + (version "2.2.6") (source (origin (method url-fetch) (uri (string-append @@ -654,7 +654,7 @@ audio/video codec library.") version "/vlc-" version ".tar.xz")) (sha256 (base32 - "1k51vm6piqlrnld7sxyg0s4kdkd3lan97lmy3v5wdh3qyll8m2xj")))) + "1a22b913p2227ljz89c4fgjlyln5gcz8z58w32r0wh4srnnd60y4")))) (build-system gnu-build-system) (native-inputs `(("git" ,git) ; needed for a test -- cgit v1.2.3 From 5c7d62242a7f066b5b248beb6b87c94e72813936 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 25 May 2017 09:35:30 +0200 Subject: gnu: cmst: Use modular Qt. * gnu/packages/connman.scm (cmst)[inputs]: Remove qt; add qtbase. [native-inputs]: Remove qt; add qttools. --- gnu/packages/connman.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/connman.scm b/gnu/packages/connman.scm index b3d62d6f6f..08e725118d 100644 --- a/gnu/packages/connman.scm +++ b/gnu/packages/connman.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2017 Clément Lassieur +;;; Copyright © 2017 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -145,9 +146,9 @@ sharing) to clients via USB, ethernet, WiFi, cellular and Bluetooth.") (sha256 (base32 "16g9byxr1rkmrnzi6sjplpmkr8h6pqj7418jz30czqviw5qlkqwl")))) (inputs - `(("qt" ,qt))) + `(("qtbase" ,qtbase))) (native-inputs - `(("qmake" ,qt))) + `(("qttools" ,qttools))) (build-system gnu-build-system) (arguments '(#:phases -- cgit v1.2.3 From 864cc7ef56d98838de4f7241bd60b345112593c9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 25 May 2017 10:00:04 +0200 Subject: gnu: tiled: Use modular Qt. * gnu/packages/game-development.scm (tiled)[inputs]: Remove qt; add qtbase and qtsvg. [native-inputs]: Add qttools. [arguments]: Override LRELEASE in translations.pro. --- gnu/packages/game-development.scm | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index da3a850fed..b7bcdee94c 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -262,13 +262,22 @@ levels.") (base32 "1kcj2blrlfpghjv0qigip2qcbxfx7vv9i8nr4997hkwhsh6i2pjp")))) (build-system gnu-build-system) - (inputs `(("qt" ,qt) - ("zlib" ,zlib))) + (inputs + `(("qtbase" ,qtbase) + ("qtsvg" ,qtsvg) + ("zlib" ,zlib))) + (native-inputs + `(("qttools" ,qttools))) (arguments '(#:phases (modify-phases %standard-phases (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "translations/translations.pro" + (("LRELEASE =.*") + (string-append "LRELEASE = " + (assoc-ref inputs "qttools") + "/bin/lrelease\n"))) (let ((out (assoc-ref outputs "out"))) (system* "qmake" (string-append "PREFIX=" out)))))))) -- cgit v1.2.3 From 77c729baf2eee1b6ea0b764519c684f1eab18400 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 25 May 2017 10:26:58 +0200 Subject: gnu: warzone2100: Use modular Qt. * gnu/packages/games.scm (warzone2100)[inputs]: Remove qt, add qtbase and qtscript. [arguments]: Add build phase "patch-for-qt5.8". --- gnu/packages/games.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 4c297005dc..60d885500c 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -2784,6 +2784,12 @@ fullscreen, use F5 or Alt+Enter.") (lambda _ (substitute* "icons/Makefile.in" (("\\$\\(INSTALL_DATA\\) \\$\\(srcdir\\)/warzone2100.appdata.xml.*") "")) + #t)) + (add-after 'unpack 'patch-for-qt5.8 + (lambda _ + (substitute* "lib/widget/editbox.cpp" + (("== '\\\\0'") + "== QChar('\\0')")) #t))))) (native-inputs `(("pkg-config" ,pkg-config) ("unzip" ,unzip) @@ -2797,7 +2803,8 @@ fullscreen, use F5 or Alt+Enter.") ("libxrandr" ,libxrandr) ("openal" ,openal) ("physfs" ,physfs) - ("qt" ,qt) + ("qtbase" ,qtbase) + ("qtscript" ,qtscript) ("openssl" ,openssl) ("quesoglc" ,quesoglc) ("sdl2" ,sdl2))) -- cgit v1.2.3 From 8ed128893881137cd9f6a8690b6737749a0ac1eb Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Fri, 12 May 2017 22:05:18 +0200 Subject: gnu: Enable python-parse-type tests. Fixes . * gnu/packages/python.scm (python-parse-type)[arguments]: Enable tests. Add phase "patch-tests". [native-inputs]: Add python-pytest, python-pytest-runner. [properties]: Add python2-variant. (python2-parse-type): New variable. --- gnu/packages/python.scm | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index dc1efd62a4..2c95539b35 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -1487,16 +1487,38 @@ backported for previous versions of Python from 2.4 to 3.3.") (base32 "0iv1c34npr4iynwpgv1vkjx9rjd18a85ir8c01gc5f7wp8iv7l1x")))) (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-tests + (lambda _ + (substitute* "tests/test_parse_type_parse.py" + ;; Newer Python versions don't have the problem this test tests. + (("self[.]assertRaises[(]parse.TooManyFields, p.parse, ''[)]") + "")) + #t))))) (propagated-inputs `(("python-six" ,python-six) ("python-parse" ,python-parse))) - (arguments '(#:tests? #f)) ;TODO: tests require pytest + (native-inputs + `(("python-pytest" ,python-pytest) + ("python-pytest-runner" ,python-pytest-runner))) (home-page "https://github.com/jenisys/parse_type") (synopsis "Extended parse module") (description "Parse_type extends the python parse module.") + (properties + `((python2-variant . ,(delay python2-parse-type)))) (license license:bsd-3))) +(define-public python2-parse-type + (let ((base (package-with-python2 + (strip-python2-variant python-parse-type)))) + (package (inherit base) + (propagated-inputs + `(("python2-enum34" ,python2-enum34) + ,@(package-propagated-inputs base)))))) + (define-public python-parse (package (name "python-parse") -- cgit v1.2.3 From d169326908a6143f4e914081c86a9d0d8152858b Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sat, 13 May 2017 10:52:12 +0200 Subject: gnu: Add python-behave-web-api. Fixes . * gnu/packages/python.scm (python-behave-web-api, python2-behave-web-api): New variables. --- gnu/packages/python.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 2c95539b35..62fada66a6 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -14644,3 +14644,35 @@ substitute for redis.") (define-public python2-fakeredis (package-with-python2 python-fakeredis)) + +(define-public python-behave-web-api + (package + (name "python-behave-web-api") + (version "1.0.6") + (source + (origin + (method url-fetch) + (uri (pypi-uri "behave-web-api" version)) + (sha256 + (base32 + "03kpq2xsy1gab3jy0dccbxlsg7vwfy4lagss0qldwmx3xz6b3i19")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-dependencies + (lambda _ + (substitute* "setup.py" + (("'wheel'") "") ; We don't use it. + (("'ordereddict==1.1'") ""))))))) ; Python >= 2.7 has it built-in. + (propagated-inputs + `(("behave" ,behave) + ("python-requests" ,python-requests))) + (home-page "https://github.com/jefersondaniel/behave-web-api") + (synopsis "Provides testing for JSON APIs with Behave for Python") + (description "This package provides testing utility modules for testing +JSON APIs with Behave.") + (license license:expat))) + +(define-public python2-behave-web-api + (package-with-python2 python-behave-web-api)) -- cgit v1.2.3 From faa6bdf8ada7b3e4c461edb5183c539cc8a66a00 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Fri, 19 May 2017 20:40:16 +0200 Subject: gnu: sunxi-tools: Build armhf target tools. * gnu/packages/admin.scm (sunxi-tools) [native-inputs]: Add cross-gcc, cross-libc. [arguments]: Add "set-environment-up" phase. Replace "build" phase. Add "build-armhf" phase. Update make-flags. --- gnu/packages/admin.scm | 39 ++++++++++++++++++++++++++++++++++----- 1 file changed, 34 insertions(+), 5 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index aa6ccc0a73..e80dc5867d 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -57,6 +57,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages tcl) #:use-module (gnu packages compression) + #:use-module (gnu packages cross-base) #:use-module (gnu packages tls) #:use-module (gnu packages gnupg) #:use-module (gnu packages bison) @@ -1904,20 +1905,48 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.") '(delete-file-recursively "bin")) (file-name (string-append name "-" version ".tar.gz")))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("cross-gcc" ,(cross-gcc "arm-linux-gnueabihf" + #:xbinutils (cross-binutils "arm-linux-gnueabihf") + #:libc (cross-libc "arm-linux-gnueabihf"))) + ("cross-libc" ,(cross-libc "arm-linux-gnueabihf")))) (inputs `(("libusb" ,libusb))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; no tests exist + `(#:tests? #f ; no tests exist #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")) - "CROSS_COMPILE=" - "CC=gcc" - "all") + (string-append "CROSS_COMPILE=" + "arm-linux-gnueabihf-") + "CC=gcc") #:phases (modify-phases %standard-phases (delete 'configure) + (add-before 'build 'set-environment-up + (lambda* (#:key make-flags #:allow-other-keys) + (define (cross? x) + (string-contains x "cross-arm-linux")) + (setenv "CROSS_C_INCLUDE_PATH" (getenv "C_INCLUDE_PATH")) + (setenv "CROSS_CPLUS_INCLUDE_PATH" (getenv "CPLUS_INCLUDE_PATH")) + (setenv "CROSS_LIBRARY_PATH" (getenv "LIBRARY_PATH")) + (for-each + (lambda (env-name) + (let* ((env-value (getenv env-name)) + (search-path (search-path-as-string->list env-value)) + (new-search-path (filter (lambda (e) (not (cross? e))) + search-path)) + (new-env-value (list->search-path-as-string + new-search-path ":"))) + (setenv env-name new-env-value))) + '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH" "LIBRARY_PATH")) + #t)) + (replace 'build + (lambda* (#:key make-flags #:allow-other-keys) + (zero? (apply system* "make" "tools" "misc" make-flags)))) + (add-after 'build 'build-armhf + (lambda* (#:key make-flags #:allow-other-keys) + (zero? (apply system* "make" "target-tools" make-flags)))) (replace 'install (lambda* (#:key make-flags #:allow-other-keys) (zero? (apply system* "make" "install-all" "install-misc" -- cgit v1.2.3 From 4862a98be473ac6bb0bfd8a6cdbc81119cb44355 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 25 May 2017 14:11:22 +0200 Subject: base64: Turn into a regular Guile module. * guix/base64.scm: Replace 'library' form with 'define-module'. --- guix/base64.scm | 377 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 189 insertions(+), 188 deletions(-) diff --git a/guix/base64.scm b/guix/base64.scm index 4bd5dc5e1b..0fa501eca0 100644 --- a/guix/base64.scm +++ b/guix/base64.scm @@ -5,6 +5,7 @@ ;; February 12, 2014. ;; ;; Some optimizations made by Ludovic Courtès , 2015. +;; Turned into a Guile module (instead of R6RS). ;; ;; This program is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by @@ -42,211 +43,211 @@ ;; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER ;; DEALINGS IN THE SOFTWARE. -#!r6rs - ;; RFC 4648 Base-N Encodings -(library (guix base64) - (export base64-encode - base64-decode - base64-alphabet - base64url-alphabet - get-delimited-base64 - put-delimited-base64) - (import (rnrs) - (only (srfi :13 strings) - string-index - string-prefix? string-suffix? - string-concatenate string-trim-both) - (only (guile) ash logior)) +(define-module (guix base64) + #:export (base64-encode + base64-decode + base64-alphabet + base64url-alphabet + get-delimited-base64 + put-delimited-base64) + #:use-module (rnrs) + #:use-module ((srfi srfi-13) + #:select (string-index + string-prefix? string-suffix? + string-concatenate string-trim-both))) - (define-syntax define-alias - (syntax-rules () - ((_ new old) - (define-syntax new (identifier-syntax old))))) +(define-syntax define-alias + (syntax-rules () + ((_ new old) + (define-syntax new (identifier-syntax old))))) - ;; Force the use of Guile's own primitives to avoid the overhead of its 'fx' - ;; procedures. - (define-alias fxbit-field bitwise-bit-field) - (define-alias fxarithmetic-shift ash) - (define-alias fxarithmetic-shift-left ash) - (define-alias fxand logand) - (define-alias fxior logior) - (define-alias fxxor logxor) +;; Force the use of Guile's own primitives to avoid the overhead of its 'fx' +;; procedures. - (define base64-alphabet - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/") +(define-alias fxbit-field bitwise-bit-field) +(define-alias fxarithmetic-shift ash) +(define-alias fxarithmetic-shift-left ash) +(define-alias fxand logand) +(define-alias fxior logior) +(define-alias fxxor logxor) - (define base64url-alphabet - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_") +(define base64-alphabet + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/") - (define base64-encode - (case-lambda - ;; Simple interface. Returns a string containing the canonical - ;; base64 representation of the given bytevector. - ((bv) - (base64-encode bv 0 (bytevector-length bv) #f #f base64-alphabet #f)) - ((bv start) - (base64-encode bv start (bytevector-length bv) #f #f base64-alphabet #f)) - ((bv start end) - (base64-encode bv start end #f #f base64-alphabet #f)) - ((bv start end line-length) - (base64-encode bv start end line-length #f base64-alphabet #f)) - ((bv start end line-length no-padding) - (base64-encode bv start end line-length no-padding base64-alphabet #f)) - ((bv start end line-length no-padding alphabet) - (base64-encode bv start end line-length no-padding alphabet #f)) - ;; Base64 encodes the bytes [start,end[ in the given bytevector. - ;; Lines are limited to line-length characters (unless #f), - ;; which must be a multiple of four. To omit the padding - ;; characters (#\=) set no-padding to a true value. If port is - ;; #f, returns a string. - ((bv start end line-length no-padding alphabet port) - (assert (or (not line-length) (zero? (mod line-length 4)))) - (let-values (((p extract) (if port - (values port (lambda () (values))) - (open-string-output-port)))) - (letrec ((put (if line-length - (let ((chars 0)) - (lambda (p c) - (when (fx=? chars line-length) - (set! chars 0) - (put-char p #\linefeed)) - (set! chars (fx+ chars 1)) - (put-char p c))) - put-char))) - (let lp ((i start)) - (cond ((= i end)) - ((<= (+ i 3) end) - (let ((x (bytevector-uint-ref bv i (endianness big) 3))) - (put p (string-ref alphabet (fxbit-field x 18 24))) - (put p (string-ref alphabet (fxbit-field x 12 18))) - (put p (string-ref alphabet (fxbit-field x 6 12))) - (put p (string-ref alphabet (fxbit-field x 0 6))) - (lp (+ i 3)))) - ((<= (+ i 2) end) - (let ((x (fxarithmetic-shift-left (bytevector-u16-ref bv i (endianness big)) 8))) - (put p (string-ref alphabet (fxbit-field x 18 24))) - (put p (string-ref alphabet (fxbit-field x 12 18))) - (put p (string-ref alphabet (fxbit-field x 6 12))) - (unless no-padding - (put p #\=)))) - (else - (let ((x (fxarithmetic-shift-left (bytevector-u8-ref bv i) 16))) - (put p (string-ref alphabet (fxbit-field x 18 24))) - (put p (string-ref alphabet (fxbit-field x 12 18))) - (unless no-padding - (put p #\=) - (put p #\=))))))) - (extract))))) +(define base64url-alphabet + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_") + +(define base64-encode + (case-lambda + ;; Simple interface. Returns a string containing the canonical + ;; base64 representation of the given bytevector. + ((bv) + (base64-encode bv 0 (bytevector-length bv) #f #f base64-alphabet #f)) + ((bv start) + (base64-encode bv start (bytevector-length bv) #f #f base64-alphabet #f)) + ((bv start end) + (base64-encode bv start end #f #f base64-alphabet #f)) + ((bv start end line-length) + (base64-encode bv start end line-length #f base64-alphabet #f)) + ((bv start end line-length no-padding) + (base64-encode bv start end line-length no-padding base64-alphabet #f)) + ((bv start end line-length no-padding alphabet) + (base64-encode bv start end line-length no-padding alphabet #f)) + ;; Base64 encodes the bytes [start,end[ in the given bytevector. + ;; Lines are limited to line-length characters (unless #f), + ;; which must be a multiple of four. To omit the padding + ;; characters (#\=) set no-padding to a true value. If port is + ;; #f, returns a string. + ((bv start end line-length no-padding alphabet port) + (assert (or (not line-length) (zero? (mod line-length 4)))) + (let-values (((p extract) (if port + (values port (lambda () (values))) + (open-string-output-port)))) + (letrec ((put (if line-length + (let ((chars 0)) + (lambda (p c) + (when (fx=? chars line-length) + (set! chars 0) + (put-char p #\linefeed)) + (set! chars (fx+ chars 1)) + (put-char p c))) + put-char))) + (let lp ((i start)) + (cond ((= i end)) + ((<= (+ i 3) end) + (let ((x (bytevector-uint-ref bv i (endianness big) 3))) + (put p (string-ref alphabet (fxbit-field x 18 24))) + (put p (string-ref alphabet (fxbit-field x 12 18))) + (put p (string-ref alphabet (fxbit-field x 6 12))) + (put p (string-ref alphabet (fxbit-field x 0 6))) + (lp (+ i 3)))) + ((<= (+ i 2) end) + (let ((x (fxarithmetic-shift-left (bytevector-u16-ref bv i (endianness big)) 8))) + (put p (string-ref alphabet (fxbit-field x 18 24))) + (put p (string-ref alphabet (fxbit-field x 12 18))) + (put p (string-ref alphabet (fxbit-field x 6 12))) + (unless no-padding + (put p #\=)))) + (else + (let ((x (fxarithmetic-shift-left (bytevector-u8-ref bv i) 16))) + (put p (string-ref alphabet (fxbit-field x 18 24))) + (put p (string-ref alphabet (fxbit-field x 12 18))) + (unless no-padding + (put p #\=) + (put p #\=))))))) + (extract))))) ;; Decodes a base64 string. The string must contain only pure ;; unpadded base64 data. - (define base64-decode - (case-lambda - ((str) - (base64-decode str base64-alphabet #f)) - ((str alphabet) - (base64-decode str alphabet #f)) - ((str alphabet port) - (unless (zero? (mod (string-length str) 4)) - (error 'base64-decode - "input string must be a multiple of four characters")) - (let-values (((p extract) (if port - (values port (lambda () (values))) - (open-bytevector-output-port)))) - (do ((i 0 (+ i 4))) - ((= i (string-length str)) - (extract)) - (let ((c1 (string-ref str i)) - (c2 (string-ref str (+ i 1))) - (c3 (string-ref str (+ i 2))) - (c4 (string-ref str (+ i 3)))) - ;; TODO: be more clever than string-index - (let ((i1 (string-index alphabet c1)) - (i2 (string-index alphabet c2)) - (i3 (string-index alphabet c3)) - (i4 (string-index alphabet c4))) - (cond ((and i1 i2 i3 i4) - (let ((x (fxior (fxarithmetic-shift-left i1 18) - (fxarithmetic-shift-left i2 12) - (fxarithmetic-shift-left i3 6) - i4))) - (put-u8 p (fxbit-field x 16 24)) - (put-u8 p (fxbit-field x 8 16)) - (put-u8 p (fxbit-field x 0 8)))) - ((and i1 i2 i3 (char=? c4 #\=) - (= i (- (string-length str) 4))) - (let ((x (fxior (fxarithmetic-shift-left i1 18) - (fxarithmetic-shift-left i2 12) - (fxarithmetic-shift-left i3 6)))) - (put-u8 p (fxbit-field x 16 24)) - (put-u8 p (fxbit-field x 8 16)))) - ((and i1 i2 (char=? c3 #\=) (char=? c4 #\=) - (= i (- (string-length str) 4))) - (let ((x (fxior (fxarithmetic-shift-left i1 18) - (fxarithmetic-shift-left i2 12)))) - (put-u8 p (fxbit-field x 16 24)))) - (else - (error 'base64-decode "invalid input" - (list c1 c2 c3 c4))))))))))) + +(define base64-decode + (case-lambda + ((str) + (base64-decode str base64-alphabet #f)) + ((str alphabet) + (base64-decode str alphabet #f)) + ((str alphabet port) + (unless (zero? (mod (string-length str) 4)) + (error 'base64-decode + "input string must be a multiple of four characters")) + (let-values (((p extract) (if port + (values port (lambda () (values))) + (open-bytevector-output-port)))) + (do ((i 0 (+ i 4))) + ((= i (string-length str)) + (extract)) + (let ((c1 (string-ref str i)) + (c2 (string-ref str (+ i 1))) + (c3 (string-ref str (+ i 2))) + (c4 (string-ref str (+ i 3)))) + ;; TODO: be more clever than string-index + (let ((i1 (string-index alphabet c1)) + (i2 (string-index alphabet c2)) + (i3 (string-index alphabet c3)) + (i4 (string-index alphabet c4))) + (cond ((and i1 i2 i3 i4) + (let ((x (fxior (fxarithmetic-shift-left i1 18) + (fxarithmetic-shift-left i2 12) + (fxarithmetic-shift-left i3 6) + i4))) + (put-u8 p (fxbit-field x 16 24)) + (put-u8 p (fxbit-field x 8 16)) + (put-u8 p (fxbit-field x 0 8)))) + ((and i1 i2 i3 (char=? c4 #\=) + (= i (- (string-length str) 4))) + (let ((x (fxior (fxarithmetic-shift-left i1 18) + (fxarithmetic-shift-left i2 12) + (fxarithmetic-shift-left i3 6)))) + (put-u8 p (fxbit-field x 16 24)) + (put-u8 p (fxbit-field x 8 16)))) + ((and i1 i2 (char=? c3 #\=) (char=? c4 #\=) + (= i (- (string-length str) 4))) + (let ((x (fxior (fxarithmetic-shift-left i1 18) + (fxarithmetic-shift-left i2 12)))) + (put-u8 p (fxbit-field x 16 24)))) + (else + (error 'base64-decode "invalid input" + (list c1 c2 c3 c4))))))))))) - (define (get-line-comp f port) - (if (port-eof? port) - (eof-object) - (f (get-line port)))) +(define (get-line-comp f port) + (if (port-eof? port) + (eof-object) + (f (get-line port)))) ;; Reads the common -----BEGIN/END type----- delimited format from ;; the given port. Returns two values: a string with the type and a ;; bytevector containing the base64 decoded data. The second value ;; is the eof object if there is an eof before the BEGIN delimiter. - (define (get-delimited-base64 port) - (define (get-first-data-line port) - ;; Some MIME data has header fields in the same format as mail - ;; or http. These are ignored. - (let ((line (get-line-comp string-trim-both port))) - (cond ((eof-object? line) line) - ((string-index line #\:) - (let lp () ;read until empty line - (let ((line (get-line-comp string-trim-both port))) - (if (string=? line "") - (get-line-comp string-trim-both port) - (lp))))) - (else line)))) + +(define (get-delimited-base64 port) + (define (get-first-data-line port) + ;; Some MIME data has header fields in the same format as mail + ;; or http. These are ignored. (let ((line (get-line-comp string-trim-both port))) - (cond ((eof-object? line) - (values "" (eof-object))) - ((string=? line "") - (get-delimited-base64 port)) - ((and (string-prefix? "-----BEGIN " line) - (string-suffix? "-----" line)) - (let* ((type (substring line 11 (- (string-length line) 5))) - (endline (string-append "-----END " type "-----"))) - (let-values (((outp extract) (open-bytevector-output-port))) - (let lp ((line (get-first-data-line port))) - (cond ((eof-object? line) + (cond ((eof-object? line) line) + ((string-index line #\:) + (let lp () ;read until empty line + (let ((line (get-line-comp string-trim-both port))) + (if (string=? line "") + (get-line-comp string-trim-both port) + (lp))))) + (else line)))) + (let ((line (get-line-comp string-trim-both port))) + (cond ((eof-object? line) + (values "" (eof-object))) + ((string=? line "") + (get-delimited-base64 port)) + ((and (string-prefix? "-----BEGIN " line) + (string-suffix? "-----" line)) + (let* ((type (substring line 11 (- (string-length line) 5))) + (endline (string-append "-----END " type "-----"))) + (let-values (((outp extract) (open-bytevector-output-port))) + (let lp ((line (get-first-data-line port))) + (cond ((eof-object? line) + (error 'get-delimited-base64 + "unexpected end of file")) + ((string-prefix? "-" line) + (unless (string=? line endline) (error 'get-delimited-base64 - "unexpected end of file")) - ((string-prefix? "-" line) - (unless (string=? line endline) - (error 'get-delimited-base64 - "bad end delimiter" type line)) - (values type (extract))) - (else - (unless (and (= (string-length line) 5) - (string-prefix? "=" line)) ;Skip Radix-64 checksum - (base64-decode line base64-alphabet outp)) - (lp (get-line-comp string-trim-both port)))))))) - (else ;skip garbage (like in openssl x509 -in foo -text output). - (get-delimited-base64 port))))) + "bad end delimiter" type line)) + (values type (extract))) + (else + (unless (and (= (string-length line) 5) + (string-prefix? "=" line)) ;Skip Radix-64 checksum + (base64-decode line base64-alphabet outp)) + (lp (get-line-comp string-trim-both port)))))))) + (else ;skip garbage (like in openssl x509 -in foo -text output). + (get-delimited-base64 port))))) - (define put-delimited-base64 - (case-lambda - ((port type bv line-length) - (display (string-append "-----BEGIN " type "-----\n") port) - (base64-encode bv 0 (bytevector-length bv) - line-length #f base64-alphabet port) - (display (string-append "\n-----END " type "-----\n") port)) - ((port type bv) - (put-delimited-base64 port type bv 76))))) +(define put-delimited-base64 + (case-lambda + ((port type bv line-length) + (display (string-append "-----BEGIN " type "-----\n") port) + (base64-encode bv 0 (bytevector-length bv) + line-length #f base64-alphabet port) + (display (string-append "\n-----END " type "-----\n") port)) + ((port type bv) + (put-delimited-base64 port type bv 76)))) -- cgit v1.2.3 From bfe5264aa10c1af64adc5c24d0cf091562e3e09c Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 25 May 2017 14:19:51 +0200 Subject: modules: Raise an error when a dependency could not be found. * guix/modules.scm (&missing-dependency-error): New error condition. (source-module-dependencies): Raise it when 'search-path' returns #f. * tests/modules.scm ("&missing-dependency-error"): New test. --- guix/modules.scm | 21 +++++++++++++++++---- tests/modules.scm | 25 ++++++++++++++++++++++++- 2 files changed, 41 insertions(+), 5 deletions(-) diff --git a/guix/modules.scm b/guix/modules.scm index 24b5903579..19a4acd76c 100644 --- a/guix/modules.scm +++ b/guix/modules.scm @@ -20,8 +20,13 @@ #:use-module (guix memoization) #:use-module (guix sets) #:use-module (srfi srfi-26) + #:use-module (srfi srfi-34) + #:use-module (srfi srfi-35) #:use-module (ice-9 match) - #:export (source-module-closure + #:export (missing-dependency-error? + missing-dependency-module + + source-module-closure live-module-closure guix-module-name?)) @@ -35,6 +40,11 @@ ;;; ;;; Code: +;; The error corresponding to a missing module. +(define-condition-type &missing-dependency-error &error + missing-dependency-error? + (module missing-dependency-module)) + (define (colon-symbol? obj) "Return true if OBJ is a symbol that starts with a colon." (and (symbol? obj) @@ -106,9 +116,12 @@ depends on." "Return the modules used by MODULE by looking at its source code." (if (member module %source-less-modules) '() - (module-file-dependencies - (search-path load-path - (module-name->file-name module))))) + (match (search-path load-path (module-name->file-name module)) + ((? string? file) + (module-file-dependencies file)) + (#f + (raise (condition (&missing-dependency-error + (module module)))))))) (define* (module-closure modules #:key diff --git a/tests/modules.scm b/tests/modules.scm index 04945e531b..57019c600c 100644 --- a/tests/modules.scm +++ b/tests/modules.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016 Ludovic Courtès +;;; Copyright © 2016, 2017 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -19,7 +19,9 @@ (define-module (test-modules) #:use-module (guix modules) #:use-module ((guix build-system gnu) #:select (%gnu-build-system-modules)) + #:use-module ((guix utils) #:select (call-with-temporary-directory)) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-34) #:use-module (srfi srfi-64)) (test-begin "modules") @@ -42,4 +44,25 @@ (live-module-closure '((gnu build vm))) (source-module-closure '((gnu build vm))))) +(test-equal "&missing-dependency-error" + '(something that does not exist) + (call-with-temporary-directory + (lambda (directory) + (call-with-output-file (string-append directory "/foobar.scm") + (lambda (port) + (write '(define-module (foobar) + #:use-module (something that does not exist)) + port))) + + (call-with-output-file (string-append directory "/baz.scm") + (lambda (port) + (write '(define-module (baz) + #:use-module (foobar)) + port))) + + (guard (c ((missing-dependency-error? c) + (missing-dependency-module c))) + (source-module-closure '((baz)) (list directory) + #:select? (const #t)))))) + (test-end) -- cgit v1.2.3 From 20ed093977cc80ba1729c38e05ae7955a38069a6 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 25 May 2017 14:21:04 +0200 Subject: pull: Catch '&missing-dependency-error' raised by 'source-module-closure'. Fixes . Reported by Mathieu Othacehe . * guix/build/pull.scm (depends-on-guile-ssh?): Remove. (has-all-its-dependencies?): New procedure. (build-guix): Use it to filter source files. --- guix/build/pull.scm | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/guix/build/pull.scm b/guix/build/pull.scm index d2e0404b14..03b0f925a7 100644 --- a/guix/build/pull.scm +++ b/guix/build/pull.scm @@ -28,6 +28,7 @@ #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) + #:use-module (srfi srfi-34) #:export (build-guix)) ;;; Commentary: @@ -36,13 +37,18 @@ ;;; ;;; Code: -(define (depends-on-guile-ssh? file) - "Return true if FILE is a Scheme source file that depends, directly or -indirectly, on Guile-SSH." - (find (match-lambda - (('ssh _ ...) #t) - (_ #f)) - (source-module-closure file #:select? (const #t)))) +(define (has-all-its-dependencies? file) + "Return true if the dependencies of the module defined in FILE are +available, false otherwise." + (let ((module (call-with-input-file file + (lambda (port) + (match (read port) + (('define-module name _ ...) + name)))))) + ;; If one of the dependencies of MODULE is missing, we get a + ;; '&missing-dependency-error'. + (guard (c ((missing-dependency-error? c) #f)) + (source-module-closure (list module) #:select? (const #t))))) (define (all-scheme-files directory) "Return a sorted list of Scheme files found in DIRECTORY." @@ -145,10 +151,7 @@ containing the source code. Write any debugging output to DEBUG-PORT." ;; Compile the .scm files. Load all the files before compiling them to ;; work around (FIXME). ;; Filter out files depending on Guile-SSH when Guile-SSH is missing. - (let* ((files (remove (if (false-if-exception - (resolve-interface '(ssh session))) - (const #f) - depends-on-guile-ssh?) + (let* ((files (filter has-all-its-dependencies? (all-scheme-files out))) (total (length files))) (let loop ((files files) -- cgit v1.2.3 From 25941ca13b483758802d9b68abd40b6cb73df8cf Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 21 May 2017 16:28:24 +0200 Subject: gnu: Add ocaml-ppx-sexp-value. * gnu/packages/ocaml.scm (ocaml-ppx-sexp-value): New variable. --- gnu/packages/ocaml.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index b9f1d53cf6..0a1174402d 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -2650,3 +2650,26 @@ match expressions, and if expressions.") (synopsis "Generation of runtime types from type declarations") (description "Automatic generation of runtime types from type definitions.") (license license:asl2.0))) + +(define-public ocaml-ppx-sexp-value + (package + (name "ocaml-ppx-sexp-value") + (version "113.33.03") + (source (janestreet-origin "ppx_sexp_value" version + "0m3ag23mbqm0i2pv1dzilfks15ipa5q60mf57a0cd3p0pvarq10g")) + (build-system ocaml-build-system) + (native-inputs + `(("js-build-tools" ,ocaml-js-build-tools) + ("opam" ,opam))) + (propagated-inputs + `(("ppx-driver" ,ocaml-ppx-driver) + ("ppx-here" ,ocaml-ppx-here) + ("ppx-sexp-conv" ,ocaml-ppx-sexp-conv) + ("ppx-tools" ,ocaml-ppx-tools) + ("ppx-core" ,ocaml-ppx-core))) + (arguments janestreet-arguments) + (home-page "https://github.com/janestreet/ppx_sexp_value/") + (synopsis "Simplify building s-expressions from ocaml values") + (description "A ppx rewriter that simplifies building s-expressions from +ocaml values.") + (license license:asl2.0))) -- cgit v1.2.3 From 3674d7df2f9fc7300038058fed758fc40d092f99 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 21 May 2017 16:29:45 +0200 Subject: gnu: Add ocaml-ppx-pipebang. * gnu/packages/ocaml.scm (ocaml-ppx-pipebang): New variable. --- gnu/packages/ocaml.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 0a1174402d..a39c5399c9 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -2673,3 +2673,24 @@ match expressions, and if expressions.") (description "A ppx rewriter that simplifies building s-expressions from ocaml values.") (license license:asl2.0))) + +(define-public ocaml-ppx-pipebang + (package + (name "ocaml-ppx-pipebang") + (version "113.33.03") + (source (janestreet-origin "ppx_pipebang" version + "1965c7hymp26ncmjs0pfxi2s5jlj60z2c9b194lgcwxqiav56pcw")) + (build-system ocaml-build-system) + (native-inputs + `(("js-build-tools" ,ocaml-js-build-tools) + ("opam" ,opam))) + (propagated-inputs + `(("ppx-driver" ,ocaml-ppx-driver) + ("ppx-tools" ,ocaml-ppx-tools) + ("ppx-core" ,ocaml-ppx-core))) + (arguments janestreet-arguments) + (home-page "https://github.com/janestreet/ppx_pipebang/") + (synopsis "Inline reverse application operators `|>` and `|!`") + (description "A ppx rewriter that inlines reverse application operators +@code{|>} and @code{|!}.") + (license license:asl2.0))) -- cgit v1.2.3 From 5d6d7ab0cfdfac278e7fefdd41c8516e973ffb78 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 21 May 2017 16:30:34 +0200 Subject: gnu: Add ocaml-ppx-bin-prot. * gnu/packages/ocaml.scm (ocaml-ppx-bin-prot): New variable. --- gnu/packages/ocaml.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index a39c5399c9..7d6a77d721 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -2694,3 +2694,25 @@ ocaml values.") (description "A ppx rewriter that inlines reverse application operators @code{|>} and @code{|!}.") (license license:asl2.0))) + +(define-public ocaml-ppx-bin-prot + (package + (name "ocaml-ppx-bin-prot") + (version "113.33.03") + (source (janestreet-origin "ppx_bin_prot" version + "173kjv36giik11zgfvsbzwfbpr66dm2pcha9vf990jgzh8hqz39h")) + (build-system ocaml-build-system) + (native-inputs + `(("js-build-tools" ,ocaml-js-build-tools) + ("opam" ,opam))) + (propagated-inputs + `(("bin-prot" ,ocaml-bin-prot) + ("ppx-tools" ,ocaml-ppx-tools) + ("ppx-type-conv" ,ocaml-ppx-type-conv) + ("ppx-core" ,ocaml-ppx-core))) + (arguments janestreet-arguments) + (home-page "https://github.com/janestreet/ppx_bin_prot/") + (synopsis "Generation of bin_prot readers and writers from types") + (description "Generation of binary serialization and deserialization +functions from type definitions.") + (license license:asl2.0))) -- cgit v1.2.3 From 7ea5acc6684cbe31d8c95c5dd569487e96852fff Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 21 May 2017 16:31:23 +0200 Subject: gnu: Add ocaml-ppx-fail. * gnu/packages/ocaml.scm (ocaml-ppx-fail): New variable. --- gnu/packages/ocaml.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 7d6a77d721..c2f4ed972e 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -2716,3 +2716,25 @@ ocaml values.") (description "Generation of binary serialization and deserialization functions from type definitions.") (license license:asl2.0))) + +(define-public ocaml-ppx-fail + (package + (name "ocaml-ppx-fail") + (version "113.33.03") + (source (janestreet-origin "ppx_fail" version + "1dwgad0f05gqp5rnwf9dcasidpfi7q3mrpazsw3a2vijjblbhjgn")) + (build-system ocaml-build-system) + (native-inputs + `(("js-build-tools" ,ocaml-js-build-tools) + ("opam" ,opam))) + (propagated-inputs + `(("ppx-driver" ,ocaml-ppx-driver) + ("ppx-tools" ,ocaml-ppx-tools) + ("ppx-here" ,ocaml-ppx-here) + ("ppx-core" ,ocaml-ppx-core))) + (arguments janestreet-arguments) + (home-page "https://github.com/janestreet/ppx_fail/") + (synopsis "Add location to calls to failwiths") + (description "Syntax extension that makes [failwiths] always include a +position.") + (license license:asl2.0))) -- cgit v1.2.3 From c64fecc20b4c1a4fdf4fe6daa6a6cb7217d04777 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 21 May 2017 16:32:16 +0200 Subject: gnu: Add ocaml-ppx-custom-printf. * gnu/packages/ocaml.scm (ocaml-ppx-custom-printf): New variable. --- gnu/packages/ocaml.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index c2f4ed972e..29fbf9cf36 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -2738,3 +2738,25 @@ functions from type definitions.") (description "Syntax extension that makes [failwiths] always include a position.") (license license:asl2.0))) + +(define-public ocaml-ppx-custom-printf + (package + (name "ocaml-ppx-custom-printf") + (version "113.33.03") + (source (janestreet-origin "ppx_custom_printf" version + "11jlx0n87g2j1vyyp343dibx7lvvwig5j5q0nq0b80kbsq0k6yr8")) + (build-system ocaml-build-system) + (native-inputs + `(("js-build-tools" ,ocaml-js-build-tools) + ("opam" ,opam))) + (propagated-inputs + `(("ppx-sexp-conv" ,ocaml-ppx-sexp-conv) + ("ppx-tools" ,ocaml-ppx-tools) + ("ppx-core" ,ocaml-ppx-core) + ("ppx-driver" ,ocaml-ppx-driver))) + (arguments janestreet-arguments) + (home-page "https://github.com/janestreet/ppx_custom_printf/") + (synopsis "Printf-style format-strings for user-defined string conversion") + (description "Extensions to printf-style format-strings for user-defined +string conversion.") + (license license:asl2.0))) -- cgit v1.2.3 From 9b8bc95747eacea94762c806c60dd19f6a717cad Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 21 May 2017 16:34:02 +0200 Subject: gnu: Add ocaml-ppx-sexp-message. * gnu/packages/ocaml.scm (ocaml-ppx-sexp-message): New variable. --- gnu/packages/ocaml.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 29fbf9cf36..223cecc951 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -2760,3 +2760,28 @@ position.") (description "Extensions to printf-style format-strings for user-defined string conversion.") (license license:asl2.0))) + +(define-public ocaml-ppx-sexp-message + (package + (name "ocaml-ppx-sexp-message") + (version "113.33.03") + (source (janestreet-origin "ppx_sexp_message" version + "084w1l3gnyw4ri9vbn7bv9b2xkw1520qczfxpxdarfivdrz8xr68")) + (build-system ocaml-build-system) + (native-inputs + `(("js-build-tools" ,ocaml-js-build-tools) + ("opam" ,opam))) + (propagated-inputs + `(("ppx-driver" ,ocaml-ppx-driver) + ("ppx-here" ,ocaml-ppx-here) + ("ppx-sexp-conv" ,ocaml-ppx-sexp-conv) + ("ppx-tools" ,ocaml-ppx-tools) + ("ppx-core" ,ocaml-ppx-core))) + (arguments janestreet-arguments) + (home-page "https://github.com/janestreet/ppx_sexp_message/") + (synopsis "A ppx rewriter for easy construction of s-expressions") + (description "Ppx_sexp_message aims to ease the creation of s-expressions +in OCaml. This is mainly motivated by writing error and debugging messages, +where one needs to construct a s-expression based on various element of the +context such as function arguments.") + (license license:asl2.0))) -- cgit v1.2.3 From 38cb1ec64b9ef9f3f23d4ad6348b2a1301a9f58c Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 21 May 2017 16:35:01 +0200 Subject: gnu: Add ocaml-ppx-fields-conv. * gnu/packages/ocaml.scm (ocaml-ppx-fields-conv): New variable. --- gnu/packages/ocaml.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 223cecc951..88d335f36e 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -2785,3 +2785,28 @@ in OCaml. This is mainly motivated by writing error and debugging messages, where one needs to construct a s-expression based on various element of the context such as function arguments.") (license license:asl2.0))) + +(define-public ocaml-ppx-fields-conv + (package + (name "ocaml-ppx-fields-conv") + (version "113.33.03") + (source (janestreet-origin "ppx_fields_conv" version + "1vzbdz27g5qhhfs7wx6rjf979q4xyssxqbmp6sc1sxknbghslbdv")) + (build-system ocaml-build-system) + (native-inputs + `(("js-build-tools" ,ocaml-js-build-tools) + ("opam" ,opam) + ("ppx-core" ,ocaml-ppx-core))) + (propagated-inputs + `(("fieldslib" ,ocaml-fieldslib) + ("ppx-tools" ,ocaml-ppx-tools) + ("ppx-core" ,ocaml-ppx-core) + ("ppx-type-conv" ,ocaml-ppx-type-conv))) + (arguments janestreet-arguments) + (home-page "https://github.com/janestreet/ppx_fields_conv/") + (synopsis "Generation of accessor and iteration functions for ocaml records") + (description "Ppx_fields_conv is a ppx rewriter that can be used to define +first class values representing record fields, and additional routines, to get +and set record fields, iterate and fold over all fields of a record and create +new record values.") + (license license:asl2.0))) -- cgit v1.2.3 From f27522d6db86bac64eea7717fb73d6e071f405e1 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 21 May 2017 16:35:58 +0200 Subject: gnu: Add ocaml-re. * gnu/packages/ocaml.scm (ocaml-re): New variable. --- gnu/packages/ocaml.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 88d335f36e..51383f77ff 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -2810,3 +2810,29 @@ first class values representing record fields, and additional routines, to get and set record fields, iterate and fold over all fields of a record and create new record values.") (license license:asl2.0))) + +(define-public ocaml-re + (package + (name "ocaml-re") + (version "1.7.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/ocaml/ocaml-re//archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1s3rcr76cgm4p1xmaazc58arkg2lz3zfcp1icm00m6s5ccnkh67b")))) + (build-system ocaml-build-system) + (native-inputs `(("ounit" ,ocaml-ounit))) + (home-page "https://github.com/ocaml/ocaml-re/") + (synopsis "Regular expression library for OCaml") + (description "Pure OCaml regular expressions with: +@enumerate +@item Perl-style regular expressions (module Re_perl) +@item Posix extended regular expressions (module Re_posix) +@item Emacs-style regular expressions (module Re_emacs) +@item Shell-style file globbing (module Re_glob) +@item Compatibility layer for OCaml's built-in Str module (module Re_str) +@end enumerate") + (license license:expat))) -- cgit v1.2.3 From 5cd47fb05baff76cf57121c395c99323d8be0a75 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 21 May 2017 16:36:41 +0200 Subject: gnu: Add ocaml-ppx-expect. * gnu/packages/ocaml.scm (ocaml-ppx-expect): New variable. --- gnu/packages/ocaml.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 51383f77ff..89973745c9 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -2836,3 +2836,38 @@ new record values.") @item Compatibility layer for OCaml's built-in Str module (module Re_str) @end enumerate") (license license:expat))) + +(define-public ocaml-ppx-expect + (package + (name "ocaml-ppx-expect") + (version "113.33.03") + (source (janestreet-origin "ppx_expect" version + "03sbs4s5i8l9syr45v25f5hzy7msd2b47k2a9wsq9m43d4imgkrc")) + (build-system ocaml-build-system) + (native-inputs + `(("js-build-tools" ,ocaml-js-build-tools) + ("opam" ,opam))) + (propagated-inputs + `(("fieldslib" ,ocaml-fieldslib) + ("ppx-tools" ,ocaml-ppx-tools) + ("ppx-assert" ,ocaml-ppx-assert) + ("ppx-compare" ,ocaml-ppx-compare) + ("ppx-core" ,ocaml-ppx-core) + ("ppx-custom-printf" ,ocaml-ppx-custom-printf) + ("ppx-driver" ,ocaml-ppx-driver) + ("ppx-fields-conv" ,ocaml-ppx-fields-conv) + ("ppx-inline-test" ,ocaml-ppx-inline-test) + ("ppx-sexp-conv" ,ocaml-ppx-sexp-conv) + ("ppx-variants-conv" ,ocaml-ppx-variants-conv) + ("re" ,ocaml-re) + ("sexplib" ,ocaml-sexplib) + ("variantslib" ,ocaml-variantslib))) + (arguments janestreet-arguments) + (home-page "https://github.com/janestreet/ppx_expect/") + (synopsis "Cram like framework for OCaml") + (description "Expect-test is a framework for writing tests in OCaml, similar +to Cram. Expect-tests mimic the existing inline tests framework with the +let%expect_test construct. The body of an expect-test can contain +output-generating code, interleaved with %expect extension expressions to denote +the expected output.") + (license license:asl2.0))) -- cgit v1.2.3 From 2f4c2df12e3a3f14e237cadbcdef17d18568eb49 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 21 May 2017 16:37:40 +0200 Subject: gnu: Add ocaml-ppx-jane. * gnu/packages/ocaml.scm (ocaml-ppx-jane): New variable. --- gnu/packages/ocaml.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 89973745c9..863e367a5b 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -2871,3 +2871,39 @@ let%expect_test construct. The body of an expect-test can contain output-generating code, interleaved with %expect extension expressions to denote the expected output.") (license license:asl2.0))) + +(define-public ocaml-ppx-jane + (package + (name "ocaml-ppx-jane") + (version "113.33.03") + (source (janestreet-origin "ppx_jane" version + "0bjxkhmzgm6x9dcvjwybbccn34khbvyyjimcbaja30fp6qcqk5yl")) + (build-system ocaml-build-system) + (native-inputs + `(("js-build-tools" ,ocaml-js-build-tools) + ("opam" ,opam))) + (propagated-inputs + `(("ppx-assert" ,ocaml-ppx-assert) + ("ppx-bench" ,ocaml-ppx-bench) + ("ppx-bin-prot" ,ocaml-ppx-bin-prot) + ("ppx-compare" ,ocaml-ppx-compare) + ("ppx-custom-printf" ,ocaml-ppx-custom-printf) + ("ppx-deriving" ,ocaml-ppx-deriving) + ("ppx-enumerate" ,ocaml-ppx-enumerate) + ("ppx-expect" ,ocaml-ppx-expect) + ("ppx-fail" ,ocaml-ppx-fail) + ("ppx-fields-conv" ,ocaml-ppx-fields-conv) + ("ppx-here" ,ocaml-ppx-here) + ("ppx-inline-test" ,ocaml-ppx-inline-test) + ("ppx-let" ,ocaml-ppx-let) + ("ppx-pipebang" ,ocaml-ppx-pipebang) + ("ppx-sexp-conv" ,ocaml-ppx-sexp-conv) + ("ppx-sexp-message" ,ocaml-ppx-sexp-message) + ("ppx-sexp-value" ,ocaml-ppx-sexp-value) + ("ppx-typerep-conv" ,ocaml-ppx-typerep-conv) + ("ppx-variants-conv" ,ocaml-ppx-variants-conv))) + (arguments janestreet-arguments) + (home-page "https://github.com/janestreet/ppx_jane/") + (synopsis "Standard Jane Street ppx rewriters") + (description "Ppx_jane is a ppx_driver including all standard ppx rewriters.") + (license license:asl2.0))) -- cgit v1.2.3 From 3a62dd6b22c054f2e8d6df38d493def52020e714 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 25 May 2017 16:58:15 +0200 Subject: build-system: gnu: Fix cross-gcc call. This is a follow-up to 7b3318e34f4e2743254a88b908859901db960e9a. * guix/build-system/gnu.scm (standard-cross-packages): Use keyword arguments in cross-gcc call. --- guix/build-system/gnu.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm index 730e638c89..7cf0cafc0f 100644 --- a/guix/build-system/gnu.scm +++ b/guix/build-system/gnu.scm @@ -403,8 +403,8 @@ is one of `host' or `target'." (case kind ((host) `(("cross-gcc" ,(gcc target - (binutils target) - (libc target))) + #:xbinutils (binutils target) + #:libc (libc target))) ("cross-binutils" ,(binutils target)))) ((target) `(("cross-libc" ,(libc target)))))))) -- cgit v1.2.3 From 60793e3732235af92de37602fcf2e306ef290077 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 25 May 2017 18:00:24 +0200 Subject: gnu: webkitgtk: Update to 2.16.3 [fixes CVE-2017-{2496,2510,2539}]. * gnu/packages/webkit.scm (webkitgtk): Update to 2.16.3. --- gnu/packages/webkit.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index e343f40cab..71f1e9dc7f 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -53,14 +53,14 @@ (define-public webkitgtk (package (name "webkitgtk") - (version "2.16.2") + (version "2.16.3") (source (origin (method url-fetch) (uri (string-append "https://www.webkitgtk.org/releases/" name "-" version ".tar.xz")) (sha256 (base32 - "0lpj14cfr8p0ys6z1ych0zcwxbc86asvgs7v3qa72azb0ai8kxjy")))) + "04mmfxm8284zrlkrhkcn9gq1l4lpm1q6wwb5hyybj081v8qr2ki0")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; no tests -- cgit v1.2.3 From c10d887dd98f2c8893b3acda10db650c81898134 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Thu, 25 May 2017 09:46:51 +0200 Subject: gnu: emacs-exwm: Update to 0.14. * gnu/packages/emacs.scm (emacs-exwm): Update to 0.14. Signed-off-by: Arun Isaac --- gnu/packages/emacs.scm | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 8c3950d31d..4160ead598 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -4544,7 +4544,7 @@ It should enable you to implement low-level X11 applications.") (define-public emacs-exwm (package (name "emacs-exwm") - (version "0.13") + (version "0.14") (synopsis "Emacs X window manager") (source (origin (method url-fetch) @@ -4552,7 +4552,7 @@ It should enable you to implement low-level X11 applications.") version ".tar")) (sha256 (base32 - "0n1wzy6chh024r0yaywjbf7mdsrxs6hrfycv5v0ps0drf6q3zldc")))) + "14hjjpbasm84p54fxy73fg7g1fdwqkvisdw8dwwgzkflmd647mkx")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-xelb" ,emacs-xelb))) @@ -4586,12 +4586,9 @@ It should enable you to implement low-level X11 applications.") TryExec=~@*~a~@ Type=Application~%" ,name ,synopsis exwm-executable))) ;; Add a shell wrapper to bin - ;; Set DISPLAY variable to work around - ;; https://github.com/ch11ng/exwm/issues/213 (with-output-to-file exwm-executable (lambda _ (format #t "#!~a ~@ - export DISPLAY=:0 ~@ ~a +SI:localuser:$USER ~@ exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%" (string-append (assoc-ref inputs "bash") "/bin/sh") -- cgit v1.2.3 From 87c95cb242bded7eb5e43b7bb60ecb77c1a0314c Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Thu, 25 May 2017 23:23:30 +0530 Subject: gnu: emacs-exwm: Fix 'line too long' lint warning. * gnu/packages/emacs.scm (emacs-exwm): Split line to fix 'line too long' lint warning. --- 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 4160ead598..dfbb1cedc0 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -4602,7 +4602,8 @@ It should enable you to implement low-level X11 applications.") (require 'exwm) (require 'exwm-config) (exwm-config-default) - (message "exwm configuration not found. Falling back to default configuration...")))))) + (message (concat "exwm configuration not found. " + "Falling back to default configuration..."))))))) (chmod exwm-executable #o555) #t)))))) (home-page "https://github.com/ch11ng/exwm") -- cgit v1.2.3 From acc417ca36dc2c1c48ebd7d5b10725dbc26e6081 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 25 May 2017 19:58:58 +0200 Subject: gnu: slop: Update to 6.3.38. * gnu/packages/xdisorg.scm (slop): Update to 6.3.38. --- 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 980b6e8022..ad919a6b28 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -441,7 +441,7 @@ of the screen selected by mouse.") (define-public slop (package (name "slop") - (version "5.3.38") + (version "6.3.38") (source (origin (method url-fetch) (uri (string-append @@ -450,7 +450,7 @@ of the screen selected by mouse.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1gvsxzl4y4l7d5gvx24i0yxk3jxc1gnb48bjwvqmrh34gx974wn7")))) + "1jh08k7nqx6hr4rmb5damzqhnqiac439i6i51fmzymzw3fqykas8")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; no "check" target -- cgit v1.2.3 From 2af3743bc26f2ff81187bc3c4077eb54f762e070 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 25 May 2017 20:00:34 +0200 Subject: gnu: strace: Update to 4.17. * gnu/packages/linux.scm (strace): Update to 4.17. --- 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 28babb4db5..c9d8dadeca 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -824,14 +824,14 @@ images more compressible.") (define-public strace (package (name "strace") - (version "4.16") + (version "4.17") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/strace/strace/" version "/strace-" version ".tar.xz")) (sha256 (base32 - "1vzhmpcy989i4k12q4cc438yal2ghhm6x7ychscjbhcf2yspqj4q")))) + "06bl4dld5fk4a3iiq4pyrkm6sh63599ah8dmds0glg5vbw45pww1")))) (build-system gnu-build-system) (arguments '(#:phases -- cgit v1.2.3 From fd7000fe33d3c4188c241cab97e2b891dd4e1268 Mon Sep 17 00:00:00 2001 From: ng0 Date: Thu, 25 May 2017 12:48:16 +0000 Subject: gnu: kbd: Add 'native-search-paths'. * gnu/packages/linux.scm (kbd)[native-search-paths]: Add it. Signed-off-by: Marius Bakke --- gnu/packages/linux.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index c9d8dadeca..d6ffa95ca5 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -18,7 +18,7 @@ ;;; Copyright © 2016, 2017 Marius Bakke ;;; Copyright © 2016 Rene Saavedra ;;; Copyright © 2016 Carlos Sánchez de La Lama -;;; Copyright © 2016 ng0 +;;; Copyright © 2016, 2017 ng0 ;;; Copyright © 2017 Leo Famulari ;;; Copyright © 2017 José Miguel Sánchez García ;;; Copyright © 2017 Gábor Boskovits @@ -1689,6 +1689,10 @@ system.") ("gzip" ,gzip) ("bzip2" ,bzip2) ("pam" ,linux-pam))) + (native-search-paths + (list (search-path-specification + (variable "LOADKEYS_KEYMAP_PATH") + (files (list "share/keymaps"))))) (native-inputs `(("pkg-config" ,pkg-config))) (home-page "http://kbd-project.org/") (synopsis "Linux keyboard utilities and keyboard maps") -- cgit v1.2.3 From 103b7e7955a06b61f570ebede3bf2039f0f847ab Mon Sep 17 00:00:00 2001 From: ng0 Date: Sun, 1 Jan 2017 16:36:27 +0000 Subject: gnu: Add kbd-neo. * gnu/packages/linux.scm (kbd-neo): New variable. Signed-off-by: Marius Bakke --- gnu/packages/linux.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index d6ffa95ca5..2e984dd421 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1641,6 +1641,38 @@ system.") (license (list license:gpl2 ;programs license:lgpl2.1)))) ;library +(define-public kbd-neo + (package + (name "kbd-neo") + (version "2486") + (source + (origin + (method url-fetch) + (uri (string-append "https://svn.neo-layout.org/!svn/bc/" + version "/linux/console/neo.map")) + (file-name (string-append name "-" version ".map")) + (sha256 + (base32 + "19mfrd31vzpsjiwc7pshxm0b0sz5dd17xrz6k079cy4im1vf0r4g")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder (begin + (use-modules (guix build utils)) + (let ((out (string-append %output "/share/keymaps")) + (source (assoc-ref %build-inputs "source"))) + (mkdir-p out) + (copy-file source (string-append out "/neo.map")) + #t)))) + (home-page "https://neo-layout.org") + (synopsis "Neo2 console layout") + (description + "Kbd-neo provides the Neo2 keyboard layout for use with +@command{loadkeys(1)} from @code{kbd(4)}.") + ;; The file is located in an svn directory, the entire content of + ;; the directory is licensed as GPL3. + (license license:gpl3+))) + (define-public kbd (package (name "kbd") -- cgit v1.2.3 From e3d59877e0e1644466712425c72fec971c2ad075 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 25 May 2017 02:19:59 +0200 Subject: gnu: kodi: Update to 18.0_alpha-5-1a38948. * gnu/packages/kodi.scm (kodi): Update to 18.0_alpha-5-1a38948. --- gnu/packages/kodi.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index 260ca947bd..cdab7eca03 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -239,8 +239,8 @@ generator library for C++.") (define-public kodi ;; We package the git version because the current released ;; version was cut while the cmake transition was in turmoil. - (let ((commit "b8ad238aa8010063eaf7d608d139002a50075e8d") - (revision "4")) + (let ((commit "1a38948ad068870671042bff2d8ac615dca9e5d8") + (revision "5")) (package (name "kodi") (version (string-append "18.0_alpha-" revision "-" (string-take commit 7))) @@ -252,7 +252,7 @@ generator library for C++.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "192agb8lpbajljbnnpn7y1pk2c6bvqbcpqhlgq4pja4pdf664xzg")) + "1apkiicmxb6ncqhznflb8wc4n770jx89asw1drmch7lq7j9m6sns")) (snippet '(begin (use-modules (guix build utils)) -- cgit v1.2.3 From fc3a0416747662a19d2c7f67ed0196c25f92eb33 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 25 May 2017 14:34:02 -0400 Subject: gnu: openssl@1.1.0: Update to 1.1.0f. * gnu/packages/tls.scm (openssl-next): Update to 1.1.0f. --- gnu/packages/tls.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 9f8c070a53..2025a778ac 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -378,7 +378,7 @@ required structures.") (package (inherit openssl) (name "openssl") - (version "1.1.0e") + (version "1.1.0f") (source (origin (method url-fetch) (uri (list (string-append "ftp://ftp.openssl.org/source/" @@ -389,7 +389,7 @@ required structures.") (patches (search-patches "openssl-1.1.0-c-rehash-in.patch")) (sha256 (base32 - "0k47sdd9gs6yxfv6ldlgpld2lyzrkcv9kz4cf88ck04xjwc8dgjp")))) + "0r97n4n552ns571diz54qsgarihrxvbn7kvyv8wjyfs9ybrldxqj")))) (outputs '("out" "doc" ;1.3MiB of man3 pages "static")) ; 5.5MiB of .a files -- cgit v1.2.3 From 1113386beb9fe33db2757320b825656b667b2758 Mon Sep 17 00:00:00 2001 From: Clément Lassieur Date: Thu, 25 May 2017 20:02:45 +0200 Subject: gnu: Add cpuid. * gnu/packages/linux.scm (cpuid): New variable. --- gnu/packages/linux.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 2e984dd421..4c7d8a3618 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -23,6 +23,7 @@ ;;; Copyright © 2017 José Miguel Sánchez García ;;; Copyright © 2017 Gábor Boskovits ;;; Copyright © 2017 Mathieu Othacehe +;;; Copyright © 2017 Clément Lassieur ;;; ;;; This file is part of GNU Guix. ;;; @@ -3948,3 +3949,39 @@ available in the kernel Linux.") #t)))))) ((#:allowed-references _ '("out")) '("out")))))) + +(define-public cpuid + (package + (name "cpuid") + (version "20170122") + (source (origin + (method url-fetch) + (uri (string-append "http://www.etallen.com/cpuid/cpuid-" + version ".src.tar.gz")) + (sha256 + (base32 + "0ra8ph9m1dckqaikfnbsh408fp2w9k49fkl423fl2hvhwsm14xk6")))) + (build-system gnu-build-system) + (arguments + '(#:make-flags '("CC=gcc") + #:tests? #f ; no tests + #:phases (modify-phases %standard-phases + (delete 'configure) + (add-before 'install 'fix-makefile + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "Makefile" + (("\\$\\(BUILDROOT\\)/usr") (assoc-ref outputs "out"))) + ;; Make the compressed manpages writable so that the + ;; reset-gzip-timestamps phase does not error out. + (substitute* "Makefile" + (("-m 444") "-m 644")) + #t))))) + (inputs `(("perl" ,perl))) + (supported-systems '("i686-linux" "x86_64-linux")) + (home-page "http://www.etallen.com/cpuid.html") + (synopsis "Linux tool to dump x86 CPUID information about the CPU(s)") + (description "cpuid dumps detailed information about the CPU(s) gathered +from the CPUID instruction, and also determines the exact model of CPU(s). It +supports Intel, AMD, and VIA CPUs, as well as older Transmeta, Cyrix, UMC, +NexGen, Rise, and SiS CPUs.") + (license license:gpl2+))) -- cgit v1.2.3 From 09c36743fa674ff29a55c5191dae35c2c574a4bf Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 23 May 2017 15:41:01 -0400 Subject: gnu: Add python-asn1crypto. * gnu/packages/crypto.scm (python-asn1crypto, python2-asn1crypto): New variables. --- gnu/packages/crypto.scm | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 856308afe8..2e55aa04af 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -51,7 +51,8 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system cmake) - #:use-module (guix build-system gnu)) + #:use-module (guix build-system gnu) + #:use-module (guix build-system python)) (define-public libsodium (package @@ -414,3 +415,26 @@ utility as a demonstration of the @code{scrypt} key derivation function. @code{Scrypt} is designed to be far more resistant against hardware brute-force attacks than alternative functions such as @code{PBKDF2} or @code{bcrypt}.") (license license:bsd-2))) + +(define-public python-asn1crypto + (package + (name "python-asn1crypto") + (version "0.22.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/wbond/asn1crypto/archive/" + version ".tar.gz")) + (sha256 + (base32 + "1kn910896l3knmilla1c9ly20q181s43w1ah08lzkbm1h3j6pcz0")))) + (build-system python-build-system) + (home-page "https://github.com/wbond/asn1crypto") + (synopsis "ASN.1 parser and serializer in Python") + (description "asn1crypto is an ASN.1 parser and serializer with definitions +for private keys, public keys, certificates, CRL, OCSP, CMS, PKCS#3, PKCS#7, +PKCS#8, PKCS#12, PKCS#5, X.509 and TSP.") + (license license:expat))) + +(define-public python2-asn1crypto + (package-with-python2 python-asn1crypto)) -- cgit v1.2.3 From ca0e62bfe215e49bb5cd1567755cdf0b8d611845 Mon Sep 17 00:00:00 2001 From: Stefan Reichoer Date: Thu, 25 May 2017 21:24:52 +0200 Subject: gnu: Add python-ansi2html. * gnu/packages/python.scm (python-ansi2html, python2-ansi2html): New variables. Signed-off-by: Marius Bakke --- gnu/packages/python.scm | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 62fada66a6..d28c2eca65 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -27,7 +27,7 @@ ;;; Copyright © 2016 Dylan Jeffers ;;; Copyright © 2016 David Craven ;;; Copyright © 2016, 2017 Marius Bakke -;;; Copyright © 2016 Stefan Reichoer +;;; Copyright © 2016, 2017 Stefan Reichör ;;; Copyright © 2016 Dylan Jeffers ;;; Copyright © 2016 Alex Vong ;;; Copyright © 2016, 2017 Arun Isaac @@ -13470,6 +13470,33 @@ faster ones are not available.") to ansi-escaped strings suitable for display in a terminal.") (license license:expat))) +(define-public python-ansi2html + (package + (name "python-ansi2html") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "ansi2html" version)) + (sha256 + (base32 + "1wa00zffprb78w1mqq90dk47czz1knanys2a40zbw2vyapd5lp9y")))) + (build-system python-build-system) + (native-inputs + `(("python-mock" ,python-mock) + ("python-nose" ,python-nose))) + (propagated-inputs + `(("python-six" ,python-six))) + (home-page "http://github.com/ralphbean/ansi2html") + (synopsis "Convert ANSI-decorated console output to HTML") + (description + "@command{ansi2html} is a Python library and command line utility for +convering text with ANSI color codes to HTML or LaTeX.") + (license license:gpl3+))) + +(define-public python2-ansi2html + (package-with-python2 python-ansi2html)) + (define-public python-ddt (package (name "python-ddt") -- cgit v1.2.3 From 37a57196422ed35930a978b4edc85087e49a90d0 Mon Sep 17 00:00:00 2001 From: Stefan Reichoer Date: Thu, 25 May 2017 23:34:02 +0200 Subject: gnu: Add multitail. * gnu/packages/logging.scm (multitail): New variable. Signed-off-by: Marius Bakke --- gnu/packages/logging.scm | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/gnu/packages/logging.scm b/gnu/packages/logging.scm index b2b0582aee..eecfe45581 100644 --- a/gnu/packages/logging.scm +++ b/gnu/packages/logging.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Ricardo Wurmus ;;; Copyright © 2016, 2017 Ludovic Courtès +;;; Copyright © 2017 Stefan Reichör ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,6 +27,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (gnu packages) + #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) #:use-module (gnu packages python) #:use-module (gnu packages autotools)) @@ -129,3 +131,41 @@ command line.") "Tailon provides a web interface around the tail, grep, awk and sed commands, displaying the results via a web interface.") (license license:bsd-3))) + +(define-public multitail + (package + (name "multitail") + (version "6.4.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://vanheusden.com/multitail/multitail-" + version ".tgz")) + (sha256 + (base32 + "1zd1r89xkxngl1pdrvsc877838nwkfqkbcgfqm3vglwalxc587dg")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (list "CC=gcc" + "PREFIX=" + (string-append "DESTDIR=" + (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-curses-lib + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "mt.h" + (("ncursesw\\/panel.h") "panel.h") + (("ncursesw\\/ncurses.h") "ncurses.h"))) + #t)) + (delete 'configure)) + #:tests? #f)) ; no test suite (make check just runs cppcheck) + (inputs `(("ncurses" ,ncurses))) + (home-page "https://vanheusden.com/multitail/") + (synopsis "Monitor multiple logfiles") + (description + "MultiTail allows you to monitor logfiles and command output in multiple +windows in a terminal, colorize, filter and merge.") + (license license:gpl2+))) -- cgit v1.2.3 From e0775d2a0137711c7150a3b3e01dffd463525b0c Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 26 May 2017 03:58:22 -0400 Subject: gnu: Fix another call to cross-gcc. This is a followup to commit 7b3318e34f4e2743254a88b908859901db960e9a. * gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc) [native-inputs]: Fix 'cross-gcc' call. * gnu/packages/cross-base.scm: Fix example 'cross-gcc' call in a comment. --- gnu/packages/cross-base.scm | 4 ++-- gnu/packages/make-bootstrap.scm | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 54303b7b45..d5ca9b8da0 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -494,8 +494,8 @@ XBINUTILS and the cross tool chain." ;; (define-public xgcc-armhf ;; (let ((triplet "arm-linux-gnueabihf")) ;; (cross-gcc triplet -;; (cross-binutils triplet) -;; (cross-libc triplet)))) +;; #:xbinutils (cross-binutils triplet) +;; #:libc (cross-libc triplet)))) ;; ;;; We don't do that here because we'd be referring to bindings from (gnu ;;; packages gcc) from the top level, which doesn't play well with circular diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 2c6d1f5dad..9efe338a19 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -99,8 +99,8 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (if (%current-target-system) (let ((target (%current-target-system))) `(("cross-gcc" ,(cross-gcc target - (cross-binutils target) - (cross-bootstrap-libc))) + #:xbinutils (cross-binutils target) + #:libc (cross-bootstrap-libc))) ("cross-binutils" ,(cross-binutils target)) ,@(%final-inputs))) `(("libc" ,(glibc-for-bootstrap)) -- cgit v1.2.3 From 75baf3193c66662c290585846f736381186d36b1 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Thu, 25 May 2017 19:57:20 +0200 Subject: gnu: Add python-flask-script. * gnu/packages/python.scm (python-flask-script, python2-flask-script): New variables. --- gnu/packages/python.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index d28c2eca65..9c2af5ce76 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -14703,3 +14703,34 @@ JSON APIs with Behave.") (define-public python2-behave-web-api (package-with-python2 python-behave-web-api)) + +(define-public python-flask-script + (package + (name "python-flask-script") + (version "2.0.5") + (source + (origin + (method url-fetch) + (uri (pypi-uri "Flask-Script" version)) + (sha256 + (base32 + "0zqh2yq8zk7m9b4xw1ryqmrljkdigfb3hk5155a3b5hkfnn6xxyf")))) + (build-system python-build-system) + (propagated-inputs + `(("python-flask" ,python-flask) + ("python-argcomplete" ,python-argcomplete) + ("python-werkzeug" ,python-werkzeug))) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page + "http://github.com/smurfix/flask-script") + (synopsis "Scripting support for Flask") + (description "The Flask-Script extension provides support for writing +external scripts in Flask. This includes running a development server, +a customised Python shell, scripts to set up your database, cronjobs, +and other command-line tasks that belong outside the web application +itself.") + (license license:bsd-3))) + +(define-public python2-flask-script + (package-with-python2 python-flask-script)) -- cgit v1.2.3 From 013e1e853bcbad925225a66e1ed03220d8611fb3 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Thu, 25 May 2017 19:57:21 +0200 Subject: gnu: Add python-flask-migrate. * gnu/packages/python.scm (python-flask-migrate, python2-flask-migrate): New variables. --- gnu/packages/python.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 9c2af5ce76..c42daa106a 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -14734,3 +14734,31 @@ itself.") (define-public python2-flask-script (package-with-python2 python-flask-script)) + +(define-public python-flask-migrate + (package + (name "python-flask-migrate") + (version "2.0.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "Flask-Migrate" version)) + (sha256 + (base32 + "107x78lkqsnbg92dld3dkagg07jvchp3ib3y0sivc4ipz6n1y7rk")))) + (build-system python-build-system) + (propagated-inputs + `(("python-flask" ,python-flask) + ("python-alembic" ,python-alembic) + ("python-sqlalchemy" ,python-sqlalchemy) + ("python-flask-script" ,python-flask-script) + ("python-flask-sqlalchemy" ,python-flask-sqlalchemy))) + (home-page "http://github.com/miguelgrinberg/flask-migrate/") + (synopsis "SQLAlchemy database migrations for Flask programs using +Alembic") + (description "This package contains SQLAlchemy database migration tools +for Flask programs that are using @code{python-alembic}.") + (license license:expat))) + +(define-public python2-flask-migrate + (package-with-python2 python-flask-migrate)) -- cgit v1.2.3 From 7a0efa77a47a81f8611a753d5a56f4d890ebe9de Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 26 May 2017 12:29:04 +0200 Subject: gnu: Add emacs-disable-mouse. * gnu/packages/emacs.scm (emacs-disable-mouse): New variable. --- gnu/packages/emacs.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index dfbb1cedc0..a85177d814 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -25,6 +25,7 @@ ;;; Copyright © 2017 Kei Kebreau ;;; Copyright © 2017 George Clemmer ;;; Copyright © 2017 Feng Shu +;;; Copyright © 2017 Jan Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -4853,3 +4854,26 @@ Emacs.") using ERT. It assumes a certain test structure setup and can therefore make running tests easier.") (license license:gpl3+)))) + +(define-public emacs-disable-mouse + (package + (name "emacs-disable-mouse") + (version "0.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/purcell/disable-mouse/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0haqpq23r1wx04lsqrrg3p5visg9hx5i36dg55ab003wfsrlrzbc")))) + (build-system emacs-build-system) + (home-page "https://github.com/purcell/disable-mouse") + (synopsis "Disable mouse commands globally") + (description + "Provides @code{disable-mouse-mode} and @code{global-disable-mouse-mode}, +pair of minor modes which suppress all mouse events by intercepting them and +running a customisable handler command (@code{ignore} by default). ") + (license license:gpl3+))) -- cgit v1.2.3 From e46bf22391b97a515f7a1cf975e019e3f3f5df3b Mon Sep 17 00:00:00 2001 From: José Miguel Sánchez García Date: Fri, 26 May 2017 18:35:17 +0200 Subject: gnu: python-xcffib: Fix libxcb.so.1 path. * gnu/packages/python.scm (python-xcffib)[arguments]<#:phases>: Add phase to embed full path to libxcb.so.1. Signed-off-by: Marius Bakke --- gnu/packages/python.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index c42daa106a..2f3219c58e 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -4765,10 +4765,16 @@ a front-end for C compilers or analysis tools.") `(("python-cffi" ,python-cffi) ; used at run time ("python-six" ,python-six))) (arguments - `(;; FIXME: Tests cannot load libxcb.so.1 + `(;; FIXME: Tests need more work. See ".travis.yml" in the repository. #:tests? #f #:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-libxcb-path + (lambda* (#:key inputs #:allow-other-keys) + (let ((libxcb (assoc-ref inputs "libxcb"))) + (substitute* '("xcffib/__init__.py") + (("^soname = \"") (string-append "soname = \"" libxcb "/lib/"))) + #t))) (add-after 'install 'install-doc (lambda* (#:key outputs #:allow-other-keys) (let ((doc (string-append (assoc-ref outputs "out") "/share" -- cgit v1.2.3 From 8347c12291ca2234dfdee87074e305793d71f787 Mon Sep 17 00:00:00 2001 From: José Miguel Sánchez García Date: Fri, 26 May 2017 18:42:20 +0200 Subject: gnu: python-xcffib: Update to 0.5.1. * gnu/packages/python.scm (python-xcffib): Update to 0.5.1. [source]: Use 'pypi-uri'. Signed-off-by: Marius Bakke --- gnu/packages/python.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 2f3219c58e..4690a43a23 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -4749,15 +4749,14 @@ a front-end for C compilers or analysis tools.") (define-public python-xcffib (package (name "python-xcffib") - (version "0.1.9") + (version "0.5.1") (source (origin (method url-fetch) - (uri (string-append "https://pypi.python.org/packages/source/x/" - "xcffib/xcffib-" version ".tar.gz")) + (uri (pypi-uri "xcffib" version)) (sha256 (base32 - "0655hzxv57h1a9ja9kwp0ichbkhf3djw32k33d66xp0q37dq2y81")))) + "09gbnmr5vn58mm8xi3fmd7fz6743cks6c46dphnxzwax6zsxmy60")))) (build-system python-build-system) (inputs `(("libxcb" ,libxcb))) -- cgit v1.2.3 From c0f5b8029521d86943b1d43f7dd620c7ba98b605 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 25 May 2017 17:19:04 -0400 Subject: gnu: Add python-packaging. --- gnu/packages/python.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 4690a43a23..455dd0b29f 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -14767,3 +14767,35 @@ for Flask programs that are using @code{python-alembic}.") (define-public python2-flask-migrate (package-with-python2 python-flask-migrate)) + +(define-public python-packaging + (package + (name "python-packaging") + (version "16.8") + (source + (origin + (method url-fetch) + (uri (pypi-uri "packaging" version)) + (sha256 + (base32 + "17k1xbjshackwvbsnxqixbph8rbqhz4bf4g3al5xyzhavxgq6l2x")))) + (build-system python-build-system) + (native-inputs + `(("python-pretend" ,python-pretend) + ("python-pytest" ,python-pytest))) + (propagated-inputs + `(("python-pyparsing" ,python-pyparsing) + ("python-six" ,python-six))) + (home-page "https://github.com/pypa/packaging") + (synopsis "Core utilities for Python packages") + (description "Packaging is a Python module for dealing with Python packages. +It offers an interface for working with package versions, names, and dependency +information.") + ;; From 'LICENSE': This software is made available under the terms of + ;; *either* of the licenses found in LICENSE.APACHE or LICENSE.BSD. + ;; Contributions to this software is made under the terms of *both* these + ;; licenses. + (license (list license:asl2.0 license:bsd-2)))) + +(define-public python2-packaging + (package-with-python2 python-packaging)) -- cgit v1.2.3 From dc1bd2b560a490be17fed67131544ebe1e60673f Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 11 May 2017 18:27:27 -0400 Subject: gnu: python-cryptography: Update to 1.8.2. * gnu/packages/python.scm (python-cryptography, python2-cryptography, python-cryptography-vectors, python2-cryptography-vectors): Update to 1.8.2. (python-cryptography, python2-cryptography)[propagated-inputs]: Add python-asn1crypto and python-packaging. Remove python-pyasn1. [native-inputs]: Remove python-pyasn1 and python-pyasn1-modules. --- gnu/packages/python.scm | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 455dd0b29f..b958199bdb 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -65,6 +65,7 @@ #:use-module (gnu packages backup) #:use-module (gnu packages bash) #:use-module (gnu packages compression) + #:use-module (gnu packages crypto) #:use-module (gnu packages databases) #:use-module (gnu packages django) #:use-module (gnu packages file) @@ -7332,14 +7333,14 @@ responses, rather than doing any computation.") (define-public python-cryptography-vectors (package (name "python-cryptography-vectors") - (version "1.7.1") + (version "1.8.2") (source (origin (method url-fetch) (uri (pypi-uri "cryptography_vectors" version)) (sha256 (base32 - "1x2mz4wggja5ih45c6cw0kzyad4jr8avg327dawjr1gnpdq1psa7")))) + "0hzvq0bfy21bc35p8z7zdxpv3hbvi7adg4axc1b5yd3hk16a1nh0")))) (build-system python-build-system) (home-page "https://github.com/pyca/cryptography") (synopsis "Test vectors for the cryptography package") @@ -7354,29 +7355,33 @@ responses, rather than doing any computation.") (define-public python-cryptography (package (name "python-cryptography") - (version "1.7.1") + (version "1.8.2") (source (origin (method url-fetch) (uri (pypi-uri "cryptography" version)) (sha256 (base32 - "0k6v7wq4h0yk9r0x0bl2x9fyrg4a6gj5qp4m9mgpk6m481yyygwm")))) + "1nmy4fw3zy7rlvarkhn33g9905rwpy9z7k5kv8j80f0s6ynfp24f")))) (build-system python-build-system) (inputs `(("openssl" ,openssl))) (propagated-inputs - `(("python-cffi" ,python-cffi) + `(("python-asn1crypto" ,python-asn1crypto) + ("python-cffi" ,python-cffi) ("python-six" ,python-six) - ("python-pyasn1" ,python-pyasn1) ("python-idna" ,python-idna) + ;; Packaging is used to check the version of python-cffi in + ;; 'src/cryptography/hazmat/primitives/ciphers/base.py'. We should be + ;; able to remove this dependency in the next release of cryptography: + ;; python-cryptography: + ;; https://github.com/pyca/cryptography/commit/0417d00d9ff1e19bc3ab67d39bdd18e1674768c1 + ("python-packaging" ,python-packaging) ("python-iso8601" ,python-iso8601))) (native-inputs `(("python-cryptography-vectors" ,python-cryptography-vectors) ("python-hypothesis" ,python-hypothesis) ("python-pretend" ,python-pretend) - ("python-pyasn1" ,python-pyasn1) - ("python-pyasn1-modules" ,python-pyasn1-modules) ("python-pytz" ,python-pytz) ("python-pytest" ,python-pytest-3.0))) (home-page "https://github.com/pyca/cryptography") -- cgit v1.2.3 From 26f8e6f2eb84df09698975ef3961cdc9e76faeeb Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 26 May 2017 16:15:51 -0400 Subject: gnu: linux-libre@4.4: Update to 4.4.70. * gnu/packages/linux.scm (linux-libre-4.4): Update to 4.4.70. --- 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 4c7d8a3618..67cae3a652 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -371,8 +371,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.69" - "14q5lqsfmwyiilbhffr3bwsm6i3z1jv6y09rg8x3faibcg766wny" + (make-linux-libre "4.4.70" + "1dvcj3mk42m91y1x41yh52frjdcwip1wj57qwlkmrpg02icr0b3s" %intel-compatible-systems #:configuration-file kernel-config)) -- cgit v1.2.3 From cf86b917aa805511f5b40adb60a151b49722aa7c Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 26 May 2017 16:16:32 -0400 Subject: gnu: linux-libre@4.9: Update to 4.9.30. * gnu/packages/linux.scm (linux-libre-4.9): Update to 4.9.30. --- 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 67cae3a652..0b43724a6a 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -365,8 +365,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.29" - "0yj4gajdzilxnh9lhb2zl0hs654lagdfx8cp7bv2w4q41bnmc3l9" + (make-linux-libre "4.9.30" + "1m1ii9n65lwkbwx0ifj13vgdfr0mnx8n7sfvhf5mn4r8krhxi77a" %intel-compatible-systems #:configuration-file kernel-config)) -- cgit v1.2.3 From fdabfdbf8d5e179b2726ae69ff8aec48b0504788 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 26 May 2017 16:17:08 -0400 Subject: gnu: linux-libre: Update to 4.11.3. * gnu/packages/linux.scm (%linux-libre-version): Update to 4.11.3. (%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 0b43724a6a..13e08dcfaf 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -355,8 +355,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.2") -(define %linux-libre-hash "0vp6hjc7cb6q6bhbg6jcf08r27xbf293cdib2vfng15ygvxpyfij") +(define %linux-libre-version "4.11.3") +(define %linux-libre-hash "14fbn9s7n86p5yivr4vmh4axdavny6xw1qk63cfwlcma7426wmva") (define-public linux-libre (make-linux-libre %linux-libre-version -- cgit v1.2.3 From 12f37d60152e8ac818dea0f15f500eddb48e9cff Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 26 May 2017 23:48:01 -0400 Subject: gnu: graphite2/fixed: Update to 1.3.10. * gnu/packages/fontutils.scm (graphite2/fixed): Update to 1.3.10. Remove patches that have been incorporated upstream. * gnu/packages/patches/graphite2-CVE-2017-5436.patch, gnu/packages/patches/graphite2-check-code-point-limit.patch, gnu/packages/patches/graphite2-fix-32-bit-wrap-arounds.patch, gnu/packages/patches/graphite2-non-linear-classes-even-number.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Remove them. --- gnu/local.mk | 4 - gnu/packages/fontutils.scm | 15 ++-- gnu/packages/patches/graphite2-CVE-2017-5436.patch | 25 ------ .../patches/graphite2-check-code-point-limit.patch | 50 ------------ .../graphite2-fix-32-bit-wrap-arounds.patch | 93 ---------------------- .../graphite2-non-linear-classes-even-number.patch | 26 ------ 6 files changed, 5 insertions(+), 208 deletions(-) delete mode 100644 gnu/packages/patches/graphite2-CVE-2017-5436.patch delete mode 100644 gnu/packages/patches/graphite2-check-code-point-limit.patch delete mode 100644 gnu/packages/patches/graphite2-fix-32-bit-wrap-arounds.patch delete mode 100644 gnu/packages/patches/graphite2-non-linear-classes-even-number.patch diff --git a/gnu/local.mk b/gnu/local.mk index 178ad35482..a97be8b533 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -640,11 +640,7 @@ dist_patch_DATA = \ %D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \ %D%/packages/patches/gobject-introspection-cc.patch \ %D%/packages/patches/gobject-introspection-girepository.patch \ - %D%/packages/patches/graphite2-CVE-2017-5436.patch \ - %D%/packages/patches/graphite2-check-code-point-limit.patch \ %D%/packages/patches/graphite2-ffloat-store.patch \ - %D%/packages/patches/graphite2-fix-32-bit-wrap-arounds.patch \ - %D%/packages/patches/graphite2-non-linear-classes-even-number.patch \ %D%/packages/patches/grep-timing-sensitive-test.patch \ %D%/packages/patches/gsl-test-i686.patch \ %D%/packages/patches/gspell-dash-test.patch \ diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 1c4d7d07ff..efea81dc11 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -415,22 +415,17 @@ and returns a sequence of positioned glyphids from the font.") (package (inherit graphite2) (name "graphite2") - (version "1.3.9") (replacement #f) (source (origin (method url-fetch) - (uri (string-append "https://github.com/silnrsi/graphite/releases/" - "download/" version "/" name "-" version ".tgz")) - (patches (search-patches - "graphite2-ffloat-store.patch" - "graphite2-check-code-point-limit.patch" - "graphite2-CVE-2017-5436.patch" - "graphite2-fix-32-bit-wrap-arounds.patch" - "graphite2-non-linear-classes-even-number.patch")) + (uri (let ((version "1.3.10")) + (string-append "https://github.com/silnrsi/graphite/releases/" + "download/" version "/" name "-" version ".tgz"))) + (patches (search-patches "graphite2-ffloat-store.patch")) (sha256 (base32 - "0rs5h7m340z75kygx8d72cps0q6yvvqa9i788vym7585cfv8a0gc")))))) + "1bm1rl2ww0m8rvmknh8fpajyz9xqv43qs9qrzf7xd5gaz6rf7zch")))))) (define-public potrace (package diff --git a/gnu/packages/patches/graphite2-CVE-2017-5436.patch b/gnu/packages/patches/graphite2-CVE-2017-5436.patch deleted file mode 100644 index d7383ec8de..0000000000 --- a/gnu/packages/patches/graphite2-CVE-2017-5436.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 1ce331d5548b98ed8b818532b2556d6f2c7a3b83 Mon Sep 17 00:00:00 2001 -From: Martin Hosken -Date: Thu, 9 Mar 2017 22:04:04 +0000 -Subject: [PATCH] Ensure features have enough space. Fix from Mozilla - ---- - src/FeatureMap.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/FeatureMap.cpp b/src/FeatureMap.cpp -index b8c8405..83bd5f6 100644 ---- a/src/FeatureMap.cpp -+++ b/src/FeatureMap.cpp -@@ -275,7 +275,7 @@ bool FeatureRef::applyValToFeature(uint32 val, Features & pDest) const - else - if (pDest.m_pMap!=&m_pFace->theSill().theFeatureMap()) - return false; //incompatible -- pDest.reserve(m_index); -+ pDest.reserve(m_index+1); - pDest[m_index] &= ~m_mask; - pDest[m_index] |= (uint32(val) << m_bits); - return true; --- -2.12.2 - diff --git a/gnu/packages/patches/graphite2-check-code-point-limit.patch b/gnu/packages/patches/graphite2-check-code-point-limit.patch deleted file mode 100644 index a9b6caf53f..0000000000 --- a/gnu/packages/patches/graphite2-check-code-point-limit.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 348c11e4571b534efdbd58a575bbea979c880b2f Mon Sep 17 00:00:00 2001 -From: Tim Eves -Date: Wed, 1 Mar 2017 14:23:46 +0700 -Subject: [PATCH] Fix decoding of USV greater than U+110000 - -Add test cases too ---- - src/inc/UtfCodec.h | 4 ++-- - tests/utftest/utftest.cpp | 3 +++ - 2 files changed, 5 insertions(+), 2 deletions(-) - -diff --git a/src/inc/UtfCodec.h b/src/inc/UtfCodec.h -index 3417bac..9dc760f 100644 ---- a/src/inc/UtfCodec.h -+++ b/src/inc/UtfCodec.h -@@ -124,7 +124,7 @@ struct _utf_codec<8> - private: - static const int8 sz_lut[16]; - static const byte mask_lut[5]; -- -+ static const uchar_t limit = 0x110000; - - public: - typedef uint8 codeunit_t; -@@ -157,7 +157,7 @@ public: - case 0: l = -1; return 0xFFFD; - } - -- if (l != seq_sz || toolong) -+ if (l != seq_sz || toolong || u >= limit) - { - l = -l; - return 0xFFFD; -diff --git a/tests/utftest/utftest.cpp b/tests/utftest/utftest.cpp -index 21cb188..a23553a 100644 ---- a/tests/utftest/utftest.cpp -+++ b/tests/utftest/utftest.cpp -@@ -8,6 +8,9 @@ struct test8 - unsigned char str[12]; - }; - struct test8 tests8[] = { -+ { 0, 0, {0xF4, 0x90, 0x80, 0x80, 0, 0, 0, 0, 0, 0, 0, 0} }, // bad(4) [U+110000] -+ { 0, 0, {0xC0, 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, // bad(4) [U+110000] -+ { 0, 0, {0xA0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, // bad(4) [U+110000] - { 4, -1, {0x7F, 0xDF, 0xBF, 0xEF, 0xBF, 0xBF, 0xF4, 0x8F, 0xBF, 0xBF, 0, 0} }, // U+7F, U+7FF, U+FFFF, U+10FFF - { 2, 3, {0x7F, 0xDF, 0xBF, 0xF0, 0x8F, 0xBF, 0xBF, 0xF4, 0x8F, 0xBF, 0xBF, 0} }, // U+7F, U+7FF, long(U+FFFF), U+10FFF - { 1, 1, {0x7F, 0xE0, 0x9F, 0xBF, 0xEF, 0xBF, 0xBF, 0xF4, 0x8F, 0xBF, 0xBF, 0} }, // U+7F, long(U+7FF), U+FFFF, U+10FFF --- -2.12.2 - diff --git a/gnu/packages/patches/graphite2-fix-32-bit-wrap-arounds.patch b/gnu/packages/patches/graphite2-fix-32-bit-wrap-arounds.patch deleted file mode 100644 index 57d4ce2c6e..0000000000 --- a/gnu/packages/patches/graphite2-fix-32-bit-wrap-arounds.patch +++ /dev/null @@ -1,93 +0,0 @@ -This patch incorporates the following 6 consecutive commits from the upstream -graphite2 repository: - -75b83cd..: Martin Hosken 2017-03-28 Fix 32-bit wrap arounds -1f97e36..: Martin Hosken 2017-03-28 balance comparisons in decompressor -9493785..: Martin Hosken 2017-03-29 Speculative rounding fix -09af043..: Tim Eves 2017-03-31 Move a MINMATCH to rhs of a comparisio -28cc60d..: Tim Eves 2017-03-31 Deal with similar wrap around in literal_len -8afc7d0..: Martin Hosken 2017-04-03 Fix 32-bit rollover in decompressor, again - -This diff was generated by the following command: - - git diff 1ce331d5548b98ed..8afc7d0081959866 - - -diff --git a/src/Decompressor.cpp b/src/Decompressor.cpp -index 084570f..56d531f 100644 ---- a/src/Decompressor.cpp -+++ b/src/Decompressor.cpp -@@ -51,7 +51,7 @@ bool read_sequence(u8 const * &src, u8 const * const end, u8 const * &literal, u - literal = src; - src += literal_len; - -- if (src > end - 2) -+ if (src > end - 2 || src < literal) - return false; - - match_dist = *src++; -@@ -85,7 +85,7 @@ int lz4::decompress(void const *in, size_t in_size, void *out, size_t out_size) - { - // Copy in literal. At this point the last full sequence must be at - // least MINMATCH + 5 from the end of the output buffer. -- if (dst + align(literal_len) > dst_end - (MINMATCH+5)) -+ if (align(literal_len) > unsigned(dst_end - dst - (MINMATCH+5)) || dst_end - dst < MINMATCH + 5) - return -1; - dst = overrun_copy(dst, literal, literal_len); - } -@@ -94,7 +94,8 @@ int lz4::decompress(void const *in, size_t in_size, void *out, size_t out_size) - // decoded output. - u8 const * const pcpy = dst - match_dist; - if (pcpy < static_cast(out) -- || dst + match_len + MINMATCH > dst_end - 5) -+ || match_len > unsigned(dst_end - dst - (MINMATCH+5)) -+ || dst_end - dst < MINMATCH + 5) - return -1; - if (dst > pcpy+sizeof(unsigned long) - && dst + align(match_len + MINMATCH) <= dst_end) -@@ -103,8 +104,8 @@ int lz4::decompress(void const *in, size_t in_size, void *out, size_t out_size) - dst = safe_copy(dst, pcpy, match_len + MINMATCH); - } - -- if (literal + literal_len > src_end -- || dst + literal_len > dst_end) -+ if (literal_len > src_end - literal -+ || literal_len > dst_end - dst) - return -1; - dst = fast_copy(dst, literal, literal_len); - -diff --git a/src/Pass.cpp b/src/Pass.cpp -index a4bac2e..683143c 100644 ---- a/src/Pass.cpp -+++ b/src/Pass.cpp -@@ -171,7 +171,7 @@ bool Pass::readPass(const byte * const pass_start, size_t pass_length, size_t su - const uint16 * const o_actions = reinterpret_cast(p); - be::skip(p, m_numRules + 1); - const byte * const states = p; -- if (e.test(p + 2u*m_numTransition*m_numColumns >= pass_end, E_BADPASSLENGTH)) return face.error(e); -+ if (e.test(2u*m_numTransition*m_numColumns >= (unsigned)(pass_end - p), E_BADPASSLENGTH)) return face.error(e); - be::skip(p, m_numTransition*m_numColumns); - be::skip(p); - if (e.test(p != pcCode, E_BADPASSCCODEPTR)) return face.error(e); -@@ -192,7 +192,7 @@ bool Pass::readPass(const byte * const pass_start, size_t pass_length, size_t su - m_cPConstraint = vm::Machine::Code(true, pcCode, pcCode + pass_constraint_len, - precontext[0], be::peek(sort_keys), *m_silf, face, PASS_TYPE_UNKNOWN); - if (e.test(!m_cPConstraint, E_OUTOFMEM) -- || e.test(!m_cPConstraint, m_cPConstraint.status() + E_CODEFAILURE)) -+ || e.test(m_cPConstraint.status() != Code::loaded, m_cPConstraint.status() + E_CODEFAILURE)) - return face.error(e); - face.error_context(face.error_context() - 1); - } -diff --git a/src/Silf.cpp b/src/Silf.cpp -index 72a22cd..d661992 100644 ---- a/src/Silf.cpp -+++ b/src/Silf.cpp -@@ -191,7 +191,7 @@ bool Silf::readGraphite(const byte * const silf_start, size_t lSilf, Face& face, - - const size_t clen = readClassMap(p, passes_start - p, version, e); - m_passes = new Pass[m_numPasses]; -- if (e || e.test(p + clen > passes_start, E_BADPASSESSTART) -+ if (e || e.test(clen > unsigned(passes_start - p), E_BADPASSESSTART) - || e.test(!m_passes, E_OUTOFMEM)) - { releaseBuffers(); return face.error(e); } - diff --git a/gnu/packages/patches/graphite2-non-linear-classes-even-number.patch b/gnu/packages/patches/graphite2-non-linear-classes-even-number.patch deleted file mode 100644 index 2bb1c9f94e..0000000000 --- a/gnu/packages/patches/graphite2-non-linear-classes-even-number.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 0646e4ee471183994f78a759269f0505617711f3 Mon Sep 17 00:00:00 2001 -From: Martin Hosken -Date: Tue, 18 Apr 2017 13:17:14 +0100 -Subject: [PATCH] Ensure non linear classes have even number of elements - ---- - src/Silf.cpp | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/Silf.cpp b/src/Silf.cpp -index d661992..9f2f954 100644 ---- a/src/Silf.cpp -+++ b/src/Silf.cpp -@@ -293,7 +293,8 @@ size_t Silf::readClassMap(const byte *p, size_t data_len, uint32 version, Error - if (e.test(*o + 4 > max_off, E_HIGHCLASSOFFSET) // LookupClass doesn't stretch over max_off - || e.test(lookup[0] == 0 // A LookupClass with no looks is a suspicious thing ... - || lookup[0] * 2 + *o + 4 > max_off // numIDs lookup pairs fits within (start of LookupClass' lookups array, max_off] -- || lookup[3] + lookup[1] != lookup[0], E_BADCLASSLOOKUPINFO)) // rangeShift: numIDs - searchRange -+ || lookup[3] + lookup[1] != lookup[0], E_BADCLASSLOOKUPINFO) // rangeShift: numIDs - searchRange -+ || e.test(((o[1] - *o) & 1) != 0, ERROROFFSET)) // glyphs are in pairs so difference must be even. - return ERROROFFSET; - } - --- -2.12.2 - -- cgit v1.2.3 From d771ba62f8b23cf71ad82b3423da36416e8a1e8d Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 26 May 2017 23:50:02 -0400 Subject: gnu: icecat: Add more fixes from upstream mozilla-esr52. * gnu/packages/gnuzilla.scm (icecat)[source]: Add selected fixes from the upstream mozilla-esr52 repository. --- gnu/packages/gnuzilla.scm | 56 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index d9901fd0fb..8d03f0e00d 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -451,7 +451,61 @@ standards.") (mozilla-patch "icecat-bug-1346012.patch" "1ce6d0652921" "163ji64a86h682frh1jq016w1mjf8g24r8cni0irsdmiihis7zxc") (mozilla-patch "icecat-bug-1324140.patch" "8886f9cd5dd3" "0byabs9md8r3pc4r67sv2759427n1za0gfayln40nx47n2p52kmg") (mozilla-patch "icecat-bug-1342552.patch" "ad995e90916b" "02nq9sg675p26z99nr2pykbz51hi2phf0gmrb1bjpq9pjbll7gsa") - (mozilla-patch "icecat-bug-1355039.patch" "4ae71415fecf" "0yfkkdkkimad9a3w734xx85lb7hrl870c8k8an7w78fq3vl3fjnd"))) + (mozilla-patch "icecat-bug-1355039.patch" "4ae71415fecf" "0yfkkdkkimad9a3w734xx85lb7hrl870c8k8an7w78fq3vl3fjnd") + (mozilla-patch "icecat-bug-1363396.patch" "24cbb7f2e0ff" "006f0zhz5nxs72q9plwzhq4l79b47svzizvv510m5g2krsfrccza") + (mozilla-patch "icecat-bug-1356558.patch" "89c7fb6c5be3" "19650nmc4vn1prbpn5h06kz9d1al279xkc23v39577h4zhdrknkj") + (mozilla-patch "icecat-bug-1337810.patch" "0f6dd3564c76" "1sxajqh6r7fjs45xhvjwg94smpvyvplh3rdvq11d3q5m9v4kg7mz") + (mozilla-patch "icecat-bug-1347748.patch" "145905da25d3" "0c2q9f000snpm9x0qda2y0awrsm313iwxbv0kh33ca0kpza49a76") + (mozilla-patch "icecat-bug-1345355.patch" "c5012009a0b2" "0m772bgrwb8iwv2bdgx694ybg5wgbf58xg5v245x0p7gwhgwiwmr") + (mozilla-patch "icecat-bug-1351340.patch" "047f19a1b9a0" "0qjnhybibs3cpcba3ga4g7d4c0w716xa9jf87y2ir8yz7dw1f9vl") + (mozilla-patch "icecat-bug-1056322.patch" "f076a30f6c29" "0xgskjl6zmxi3v4l0f3wlas0qb2403fin5lv1hi3jf2142ihpaml") + (mozilla-patch "icecat-bug-1355414.patch" "28e09d4ac3e9" "06clr2kwz28nyjlj13y036x6rxwh6frdh11aq6kbm1nj6s01i9zl") + (mozilla-patch "icecat-bug-1313977.patch" "4c0b09f70aea" "04jq1xrlhj04n5bgh93xkbqwnh01pswfjhv81zk7i87c7xz6h92q") + (mozilla-patch "icecat-bug-1357366.patch" "0b855945ce34" "0va8kqlgx6qhq2qrawkcm66kqrwwpmxblyjp3c7ifplxd0j0ijaf") + (mozilla-patch "icecat-bug-1338574-pt0.patch" "243d7bffa4f1" "1d1v68amhnygc0g4w1afs374pjs7z5fx5inyq8idawbh4kxfncq7") + (mozilla-patch "icecat-bug-1338574-pt1.patch" "337398a83aa5" "1141n7dhy9rh70sww8v58cbkba74xm5i75j1sgm5qwvkhh69qr5h") + (mozilla-patch "icecat-bug-1338574-pt2.patch" "50e120d7ac64" "0dbcaq27vsjlh7vm30c88rlhkx8c1195rnr01six40mymh09rhym") + (mozilla-patch "icecat-bug-1338574-pt3.patch" "2d4da5a366e8" "1761npkpw5zsm4q8rzfrg8m1ayrf8c857iq3vdd8rbqcswzv6xq0") + (mozilla-patch "icecat-bug-1338574-pt4.patch" "b10d9b0c187f" "044zq9gzw4v5r3ki8dwfjg9dznai0jch29y0xrxzb2rfr6yvx0sb") + (mozilla-patch "icecat-bug-1338574-pt5.patch" "697713a6841c" "1m9q4rh4ny945xsx3p3f5bg1izs9q58d71la5drj31z6kvbhnsi2") + (mozilla-patch "icecat-bug-1338574-pt6.patch" "1d14abf37cf8" "1xyja9hjb7qfqi7kh85bw5nxkhyzw1rijjhnh5pgr5z0v718kjyc") + (mozilla-patch "icecat-bug-1338574-pt7.patch" "5e85bc599d0c" "1pmhs3hmhkgj6q19padcbpi5qvgnhx6ib09zpcwxr8ll6lllxhig") + (mozilla-patch "icecat-bug-1152353.patch" "d893dea8e7b4" "1pbayv7np6z7hlkk1dhvx3ppkni7f8n3cz8hs67l3nssw214c1ih") + (mozilla-patch "icecat-bug-1345893.patch" "3a747480ead1" "0sxd23y9g77mx5indjs9isxnnrkin835qrh6dn62dlvbll8lgqi2") + (mozilla-patch "icecat-bug-1343172.patch" "c7b064f6b93a" "1sh10j3h8cnqi3rpr70lv2yz14zhy1v9ms4f64fmrbjlz7q09j6q") + (mozilla-patch "icecat-bug-1352348.patch" "1d86e96610a1" "02ybn2608v57pjh8kjgnhkg157asawjk5xia59qb63m5vfvrinwv") + (mozilla-patch "icecat-bug-1354308.patch" "c8ba3f911eb1" "0w70b8dmvqjn1d8sphfkwnbwii8nh2q5k48clkvbhn7kpc2890mi") + (mozilla-patch "icecat-bug-1335904.patch" "366cdd623cfb" "0gcmld4bplaakx6d50gw223lg1jjcni7866q1f2hxm0h1r9wwd3k") + (mozilla-patch "icecat-bug-1355340.patch" "6b174b41fa44" "0zdgfy0zsrs3cvfkmrhxw0mrfibpnb58xp3z8fapx5ja59wmcabs") + (mozilla-patch "icecat-bug-1360574-pt1.patch" "237eee780619" "1iw6z762zdc42kwjvv58a2cjc0s4kzwwy7838apl7y7cq85g0jg2") + (mozilla-patch "icecat-bug-1360574-pt2.patch" "46a5a4aac189" "1i553f9qvav0fn5avbp8912995pqbhzbzamxxfz8gn2ik17y3xly") + (mozilla-patch "icecat-bug-1358776.patch" "bd35fa23f79a" "12nicgwhcn63knmlcl0c2askn9sj35bfclaab3826pkd9yq5g4p5") + (mozilla-patch "icecat-bug-1362590.patch" "c1314a709b41" "0klgrcyc20fig6rbm9znjpcnfsz6xnlp1v03fbvaww0riy2qm42k") + (mozilla-patch "icecat-bug-1359859.patch" "e38948fb79d6" "1sfyc5s9ndv6q72k8n9x0rvj4sz40k51iljrs42gwykzkjm2fx5m") + (mozilla-patch "icecat-bug-1342057.patch" "278bef1d7a64" "0zk18s9pnbwz9ankmc9mj4197s55j1jvax04ansqymmmc3a5ciif") + (mozilla-patch "icecat-bug-1325513.patch" "218e0963406f" "0wqms5nany4sx2g4p01lbam7la2dyazz87dhv5hcsf8ifxrfww11") + (mozilla-patch "icecat-bug-1304566.patch" "188e39630fcd" "1bfxfgj5ywx4bcf91kwyrjh5ppiv59gadx4445achyabdi639l8d") + (mozilla-patch "icecat-bug-1356601.patch" "8191e403fedf" "1k4zmq0923f5dc3dwbz1q0bkcbm90ldwkczym366hgwadb2305nd") + (mozilla-patch "icecat-bug-1334097.patch" "fe2a2c7e88cb" "1rppaivaddigwk65krn8m9f9mcdkiiv28ws9n9zj62n0rc1shyvc") + (mozilla-patch "icecat-bug-1359051.patch" "8d7dbe5c6587" "14zh74bbld4s0jy0a48fi9acxkc236mh9wjid3vrf72yj6bi5xnp") + (mozilla-patch "icecat-bug-1359697.patch" "ca2b5274549f" "1ns7v70i1hfkxqnjhf9fp0lk9095hdcllg94j3dl1nfaif4w6vbf") + (mozilla-patch "icecat-bug-1343256.patch" "a30dd7dd6617" "1k078176fp8vz871wirjz9d3yx9l2lfl8p75c4905n3j3zv2297q") + (mozilla-patch "icecat-bug-1349310.patch" "81b3ce7d37b3" "0ad0wqczy4kpggj6m3b8bzxi6ax340mik1mfawhkq89a1h2sfpxv") + (mozilla-patch "icecat-bug-1356179.patch" "66d8893f37f0" "0izl31lagvdv4qpb9gkjxvgpmxzw50x5bviap4l7bbnb56cv7d8p") + (mozilla-patch "icecat-bug-1365602.patch" "aad883966edd" "058axnrwrbvy2h9r9pb766lyky45hb92rap142sbp17yz0sxfmww") + (mozilla-patch "icecat-bug-1355520.patch" "7ca2d8839f7a" "1xbmpvr2x720x9ghd5wgbg6lknbnhcyqmkkfamdf97mqcyizyr21") + (mozilla-patch "icecat-bug-1358469.patch" "4d432638c0f9" "0qpjmwik3dryjwmgfwmkqk0rs9rb2lafb2k9fc3pkjnrq5y0l9xg") + (mozilla-patch "icecat-bug-1356025.patch" "f5967db0a0f3" "045wbvkm21kbm314dd6lbq2disiaf26kmsxi6brf442fd0028gwq") + (mozilla-patch "icecat-bug-1345910.patch" "ec6b6720e54e" "0lm15jl46mdlsds6947jsiyvhf9agb8hcdrqj2svc3kn9kzvyr2n") + (mozilla-patch "icecat-bug-1359639.patch" "a4f8d8a12afa" "0d7sjc21af074rvgvijj42gmpjvcb1v1zlpgb3s7ky7w6wjr35vx") + (mozilla-patch "icecat-bug-1357090.patch" "d07f24a72ce4" "1qbwska76b2zslb95wnx9v04znb6k9fqylr4ajyfqpwk1sr363hg") + (mozilla-patch "icecat-bug-1364283.patch" "a6caa7628e36" "1yv5f4h8js9bry9krcx130w6ic8rdmmq4fap6va24kfx8qflg70h") + (mozilla-patch "icecat-bug-1237868.patch" "41138235d4ea" "0mcj4x2kmagwf5hp8xhczf04sxm995pk1zarc9yffk84z7fcrxkj") + (mozilla-patch "icecat-bug-1331335.patch" "b724283e3b31" "1xbb1vcdzfpcmrmxm8ihwzslh2vz15k0k601nvyhh6vgx270h1wn") + (mozilla-patch "icecat-bug-1367267.patch" "4c2f4d8b693e" "1hrndhfnz0vnjnspwh5mbvgl2j8d1cs62awp04wx2w6z4l4wrmbv") + (mozilla-patch "icecat-bug-1366595.patch" "cce3fd607206" "1z97jw8jpfyx61jxf0j8nsplnna2c5bwihwnl9cvlc2cspp3kgp5") + (mozilla-patch "icecat-bug-1349266.patch" "dc4e3c64d781" "1zd666k4qpdamly3av09k602pmirjcs9l6la6ba0qq9w9vfan3g5") + (mozilla-patch "icecat-bug-1366140.patch" "379c348250e8" "0kvsyhi9j3bjx14ffr13dslqp8ghcgrz6ds2fikdkrrrk4syskd5"))) (modules '((guix build utils))) (snippet '(begin -- cgit v1.2.3