aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2018-07-02 12:18:58 +0200
committerMarius Bakke <mbakke@fastmail.com>2018-07-02 12:18:58 +0200
commit92af3ce417fdcb932c3f291e0c79106466a40c66 (patch)
tree610d10ca5c4197c1a0ae14f1972dc72fb78a39d3 /gnu
parentcb4b508cd68df89bfbd5255a0c5569f8318ad50f (diff)
parent6e65eb3cad1d1148eade9ed2228cdea90d531a94 (diff)
downloadguix-92af3ce417fdcb932c3f291e0c79106466a40c66.tar
guix-92af3ce417fdcb932c3f291e0c79106466a40c66.tar.gz
Merge branch 'master' into staging
Diffstat (limited to 'gnu')
-rw-r--r--gnu/bootloader/grub.scm10
-rw-r--r--gnu/build/vm.scm98
-rw-r--r--gnu/local.mk7
-rw-r--r--gnu/packages/admin.scm59
-rw-r--r--gnu/packages/animation.scm9
-rw-r--r--gnu/packages/cdrom.scm22
-rw-r--r--gnu/packages/cluster.scm18
-rw-r--r--gnu/packages/code.scm6
-rw-r--r--gnu/packages/commencement.scm3
-rw-r--r--gnu/packages/cran.scm14
-rw-r--r--gnu/packages/digest.scm16
-rw-r--r--gnu/packages/emacs.scm73
-rw-r--r--gnu/packages/emulators.scm4
-rw-r--r--gnu/packages/file-systems.scm11
-rw-r--r--gnu/packages/fontutils.scm19
-rw-r--r--gnu/packages/game-development.scm14
-rw-r--r--gnu/packages/games.scm211
-rw-r--r--gnu/packages/gcc.scm15
-rw-r--r--gnu/packages/gnu-pw-mgr.scm4
-rw-r--r--gnu/packages/gnuzilla.scm52
-rw-r--r--gnu/packages/gps.scm6
-rw-r--r--gnu/packages/guile.scm194
-rw-r--r--gnu/packages/image-viewers.scm4
-rw-r--r--gnu/packages/image.scm12
-rw-r--r--gnu/packages/imagemagick.scm4
-rw-r--r--gnu/packages/java.scm36
-rw-r--r--gnu/packages/libusb.scm44
-rw-r--r--gnu/packages/linux.scm12
-rw-r--r--gnu/packages/machine-learning.scm14
-rw-r--r--gnu/packages/markup.scm7
-rw-r--r--gnu/packages/maths.scm48
-rw-r--r--gnu/packages/mes.scm8
-rw-r--r--gnu/packages/mpd.scm2
-rw-r--r--gnu/packages/music.scm80
-rw-r--r--gnu/packages/ntp.scm5
-rw-r--r--gnu/packages/opencl.scm174
-rw-r--r--gnu/packages/package-management.scm28
-rw-r--r--gnu/packages/patches/beignet-correct-file-names.patch32
-rw-r--r--gnu/packages/patches/emacs-browse-at-remote-cgit-gnu.patch59
-rw-r--r--gnu/packages/patches/gcc-8-strmov-store-file-names.patch110
-rw-r--r--gnu/packages/patches/icecat-bug-1413868-pt1.patch663
-rw-r--r--gnu/packages/patches/libtiff-CVE-2018-10963.patch40
-rw-r--r--gnu/packages/patches/libtiff-CVE-2018-8905.patch61
-rw-r--r--gnu/packages/patches/qtoctave-qt-5.11-fix.patch26
-rw-r--r--gnu/packages/photo.scm24
-rw-r--r--gnu/packages/python-crypto.scm31
-rw-r--r--gnu/packages/python-web.scm4
-rw-r--r--gnu/packages/python.scm32
-rw-r--r--gnu/packages/regex.scm4
-rw-r--r--gnu/packages/samba.scm11
-rw-r--r--gnu/packages/scheme.scm72
-rw-r--r--gnu/packages/smalltalk.scm10
-rw-r--r--gnu/packages/statistics.scm3
-rw-r--r--gnu/packages/sync.scm51
-rw-r--r--gnu/packages/telephony.scm24
-rw-r--r--gnu/packages/version-control.scm56
-rw-r--r--gnu/packages/video.scm27
-rw-r--r--gnu/packages/vulkan.scm3
-rw-r--r--gnu/packages/web.scm7
-rw-r--r--gnu/packages/wget.scm5
-rw-r--r--gnu/packages/wine.scm4
-rw-r--r--gnu/packages/xdisorg.scm43
-rw-r--r--gnu/packages/xfce.scm4
-rw-r--r--gnu/packages/xorg.scm4
64 files changed, 2079 insertions, 674 deletions
diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm
index a131f3b506..06856dd58c 100644
--- a/gnu/bootloader/grub.scm
+++ b/gnu/bootloader/grub.scm
@@ -387,12 +387,18 @@ submenu \"GNU system, old configurations...\" {~%")
;; Install GRUB onto the EFI partition mounted at EFI-DIR, for the
;; system whose root is mounted at MOUNT-POINT.
(let ((grub-install (string-append bootloader "/sbin/grub-install"))
- (install-dir (string-append mount-point "/boot")))
+ (install-dir (string-append mount-point "/boot"))
+ ;; When installing GuixSD, it's common to mount EFI-DIR below
+ ;; MOUNT-POINT rather than /boot/efi on the live image.
+ (target-esp (if (file-exists? (string-append mount-point efi-dir))
+ (string-append mount-point efi-dir)
+ efi-dir)))
;; Tell 'grub-install' that there might be a LUKS-encrypted /boot or
;; root partition.
(setenv "GRUB_ENABLE_CRYPTODISK" "y")
(unless (zero? (system* grub-install "--boot-directory" install-dir
- "--efi-directory" efi-dir))
+ "--bootloader-id=GuixSD"
+ "--efi-directory" target-esp))
(error "failed to install GRUB (EFI)")))))
diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm
index 73d0191de7..abecc8c470 100644
--- a/gnu/build/vm.scm
+++ b/gnu/build/vm.scm
@@ -34,6 +34,7 @@
#:use-module (ice-9 format)
#:use-module (ice-9 match)
#:use-module (ice-9 regex)
+ #:use-module (ice-9 popen)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-9)
#:use-module (srfi srfi-26)
@@ -408,42 +409,67 @@ SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation."
register-closures? (closures '()))
"Given a GRUB package, creates an iso image as TARGET, using CONFIG-FILE as
GRUB configuration and OS-DRV as the stuff in it."
- (let ((grub-mkrescue (string-append grub "/bin/grub-mkrescue"))
- (target-store (string-append "/tmp/root" (%store-directory))))
- (populate-root-file-system os-drv "/tmp/root")
-
- (mount (%store-directory) target-store "" MS_BIND)
-
- (when register-closures?
- (display "registering closures...\n")
- (for-each (lambda (closure)
- (register-closure
- "/tmp/root"
- (string-append "/xchg/" closure)
- ;; XXX: Using deduplication causes cross device link errors.
- #:deduplicate? #f))
- closures))
-
- (apply invoke
- `(,grub-mkrescue "-o" ,target
- ,(string-append "boot/grub/grub.cfg=" config-file)
- ,(string-append "gnu/store=" os-drv "/..")
- "etc=/tmp/root/etc"
- "var=/tmp/root/var"
- "run=/tmp/root/run"
- ;; /mnt is used as part of the installation
- ;; process, as the mount point for the target
- ;; file system, so create it.
- "mnt=/tmp/root/mnt"
- "--"
- "-volid" ,(string-upcase volume-id)
- ,@(if volume-uuid
- `("-volume_date" "uuid"
- ,(string-filter (lambda (value)
- (not (char=? #\- value)))
- (iso9660-uuid->string
- volume-uuid)))
- `())))))
+ (define grub-mkrescue
+ (string-append grub "/bin/grub-mkrescue"))
+
+ (define target-store
+ (string-append "/tmp/root" (%store-directory)))
+
+ (define items
+ ;; The store items to add to the image.
+ (delete-duplicates
+ (append-map (lambda (closure)
+ (map store-info-item
+ (call-with-input-file (string-append "/xchg/" closure)
+ read-reference-graph)))
+ closures)))
+
+ (populate-root-file-system os-drv "/tmp/root")
+ (mount (%store-directory) target-store "" MS_BIND)
+
+ (when register-closures?
+ (display "registering closures...\n")
+ (for-each (lambda (closure)
+ (register-closure
+ "/tmp/root"
+ (string-append "/xchg/" closure)
+
+ ;; TARGET-STORE is a read-only bind-mount so we shouldn't try
+ ;; to modify it.
+ #:deduplicate? #f
+ #:reset-timestamps? #f))
+ closures)
+ (register-bootcfg-root "/tmp/root" config-file))
+
+ (let ((pipe
+ (apply open-pipe* OPEN_WRITE
+ grub-mkrescue "-o" target
+ (string-append "boot/grub/grub.cfg=" config-file)
+ "etc=/tmp/root/etc"
+ "var=/tmp/root/var"
+ "run=/tmp/root/run"
+ ;; /mnt is used as part of the installation
+ ;; process, as the mount point for the target
+ ;; file system, so create it.
+ "mnt=/tmp/root/mnt"
+ "-path-list" "-"
+ "--"
+ "-volid" (string-upcase volume-id)
+ (if volume-uuid
+ `("-volume_date" "uuid"
+ ,(string-filter (lambda (value)
+ (not (char=? #\- value)))
+ (iso9660-uuid->string
+ volume-uuid)))
+ `()))))
+ ;; Pass lines like 'gnu/store/…-x=/gnu/store/…-x' corresponding to the
+ ;; '-path-list -' option.
+ (for-each (lambda (item)
+ (format pipe "~a=~a~%"
+ (string-drop item 1) item))
+ items)
+ (unless (zero? (close-pipe pipe))
+ (error "oh, my! grub-mkrescue failed" grub-mkrescue))))
(define* (initialize-hard-disk device
#:key
diff --git a/gnu/local.mk b/gnu/local.mk
index 672c002eb6..d2490dd5b7 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -582,6 +582,7 @@ dist_patch_DATA = \
%D%/packages/patches/azr3.patch \
%D%/packages/patches/bash-completion-directories.patch \
%D%/packages/patches/bazaar-CVE-2017-14176.patch \
+ %D%/packages/patches/beignet-correct-file-names.patch \
%D%/packages/patches/bind-CVE-2018-5738.patch \
%D%/packages/patches/binutils-aarch64-symbol-relocation.patch \
%D%/packages/patches/binutils-loongson-workaround.patch \
@@ -647,7 +648,6 @@ dist_patch_DATA = \
%D%/packages/patches/elfutils-tests-ptrace.patch \
%D%/packages/patches/elogind-glibc-2.27.patch \
%D%/packages/patches/einstein-build.patch \
- %D%/packages/patches/emacs-browse-at-remote-cgit-gnu.patch \
%D%/packages/patches/emacs-exec-path.patch \
%D%/packages/patches/emacs-fix-scheme-indent-function.patch \
%D%/packages/patches/emacs-json-reformat-fix-tests.patch \
@@ -706,6 +706,7 @@ dist_patch_DATA = \
%D%/packages/patches/gcc-6-cross-environment-variables.patch \
%D%/packages/patches/gcc-6-source-date-epoch-1.patch \
%D%/packages/patches/gcc-6-source-date-epoch-2.patch \
+ %D%/packages/patches/gcc-8-strmov-store-file-names.patch \
%D%/packages/patches/gcr-disable-failing-tests.patch \
%D%/packages/patches/gcr-fix-collection-tests-to-work-with-gpg-21.patch \
%D%/packages/patches/gd-CVE-2018-5711.patch \
@@ -795,6 +796,7 @@ dist_patch_DATA = \
%D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \
%D%/packages/patches/hydra-disable-darcs-test.patch \
%D%/packages/patches/icecat-avoid-bundled-libraries.patch \
+ %D%/packages/patches/icecat-bug-1413868-pt1.patch \
%D%/packages/patches/icecat-CVE-2018-5157-and-CVE-2018-5158.patch \
%D%/packages/patches/icecat-use-system-graphite2.patch \
%D%/packages/patches/icecat-use-system-harfbuzz.patch \
@@ -886,6 +888,8 @@ dist_patch_DATA = \
%D%/packages/patches/libtheora-config-guess.patch \
%D%/packages/patches/libtiff-CVE-2017-9935.patch \
%D%/packages/patches/libtiff-CVE-2017-18013.patch \
+ %D%/packages/patches/libtiff-CVE-2018-8905.patch \
+ %D%/packages/patches/libtiff-CVE-2018-10963.patch \
%D%/packages/patches/libtool-skip-tests2.patch \
%D%/packages/patches/libusb-0.1-disable-tests.patch \
%D%/packages/patches/libusb-for-axoloti.patch \
@@ -1083,6 +1087,7 @@ dist_patch_DATA = \
%D%/packages/patches/qemu-CVE-2018-11806.patch \
%D%/packages/patches/qt4-ldflags.patch \
%D%/packages/patches/qtbase-use-TZDIR.patch \
+ %D%/packages/patches/qtoctave-qt-5.11-fix.patch \
%D%/packages/patches/qtscript-disable-tests.patch \
%D%/packages/patches/quagga-reproducible-build.patch \
%D%/packages/patches/quassel-qt-5.11.patch \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 6b8af60b1b..f00bcd89d7 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -140,13 +140,13 @@ usual file attributes can be checked for inconsistencies.")
(define-public progress
(package
(name "progress")
- (version "0.13.1")
+ (version "0.14")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/Xfennec/"
name "/archive/v" version ".tar.gz"))
(sha256
- (base32 "199rk6608q9m6l0fbjm0xl2w1c5krf8245dqnksdp4rqp7l9ak06"))
+ (base32 "1wcanixfsi5k4i9h5vrnncgjdncalsdfqllrxibxwpgfnf20sji1"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
(native-inputs
@@ -865,7 +865,7 @@ over ssh connections.")
(define-public rename
(package
(name "rename")
- (version "0.20")
+ (version "0.35")
(source (origin
(method url-fetch)
(uri (string-append
@@ -873,7 +873,7 @@ over ssh connections.")
version ".tar.gz"))
(sha256
(base32
- "1cf6xx2hiy1xalp35fh8g73j67r0w0g66jpcbc6971x9jbm7bvjy"))))
+ "052iqmn7ya3w1nadpiyavmr3rx566r0lbflx94y8b5wx9q5c16rq"))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-build" ,perl-module-build)
@@ -1651,7 +1651,7 @@ limits.")
(define-public autojump
(package
(name "autojump")
- (version "22.3.4")
+ (version "22.5.1")
(source
(origin
(method url-fetch)
@@ -1660,7 +1660,7 @@ limits.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "113rcpr37ngf2xs8da41qdarq5qmj0dwx8ggqy3lhlb0kvqq7g9z"))))
+ "17z9j9936x0nizwrzf664bngh60x5qbvrrf1s5qdzd0f2gdanpvn"))))
(build-system gnu-build-system)
(native-inputs ;for tests
`(("python-mock" ,python-mock)
@@ -1668,36 +1668,19 @@ limits.")
(inputs
`(("python" ,python-wrapper)))
(arguments
- `(#:phases (modify-phases %standard-phases
- (delete 'configure)
- (delete 'build)
- (replace 'check
- (lambda _
- (zero?
- (system* "python" "tests/unit/autojump_utils_test.py"))))
- (replace 'install
- ;; The install.py script doesn't allow system installation
- ;; into an arbitrary prefix, so do our own install.
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin"))
- (share (string-append out "/share/autojump"))
- (py (string-append out "/lib/python"
- ,(version-major+minor
- (package-version python-wrapper))
- "/site-packages"))
- (man (string-append out "/share/man/man1")))
- (install-file "bin/autojump" bin)
- (for-each (λ (f) (install-file f py))
- (find-files "bin" "\\.py$"))
- (for-each (λ (f) (install-file f share))
- (find-files "bin" "autojump\\..*$"))
- (substitute* (string-append share "/autojump.sh")
- (("/usr/local") out))
- (install-file "docs/autojump.1" man)
- (wrap-program (string-append bin "/autojump")
- `("PYTHONPATH" ":" prefix (,py)))
- #t))))))
+ `(#:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'check
+ (lambda _
+ (invoke "python" "tests/unit/autojump_utils_test.py")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (setenv "SHELL" (which "bash"))
+ (invoke "python" "install.py"
+ (string-append "--destdir="
+ (assoc-ref outputs "out"))))))))
(home-page "https://github.com/wting/autojump")
(synopsis "Shell extension for file system navigation")
(description
@@ -2649,7 +2632,7 @@ Python loading in HPC environments.")
(let ((real-name "inxi"))
(package
(name "inxi-minimal")
- (version "3.0.12-1")
+ (version "3.0.13-1")
(source
(origin
(method git-fetch)
@@ -2658,7 +2641,7 @@ Python loading in HPC environments.")
(commit version)))
(sha256
(base32
- "1a2sjz90gzzvhp63x89hs0a424rkd13qrff2njqmjxp322zyp527"))))
+ "0732ligzmzwpwaxin4g8rbfj91ghyvf69lx2jyrahi4df0bfamh5"))))
(build-system trivial-build-system)
(inputs
`(("bash" ,bash)
diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm
index 22af707401..a10747ef38 100644
--- a/gnu/packages/animation.scm
+++ b/gnu/packages/animation.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -226,10 +227,10 @@ contains the graphical user interface for synfig.")
"\nLIBS +=" libsndfile
"/lib/libsndfile.so\n"
"win32 {"))))
- (zero? (system* "qmake"
- (string-append "DESTDIR="
- (assoc-ref outputs "out")
- "/bin")))))
+ (invoke "qmake"
+ (string-append "DESTDIR="
+ (assoc-ref outputs "out")
+ "/bin"))))
;; Ensure that all required Qt plugins are found at runtime.
(add-after 'install 'wrap-executable
(lambda* (#:key inputs outputs #:allow-other-keys)
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index 5d45d07288..027a333d67 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
@@ -46,9 +46,10 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages gtk)
#:use-module (gnu packages glib)
- #:use-module (gnu packages man)
#:use-module (gnu packages m4)
+ #:use-module (gnu packages man)
#:use-module (gnu packages mp3)
+ #:use-module (gnu packages music)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages elf)
#:use-module (gnu packages wxwidgets)
@@ -57,6 +58,7 @@
#:use-module (gnu packages readline)
#:use-module (gnu packages base)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages perl-web)
#:use-module (gnu packages python)
#:use-module (gnu packages image)
#:use-module (gnu packages photo)
@@ -513,6 +515,9 @@ from an audio CD.")
(parano (assoc-ref inputs "cdparanoia"))
(which (assoc-ref inputs "which"))
(discid (assoc-ref inputs "cd-discid"))
+ (perl-discid (assoc-ref inputs "perl-musicbrainz-discid"))
+ (perl-ws (assoc-ref inputs "perl-webservice-musicbrainz"))
+ (perl-mojo (assoc-ref inputs "perl-mojolicious"))
(flac (assoc-ref inputs "flac"))
(out (assoc-ref outputs "out")))
(define (wrap file)
@@ -524,7 +529,14 @@ from an audio CD.")
which "/bin:"
vorbis "/bin:"
discid "/bin:"
- parano "/bin")))))
+ parano "/bin")))
+ `("PERL5LIB" ":" prefix
+ (,(string-append perl-discid
+ "/lib/perl5/site_perl:"
+ perl-ws
+ "/lib/perl5/site_perl:"
+ perl-mojo
+ "/lib/perl5/site_perl")))))
(for-each wrap
(find-files (string-append out "/bin")
@@ -538,6 +550,10 @@ from an audio CD.")
("vorbis-tools" ,vorbis-tools)
("flac" ,flac)
+ ("perl-musicbrainz-discid" ,perl-musicbrainz-discid)
+ ("perl-webservice-musicbrainz" ,perl-webservice-musicbrainz)
+ ("perl-mojolicious" ,perl-mojolicious) ;indirect dependency
+
;; A couple of Python and Perl scripts are included.
("python" ,python)
("perl" ,perl)))
diff --git a/gnu/packages/cluster.scm b/gnu/packages/cluster.scm
index 7cfd04f008..faaaa2419a 100644
--- a/gnu/packages/cluster.scm
+++ b/gnu/packages/cluster.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -30,7 +31,7 @@
(define-public keepalived
(package
(name "keepalived")
- (version "2.0.1")
+ (version "2.0.4")
(source (origin
(method url-fetch)
(uri (string-append
@@ -38,18 +39,11 @@
version ".tar.gz"))
(sha256
(base32
- "0hp8i56zkf0398bmpi32a85f05cv2fy9wizkdfbxk7gav4z6yx18"))))
+ "0qf46bfxv4w7qx7d73qq26pp72cvbyfjvna3hxn208vynvapalh0"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
- (add-before 'configure 'patch-configure
- (lambda _
- ;; XXX: The 'configure' script doesn't handle '-L' flags in the
- ;; output of 'pkg-config'.
- (substitute* "configure"
- (("PKG_CONFIG --libs") "PKG_CONFIG --libs-only-l"))
- #t))
(add-after 'build 'build-info
(lambda _
(invoke "make" "-C" "doc" "texinfo")
@@ -77,11 +71,11 @@
("libnfnetlink" ,libnfnetlink)
("libnl" ,libnl)))
(home-page "http://www.keepalived.org/")
- (synopsis "Loadbalancing and high-availability frameworks")
+ (synopsis "Load balancing and high-availability frameworks")
(description
"Keepalived provides frameworks for both load balancing and high
availability. The load balancing framework relies on the Linux Virtual
-Server (IPVS) kernel module. High availability is achieved by the Virtual
-Redundancy Routing Protocol (VRRP). Each Keepalived framework can be used
+Server (@dfn{IPVS}) kernel module. High availability is achieved by the Virtual
+Redundancy Routing Protocol (@dfn{VRRP}). Each Keepalived framework can be used
independently or together to provide resilient infrastructures.")
(license license:gpl2+)))
diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
index a8c85fdb5e..dea2f09022 100644
--- a/gnu/packages/code.scm
+++ b/gnu/packages/code.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2015, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
@@ -581,7 +581,7 @@ Objective@tie{}C, D, Java, Pawn, and Vala). Features:
(define-public astyle
(package
(name "astyle")
- (version "2.05")
+ (version "3.1")
(source
(origin
(method url-fetch)
@@ -589,7 +589,7 @@ Objective@tie{}C, D, Java, Pawn, and Vala). Features:
version "/astyle_" version "_linux.tar.gz"))
(sha256
(base32
- "0f9sh9kq5ajp1yz133h00fr9235p1m698x7n3h7zbrhjiwgynd6s"))))
+ "1ms54wcs7hg1bsywqwf2lhdfizgbk7qxc9ghasxk8i99jvwlrk6b"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no tests
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index e998e9981e..30a0ffcec9 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -1069,4 +1069,7 @@ and binaries, plus debugging symbols in the 'debug' output), and Binutils.")
(define-public gcc-toolchain-7
(make-gcc-toolchain gcc-7))
+(define-public gcc-toolchain-8
+ (make-gcc-toolchain gcc-8))
+
;;; commencement.scm ends here
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 57603bf57a..eeaeefd81f 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -246,15 +246,17 @@ into a pipeline of data manipulation and visualisation.")
(define-public r-haven
(package
(name "r-haven")
- (version "1.1.1")
+ (version "1.1.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "haven" version))
(sha256
(base32
- "1fkcvsrnw8waqwggv0aydbvbi99x5kp9g78xfxj4w6s3xvdzcysz"))))
+ "0pp8xjf5lzqg1wr8cwxj4njx99vxwlflwjrd7jvyzwlfpwh7n1qa"))))
(build-system r-build-system)
+ (inputs
+ `(("zlib" ,zlib)))
(propagated-inputs
`(("r-forcats" ,r-forcats)
("r-hms" ,r-hms)
@@ -1577,14 +1579,14 @@ Delaunay triangulation and convex hull computation.")
(define-public r-ddalpha
(package
(name "r-ddalpha")
- (version "1.3.3")
+ (version "1.3.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "ddalpha" version))
(sha256
(base32
- "0g4iqhrz2gym05q40ih6srilyajw2l2mv46pchn65bc7hw4vkgrk"))))
+ "16cn0bhbaz9l9k4y79sv2d4f7pvs7dyka273y89igs5jvr99kfj1"))))
(build-system r-build-system)
(propagated-inputs
`(("r-bh" ,r-bh)
@@ -4287,14 +4289,14 @@ and adds the annotation to the plot.")
(define-public r-ggpubr
(package
(name "r-ggpubr")
- (version "0.1.6")
+ (version "0.1.7")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggpubr" version))
(sha256
(base32
- "0mvw215bj887958p34f0dzlrb8mgyfcz9b5zvsschvbhamqinqna"))))
+ "110ny8p41kmbz0a5rl0mv9cqpjkx6yr3ybflp1r0fmcvhwv7cr3i"))))
(build-system r-build-system)
(propagated-inputs
`(("r-cowplot" ,r-cowplot)
diff --git a/gnu/packages/digest.scm b/gnu/packages/digest.scm
index 5f14ab913b..d5533bc474 100644
--- a/gnu/packages/digest.scm
+++ b/gnu/packages/digest.scm
@@ -19,21 +19,21 @@
(define-module (gnu packages digest)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
- #:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix build-system gnu))
(define-public xxhash
(package
(name "xxhash")
- (version "0.6.4")
+ (version "0.6.5")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/Cyan4973/xxHash/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Cyan4973/xxHash")
+ (commit (string-append "v" version))))
(sha256
- (base32 "08nv9h3jzg6y85ysy2dj3qvvfsdz0rwkk497a2366syz278wqw25"))))
+ (base32 "137hifc3f3cb4ib64rd6y83arc9hmbyncgrij2v8m94mx66g2aks"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
@@ -41,6 +41,8 @@
"XXH_FORCE_MEMORY_ACCESS=1" ; improved performance with GCC
(string-append "prefix=" (assoc-ref %outputs "out")))
#:test-target "test"
+ ;; Parallel testing tries to run ‘xxhsum’ before it's been built.
+ #:parallel-tests? #f
#:phases
(modify-phases %standard-phases
(delete 'configure)))) ; no configure script
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 55aa5511df..c4468c8175 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -1641,15 +1641,14 @@ type, for example: packages, buffers, files, etc.")
(define-public emacs-guix
(package
(name "emacs-guix")
- (version "0.4")
+ (version "0.4.1.1")
(source (origin
(method url-fetch)
- (uri (string-append "https://github.com/alezost/guix.el"
- "/releases/download/v" version
- "/emacs-guix-" version ".tar.gz"))
+ (uri (string-append "https://emacs-guix.gitlab.io/website/"
+ "releases/emacs-guix-" version ".tar.gz"))
(sha256
(base32
- "1nn4b0gd895g0k4fynzrip7z8yb1r3qmvznq9v8a6q7sm84irmqq"))))
+ "0jbnrcazbks7h50rngpw5l40a6vn2794kb53cpva3yzdjmrc1955"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -1700,7 +1699,7 @@ type, for example: packages, buffers, files, etc.")
("bui" ,emacs-bui)
("edit-indirect" ,emacs-edit-indirect)
("magit-popup" ,emacs-magit-popup)))
- (home-page "https://alezost.github.io/guix.el/")
+ (home-page "https://emacs-guix.gitlab.io/website/")
(synopsis "Emacs interface for GNU Guix")
(description
"Emacs-Guix provides a visual interface, tools and features for the GNU
@@ -4437,7 +4436,7 @@ indentation command behavior very similar to that of python-mode.")
(define-public emacs-web-mode
(package
(name "emacs-web-mode")
- (version "14")
+ (version "16")
(source (origin
(method url-fetch)
(uri (string-append "https://raw.githubusercontent.com/fxbois"
@@ -4445,7 +4444,7 @@ indentation command behavior very similar to that of python-mode.")
(file-name (string-append "web-mode-" version ".el"))
(sha256
(base32
- "086hik5fmxg3kx74qmransx9cz961qd22d4m6ah2dw6cwaj1s3s5"))))
+ "1hs5w7kdvcyn4ihyw1kfjg48djn5p7lz4rlbhzzdqv1g56xqx3gw"))))
(build-system emacs-build-system)
(synopsis "Major mode for editing web templates")
(description "Web-mode is an Emacs major mode for editing web templates
@@ -7028,39 +7027,35 @@ Idris.")
(license license:gpl3+)))
(define-public emacs-browse-at-remote
- (let ((commit "31dcf77d7c89a12f230e2b2332585db2c44530ef")
- (revision "1"))
- (package
- (name "emacs-browse-at-remote")
- (version (string-append "0.9.0-" revision "."
- (string-take commit 7)))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/rmuslimov/browse-at-remote.git")
- (commit commit)))
- (file-name (string-append name "-" version "-checkout"))
- (patches
- (search-patches "emacs-browse-at-remote-cgit-gnu.patch"))
- (sha256
- (base32
- "017cb8lf7zbg0jmr7zxzd7d5kz2jy35cvw5vcpdmq1fdr3wqwkgj"))))
- (build-system emacs-build-system)
- (propagated-inputs
- `(("emacs-f" ,emacs-f)
- ("emacs-s" ,emacs-s)))
- (native-inputs
- `(("ert-runner" ,ert-runner)))
- (arguments
- `(#:tests? #t
- #:test-command '("ert-runner")))
- (home-page "https://github.com/rmuslimov/browse-at-remote")
- (synopsis "Open github/gitlab/bitbucket/stash page from Emacs")
- (description
- "This Emacs package allows you to open a target page on
+ (package
+ (name "emacs-browse-at-remote")
+ (version "0.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/rmuslimov/browse-at-remote/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0ymslsp6i1naw25zckv25bf4aaq6qwkbkn95qyzlwg869l802686"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-f" ,emacs-f)
+ ("emacs-s" ,emacs-s)))
+ (native-inputs
+ `(("ert-runner" ,ert-runner)))
+ (arguments
+ `(#:tests? #t
+ #:test-command '("ert-runner")))
+ (home-page "https://github.com/rmuslimov/browse-at-remote")
+ (synopsis "Open github/gitlab/bitbucket/stash page from Emacs")
+ (description
+ "This Emacs package allows you to open a target page on
github/gitlab (or bitbucket) by calling @code{browse-at-remote} command.
It supports dired buffers and opens them in tree mode at destination.")
- (license license:gpl3+))))
+ (license license:gpl3+)))
(define-public emacs-tiny
(package
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 1687c9652f..f669213f4f 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -1181,7 +1181,7 @@ play them on systems for which they were never designed!")
(define-public mame
(package
(name "mame")
- (version "0.198")
+ (version "0.199")
(source
(origin
(method git-fetch)
@@ -1191,7 +1191,7 @@ play them on systems for which they were never designed!")
(file-name (git-file-name name version))
(sha256
(base32
- "0kl7qll8d6xlx7bj5920ljs888a6nc1fj2kfw1fz0r8za3m7wiq9"))
+ "0rb2k6dxss36jjalbpvj2xsqdwqyqy89qab7jpv8ig1y08dpg36n"))
(modules '((guix build utils)))
(snippet
;; Remove bundled libraries.
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index 4fd33ae901..3c9d7d49c1 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
-;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -144,7 +144,7 @@ non-determinism in the build process.")
(define-public glusterfs
(package
(name "glusterfs")
- (version "3.10.7")
+ (version "3.10.12")
(source
(origin
(method url-fetch)
@@ -153,7 +153,7 @@ non-determinism in the build process.")
"/glusterfs-" version ".tar.gz"))
(sha256
(base32
- "02sn9s3jjva2i1l47y3in326n8jgp57rbykz5s8m87y4bzpw0ym1"))
+ "01ysvamvfv2l5pswa1rygpg8w0954h2wkh1ba97h3nx03m5n0prg"))
(patches
(search-patches "glusterfs-use-PATH-instead-of-hardcodes.patch"))))
(build-system gnu-build-system)
@@ -170,11 +170,12 @@ non-determinism in the build process.")
;; must be replaced.
(install-file (string-append (assoc-ref inputs "automake")
"/share/automake-"
- ,(package-version automake) "/config.sub")
+ ,(version-major+minor (package-version automake)) "/config.sub")
".")
#t))
;; Fix flex error. This has already been fixed with upstream commit
- ;; db3fe245a9e8812829eae7d143e49d0bfdfef9a7.
+ ;; db3fe245a9e8812829eae7d143e49d0bfdfef9a7, but is not available in
+ ;; current releases.
(add-before 'configure 'fix-lex
(lambda _
(substitute* "libglusterfs/src/Makefile.in"
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index f7dc2e7634..3123cdeb91 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -330,15 +330,16 @@ X11-system or any other graphical user interface.")
(define-public teckit
(package
(name "teckit")
- (version "2.5.7")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/silnrsi/teckit/releases/download/v"
- version "/teckit-" version ".tar.gz"))
- (sha256
- (base32
- "1pbp97vcpj6x4yixx6ww0vsi1rrr99fksxdjafs6gdargzd24cj4"))))
+ (version "2.5.8")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/silnrsi/teckit")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1jmsdmfz7bgq1n5qsqgpq1b1n77f1hll0czfw5wkxz4knzb14ndn"))))
(build-system gnu-build-system)
(inputs
`(("zlib" ,zlib)
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index b428fa77f2..a715c958cd 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -1062,16 +1062,16 @@ games.")
(define-public godot
(package
(name "godot")
- (version "3.0.2")
+ (version "3.0.4")
(source (origin
- (method url-fetch)
- (uri
- (string-append "https://github.com/godotengine/godot/archive/"
- version "-stable.tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/godotengine/godot")
+ (commit (string-append version "-stable"))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0ldnk3j4w2kh454mzclmq8nk7zqrn758yrqq85i4kzljpkf93g0m"))
+ "0i4ssfb6igga9zwvsmahrnasx9cyqrsd6mlmssjgc482fy9q2kz4"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 2ced2b51da..0796e48001 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -177,82 +177,70 @@ settings to tweak as well.")
(license license:gpl2+)))
(define-public cataclysm-dda
- (package
- (name "cataclysm-dda")
- (version "0.C")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/CleverRaven/Cataclysm-DDA/"
- "archive/" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1xlajmgl9cviqyjpp5g5q4rbljy9gqc49v54bi8gpzr68s14gsb9"))
- (modules '((guix build utils)))
- (snippet
- ;; Import cmath header for the std::pow function.
- '(begin
- (for-each (lambda (file)
- (substitute* file
- (("#include <math.h>")
- "#include <cmath>")))
- (find-files "src"))
- #t))))
- (build-system gnu-build-system)
- (arguments
- '(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
- "USE_HOME_DIR=1" "DYNAMIC_LINKING=1" "RELEASE=1")
- #:phases
- (modify-phases %standard-phases
- (replace 'configure
- (lambda _
- (substitute* "Makefile"
- (("ncursesw5-config") "ncursesw6-config")
- (("RELEASE_FLAGS = -Werror") "RELEASE_FLAGS ="))
- #t))
- (add-after 'build 'build-tiles
- (lambda* (#:key make-flags outputs #:allow-other-keys)
- ;; Change prefix directory and enable tile graphics and sound.
- (zero?
- (apply system* "make" "TILES=1" "SOUND=1"
- (string-append "PREFIX="
- (assoc-ref outputs "tiles"))
- (cdr make-flags)))))
- (add-after 'install 'install-tiles
- (lambda* (#:key make-flags outputs #:allow-other-keys)
- (zero?
- (apply system* "make" "install" "TILES=1" "SOUND=1"
- (string-append "PREFIX="
- (assoc-ref outputs "tiles"))
- (cdr make-flags))))))
- ;; TODO: Add libtap++ from https://github.com/cbab/libtappp as a native
- ;; input in order to support tests.
- #:tests? #f))
- (outputs '("out"
- "tiles")) ; For tile graphics and sound support.
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("freetype" ,freetype)
- ("libogg" ,libogg)
- ("libvorbis" ,libvorbis)
- ("ncurses" ,ncurses)
- ("sdl2" ,sdl2)
- ("sdl2-image" ,sdl2-image)
- ("sdl2-ttf" ,sdl2-ttf)
- ("sdl2-mixer" ,sdl2-mixer)))
- (home-page "http://en.cataclysmdda.com/")
- (synopsis "Survival horror roguelike video game")
- (description
- "Cataclysm: Dark Days Ahead is a roguelike set in a post-apocalyptic world.
-Struggle to survive in a harsh, persistent, procedurally generated world.
-Scavenge the remnants of a dead civilization for food, equipment, or, if you are
-lucky, a vehicle with a full tank of gas to get you out of Dodge. Fight to
-defeat or escape from a wide variety of powerful monstrosities, from zombies to
-giant insects to killer robots and things far stranger and deadlier, and against
-the others like yourself, that want what you have.")
- (license license:cc-by-sa3.0)))
+ (let ((commit "ad3b0c3d521292d119f97a83390e7acfe9e9e7f7")
+ (revision "1"))
+ (package
+ (name "cataclysm-dda")
+ ;; This denotes the version released after the 0.C release.
+ ;; Revert to a normal version number if updating to stable version 0.D.
+ (version (git-version "0.C" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/CleverRaven/Cataclysm-DDA.git")
+ (commit commit)))
+ (sha256
+ (base32
+ "1kdgbl8zqd53f5yilm2c9nyq3w6585yxl5jvgxy65dlpzxcqqj7y"))
+ (file-name (git-file-name name version))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
+ "USE_HOME_DIR=1" "DYNAMIC_LINKING=1" "RELEASE=1")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'build 'build-tiles
+ (lambda* (#:key make-flags outputs #:allow-other-keys)
+ ;; Change prefix directory and enable tile graphics and sound.
+ (apply invoke "make" "TILES=1" "SOUND=1"
+ (string-append "PREFIX="
+ (assoc-ref outputs "tiles"))
+ (cdr make-flags))))
+ (add-after 'install 'install-tiles
+ (lambda* (#:key make-flags outputs #:allow-other-keys)
+ (apply invoke "make" "install" "TILES=1" "SOUND=1"
+ (string-append "PREFIX="
+ (assoc-ref outputs "tiles"))
+ (cdr make-flags)))))
+ ;; TODO: Add libtap++ from https://github.com/cbab/libtappp as a native
+ ;; input in order to support tests.
+ #:tests? #f))
+ (outputs '("out"
+ "tiles")) ; For tile graphics and sound support.
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("freetype" ,freetype)
+ ("libogg" ,libogg)
+ ("libvorbis" ,libvorbis)
+ ("ncurses" ,ncurses)
+ ("sdl2" ,sdl2)
+ ("sdl2-image" ,sdl2-image)
+ ("sdl2-ttf" ,sdl2-ttf)
+ ("sdl2-mixer" ,sdl2-mixer)))
+ (home-page "http://en.cataclysmdda.com/")
+ (synopsis "Survival horror roguelike video game")
+ (description
+ "Cataclysm: Dark Days Ahead is a roguelike set in a post-apocalyptic
+world. Struggle to survive in a harsh, persistent, procedurally generated
+world. Scavenge the remnants of a dead civilization for food, equipment, or,
+if you are lucky, a vehicle with a full tank of gas to get you out of Dodge.
+Fight to defeat or escape from a wide variety of powerful monstrosities, from
+zombies to giant insects to killer robots and things far stranger and deadlier,
+and against the others like yourself, that want what you have.")
+ (license license:cc-by-sa3.0))))
(define-public cowsay
(package
@@ -3678,46 +3666,43 @@ emerges from a sewer hole and pulls her below ground.")
license:cc-by-sa3.0)))))
(define-public cdogs-sdl
- ;; XXX: Use version 0.6.7 when it's available.
- (let ((commit "bab2031369b9ea2dbeb7eedbde10a43dd8ca83db")
- (revision "1"))
- (package
- (name "cdogs-sdl")
- (version (git-version "0.6.6" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/cxong/cdogs-sdl.git")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "09sfqhrrffhvxbhigvrxfmai52w01w3f9kjmixjhqvqlkhn77c9n"))))
- (build-system cmake-build-system)
- (arguments
- `(#:configure-flags
- (list (string-append "-DCDOGS_DATA_DIR="
- (assoc-ref %outputs "out")
- "/share/cdogs-sdl/"))))
- (inputs
- `(("mesa" ,mesa)
- ("sdl2" ,sdl2)
- ("sdl2-image" ,sdl2-image)
- ("sdl2-mixer" ,sdl2-mixer)))
- (home-page "https://cxong.github.io/cdogs-sdl/")
- (synopsis "Classic overhead run-and-gun game")
- (description "C-Dogs SDL is a classic overhead run-and-gun game,
+ (package
+ (name "cdogs-sdl")
+ (version "0.6.7")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cxong/cdogs-sdl.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1frafzsj3f83xkmn4llr7g728c82lcqi424ini1hv3gv5zjgpa15"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags
+ (list (string-append "-DCDOGS_DATA_DIR="
+ (assoc-ref %outputs "out")
+ "/share/cdogs-sdl/"))))
+ (inputs
+ `(("mesa" ,mesa)
+ ("sdl2" ,sdl2)
+ ("sdl2-image" ,sdl2-image)
+ ("sdl2-mixer" ,sdl2-mixer)))
+ (home-page "https://cxong.github.io/cdogs-sdl/")
+ (synopsis "Classic overhead run-and-gun game")
+ (description "C-Dogs SDL is a classic overhead run-and-gun game,
supporting up to 4 players in co-op and deathmatch modes. Customize your
player, choose from many weapons, and blast, slide and slash your way through
over 100 user-created campaigns.")
- ;; GPLv2+ for code (includes files under BSD-2 and BSD-3),
- ;; CC0/CC-BY/CC-BY-SA for assets.
- (license (list license:gpl2+
- license:bsd-2
- license:bsd-3
- license:cc0
- license:cc-by3.0
- license:cc-by-sa3.0)))))
+ ;; GPLv2+ for code (includes files under BSD-2 and BSD-3),
+ ;; CC0/CC-BY/CC-BY-SA for assets.
+ (license (list license:gpl2+
+ license:bsd-2
+ license:bsd-3
+ license:cc0
+ license:cc-by3.0
+ license:cc-by-sa3.0))))
(define-public kiki
(package
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 130c212669..fdca3d2ffc 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -515,6 +516,20 @@ Go. It also includes runtime support libraries for these languages.")
for several languages, including C, C++, Objective-C, Fortran, Ada, and Go.
It also includes runtime support libraries for these languages.")))
+(define-public gcc-8
+ (package
+ (inherit gcc-7)
+ (version "8.1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/gcc/gcc-"
+ version "/gcc-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0lxil8x0jjx7zbf90cy1rli650akaa6hpk8wk8s62vk2jbwnc60x"))
+ (patches (search-patches "gcc-8-strmov-store-file-names.patch"
+ "gcc-5.0-libvtv-runpath.patch"))))))
+
;; Note: When changing the default gcc version, update
;; the gcc-toolchain-* definitions and the gfortran definition
;; accordingly.
diff --git a/gnu/packages/gnu-pw-mgr.scm b/gnu/packages/gnu-pw-mgr.scm
index 6bb5fea84b..0d16bf5f0b 100644
--- a/gnu/packages/gnu-pw-mgr.scm
+++ b/gnu/packages/gnu-pw-mgr.scm
@@ -30,7 +30,7 @@
(define-public gnu-pw-mgr
(package
(name "gnu-pw-mgr")
- (version "2.3.1")
+ (version "2.3.2")
(source
(origin
(method url-fetch)
@@ -38,7 +38,7 @@
version ".tar.xz"))
(sha256
(base32
- "05vv6n5sqdswhzm21cqn8m2p6avblxl3cv7b39nqx8yxf58gi2xv"))))
+ "0x60g0syqpd107l8w4bl213imy2lspm4kz1j18yr1sh10rdxlgxd"))))
(build-system gnu-build-system)
(arguments
'(#:phases
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index c52d21d8e3..ba60d1372a 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -479,27 +479,43 @@ security standards.")
(mozilla-patch "icecat-CVE-2018-5150-pt08.patch" "134c728799c1" "16hbwx6fx1hrddsyjjbd3z954ql3pg348xs13h9riyblq8crzmam")
(mozilla-patch "icecat-CVE-2018-5150-pt09.patch" "14eab155eaa8" "0wr4xgblxzk4c2gvlnpl7ic1196mrhry1hgwdl1jivq0ji5cbvbd")
(mozilla-patch "icecat-bug-1452619.patch" "2b75d55ccf0e" "1g87aybw6ggv6hyk385bplv0lx63n020gwyq0d6d4pqld48hsm1i")
- (mozilla-patch "icecat-bug-1453127.patch" "89857f35df29" "0gzi47svrw5ajdlm3i12193psm702zx70x5h1rwp4gb7gxh4m4d9")
+ (mozilla-patch "icecat-CVE-2018-5156-pt1.patch" "89857f35df29" "0gzi47svrw5ajdlm3i12193psm702zx70x5h1rwp4gb7gxh4m4d9")
(mozilla-patch "icecat-CVE-2018-5150-pt10.patch" "3f2ec03c0405" "0w02952dlxd2gmwghck2nm4rjjmc5ylg62bw6m1rvi35kcr134lr")
(mozilla-patch "icecat-CVE-2018-5183.patch" "f729bf78fb3a" "0xkj6jwxwdqkvb5c7wi16b8cm8qrnlrd3s9jnd46jg03iykrx56f")
- (mozilla-patch "icecat-bug-1437842.patch" "eb896089db47" "10lppk4x2d3pim71a36ky1dmg08rs5ckfiljwvfnr1cw6934qxl4")
- (mozilla-patch "icecat-bug-1458270.patch" "2374dca97bde" "0y1g55wvj44nzb1qfkl271jcf8s1ik8lcl1785z0zim4qzn7qkpa")
- (mozilla-patch "icecat-bug-1452576.patch" "70b6298e0c9e" "0n5jfy6c421dkybk8m18vd61y95zz0r64g1p1zlya3fps5knfaqi")
- (mozilla-patch "icecat-bug-1459206-pt1.patch" "4ef79fe9b3b7" "1c32z1ki1i6xj1nbb0xlxwqnmz48ikmy8dmp37rkjz8ssn04wgfg")
- (mozilla-patch "icecat-bug-1459206-pt2.patch" "9ad16112044a" "0ayya67sx7avcb8bplfdxb92l9g4mjrb1s3hby283llhqv0ikg9b")
- (mozilla-patch "icecat-bug-1459162.patch" "11d8a87fb6d6" "1rkmdk18llw0x1jakix75hlhy0hpsmlminnflagbzrzjli81gwm1")
- (mozilla-patch "icecat-bug-1451297.patch" "407b10ad1273" "16qzsfirw045xag96f1qvpdlibm8lwdj9l1mlli4n1vz0db91v9q")
- (mozilla-patch "icecat-bug-1462682.patch" "e76e2e481b17" "0hnx13msjy28n3bpa2c24kpzalam4bdk5gnp0f9k671l48rs9yb3")
- (mozilla-patch "icecat-bug-1450688.patch" "2c75bfcd465c" "1pjinj8qypafqm2fk68s3hzcbzcijn09qzrpcxvzq6bl1yfc1xfd")
- (mozilla-patch "icecat-bug-1456975.patch" "042f80f3befd" "0av918kin4bkrq7gnjz0h9w8kkq8rk9l93250lfl5kqrinza1gsk")
- (mozilla-patch "icecat-bugs-1442722+1455071+1433642+1456604+1458320.patch"
+ (mozilla-patch "icecat-CVE-2018-5188-pt01.patch" "eb896089db47" "10lppk4x2d3pim71a36ky1dmg08rs5ckfiljwvfnr1cw6934qxl4")
+ (mozilla-patch "icecat-CVE-2018-5188-pt02.patch" "2374dca97bde" "0y1g55wvj44nzb1qfkl271jcf8s1ik8lcl1785z0zim4qzn7qkpa")
+ (mozilla-patch "icecat-CVE-2018-5188-pt03.patch" "70b6298e0c9e" "0n5jfy6c421dkybk8m18vd61y95zz0r64g1p1zlya3fps5knfaqi")
+ (mozilla-patch "icecat-CVE-2018-12365-pt1.patch" "4ef79fe9b3b7" "1c32z1ki1i6xj1nbb0xlxwqnmz48ikmy8dmp37rkjz8ssn04wgfg")
+ (mozilla-patch "icecat-CVE-2018-12365-pt2.patch" "9ad16112044a" "0ayya67sx7avcb8bplfdxb92l9g4mjrb1s3hby283llhqv0ikg9b")
+ (mozilla-patch "icecat-CVE-2018-12359.patch" "11d8a87fb6d6" "1rkmdk18llw0x1jakix75hlhy0hpsmlminnflagbzrzjli81gwm1")
+ (mozilla-patch "icecat-CVE-2018-5188-pt04.patch" "407b10ad1273" "16qzsfirw045xag96f1qvpdlibm8lwdj9l1mlli4n1vz0db91v9q")
+ (mozilla-patch "icecat-CVE-2018-6126.patch" "e76e2e481b17" "0hnx13msjy28n3bpa2c24kpzalam4bdk5gnp0f9k671l48rs9yb3")
+ (mozilla-patch "icecat-CVE-2018-5188-pt05.patch" "2c75bfcd465c" "1pjinj8qypafqm2fk68s3hzcbzcijn09qzrpcxvzq6bl1yfc1xfd")
+ (mozilla-patch "icecat-CVE-2018-5188-pt06.patch" "042f80f3befd" "0av918kin4bkrq7gnjz0h9w8kkq8rk9l93250lfl5kqrinza1gsk")
+ (mozilla-patch "icecat-CVE-2018-5188-pt07+bugs-1455071+1433642+1456604+1458320.patch"
"bb0451c9c4a0" "1lhm1b2a7c6jwhzsg3c830hfhp17p8j9zbcmgchpb8c5jkc3vw0x")
- (mozilla-patch "icecat-bug-1465108-pt1.patch" "8189b262e3b9" "13rh86ddwmj1bhv3ibbil3sv5xbqq1c9v1czgbsna5hxxkzc1y3b")
- (mozilla-patch "icecat-bug-1465108-pt2.patch" "9f81ae3f6e1d" "05vfg8a8jrzd93n1wvncmvdmqgf9cgsl8ryxgjs3032gbbjkga7q")
- (mozilla-patch "icecat-bug-1459693.patch" "face7a3dd5d7" "0jclw30mf693w8lrmvn0iankggj21nh4j3zh51q5363rj5xncdzx")
- (mozilla-patch "icecat-bug-1464829.patch" "7afb58c046c8" "1r0569r76712x7x1sw6xr0x06ilv6iw3fncb0f8r8b9mp6wrpx34")
- (mozilla-patch "icecat-bug-1452375-pt1.patch" "f1a745f8c42d" "11q73pb7a8f09xjzil4rhg5nr49zrnz1vb0prni0kqvrnppf5s40")
- (mozilla-patch "icecat-bug-1452375-pt2.patch" "1f9a430881cc" "0f79rv7njliqxx33z07n60b50jg0a596d1km7ayz2hivbl2d0168")))
+ (mozilla-patch "icecat-CVE-2018-5188-pt08.patch" "8189b262e3b9" "13rh86ddwmj1bhv3ibbil3sv5xbqq1c9v1czgbsna5hxxkzc1y3b")
+ (mozilla-patch "icecat-CVE-2018-5188-pt09.patch" "9f81ae3f6e1d" "05vfg8a8jrzd93n1wvncmvdmqgf9cgsl8ryxgjs3032gbbjkga7q")
+ (mozilla-patch "icecat-CVE-2018-12360.patch" "face7a3dd5d7" "0jclw30mf693w8lrmvn0iankggj21nh4j3zh51q5363rj5xncdzx")
+ (mozilla-patch "icecat-CVE-2018-5188-pt10.patch" "7afb58c046c8" "1r0569r76712x7x1sw6xr0x06ilv6iw3fncb0f8r8b9mp6wrpx34")
+ (mozilla-patch "icecat-CVE-2018-12362-pt1.patch" "f1a745f8c42d" "11q73pb7a8f09xjzil4rhg5nr49zrnz1vb0prni0kqvrnppf5s40")
+ (mozilla-patch "icecat-CVE-2018-12362-pt2.patch" "1f9a430881cc" "0f79rv7njliqxx33z07n60b50jg0a596d1km7ayz2hivbl2d0168")
+ (mozilla-patch "icecat-CVE-2018-5188-pt11.patch" "28f4fc0a5141" "1a8f9z6c80in8ccj82ysdrcr2lqypp29l4acs50kwncm0c0b01zl")
+ (mozilla-patch "icecat-CVE-2018-12363.patch" "ad5a53a1d2b1" "0rhl4r39ydb3lkfp5pkwvhhzqgfh33s9r7b7jccgkrx6f13xyq78")
+ (mozilla-patch "icecat-CVE-2018-5188-pt12.patch" "0ddfc03c0454" "1b0xw2kj9765lvpl8iwr3wwcz40bdfp3dp4y9f546a61qsi9q9d6")
+ (mozilla-patch "icecat-CVE-2018-5156-pt2.patch" "dbf36189a364" "1awbyhy0r79i03sns2p0m78f9hb6c7kp4hwia2khx4qszlsr4j95")
+ (mozilla-patch "icecat-CVE-2018-5188-pt13.patch" "32509dfde003" "0cc3c92dgf5qynk093prq610c9x815l2fa24ddrw9czdzbwblsdq")
+ (mozilla-patch "icecat-bug-1462912.patch" "f18535a212da" "0zkqz9il89f1s1yrp5c6hj6kysy2x02iy50vgwdj30lr56gkpzmk")
+ (mozilla-patch "icecat-CVE-2018-5188-pt14.patch" "e8e9e1ef79f2" "0dc8p6fsppq3bhbpmp41f8mjxbr31pvgpga0a73dqdaicq5ydgj4")
+ (search-patch "icecat-bug-1413868-pt1.patch")
+ (mozilla-patch "icecat-CVE-2018-5188-pt15.patch" "9d4d31b2630d" "1lcbmsyi09kp80h1jgxj5l45zl24xn22h1lq7drbyjxsn1kggq4g")
+ (mozilla-patch "icecat-CVE-2018-12366-pt1.patch" "edf2c7dff493" "06xmyk7nm54cm9m6qc59wz8cxxfa5r25mf2xzdzy74iq5hwa1ac8")
+ (mozilla-patch "icecat-CVE-2018-5188-pt16.patch" "05549a4d1b80" "10q68cllshmmhlrbirm9h4gyc3ffrcpsxihfpcbxh90nv2h16jci")
+ (mozilla-patch "icecat-CVE-2018-12364.patch" "67b2d8924841" "197riigbb6l30959pygr0zlv7vaims78dg1mh0pg33pa7cbna0ds")
+ (mozilla-patch "icecat-CVE-2018-12366-pt2.patch" "528d4d997bb3" "0f375i96a404dkn0fanmd9pgfj3wyrhjfc5dwslw2s44gwfjhljb")
+ (mozilla-patch "icecat-bug-1369771.patch" "fab16ad7f256" "0kd8qm04sjgfgfg8yw3ivcxazb1d7v430g86chw4n64qybsh9ka3")
+ (mozilla-patch "icecat-CVE-2018-5188-pt17.patch" "068e249d02b4" "1iy9by1mg5qhp8502h31m8zm99aq2hx0c5n3hadd5pk11lfnq6ll")
+ (mozilla-patch "icecat-bug-1413868-pt2.patch" "755067c14b06" "089dwqwzcdg1l6aimi0i65q4dgb2iny5h8yjx63h9zgv77n0700a")))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm
index 0555d831e3..cd639a4d39 100644
--- a/gnu/packages/gps.scm
+++ b/gnu/packages/gps.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
@@ -147,7 +147,7 @@ between two other data points.")
(define-public gama
(package
(name "gama")
- (version "1.22")
+ (version "2.00")
(source
(origin
(method url-fetch)
@@ -155,7 +155,7 @@ between two other data points.")
version ".tar.gz"))
(sha256
(base32
- "01q3g2zi5d5r2l10hc8jwwz6w61dwkv7nyj9xd67vvq0gajw0a7r"))))
+ "1p51jlzr6qqqvzx0sq8j7fxqfij62c3pjcsb53vgx0jx0qdqyjba"))))
(build-system gnu-build-system)
(arguments '(#:parallel-tests? #f)) ; race condition
(native-inputs
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index eea7e0f79a..ff52a48234 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -724,6 +724,74 @@ format is also supported.")
;; This was mthl's mcron development branch, and it became mcron 1.1.
(deprecated-package "mcron2" mcron))
+(define-public guile-hall
+ (package
+ (name "guile-hall")
+ (version "0.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/a-sassmannshausen/guile-hall")
+ (commit "7d1094a12fe917209ce5b76c681cc8c862d4c65b")))
+ (file-name "guile-hall-0.1.1-checkout")
+ (sha256
+ (base32
+ "03kb09cjca98hlbx9mj12mqinzsnnvp6ci6i975n88pjhaxigyp1"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:modules
+ ((ice-9 match)
+ (ice-9 ftw)
+ ,@%gnu-build-system-modules)
+ #:phases
+ (modify-phases
+ %standard-phases
+ (add-after
+ 'install
+ 'hall-wrap-binaries
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin/"))
+ (site (string-append out "/share/guile/site")))
+ (match (scandir site)
+ (("." ".." version)
+ (let ((modules (string-append site "/" version))
+ (compiled-modules
+ (string-append
+ out
+ "/lib/guile/"
+ version
+ "/site-ccache")))
+ (for-each
+ (lambda (file)
+ (wrap-program
+ (string-append bin file)
+ `("GUILE_LOAD_PATH" ":" prefix (,modules))
+ `("GUILE_LOAD_COMPILED_PATH"
+ ":"
+ prefix
+ (,compiled-modules))))
+ ,(list 'list "hall"))
+ #t)))))))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)
+ ("texinfo" ,texinfo)))
+ (inputs `(("guile" ,guile-2.2)))
+ (propagated-inputs
+ `(("guile-config" ,guile-config)))
+ (synopsis "Guile project tooling")
+ (description
+ "Hall is a command-line application and a set of Guile libraries that
+allow you to quickly create and publish Guile projects. It allows you to
+transparently support the GNU build system, manage a project hierarchy &
+provides tight coupling to Guix.")
+ (home-page
+ "https://gitlab.com/a-sassmannshausen/guile-hall")
+ (license license:gpl3+)))
+
(define-public guile-ics
(package
(name "guile-ics")
@@ -767,14 +835,23 @@ The library is shipped with documentation in Info format and usage examples.")
(define-public guile-lib
(package
(name "guile-lib")
- (version "0.2.5.1")
+ (version "0.2.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/guile-lib/guile-lib-"
version ".tar.gz"))
(sha256
(base32
- "19q420i3is3d4jmkdqs5y7ir7ipp4s795saflqgwf6617cx2zpj4"))))
+ "0n1lf5bsr5s9gqi07sdfkl1hpin6dzvkcj1xa63jd1w8aglwv8r1"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; 'pre-inst-env' sets an incorrect load path, missing the
+ ;; "/src" bit. Add it.
+ (substitute* "pre-inst-env.in"
+ (("abs_top_(builddir|srcdir)=([[:graph:]]+)" _ dir value)
+ (string-append "abs_top_" dir "=" value "/src")))
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:make-flags
@@ -835,7 +912,8 @@ for Guile\".")
"AC_SUBST([GUILE_EFFECTIVE_VERSION])\n")))
(substitute* '("Makefile.am" "json/Makefile.am")
(("moddir[[:blank:]]*=.*/share/guile/site" all)
- (string-append all "/@GUILE_EFFECTIVE_VERSION@")))))))
+ (string-append all "/@GUILE_EFFECTIVE_VERSION@")))
+ #t))))
(build-system gnu-build-system)
(native-inputs `(("autoconf" ,autoconf)
("automake" ,automake)
@@ -1206,58 +1284,31 @@ Guile's foreign function interface.")
(deprecated-package "guile2.2-gdbm-ffi" guile-gdbm-ffi))
(define-public guile-sqlite3
- (let ((commit "10c13a7e02ab1655c8a758e560cafc9d6eff26f4")
- (revision "4"))
- (package
- (name "guile-sqlite3")
- (version (git-version "0.0" revision commit))
-
- ;; XXX: This used to be available read-only at
- ;; <https://www.gitorious.org/guile-sqlite3/guile-sqlite3.git/> but it
- ;; eventually disappeared, so we have our own copy here.
- (home-page "https://notabug.org/civodul/guile-sqlite3.git")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url home-page)
- (commit commit)))
- (sha256
- (base32
- "0nhhswpd7nb2f0gfr55fzcc2xm3l2xx4rbljsd1clrm8fj2d7q9d"))
- (file-name (string-append name "-" version "-checkout"))
- (modules '((guix build utils)))
- (snippet
- ;; Upgrade 'Makefile.am' to the current way of doing things.
- '(begin
- (substitute* "Makefile.am"
- (("TESTS_ENVIRONMENT")
- "TEST_LOG_COMPILER"))
- #t))))
-
- (build-system gnu-build-system)
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("guile" ,guile-2.2)
- ("sqlite" ,sqlite)))
- (arguments
- '(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'autoreconf
- (lambda _
- (zero? (system* "autoreconf" "-vfi"))))
- (add-before 'build 'set-sqlite3-file-name
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "sqlite3.scm"
- (("\"libsqlite3\"")
- (string-append "\"" (assoc-ref inputs "sqlite")
- "/lib/libsqlite3\"")))
- #t)))))
- (synopsis "Access SQLite databases from Guile")
- (description
- "This package provides Guile bindings to the SQLite database system.")
- (license license:gpl3+))))
+ (package
+ (name "guile-sqlite3")
+ (version "0.1.0")
+ (home-page "https://notabug.org/civodul/guile-sqlite3.git")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "1nv8j7wk6b5n4p22szyi8lv8fs31rrzxhzz16gyj8r38c1fyp9qp"))
+ (file-name (string-append name "-" version "-checkout"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("guile" ,guile-2.2)
+ ("sqlite" ,sqlite)))
+ (synopsis "Access SQLite databases from Guile")
+ (description
+ "This package provides Guile bindings to the SQLite database system.")
+ (license license:gpl3+)))
(define-public haunt
(package
@@ -1320,30 +1371,24 @@ interface for reading articles in any format.")
(define-public guile-config
(package
(name "guile-config")
- (version "0.2")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/a-sassmannshausen/guile-config")
- (commit "guile-config-0.2")))
- (file-name (string-append name "-" version "-checkout"))
- (sha256
- (base32
- "07q86vqdwmm81wwxz1d1ah27hbhs6qbn8kiizrfpj0s4bf95w3r9"))))
+ (version "0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/a-sassmannshausen/guile-config")
+ (commit "ce12de3f438c6b2b59c43ee21bcd58251835fdf3")))
+ (file-name "guile-config-0.3-checkout")
+ (sha256 (base32 "02zbpin0r9m2vxmr7mv68v3xdn247dcck56kbzjn0gj4c2rhih85"))))
(build-system gnu-build-system)
- (arguments
- '(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'autoreconf
- (lambda _
- (zero? (system* "autoreconf" "-fi")))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)
("texinfo" ,texinfo)))
- (inputs
- `(("guile" ,guile-2.2)))
- (synopsis "Guile application configuration parsing library")
+ (inputs `(("guile" ,guile-2.2)))
+ (synopsis
+ "Guile application configuration parsing library.")
(description
"Guile Config is a library providing a declarative approach to
application configuration specification. The library provides clean
@@ -1352,7 +1397,8 @@ configuration file creation; configuration file parsing; command-line
parameter parsing using getopt-long; basic GNU command-line parameter
generation (--help, --usage, --version); automatic output generation for the
above command-line parameters.")
- (home-page "https://github.com/a-sassmannshausen/guile-config")
+ (home-page
+ "https://gitlab.com/a-sassmannshausen/guile-config")
(license license:gpl3+)))
(define-public guile-redis
diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm
index 5abcdf9a2a..b2e67e52f9 100644
--- a/gnu/packages/image-viewers.scm
+++ b/gnu/packages/image-viewers.scm
@@ -60,7 +60,7 @@
(define-public feh
(package
(name "feh")
- (version "2.26.3")
+ (version "2.27")
(home-page "https://feh.finalrewind.org/")
(source (origin
(method url-fetch)
@@ -68,7 +68,7 @@
name "-" version ".tar.bz2"))
(sha256
(base32
- "08aagymgajcvciagwy2zdxhicvdfnjmd2xyx9bqjy7l1n16ydwrz"))))
+ "0kn6cka9m76697i495npd60ad64jnfnzv5z6znzyr0vlxx2nhcmg"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases (delete 'configure))
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index a2874be1a8..5ad6fe9487 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -394,6 +394,7 @@ extracting icontainer icon files.")
(define-public libtiff
(package
(name "libtiff")
+ (replacement libtiff/fixed)
(version "4.0.9")
(source
(origin
@@ -426,6 +427,17 @@ collection of tools for doing simple manipulations of TIFF images.")
"See COPYRIGHT in the distribution."))
(home-page "http://www.simplesystems.org/libtiff/")))
+(define libtiff/fixed
+ (package
+ (inherit libtiff)
+ (source
+ (origin
+ (inherit (package-source libtiff))
+ (patches
+ (append (origin-patches (package-source libtiff))
+ (search-patches "libtiff-CVE-2018-8905.patch"
+ "libtiff-CVE-2018-10963.patch")))))))
+
(define-public leptonica
(package
(name "leptonica")
diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm
index e80da6d848..24e62142b9 100644
--- a/gnu/packages/imagemagick.scm
+++ b/gnu/packages/imagemagick.scm
@@ -47,14 +47,14 @@
;; The 7 release series has an incompatible API, while the 6 series is still
;; maintained. Don't update to 7 until we've made sure that the ImageMagick
;; users are ready for the 7-series API.
- (version "6.9.9-43")
+ (version "6.9.10-3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://imagemagick/ImageMagick-"
version ".tar.xz"))
(sha256
(base32
- "09vfxb1ljfma7mvkcqp17bs7adlrfh6kc6k9hifkhgxf51vr7hk6"))))
+ "0njq3vp0f3d5992jsah5nhbc5id2bnl7myhdw669k0vmc55mmlcj"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch")
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 747edc18d0..0f6a778360 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -2683,7 +2683,16 @@ documentation tools.")
"code.google.com/jarjar/jarjar-src-" version ".zip"))
(sha256
(base32
- "1v8irhni9cndcw1l1wxqgry013s2kpj0qqn57lj2ji28xjq8ndjl"))))
+ "1v8irhni9cndcw1l1wxqgry013s2kpj0qqn57lj2ji28xjq8ndjl"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Delete bundled thirds-party jar archives.
+ ;; TODO: unbundle maven-plugin-api.
+ (delete-file "lib/asm-4.0.jar")
+ (delete-file "lib/asm-commons-4.0.jar")
+ (delete-file "lib/junit-4.8.1.jar")
+ #t))))
(build-system ant-build-system)
(arguments
`(;; Tests require junit, which ultimately depends on this package.
@@ -2691,6 +2700,26 @@ documentation tools.")
#:build-target "jar"
#:phases
(modify-phases %standard-phases
+ (add-before 'build 'do-not-use-bundled-asm
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "build.xml"
+ (("<path id=\"path.build\">")
+ (string-append "<path id=\"path.build\"><fileset dir=\""
+ (assoc-ref inputs "java-asm-bootstrap")
+ "/share/java\" includes=\"**/*.jar\"/>"))
+ (("<zipfileset src=\"lib/asm-4.0.jar\"/>") "")
+ (("lib/asm-commons-4.0.jar")
+ (string-append (assoc-ref inputs "java-asm-bootstrap")
+ "/share/java/asm-6.0.jar"))
+ (("<include name=\"org/objectweb/asm/commons/Remap\\*\\.class\"/>")
+ (string-append "<include name=\"org/objectweb/asm/"
+ "commons/Remap*.class\"/>"
+ "<include name=\"org/objectweb/asm/*.class\"/>"
+ "<include name=\"org/objectweb/asm/"
+ "signature/*.class\"/>"
+ "<include name=\"org/objectweb/asm/"
+ "commons/SignatureRemapper.class\"/>")))
+ #t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((target (string-append (assoc-ref outputs "out")
@@ -2698,6 +2727,8 @@ documentation tools.")
(install-file (string-append "dist/jarjar-" ,version ".jar")
target))
#t)))))
+ (inputs
+ `(("java-asm-bootstrap" ,java-asm-bootstrap)))
(native-inputs
`(("unzip" ,unzip)))
(home-page "https://code.google.com/archive/p/jarjar/")
@@ -7111,7 +7142,8 @@ it manages project dependencies, gives diffs jars, and much more.")
(name "java-aqute-libg-bootstrap")
(arguments
;; Disable tests, at this stage of bootstrap we have no test frameworks.
- `(#:tests? #f))
+ (substitute-keyword-arguments (package-arguments java-aqute-libg)
+ ((#:tests? _ #f) #f)))
(inputs
`(("slf4j-bootstrap" ,java-slf4j-api-bootstrap)
,@(delete `("slf4j" ,java-slf4j-api)
diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm
index 62c936c191..e4b8bbbbed 100644
--- a/gnu/packages/libusb.scm
+++ b/gnu/packages/libusb.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2017 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -214,6 +215,49 @@ with usb4java.")
implementing @code{javax.usb} (JSR-80).")
(license expat)))
+(define-public python-libusb1
+ (package
+ (name "python-libusb1")
+ (version "1.6.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "libusb1" version))
+ (sha256
+ (base32
+ "03b7xrz8vqg8w0za5r503jhcmbd1ls5610jcja1rqz833nf0v4wc"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:modules ((srfi srfi-1)
+ (guix build utils)
+ (guix build python-build-system))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'install-license-files 'remove-incorrect-license
+ (lambda* (#:key out #:allow-other-keys)
+ ;; Was relicensed to LGPL 2.1+, but old COPYING file still left
+ ;; in source. Remove it so it does not get installed.
+ (delete-file "COPYING")
+ #t))
+ (add-after 'unpack 'fix-libusb-reference
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "usb1/libusb1.py"
+ (("libusb_path = ctypes.util.find_library\\(base_name\\)")
+ (string-append
+ "libusb_path = \""
+ (find (negate symbolic-link?)
+ (find-files (assoc-ref inputs "libusb")
+ "^libusb.*\\.so\\..*"))
+ "\"")))
+ #t)))))
+ (inputs `(("libusb" ,libusb)))
+ (home-page "https://github.com/vpelletier/python-libusb1")
+ (synopsis "Pure-python wrapper for libusb-1.0")
+ (description "Libusb is a library that gives applications easy access to
+USB devices on various operating systems. This package provides a Python
+wrapper for accessing libusb-1.0.")
+ (license lgpl2.1+)))
+
(define-public python-pyusb
(package
(name "python-pyusb")
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index a28aa5a2ea..5c1f679a36 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -402,8 +402,8 @@ It has been modified to remove all non-free binary blobs.")
;; supports qemu "virt" machine and possibly a large number of ARM boards.
;; See : https://wiki.debian.org/DebianKernel/ARMMP.
-(define %linux-libre-version "4.17.2")
-(define %linux-libre-hash "0xkswi9vhbzi466pqvyli7glkvdyxhphn8yjg69kpw37rpw8ix5l")
+(define %linux-libre-version "4.17.3")
+(define %linux-libre-hash "06mjbs3i0xq1h1cgr6xldr6a8rxsy30mf86wp3n2ff6l5v78iw2q")
(define-public linux-libre
(make-linux-libre %linux-libre-version
@@ -411,8 +411,8 @@ It has been modified to remove all non-free binary blobs.")
%linux-compatible-systems
#:configuration-file kernel-config))
-(define %linux-libre-4.14-version "4.14.51")
-(define %linux-libre-4.14-hash "1ifczslgp3ng0948l5p0khcnfkv9i44mq0bzk1y8mwdhy4mik0b9")
+(define %linux-libre-4.14-version "4.14.52")
+(define %linux-libre-4.14-hash "0lx916iw33n32h1fca59r7mh6l2smyml6igvzhimcah62hqx4rk8")
(define-public linux-libre-4.14
(make-linux-libre %linux-libre-4.14-version
@@ -421,8 +421,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.109"
- "1i27fmlr0b05n4qri2vxdbg0qddwk1clyaramwbl3w0w10k63qkc"
+ (make-linux-libre "4.9.110"
+ "0nzfna9w9a45y521d3dcxkdv66gn38n4pq814rdqazk74qb5macn"
%intel-compatible-systems
#:configuration-file kernel-config))
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 59e38bb88e..a86bdcb5ed 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -49,6 +49,7 @@
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages ocaml)
+ #:use-module (gnu packages onc-rpc)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
@@ -233,7 +234,7 @@ classification.")
#t))
(add-after 'disable-broken-tests 'autogen
(lambda _
- (zero? (system* "bash" "autogen.sh")))))))
+ (invoke "bash" "autogen.sh"))))))
(inputs
`(("python" ,python-2) ; only Python 2 is supported
("libxml2" ,libxml2)))
@@ -667,15 +668,18 @@ and a QP solver.")
;; No test target, so we build and run the unit tests here.
(let ((test-dir (string-append "../dlib-" ,version "/dlib/test")))
(with-directory-excursion test-dir
- (and (zero? (system* "make" "-j" (number->string (parallel-job-count))))
- (zero? (system* "./dtest" "--runall")))))))
+ (invoke "make" "-j" (number->string (parallel-job-count)))
+ (invoke "./dtest" "--runall"))
+ #t)))
(add-after 'install 'delete-static-library
(lambda* (#:key outputs #:allow-other-keys)
(delete-file (string-append (assoc-ref outputs "out")
"/lib/libdlib.a"))
#t)))))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("pkg-config" ,pkg-config)
+ ;; For tests.
+ ("libnsl" ,libnsl)))
(inputs
`(("giflib" ,giflib)
("lapack" ,lapack)
@@ -726,7 +730,7 @@ computing environments.")
(setenv "HOME" "/tmp")
;; Step out of the source directory just to be sure.
(chdir "..")
- (zero? (system* "nosetests" "-v" "sklearn")))))))
+ (invoke "nosetests" "-v" "sklearn"))))))
(inputs
`(("openblas" ,openblas)))
(native-inputs
diff --git a/gnu/packages/markup.scm b/gnu/packages/markup.scm
index bce411d0bd..e15e8497b7 100644
--- a/gnu/packages/markup.scm
+++ b/gnu/packages/markup.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -137,10 +137,9 @@ convert it to structurally valid XHTML (or HTML).")
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(setenv "CC" "gcc")
- (zero? (system*
- "./configure.sh"
+ (invoke "./configure.sh"
(string-append "--prefix=" (assoc-ref outputs "out"))
- "--shared")))))))
+ "--shared"))))))
(synopsis "Markdown processing library, written in C")
(description
"Discount is a markdown implementation, written in C. It provides a
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 7d70ac1fa6..8d7535a8dc 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -1400,12 +1400,18 @@ script files.")
(define-public qtoctave
(package (inherit octave)
(name "qtoctave")
+ (source (origin
+ (inherit (package-source octave))
+ (patches (append (origin-patches (package-source octave))
+ (search-patches
+ "qtoctave-qt-5.11-fix.patch")))))
(inputs
`(("qscintilla" ,qscintilla)
("qt" ,qtbase)
,@(package-inputs octave)))
(native-inputs
`(("qttools" , qttools) ;for lrelease
+ ("texlive" ,texlive) ;for texi2dvi
,@(package-native-inputs octave)))
(arguments
(substitute-keyword-arguments (package-arguments octave)
@@ -1598,7 +1604,7 @@ September 2004}")
,@configure-flags)))
(format #t "build directory: ~s~%" (getcwd))
(format #t "configure flags: ~s~%" flags)
- (zero? (apply system* "./configure" flags)))))
+ (apply invoke "./configure" flags))))
(add-after 'configure 'clean-local-references
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
@@ -1755,7 +1761,8 @@ savings are consistently > 5x.")
;; documentation is difficult.
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
- (for-each delete-file (find-files out "\\.html$")))))
+ (for-each delete-file (find-files out "\\.html$"))
+ #t)))
(add-after 'install 'clean-install
;; Clean up unnecessary build logs from installation.
(lambda* (#:key outputs #:allow-other-keys)
@@ -1766,7 +1773,8 @@ savings are consistently > 5x.")
(delete-file f))))
'("configure.log" "make.log" "gmake.log"
"test.log" "error.log" "RDict.db"
- "uninstall.py"))))))))
+ "uninstall.py"))
+ #t))))))
(home-page "http://slepc.upv.es")
(synopsis "Scalable library for eigenproblems")
(description "SLEPc is a software library for the solution of large sparse
@@ -1911,8 +1919,8 @@ IORDERINGSC = $(IPORD) $(IMETIS) $(ISCOTCH)"
;; By default only the d-precision library is built. Make with "all"
;; target so that all precision libraries and examples are built.
(lambda _
- (zero? (system* "make" "all"
- (format #f "-j~a" (parallel-job-count))))))
+ (invoke "make" "all"
+ (format #f "-j~a" (parallel-job-count)))))
(replace 'check
;; Run the simple test drivers, which read test input from stdin:
;; from the "real" input for the single- and double-precision
@@ -2231,11 +2239,11 @@ CDEFS = -DAdd_"
;; isn't used anyway.)
(setenv "OMPI_MCA_plm_rsh_agent" (which "cat"))
(with-directory-excursion "EXAMPLE"
- (and
- (zero? (system* "mpirun" "-n" "2"
- "./pddrive" "-r" "1" "-c" "2" "g20.rua"))
- (zero? (system* "mpirun" "-n" "2"
- "./pzdrive" "-r" "1" "-c" "2" "cg20.cua"))))))
+ (invoke "mpirun" "-n" "2"
+ "./pddrive" "-r" "1" "-c" "2" "g20.rua")
+ (invoke "mpirun" "-n" "2"
+ "./pzdrive" "-r" "1" "-c" "2" "cg20.cua"))
+ #t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
;; Library is placed in lib during the build phase. Copy over
@@ -2283,7 +2291,7 @@ implemented in ANSI C, and MPI for communications.")
(modify-phases %standard-phases
(add-after
'unpack 'chdir-to-src
- (lambda _ (chdir "src")))
+ (lambda _ (chdir "src") #t))
(replace
'configure
(lambda _
@@ -2320,7 +2328,8 @@ YACC = bison -pscotchyy -y -b y
;; XXX: Causes invalid frees in superlu-dist tests
;; "SCOTCH_PTHREAD"
;; "SCOTCH_PTHREAD_NUMBER=2"
- "restrict=__restrict"))))))
+ "restrict=__restrict"))))
+ #t))
(add-after
'build 'build-esmumps
(lambda _
@@ -2330,24 +2339,25 @@ YACC = bison -pscotchyy -y -b y
;; isn't used anyway.)
(setenv "OMPI_MCA_plm_rsh_agent" (which "cat"))
- (zero? (system* "make"
- (format #f "-j~a" (parallel-job-count))
- "esmumps"))))
+ (invoke "make"
+ (format #f "-j~a" (parallel-job-count))
+ "esmumps")))
(replace
'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir out)
- (zero? (system* "make"
- (string-append "prefix=" out)
- "install"))
+ (invoke "make"
+ (string-append "prefix=" out)
+ "install")
;; esmumps files are not installed with the above
(for-each (lambda (f)
(copy-file f (string-append out "/include/" f)))
(find-files "../include" ".*esmumps.h$"))
(for-each (lambda (f)
(copy-file f (string-append out "/lib/" f)))
- (find-files "../lib" "^lib.*esmumps.*"))))))))
+ (find-files "../lib" "^lib.*esmumps.*"))
+ #t))))))
(home-page "http://www.labri.fr/perso/pelegrin/scotch/")
(synopsis "Programs and libraries for graph algorithms")
(description "SCOTCH is a set of programs and libraries which implement
diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm
index 8183b2b827..52464e28d4 100644
--- a/gnu/packages/mes.scm
+++ b/gnu/packages/mes.scm
@@ -73,7 +73,7 @@ extensive examples, including parsers for the Javascript and C99 languages.")
(let ((triplet "i686-unknown-linux-gnu"))
(package
(name "mes")
- (version "0.15")
+ (version "0.16")
(source (origin
(method url-fetch)
(uri (string-append "https://gitlab.com/janneke/mes"
@@ -81,7 +81,7 @@ extensive examples, including parsers for the Javascript and C99 languages.")
"/mes-" version ".tar.gz"))
(sha256
(base32
- "0kj2ywgii1795gxj6k29zxa0848h2j0ihbwlgn55wdalswl165dq"))))
+ "0c4vz1qw767af5h615055hh8zjwwmwf5mwkb64l0l921zaa9hg2n"))))
(build-system gnu-build-system)
(supported-systems '("i686-linux" "x86_64-linux"))
(propagated-inputs
@@ -120,7 +120,7 @@ Guile-] Scheme interpreter prototype in C and a Nyacc-based C compiler in
(define-public mescc-tools
(package
(name "mescc-tools")
- (version "0.4")
+ (version "0.5.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -130,7 +130,7 @@ Guile-] Scheme interpreter prototype in C and a Nyacc-based C compiler in
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1iwc8xqwzdaqckb4jkkisljrgn8ii4bl7dzk1l2kpv98hsyq9vi1"))))
+ "0rsxbjc3bg0jl3h7ai4hndxx2iyyk8bvwj9nd3xv2vgz3bmypnah"))))
(build-system gnu-build-system)
(supported-systems '("i686-linux" "x86_64-linux"))
(arguments
diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index 3c06fb0e64..57a04e1113 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -276,7 +276,7 @@ information about tracks being played to a scrobbler, such as Libre.FM.")
'(#:phases
(modify-phases %standard-phases
(replace 'check
- (lambda _ (zero? (system* "python" "mpd_test.py")))))))
+ (lambda _ (invoke "python" "mpd_test.py"))))))
(native-inputs `(("python-mock" ,python-mock)))
(home-page "https://github.com/Mic92/python-mpd2")
(synopsis "Python MPD client library")
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 824b03dc0c..deb4f222b8 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -17,6 +17,7 @@
;;; Copyright © 2018 nee <nee.git@hidamari.blue>
;;; Copyright © 2018 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com>
+;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -43,6 +44,7 @@
#:use-module (guix build-system ant)
#:use-module (guix build-system cmake)
#:use-module (guix build-system meson)
+ #:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system scons)
#:use-module (guix build-system glib-or-gtk)
@@ -104,6 +106,7 @@
#:use-module (gnu packages pcre)
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages perl-web)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages pulseaudio) ;libsndfile
@@ -3510,16 +3513,16 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
(define-public musescore
(package
(name "musescore")
- (version "2.2.1")
+ (version "2.3")
(source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/musescore/MuseScore/archive/"
- "v" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/musescore/MuseScore.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1ml99ayzpdyd18cypcp0lbsbasfg3abw57i5fl7ph5739vikj6i6"))
+ "1y5x0a40x7ji4g4181adm95qxk2dfjiy5xb5wksps90ji9q2qlcs"))
(modules '((guix build utils)))
(snippet
;; Un-bundle OpenSSL and remove unused libraries.
@@ -3540,8 +3543,8 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
`(,(string-append "PREFIX=" (assoc-ref %outputs "out"))
"USE_SYSTEM_FREETYPE=ON"
"DOWNLOAD_SOUNDFONT=OFF"
- ;; The following is not supported since Qt 5.11. Can be
- ;; removed in Musescore 2.2.2+.
+ ;; The following is not supported since Qt 5.11. May be removed in
+ ;; a future release.
"BUILD_WEBKIT=OFF")
;; There are tests, but no simple target to run. The command
;; used to run them is:
@@ -3554,14 +3557,6 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
#:tests? #f
#:phases
(modify-phases %standard-phases
- ;; Fix Qt 5.11 upgrade. Should be fixed in 2.2.2+, see:
- ;; <https://github.com/musescore/MuseScore/commit/d10e70415c8e52e2ba9d45de564467e42f66c102>
- (add-after 'unpack 'patch-sources
- (lambda _
- (substitute* "all.h"
- (("#include <QRadioButton>") "#include <QRadioButton>
-#include <QButtonGroup>"))
- #t))
(delete 'configure))))
(inputs
`(("alsa-lib" ,alsa-lib)
@@ -4019,6 +4014,57 @@ mb_client, is a development library geared towards developers who wish to add
MusicBrainz lookup capabilities to their applications.")
(license license:lgpl2.1+)))
+(define-public perl-musicbrainz-discid
+ (package
+ (name "perl-musicbrainz-discid")
+ (version "0.04")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/N/NJ/NJH/MusicBrainz-DiscID-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1i4qk1qfcmxdibqkyfjrrjdq2zk42vjcz590qgiyc47fi9p6xx1j"))))
+ (build-system perl-build-system)
+ (native-inputs `(("pkg-config" ,pkg-config)
+ ("which" ,which)))
+ (inputs `(("libdiscid" ,libdiscid)))
+ (home-page "https://metacpan.org/release/MusicBrainz-DiscID")
+ (synopsis "Perl interface to the MusicBrainz libdiscid library")
+ (description
+ "The @code{MusicBrainz::DiscID} module is a Perl interface to the
+MusicBrainz libdiscid library, allowing you to manipulate digital audio
+compact disc (CDDA) identifiers.")
+ (license license:gpl2)))
+
+(define-public perl-webservice-musicbrainz
+ (package
+ (name "perl-webservice-musicbrainz")
+ (version "1.0.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/B/BF/BFAIST/WebService-MusicBrainz-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "182z3xjajk6s7k5xm3kssjy3hqx2qbnq4f8864hma098ryy2ph3a"))))
+ (build-system perl-build-system)
+ (arguments
+ ;; Tests try to connect to http://musicbrainz.org.
+ '(#:tests? #f))
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)))
+ (propagated-inputs
+ `(("perl-mojolicious" ,perl-mojolicious)))
+ (home-page "https://metacpan.org/release/WebService-MusicBrainz")
+ (synopsis "Web service API to the MusicBrainz database")
+ (description
+ "This module searches the MusicBrainz database through their web service
+at @code{musicbrainz.org}.")
+ (license license:perl-license)))
+
(define-public clyrics
(package
(name "clyrics")
diff --git a/gnu/packages/ntp.scm b/gnu/packages/ntp.scm
index e9ae9fa466..8fc0a1eb97 100644
--- a/gnu/packages/ntp.scm
+++ b/gnu/packages/ntp.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -163,8 +164,8 @@ minimalist than ntpd.")
;; date that is recorded in binaries. It must be a
;; "recent date" since it is used to detect bogus dates
;; received from servers.
- (setenv "COMPILE_DATE" (number->string 1450563040))
- (zero? (system* "sh" "autogen.sh")))))))
+ (setenv "COMPILE_DATE" (number->string 1530144000))
+ (invoke "sh" "autogen.sh"))))))
(inputs `(("openssl" ,openssl)
("libevent" ,libevent)))
(native-inputs `(("pkg-config" ,pkg-config)
diff --git a/gnu/packages/opencl.scm b/gnu/packages/opencl.scm
index b31fa09474..644cd95e93 100644
--- a/gnu/packages/opencl.scm
+++ b/gnu/packages/opencl.scm
@@ -21,9 +21,21 @@
#:use-module (guix build-system cmake)
#:use-module (guix download)
#:use-module (guix git-download)
- #:use-module (guix packages)
#:use-module ((guix licenses) #:prefix license:)
- #:use-module (gnu packages python))
+ #:use-module (guix packages)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages gl)
+ #:use-module (gnu packages gnupg)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages libedit)
+ #:use-module (gnu packages llvm)
+ #:use-module (gnu packages ncurses)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages ruby)
+ #:use-module (gnu packages video)
+ #:use-module (gnu packages xdisorg)
+ #:use-module (gnu packages xorg))
;; This file adds OpenCL implementation related packages. Due to the fact that
;; OpenCL devices are not available during build (store environment), tests are
@@ -118,3 +130,161 @@ programming.")
(description
"This package provides the @dfn{host API} C++ headers for OpenCL.")
(license license:expat)))
+
+(define-public ocl-icd
+ (package
+ (name "ocl-icd")
+ (version "2.2.12")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://forge.imag.fr/frs/download.php/836/ocl-icd-"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1x2dr8p4dkfds56r38av360i3nv1y3326jmshxvjngaf6mlg6rbn"))
+ (modules '((guix build utils)))
+ (snippet
+ '(delete-file-recursively "khronos-headers"))))
+ (native-inputs
+ `(("opencl-headers" ,opencl-headers)
+ ("ruby" ,ruby)))
+ (inputs
+ `(("libgcrypt" ,libgcrypt)))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("DEBUG_OCL_ICD=1")))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "OPENCL_VENDOR_PATH")
+ (files '("etc/OpenCL/vendors")))))
+ (search-paths native-search-paths)
+ (home-page "https://forge.imag.fr/projects/ocl-icd/")
+ (synopsis "OpenCL loader for Installable Client Drivers (ICDs)")
+ (description
+ "OpenCL implementations are provided as ICDs (Installable Client
+Drivers). An OpenCL program can use several ICDs thanks to the use of an ICD
+Loader as provided by this package.")
+ (license license:bsd-2)))
+
+(define-public clinfo
+ (package
+ (name "clinfo")
+ (version "2.2.18.04.06")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/Oblomov/clinfo/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0v7cy01irwdgns6lzaprkmm0502pp5a24zhhffydxz1sgfjj2w7p"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("opencl-headers" ,opencl-headers)))
+ (inputs
+ `(("ocl-icd" ,ocl-icd)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'build
+ (lambda _
+ (let ((cores (number->string (parallel-job-count))))
+ (setenv "CC" "gcc")
+ (invoke "make" "-j" cores))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (invoke "make" "install" (string-append
+ "PREFIX="
+ (assoc-ref outputs "out"))))))
+ #:tests? #f))
+ (home-page "https://github.com/Oblomov/clinfo")
+ (synopsis "Print information about OpenCL platforms and devices")
+ ;; Only the implementation installed via Guix will be detected.
+ (description
+ "This package provides the @command{clinfo} command that enumerates all
+possible (known) properties of the OpenCL platform and devices available on
+the system.")
+ (license license:cc0)))
+
+(define-public beignet
+ (package
+ (name "beignet")
+ (version "1.3.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/intel/beignet/archive/Release_v"
+ version
+ ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "18r0lq3dkd4yn6bxa45s2lrr9cjbg70nr2nn6xablvgqwzw0jb0r"))
+ (patches (search-patches "beignet-correct-file-names.patch"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; There's a suspicious .isa binary file under kernels/.
+ ;; Remove it.
+ '(for-each delete-file (find-files "." "\\.isa$")))))
+ (native-inputs `(("pkg-config" ,pkg-config)
+ ("python" ,python)))
+ (inputs `(("clang@3.7" ,clang-3.7)
+ ("clang-runtime@3.7" ,clang-runtime-3.7)
+ ("glu" ,glu)
+ ("llvm@3.7" ,llvm-3.7)
+ ("libdrm" ,libdrm)
+ ("libedit" ,libedit)
+ ("libpthread-stubs", libpthread-stubs)
+ ("libsm" ,libsm)
+ ("libva" ,libva)
+ ("libxfixes" ,libxfixes)
+ ("libxext" ,libxext)
+ ("mesa-utils" ,mesa-utils)
+ ("ncurses" ,ncurses)
+ ("ocl-icd" ,ocl-icd)
+ ("opencl-headers" ,opencl-headers)
+ ("xextproto" ,xextproto)
+ ("zlib" ,zlib)))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags
+ (list (string-append "-DCLANG_LIBRARY_DIR="
+ (assoc-ref %build-inputs "clang@3.7") "/lib")
+ "-DENABLE_GL_SHARING=ON"
+ "-DEXPERIMENTAL_DOUBLE=ON")
+
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'remove-headers
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (delete-file-recursively
+ (string-append out "/include"))
+ #t)))
+ (add-after 'remove-headers 'install-kernels
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (builddir (getcwd))
+ (source-dir (string-append
+ builddir
+ "/../beignet-Release_v1.3.2/kernels")))
+ (copy-recursively source-dir
+ (string-append out "/lib/beignet/kernels"))
+ #t))))
+ ;; Beignet tries to find GPU when running tests, which is not available
+ ;; during build.
+ #:tests? #f))
+ (home-page "https://wiki.freedesktop.org/www/Software/Beignet/")
+ (synopsis "OpenCL framework for Intel GPUs")
+ (description
+ "Beignet is an implementation of the OpenCL specification. This code
+base contains the code to run OpenCL programs on Intel GPUs---IvyBridge,
+Haswell, Skylake, Apollolake, etc. It defines and implements the OpenCL host
+functions required to initialize the device, create the command queues, the
+kernels and the programs, and run them on the GPU. The code also contains a
+back-end for the LLVM compiler framework.")
+ (license license:lgpl2.1+)))
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 6a55f62ee6..1c31230e58 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Muriithi Frederick Muriuki <fredmanglis@gmail.com>
-;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
@@ -41,6 +41,7 @@
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages docbook)
+ #:use-module (gnu packages emacs)
#:use-module (gnu packages file)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
@@ -433,20 +434,27 @@ sub-directory.")
(define-public emacs-nix-mode
(package
- (inherit nix)
(name "emacs-nix-mode")
+ (version "1.2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/NixOS/nix-mode/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "06aqz0czznsj8835jqnk794sy2p6pa8kxfqwh0nl5d5vxivria6z"))))
(build-system emacs-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'chdir-elisp
- ;; Elisp directory is not in root of the source.
- (lambda _
- (chdir "misc/emacs"))))))
+ (inputs
+ `(("emacs-company" ,emacs-company)
+ ("emacs-mmm-mode" ,emacs-mmm-mode)))
+ (home-page "https://github.com/NixOS/nix-mode")
(synopsis "Emacs major mode for editing Nix expressions")
(description "@code{nixos-mode} provides an Emacs major mode for editing
Nix expressions. It supports syntax highlighting, indenting and refilling of
-comments.")))
+comments.")
+ (license license:lgpl2.1+)))
(define-public stow
(package
diff --git a/gnu/packages/patches/beignet-correct-file-names.patch b/gnu/packages/patches/beignet-correct-file-names.patch
new file mode 100644
index 0000000000..2c5d0bbaea
--- /dev/null
+++ b/gnu/packages/patches/beignet-correct-file-names.patch
@@ -0,0 +1,32 @@
+Help CMake find Clang's libraries.
+Have it install the ICD file in the right place.
+
+diff --git a/CMake/FindLLVM.cmake b/CMake/FindLLVM.cmake
+index 5457f248..e8e8f94a 100644
+--- a/CMake/FindLLVM.cmake
++++ b/CMake/FindLLVM.cmake
+@@ -107,7 +107,7 @@ endif (LLVM_VERSION_NODOT VERSION_GREATER 34)
+ macro(add_one_lib name)
+ FIND_LIBRARY(CLANG_LIB
+ NAMES ${name}
+- PATHS ${LLVM_LIBRARY_DIR} NO_DEFAULT_PATH)
++ PATHS ${CLANG_LIBRARY_DIR} NO_DEFAULT_PATH)
+ set(CLANG_LIBRARIES ${CLANG_LIBRARIES} ${CLANG_LIB})
+ unset(CLANG_LIB CACHE)
+ endmacro()
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c11acbb2..fb99e5c8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -217,7 +217,7 @@ IF(OCLIcd_FOUND)
+ "intel-beignet.icd.in"
+ "${ICD_FILE_NAME}"
+ )
+- install (FILES ${CMAKE_CURRENT_BINARY_DIR}/${ICD_FILE_NAME} DESTINATION /etc/OpenCL/vendors)
++ install (FILES ${CMAKE_CURRENT_BINARY_DIR}/${ICD_FILE_NAME} DESTINATION etc/OpenCL/vendors COMPONENT config)
+ ELSE(OCLIcd_FOUND)
+ MESSAGE(STATUS "Looking for OCL ICD header file - not found")
+ MESSAGE(FATAL_ERROR "OCL ICD loader miss. If you really want to disable OCL ICD support, please run cmake with option -DOCLICD_COMPAT=0.")
+--
+2.14.3
+
diff --git a/gnu/packages/patches/emacs-browse-at-remote-cgit-gnu.patch b/gnu/packages/patches/emacs-browse-at-remote-cgit-gnu.patch
deleted file mode 100644
index b90017fdb4..0000000000
--- a/gnu/packages/patches/emacs-browse-at-remote-cgit-gnu.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
-
-This patch adds a support for Git repositories hosted on git.savannah.gnu.org.
-
-Upstream bug URL:
-
-https://github.com/rmuslimov/browse-at-remote/pull/46
-
-From cd2ccdaef8b1d97337d790175f71cc3dbcfcff64 Mon Sep 17 00:00:00 2001
-From: Oleg Pykhalov <go.wigust@gmail.com>
-Date: Fri, 26 Jan 2018 00:05:30 +0300
-Subject: [PATCH] Add support for repositories that are hosted on gnu cgit
-
----
- browse-at-remote.el | 21 ++++++++++++++++++++-
- 1 file changed, 20 insertions(+), 1 deletion(-)
-
-diff --git a/browse-at-remote.el b/browse-at-remote.el
-index 66967b3..e210d18 100644
---- a/browse-at-remote.el
-+++ b/browse-at-remote.el
-@@ -44,7 +44,8 @@
- (defcustom browse-at-remote-remote-type-domains
- '(("bitbucket.org" ."bitbucket")
- ("github.com" . "github")
-- ("gitlab.com" . "gitlab"))
-+ ("gitlab.com" . "gitlab")
-+ ("git.savannah.gnu.org" . "gnu"))
- "Alist of domain patterns to remote types."
-
- :type '(alist :key-type (string :tag "Domain")
-@@ -199,6 +200,24 @@ If HEAD is detached, return nil."
- (if (fboundp formatter)
- formatter nil)))
-
-+(defun browse-at-remote-gnu-format-url (repo-url)
-+ "Get a gnu formatted URL."
-+ (replace-regexp-in-string
-+ (concat "https://" (car (rassoc "gnu" browse-at-remote-remote-type-domains))
-+ "/\\(git\\).*\\'")
-+ "cgit" repo-url nil nil 1))
-+
-+(defun browse-at-remote--format-region-url-as-gnu (repo-url location filename &optional linestart lineend)
-+ "URL formatter for gnu."
-+ (let ((repo-url (browse-at-remote-gnu-format-url repo-url)))
-+ (cond
-+ (linestart (format "%s.git/tree/%s?h=%s#n%d" repo-url filename location linestart))
-+ (t (format "%s.git/tree/%s?h=%s" repo-url filename location)))))
-+
-+(defun browse-at-remote--format-commit-url-as-gnu (repo-url commithash)
-+ "Commit URL formatted for gnu"
-+ (format "%s.git/commit/?id=%s" (browse-at-remote-gnu-format-url repo-url) commithash))
-+
- (defun browse-at-remote--format-region-url-as-github (repo-url location filename &optional linestart lineend)
- "URL formatted for github."
- (cond
---
-2.15.1
-
diff --git a/gnu/packages/patches/gcc-8-strmov-store-file-names.patch b/gnu/packages/patches/gcc-8-strmov-store-file-names.patch
new file mode 100644
index 0000000000..f8e6b951b2
--- /dev/null
+++ b/gnu/packages/patches/gcc-8-strmov-store-file-names.patch
@@ -0,0 +1,110 @@
+Make sure that statements such as:
+
+ strcpy (dst, "/gnu/store/…");
+
+or
+
+ static const char str[] = "/gnu/store/…";
+ …
+ strcpy (dst, str);
+
+do not result in chunked /gnu/store strings that are undetectable by
+Guix's GC and its grafting code. See <https://bugs.gnu.org/24703>
+and <https://bugs.gnu.org/30395>.
+
+--- gcc-5.3.0/gcc/builtins.c 2016-10-18 10:50:46.080616285 +0200
++++ gcc-5.3.0/gcc/builtins.c 2016-11-09 15:26:43.693042737 +0100
+@@ -3012,6 +3012,58 @@ determine_block_size (tree len, rtx len_rtx,
+ GET_MODE_MASK (GET_MODE (len_rtx)));
+ }
+
++extern void debug_tree (tree);
++
++/* Return true if STR contains the string "/gnu/store". */
++
++bool
++store_reference_p (tree str)
++{
++ if (getenv ("GUIX_GCC_DEBUG") != NULL)
++ debug_tree (str);
++
++ if (TREE_CODE (str) == ADDR_EXPR)
++ str = TREE_OPERAND (str, 0);
++
++ if (TREE_CODE (str) == VAR_DECL
++ && TREE_STATIC (str)
++ && TREE_READONLY (str))
++ {
++ /* STR may be a 'static const' variable whose initial value
++ is a string constant. See <https://bugs.gnu.org/30395>. */
++ str = DECL_INITIAL (str);
++ if (str == NULL_TREE)
++ return false;
++ }
++
++ if (TREE_CODE (str) != STRING_CST)
++ return false;
++
++ int len;
++ const char *store;
++
++ store = getenv ("NIX_STORE") ? getenv ("NIX_STORE") : "/gnu/store";
++ len = strlen (store);
++
++ /* Size of the hash part of store file names, including leading slash and
++ trailing hyphen. */
++ const int hash_len = 34;
++
++ if (TREE_STRING_LENGTH (str) < len + hash_len)
++ return false;
++
++ /* We cannot use 'strstr' because 'TREE_STRING_POINTER' returns a string
++ that is not necessarily NUL-terminated. */
++
++ for (int i = 0; i < TREE_STRING_LENGTH (str) - (len + hash_len); i++)
++ {
++ if (strncmp (TREE_STRING_POINTER (str) + i, store, len) == 0)
++ return true;
++ }
++
++ return false;
++}
++
+ /* Try to verify that the sizes and lengths of the arguments to a string
+ manipulation function given by EXP are within valid bounds and that
+ the operation does not lead to buffer overflow or read past the end.
+@@ -3605,6 +3657,13 @@ expand_builtin_memory_copy_args (tree dest, tree src, tree len,
+ unsigned HOST_WIDE_INT max_size;
+ unsigned HOST_WIDE_INT probable_max_size;
+
++ /* Do not emit block moves, which translate to the 'movabs' instruction on
++ x86_64, when SRC refers to store items. That way, store references
++ remain visible to the Guix GC and grafting code. See
++ <https://bugs.gnu.org/24703>. */
++ if (store_reference_p (src))
++ return NULL_RTX;
++
+ /* If DEST is not a pointer type, call the normal function. */
+ if (dest_align == 0)
+ return NULL_RTX;
+--- gcc-5.5.0/gcc/gimple-fold.c 2018-03-20 11:36:16.709442004 +0100
++++ gcc-5.5.0/gcc/gimple-fold.c 2018-03-20 11:46:43.838487065 +0100
+@@ -635,6 +635,8 @@ var_decl_component_p (tree var)
+ return SSA_VAR_P (inner);
+ }
+
++extern bool store_reference_p (tree);
++
+ /* If the SIZE argument representing the size of an object is in a range
+ of values of which exactly one is valid (and that is zero), return
+ true, otherwise false. */
+@@ -742,6 +744,9 @@ gimple_fold_builtin_memory_op (gimple_stmt_iterator *gsi,
+ off0 = build_int_cst (build_pointer_type_for_mode (char_type_node,
+ ptr_mode, true), 0);
+
++ if (store_reference_p (src))
++ return false;
++
+ /* If we can perform the copy efficiently with first doing all loads
+ and then all stores inline it that way. Currently efficiently
+ means that we can load all the memory into a single integer
diff --git a/gnu/packages/patches/icecat-bug-1413868-pt1.patch b/gnu/packages/patches/icecat-bug-1413868-pt1.patch
new file mode 100644
index 0000000000..18382dc33a
--- /dev/null
+++ b/gnu/packages/patches/icecat-bug-1413868-pt1.patch
@@ -0,0 +1,663 @@
+Based on <https://hg.mozilla.org/releases/mozilla-esr52/rev/431fa5dd4016>
+Adapted to apply cleanly to GNU IceCat.
+
+# HG changeset patch
+# User Honza Bambas <honzab.moz@firemni.cz>
+# Date 1528830658 14400
+# Node ID 431fa5dd4016bdab7e4bb0d3c4df85468fe337b0
+# Parent e8e9e1ef79f2a18c61ec1b87cfb214c8d4960f8e
+Bug 1413868. r=valentin, a=RyanVM
+
+diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
+--- a/toolkit/xre/nsAppRunner.cpp
++++ b/toolkit/xre/nsAppRunner.cpp
+@@ -4,16 +4,17 @@
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+ #include "mozilla/dom/ContentParent.h"
+ #include "mozilla/dom/ContentChild.h"
+ #include "mozilla/ipc/GeckoChildProcessHost.h"
+
+ #include "mozilla/ArrayUtils.h"
+ #include "mozilla/Attributes.h"
++#include "mozilla/FilePreferences.h"
+ #include "mozilla/ChaosMode.h"
+ #include "mozilla/IOInterposer.h"
+ #include "mozilla/Likely.h"
+ #include "mozilla/MemoryChecking.h"
+ #include "mozilla/Poison.h"
+ #include "mozilla/Preferences.h"
+ #include "mozilla/ScopeExit.h"
+ #include "mozilla/Services.h"
+@@ -4304,16 +4305,20 @@ XREMain::XRE_mainRun()
+ // Need to write out the fact that the profile has been removed and potentially
+ // that the selected/default profile changed.
+ mProfileSvc->Flush();
+ }
+ }
+
+ mDirProvider.DoStartup();
+
++ // As FilePreferences need the profile directory, we must initialize right here.
++ mozilla::FilePreferences::InitDirectoriesWhitelist();
++ mozilla::FilePreferences::InitPrefs();
++
+ OverrideDefaultLocaleIfNeeded();
+
+ #ifdef MOZ_CRASHREPORTER
+ nsCString userAgentLocale;
+ // Try a localized string first. This pref is always a localized string in
+ // IceCatMobile, and might be elsewhere, too.
+ if (NS_SUCCEEDED(Preferences::GetLocalizedCString("general.useragent.locale", &userAgentLocale))) {
+ CrashReporter::AnnotateCrashReport(NS_LITERAL_CSTRING("useragent_locale"), userAgentLocale);
+diff --git a/toolkit/xre/nsEmbedFunctions.cpp b/toolkit/xre/nsEmbedFunctions.cpp
+--- a/toolkit/xre/nsEmbedFunctions.cpp
++++ b/toolkit/xre/nsEmbedFunctions.cpp
+@@ -46,16 +46,17 @@
+ #include "nsX11ErrorHandler.h"
+ #include "nsGDKErrorHandler.h"
+ #include "base/at_exit.h"
+ #include "base/command_line.h"
+ #include "base/message_loop.h"
+ #include "base/process_util.h"
+ #include "chrome/common/child_process.h"
+
++#include "mozilla/FilePreferences.h"
+ #include "mozilla/ipc/BrowserProcessSubThread.h"
+ #include "mozilla/ipc/GeckoChildProcessHost.h"
+ #include "mozilla/ipc/IOThreadChild.h"
+ #include "mozilla/ipc/ProcessChild.h"
+ #include "ScopedXREEmbed.h"
+
+ #include "mozilla/plugins/PluginProcessChild.h"
+ #include "mozilla/dom/ContentProcess.h"
+@@ -680,16 +681,18 @@ XRE_InitChildProcess(int aArgc,
+ ::SetProcessShutdownParameters(0x280 - 1, SHUTDOWN_NORETRY);
+ #endif
+
+ #if defined(MOZ_SANDBOX) && defined(XP_WIN)
+ // We need to do this after the process has been initialised, as
+ // InitLoggingIfRequired may need access to prefs.
+ mozilla::sandboxing::InitLoggingIfRequired(aChildData->ProvideLogFunction);
+ #endif
++ mozilla::FilePreferences::InitDirectoriesWhitelist();
++ mozilla::FilePreferences::InitPrefs();
+
+ OverrideDefaultLocaleIfNeeded();
+
+ #if defined(MOZ_CRASHREPORTER)
+ #if defined(MOZ_CONTENT_SANDBOX) && !defined(MOZ_WIDGET_GONK)
+ AddContentSandboxLevelAnnotation();
+ #endif
+ #endif
+diff --git a/xpcom/io/FilePreferences.cpp b/xpcom/io/FilePreferences.cpp
+new file mode 100644
+--- /dev/null
++++ b/xpcom/io/FilePreferences.cpp
+@@ -0,0 +1,271 @@
++/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
++/* vim: set ts=8 sts=2 et sw=2 tw=80: */
++/* This Source Code Form is subject to the terms of the Mozilla Public
++* License, v. 2.0. If a copy of the MPL was not distributed with this
++* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
++
++#include "FilePreferences.h"
++
++#include "mozilla/Preferences.h"
++#include "nsAppDirectoryServiceDefs.h"
++#include "nsDirectoryServiceDefs.h"
++#include "nsDirectoryServiceUtils.h"
++
++namespace mozilla {
++namespace FilePreferences {
++
++static bool sBlockUNCPaths = false;
++typedef nsTArray<nsString> Paths;
++
++static Paths& PathArray()
++{
++ static Paths sPaths;
++ return sPaths;
++}
++
++static void AllowDirectory(char const* directory)
++{
++ nsCOMPtr<nsIFile> file;
++ NS_GetSpecialDirectory(directory, getter_AddRefs(file));
++ if (!file) {
++ return;
++ }
++
++ nsString path;
++ if (NS_FAILED(file->GetTarget(path))) {
++ return;
++ }
++
++ // The whitelist makes sense only for UNC paths, because this code is used
++ // to block only UNC paths, hence, no need to add non-UNC directories here
++ // as those would never pass the check.
++ if (!StringBeginsWith(path, NS_LITERAL_STRING("\\\\"))) {
++ return;
++ }
++
++ if (!PathArray().Contains(path)) {
++ PathArray().AppendElement(path);
++ }
++}
++
++void InitPrefs()
++{
++ sBlockUNCPaths = Preferences::GetBool("network.file.disable_unc_paths", false);
++}
++
++void InitDirectoriesWhitelist()
++{
++ // NS_GRE_DIR is the installation path where the binary resides.
++ AllowDirectory(NS_GRE_DIR);
++ // NS_APP_USER_PROFILE_50_DIR and NS_APP_USER_PROFILE_LOCAL_50_DIR are the two
++ // parts of the profile we store permanent and local-specific data.
++ AllowDirectory(NS_APP_USER_PROFILE_50_DIR);
++ AllowDirectory(NS_APP_USER_PROFILE_LOCAL_50_DIR);
++}
++
++namespace { // anon
++
++class Normalizer
++{
++public:
++ Normalizer(const nsAString& aFilePath, const char16_t aSeparator);
++ bool Get(nsAString& aNormalizedFilePath);
++
++private:
++ bool ConsumeItem();
++ bool ConsumeSeparator();
++ bool IsEOF() { return mFilePathCursor == mFilePathEnd; }
++
++ bool ConsumeName();
++ bool CheckParentDir();
++ bool CheckCurrentDir();
++
++ nsString::const_char_iterator mFilePathCursor;
++ nsString::const_char_iterator mFilePathEnd;
++
++ nsDependentSubstring mItem;
++ char16_t const mSeparator;
++ nsTArray<nsDependentSubstring> mStack;
++};
++
++Normalizer::Normalizer(const nsAString& aFilePath, const char16_t aSeparator)
++ : mFilePathCursor(aFilePath.BeginReading())
++ , mFilePathEnd(aFilePath.EndReading())
++ , mSeparator(aSeparator)
++{
++}
++
++bool Normalizer::ConsumeItem()
++{
++ if (IsEOF()) {
++ return false;
++ }
++
++ nsString::const_char_iterator nameBegin = mFilePathCursor;
++ while (mFilePathCursor != mFilePathEnd) {
++ if (*mFilePathCursor == mSeparator) {
++ break; // don't include the separator
++ }
++ ++mFilePathCursor;
++ }
++
++ mItem.Rebind(nameBegin, mFilePathCursor);
++ return true;
++}
++
++bool Normalizer::ConsumeSeparator()
++{
++ if (IsEOF()) {
++ return false;
++ }
++
++ if (*mFilePathCursor != mSeparator) {
++ return false;
++ }
++
++ ++mFilePathCursor;
++ return true;
++}
++
++bool Normalizer::Get(nsAString& aNormalizedFilePath)
++{
++ aNormalizedFilePath.Truncate();
++
++ if (IsEOF()) {
++ return true;
++ }
++ if (ConsumeSeparator()) {
++ aNormalizedFilePath.Append(mSeparator);
++ }
++
++ if (IsEOF()) {
++ return true;
++ }
++ if (ConsumeSeparator()) {
++ aNormalizedFilePath.Append(mSeparator);
++ }
++
++ while (!IsEOF()) {
++ if (!ConsumeName()) {
++ return false;
++ }
++ }
++
++ for (auto const& name : mStack) {
++ aNormalizedFilePath.Append(name);
++ }
++
++ return true;
++}
++
++bool Normalizer::ConsumeName()
++{
++ if (!ConsumeItem()) {
++ return true;
++ }
++
++ if (CheckCurrentDir()) {
++ return true;
++ }
++
++ if (CheckParentDir()) {
++ if (!mStack.Length()) {
++ // This means there are more \.. than valid names
++ return false;
++ }
++
++ mStack.RemoveElementAt(mStack.Length() - 1);
++ return true;
++ }
++
++ if (mItem.IsEmpty()) {
++ // this means an empty name (a lone slash), which is illegal
++ return false;
++ }
++
++ if (ConsumeSeparator()) {
++ mItem.Rebind(mItem.BeginReading(), mFilePathCursor);
++ }
++ mStack.AppendElement(mItem);
++
++ return true;
++}
++
++bool Normalizer::CheckCurrentDir()
++{
++ if (mItem == NS_LITERAL_STRING(".")) {
++ ConsumeSeparator();
++ // EOF is acceptable
++ return true;
++ }
++
++ return false;
++}
++
++bool Normalizer::CheckParentDir()
++{
++ if (mItem == NS_LITERAL_STRING("..")) {
++ ConsumeSeparator();
++ // EOF is acceptable
++ return true;
++ }
++
++ return false;
++}
++
++} // anon
++
++bool IsBlockedUNCPath(const nsAString& aFilePath)
++{
++ if (!sBlockUNCPaths) {
++ return false;
++ }
++
++ if (!StringBeginsWith(aFilePath, NS_LITERAL_STRING("\\\\"))) {
++ return false;
++ }
++
++ nsAutoString normalized;
++ if (!Normalizer(aFilePath, L'\\').Get(normalized)) {
++ // Broken paths are considered invalid and thus inaccessible
++ return true;
++ }
++
++ for (const auto& allowedPrefix : PathArray()) {
++ if (StringBeginsWith(normalized, allowedPrefix)) {
++ if (normalized.Length() == allowedPrefix.Length()) {
++ return false;
++ }
++ if (normalized[allowedPrefix.Length()] == L'\\') {
++ return false;
++ }
++
++ // When we are here, the path has a form "\\path\prefixevil"
++ // while we have an allowed prefix of "\\path\prefix".
++ // Note that we don't want to add a slash to the end of a prefix
++ // so that opening the directory (no slash at the end) still works.
++ break;
++ }
++ }
++
++ return true;
++}
++
++void testing::SetBlockUNCPaths(bool aBlock)
++{
++ sBlockUNCPaths = aBlock;
++}
++
++void testing::AddDirectoryToWhitelist(nsAString const & aPath)
++{
++ PathArray().AppendElement(aPath);
++}
++
++bool testing::NormalizePath(nsAString const & aPath, nsAString & aNormalized)
++{
++ Normalizer normalizer(aPath, L'\\');
++ return normalizer.Get(aNormalized);
++}
++
++} // ::FilePreferences
++} // ::mozilla
+diff --git a/xpcom/io/FilePreferences.h b/xpcom/io/FilePreferences.h
+new file mode 100644
+--- /dev/null
++++ b/xpcom/io/FilePreferences.h
+@@ -0,0 +1,25 @@
++/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
++/* vim: set ts=8 sts=2 et sw=2 tw=80: */
++/* This Source Code Form is subject to the terms of the Mozilla Public
++* License, v. 2.0. If a copy of the MPL was not distributed with this
++* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
++
++#include "nsIObserver.h"
++
++namespace mozilla {
++namespace FilePreferences {
++
++void InitPrefs();
++void InitDirectoriesWhitelist();
++bool IsBlockedUNCPath(const nsAString& aFilePath);
++
++namespace testing {
++
++void SetBlockUNCPaths(bool aBlock);
++void AddDirectoryToWhitelist(nsAString const& aPath);
++bool NormalizePath(nsAString const & aPath, nsAString & aNormalized);
++
++}
++
++} // FilePreferences
++} // mozilla
+diff --git a/xpcom/io/moz.build b/xpcom/io/moz.build
+--- a/xpcom/io/moz.build
++++ b/xpcom/io/moz.build
+@@ -79,24 +79,26 @@ EXPORTS += [
+ 'nsUnicharInputStream.h',
+ 'nsWildCard.h',
+ 'SlicedInputStream.h',
+ 'SpecialSystemDirectory.h',
+ ]
+
+ EXPORTS.mozilla += [
+ 'Base64.h',
++ 'FilePreferences.h',
+ 'SnappyCompressOutputStream.h',
+ 'SnappyFrameUtils.h',
+ 'SnappyUncompressInputStream.h',
+ ]
+
+ UNIFIED_SOURCES += [
+ 'Base64.cpp',
+ 'crc32c.c',
++ 'FilePreferences.cpp',
+ 'nsAnonymousTemporaryFile.cpp',
+ 'nsAppFileLocationProvider.cpp',
+ 'nsBinaryStream.cpp',
+ 'nsDirectoryService.cpp',
+ 'nsEscape.cpp',
+ 'nsInputStreamTee.cpp',
+ 'nsIOUtil.cpp',
+ 'nsLinebreakConverter.cpp',
+diff --git a/xpcom/io/nsLocalFileWin.cpp b/xpcom/io/nsLocalFileWin.cpp
+--- a/xpcom/io/nsLocalFileWin.cpp
++++ b/xpcom/io/nsLocalFileWin.cpp
+@@ -41,16 +41,17 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <mbstring.h>
+
+ #include "nsXPIDLString.h"
+ #include "prproces.h"
+ #include "prlink.h"
+
++#include "mozilla/FilePreferences.h"
+ #include "mozilla/Mutex.h"
+ #include "SpecialSystemDirectory.h"
+
+ #include "nsTraceRefcnt.h"
+ #include "nsXPCOMCIDInternal.h"
+ #include "nsThreadUtils.h"
+ #include "nsXULAppAPI.h"
+
+@@ -1162,16 +1163,20 @@ nsLocalFile::InitWithPath(const nsAStrin
+ char16_t secondChar = *(++begin);
+
+ // just do a sanity check. if it has any forward slashes, it is not a Native path
+ // on windows. Also, it must have a colon at after the first char.
+ if (FindCharInReadable(L'/', begin, end)) {
+ return NS_ERROR_FILE_UNRECOGNIZED_PATH;
+ }
+
++ if (FilePreferences::IsBlockedUNCPath(aFilePath)) {
++ return NS_ERROR_FILE_ACCESS_DENIED;
++ }
++
+ if (secondChar != L':' && (secondChar != L'\\' || firstChar != L'\\')) {
+ return NS_ERROR_FILE_UNRECOGNIZED_PATH;
+ }
+
+ if (secondChar == L':') {
+ // Make sure we have a valid drive, later code assumes the drive letter
+ // is a single char a-z or A-Z.
+ if (PathGetDriveNumberW(aFilePath.Data()) == -1) {
+@@ -1974,16 +1979,20 @@ nsLocalFile::CopySingleFile(nsIFile* aSo
+ bool path1Remote, path2Remote;
+ if (!IsRemoteFilePath(filePath.get(), path1Remote) ||
+ !IsRemoteFilePath(destPath.get(), path2Remote) ||
+ path1Remote || path2Remote) {
+ dwCopyFlags |= COPY_FILE_NO_BUFFERING;
+ }
+ }
+
++ if (FilePreferences::IsBlockedUNCPath(destPath)) {
++ return NS_ERROR_FILE_ACCESS_DENIED;
++ }
++
+ if (!move) {
+ copyOK = ::CopyFileExW(filePath.get(), destPath.get(), nullptr,
+ nullptr, nullptr, dwCopyFlags);
+ } else {
+ copyOK = ::MoveFileExW(filePath.get(), destPath.get(),
+ MOVEFILE_REPLACE_EXISTING);
+
+ // Check if copying the source file to a different volume,
+diff --git a/xpcom/tests/gtest/TestFilePreferencesWin.cpp b/xpcom/tests/gtest/TestFilePreferencesWin.cpp
+new file mode 100644
+--- /dev/null
++++ b/xpcom/tests/gtest/TestFilePreferencesWin.cpp
+@@ -0,0 +1,141 @@
++#include "gtest/gtest.h"
++
++#include "mozilla/FilePreferences.h"
++#include "nsIFile.h"
++#include "nsXPCOMCID.h"
++
++TEST(FilePreferencesWin, Normalization)
++{
++ nsAutoString normalized;
++
++ mozilla::FilePreferences::testing::NormalizePath(
++ NS_LITERAL_STRING("foo"), normalized);
++ ASSERT_TRUE(normalized == NS_LITERAL_STRING("foo"));
++
++ mozilla::FilePreferences::testing::NormalizePath(
++ NS_LITERAL_STRING("\\foo"), normalized);
++ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\foo"));
++
++ mozilla::FilePreferences::testing::NormalizePath(
++ NS_LITERAL_STRING("\\\\foo"), normalized);
++ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\\\foo"));
++
++ mozilla::FilePreferences::testing::NormalizePath(
++ NS_LITERAL_STRING("foo\\some"), normalized);
++ ASSERT_TRUE(normalized == NS_LITERAL_STRING("foo\\some"));
++
++ mozilla::FilePreferences::testing::NormalizePath(
++ NS_LITERAL_STRING("\\\\.\\foo"), normalized);
++ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\\\foo"));
++
++ mozilla::FilePreferences::testing::NormalizePath(
++ NS_LITERAL_STRING("\\\\."), normalized);
++ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\\\"));
++
++ mozilla::FilePreferences::testing::NormalizePath(
++ NS_LITERAL_STRING("\\\\.\\"), normalized);
++ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\\\"));
++
++ mozilla::FilePreferences::testing::NormalizePath(
++ NS_LITERAL_STRING("\\\\.\\."), normalized);
++ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\\\"));
++
++ mozilla::FilePreferences::testing::NormalizePath(
++ NS_LITERAL_STRING("\\\\foo\\bar"), normalized);
++ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\\\foo\\bar"));
++
++ mozilla::FilePreferences::testing::NormalizePath(
++ NS_LITERAL_STRING("\\\\foo\\bar\\"), normalized);
++ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\\\foo\\bar\\"));
++
++ mozilla::FilePreferences::testing::NormalizePath(
++ NS_LITERAL_STRING("\\\\foo\\bar\\."), normalized);
++ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\\\foo\\bar\\"));
++
++ mozilla::FilePreferences::testing::NormalizePath(
++ NS_LITERAL_STRING("\\\\foo\\bar\\.\\"), normalized);
++ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\\\foo\\bar\\"));
++
++ mozilla::FilePreferences::testing::NormalizePath(
++ NS_LITERAL_STRING("\\\\foo\\bar\\..\\"), normalized);
++ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\\\foo\\"));
++
++ mozilla::FilePreferences::testing::NormalizePath(
++ NS_LITERAL_STRING("\\\\foo\\bar\\.."), normalized);
++ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\\\foo\\"));
++
++ mozilla::FilePreferences::testing::NormalizePath(
++ NS_LITERAL_STRING("\\\\foo\\..\\bar\\..\\"), normalized);
++ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\\\"));
++
++ mozilla::FilePreferences::testing::NormalizePath(
++ NS_LITERAL_STRING("\\\\foo\\..\\bar"), normalized);
++ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\\\bar"));
++
++ mozilla::FilePreferences::testing::NormalizePath(
++ NS_LITERAL_STRING("\\\\foo\\bar\\..\\..\\"), normalized);
++ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\\\"));
++
++ mozilla::FilePreferences::testing::NormalizePath(
++ NS_LITERAL_STRING("\\\\foo\\bar\\.\\..\\.\\..\\"), normalized);
++ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\\\"));
++
++ bool result;
++
++ result = mozilla::FilePreferences::testing::NormalizePath(
++ NS_LITERAL_STRING("\\\\.."), normalized);
++ ASSERT_FALSE(result);
++
++ result = mozilla::FilePreferences::testing::NormalizePath(
++ NS_LITERAL_STRING("\\\\..\\"), normalized);
++ ASSERT_FALSE(result);
++
++ result = mozilla::FilePreferences::testing::NormalizePath(
++ NS_LITERAL_STRING("\\\\.\\..\\"), normalized);
++ ASSERT_FALSE(result);
++
++ result = mozilla::FilePreferences::testing::NormalizePath(
++ NS_LITERAL_STRING("\\\\foo\\\\bar"), normalized);
++ ASSERT_FALSE(result);
++
++ result = mozilla::FilePreferences::testing::NormalizePath(
++ NS_LITERAL_STRING("\\\\foo\\bar\\..\\..\\..\\..\\"), normalized);
++ ASSERT_FALSE(result);
++
++ result = mozilla::FilePreferences::testing::NormalizePath(
++ NS_LITERAL_STRING("\\\\\\"), normalized);
++ ASSERT_FALSE(result);
++
++ result = mozilla::FilePreferences::testing::NormalizePath(
++ NS_LITERAL_STRING("\\\\.\\\\"), normalized);
++ ASSERT_FALSE(result);
++
++ result = mozilla::FilePreferences::testing::NormalizePath(
++ NS_LITERAL_STRING("\\\\..\\\\"), normalized);
++ ASSERT_FALSE(result);
++}
++
++TEST(FilePreferencesWin, AccessUNC)
++{
++ nsCOMPtr<nsIFile> lf = do_CreateInstance(NS_LOCAL_FILE_CONTRACTID);
++
++ nsresult rv;
++
++ mozilla::FilePreferences::testing::SetBlockUNCPaths(false);
++
++ rv = lf->InitWithPath(NS_LITERAL_STRING("\\\\nice\\..\\evil\\share"));
++ ASSERT_EQ(rv, NS_OK);
++
++ mozilla::FilePreferences::testing::SetBlockUNCPaths(true);
++
++ rv = lf->InitWithPath(NS_LITERAL_STRING("\\\\nice\\..\\evil\\share"));
++ ASSERT_EQ(rv, NS_ERROR_FILE_ACCESS_DENIED);
++
++ mozilla::FilePreferences::testing::AddDirectoryToWhitelist(NS_LITERAL_STRING("\\\\nice"));
++
++ rv = lf->InitWithPath(NS_LITERAL_STRING("\\\\nice\\share"));
++ ASSERT_EQ(rv, NS_OK);
++
++ rv = lf->InitWithPath(NS_LITERAL_STRING("\\\\nice\\..\\evil\\share"));
++ ASSERT_EQ(rv, NS_ERROR_FILE_ACCESS_DENIED);
++}
+diff --git a/xpcom/tests/gtest/moz.build b/xpcom/tests/gtest/moz.build
+--- a/xpcom/tests/gtest/moz.build
++++ b/xpcom/tests/gtest/moz.build
+@@ -51,16 +51,21 @@ UNIFIED_SOURCES += [
+ if CONFIG['MOZ_DEBUG'] and CONFIG['OS_ARCH'] not in ('WINNT') and CONFIG['OS_TARGET'] != 'Android':
+ # FIXME bug 523392: TestDeadlockDetector doesn't like Windows
+ # Bug 1054249: Doesn't work on Android
+ UNIFIED_SOURCES += [
+ 'TestDeadlockDetector.cpp',
+ 'TestDeadlockDetectorScalability.cpp',
+ ]
+
++if CONFIG['OS_TARGET'] == 'WINNT':
++ UNIFIED_SOURCES += [
++ 'TestFilePreferencesWin.cpp',
++ ]
++
+ if CONFIG['WRAP_STL_INCLUDES'] and not CONFIG['CLANG_CL']:
+ UNIFIED_SOURCES += [
+ 'TestSTLWrappers.cpp',
+ ]
+
+ # Compile TestAllocReplacement separately so Windows headers don't pollute
+ # the global namespace for other files.
+ SOURCES += [
+
diff --git a/gnu/packages/patches/libtiff-CVE-2018-10963.patch b/gnu/packages/patches/libtiff-CVE-2018-10963.patch
new file mode 100644
index 0000000000..d31c12399d
--- /dev/null
+++ b/gnu/packages/patches/libtiff-CVE-2018-10963.patch
@@ -0,0 +1,40 @@
+Fix CVE-2018-10963:
+
+http://bugzilla.maptools.org/show_bug.cgi?id=2795
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-10963
+
+Patch copied from upstream source repository:
+
+https://gitlab.com/libtiff/libtiff/commit/de144fd228e4be8aa484c3caf3d814b6fa88c6d9
+
+From de144fd228e4be8aa484c3caf3d814b6fa88c6d9 Mon Sep 17 00:00:00 2001
+From: Even Rouault <even.rouault@spatialys.com>
+Date: Sat, 12 May 2018 14:24:15 +0200
+Subject: [PATCH] TIFFWriteDirectorySec: avoid assertion. Fixes
+ http://bugzilla.maptools.org/show_bug.cgi?id=2795. CVE-2018-10963
+
+---
+ libtiff/tif_dirwrite.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/libtiff/tif_dirwrite.c b/libtiff/tif_dirwrite.c
+index 2430de6d..c15a28db 100644
+--- a/libtiff/tif_dirwrite.c
++++ b/libtiff/tif_dirwrite.c
+@@ -695,8 +695,11 @@ TIFFWriteDirectorySec(TIFF* tif, int isimage, int imagedone, uint64* pdiroff)
+ }
+ break;
+ default:
+- assert(0); /* we should never get here */
+- break;
++ TIFFErrorExt(tif->tif_clientdata,module,
++ "Cannot write tag %d (%s)",
++ TIFFFieldTag(o),
++ o->field_name ? o->field_name : "unknown");
++ goto bad;
+ }
+ }
+ }
+--
+2.17.0
+
diff --git a/gnu/packages/patches/libtiff-CVE-2018-8905.patch b/gnu/packages/patches/libtiff-CVE-2018-8905.patch
new file mode 100644
index 0000000000..f49815789e
--- /dev/null
+++ b/gnu/packages/patches/libtiff-CVE-2018-8905.patch
@@ -0,0 +1,61 @@
+Fix CVE-2018-8095:
+
+http://bugzilla.maptools.org/show_bug.cgi?id=2780
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-8905
+
+Patch copied from upstream source repository:
+
+https://gitlab.com/libtiff/libtiff/commit/58a898cb4459055bb488ca815c23b880c242a27d
+
+From 58a898cb4459055bb488ca815c23b880c242a27d Mon Sep 17 00:00:00 2001
+From: Even Rouault <even.rouault@spatialys.com>
+Date: Sat, 12 May 2018 15:32:31 +0200
+Subject: [PATCH] LZWDecodeCompat(): fix potential index-out-of-bounds write.
+ Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2780 / CVE-2018-8905
+
+The fix consists in using the similar code LZWDecode() to validate we
+don't write outside of the output buffer.
+---
+ libtiff/tif_lzw.c | 18 ++++++++++++------
+ 1 file changed, 12 insertions(+), 6 deletions(-)
+
+diff --git a/libtiff/tif_lzw.c b/libtiff/tif_lzw.c
+index 4ccb443c..94d85e38 100644
+--- a/libtiff/tif_lzw.c
++++ b/libtiff/tif_lzw.c
+@@ -602,6 +602,7 @@ LZWDecodeCompat(TIFF* tif, uint8* op0, tmsize_t occ0, uint16 s)
+ char *tp;
+ unsigned char *bp;
+ int code, nbits;
++ int len;
+ long nextbits, nextdata, nbitsmask;
+ code_t *codep, *free_entp, *maxcodep, *oldcodep;
+
+@@ -753,13 +754,18 @@ LZWDecodeCompat(TIFF* tif, uint8* op0, tmsize_t occ0, uint16 s)
+ } while (--occ);
+ break;
+ }
+- assert(occ >= codep->length);
+- op += codep->length;
+- occ -= codep->length;
+- tp = op;
++ len = codep->length;
++ tp = op + len;
+ do {
+- *--tp = codep->value;
+- } while( (codep = codep->next) != NULL );
++ int t;
++ --tp;
++ t = codep->value;
++ codep = codep->next;
++ *tp = (char)t;
++ } while (codep && tp > op);
++ assert(occ >= len);
++ op += len;
++ occ -= len;
+ } else {
+ *op++ = (char)code;
+ occ--;
+--
+2.17.0
+
diff --git a/gnu/packages/patches/qtoctave-qt-5.11-fix.patch b/gnu/packages/patches/qtoctave-qt-5.11-fix.patch
new file mode 100644
index 0000000000..67317d1b36
--- /dev/null
+++ b/gnu/packages/patches/qtoctave-qt-5.11-fix.patch
@@ -0,0 +1,26 @@
+This patch comes from upstream:
+https://hg.savannah.gnu.org/hgweb/octave/rev/cdaa884568b1.
+
+# HG changeset patch
+# User Mike Miller <mtmiller@octave.org>
+# Date 1527214835 25200
+# Node ID cdaa884568b159549bd373f04386ff62417f6df9
+# Parent 9e39a53b4e007d3f79f88b711ab9fa5f2f24fbc9
+add Qt include needed to build against Qt 5.11 (bug #53978)
+
+* settings-dialog.cc: Add missing include for <QButtonGroup> to fix build
+failure with Qt 5.11.
+
+diff --git a/libgui/src/settings-dialog.cc b/libgui/src/settings-dialog.cc
+--- a/libgui/src/settings-dialog.cc
++++ b/libgui/src/settings-dialog.cc
+@@ -34,6 +34,8 @@
+ #include "workspace-model.h"
+ #include "settings-dialog.h"
+ #include "ui-settings-dialog.h"
++
++#include <QButtonGroup>
+ #include <QDir>
+ #include <QFileInfo>
+ #include <QFileDialog>
+
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index 99bc90efac..7bf1d60f7c 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -69,21 +69,31 @@
(define-public libraw
(package
(name "libraw")
- (version "0.18.12")
+ (version "0.19.0")
(source (origin
(method url-fetch)
(uri (string-append "https://www.libraw.org/data/LibRaw-"
version ".tar.gz"))
(sha256
(base32
- "1m2khr2cij8z6lawgbmdksjn14fpnjsy8ad4qahnpqapm1slsxap"))))
+ "0nfj7s7qmgfy1cl8s3ck7dxjvprfq5glfi6iidmvmy8r7gl52gz8"))))
(build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libjpeg" ,libjpeg-8))) ;for lossy DNGs and old Kodak cameras
+ (propagated-inputs
+ `(("lcms" ,lcms))) ;for color profiles
(home-page "https://www.libraw.org")
(synopsis "Raw image decoder")
(description
"LibRaw is a library for reading RAW files obtained from digital photo
cameras (CRW/CR2, NEF, RAF, DNG, and others).")
- (license license:lgpl2.1+)))
+ ;; LibRaw is distributed under both LGPL2.1 and CDDL 1.0. From the README:
+ ;; "You may use one of these licensing modes and switch between them. If
+ ;; you modify LibRaw source and made your changes public, you should accept
+ ;; both two licensing modes for your changes/additions."
+ (license (list license:lgpl2.1 license:cddl1.0))))
(define-public libexif
(package
@@ -109,14 +119,14 @@ data as produced by digital cameras.")
(define-public libgphoto2
(package
(name "libgphoto2")
- (version "2.5.17")
+ (version "2.5.18")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gphoto/libgphoto/"
version "/libgphoto2-" version ".tar.bz2"))
(sha256
(base32
- "0mdmjb8a07g37bb5q69h11sixw0w6y5g3kbii9z97yhklgq68x21"))))
+ "1v57ayp17j88bj79nl7rf4iyajbxx00kgb4l5k3kbv50gjfvh5sv"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs
@@ -184,7 +194,7 @@ MTP, and much more.")
(define-public perl-image-exiftool
(package
(name "perl-image-exiftool")
- (version "10.80")
+ (version "11.01")
(source (origin
(method url-fetch)
(uri (string-append
@@ -192,7 +202,7 @@ MTP, and much more.")
version ".tar.gz"))
(sha256
(base32
- "14rwr5wk2snqv4yva6fax1gfsdv88941n237m0wyzn3n0xh9dy5w"))))
+ "175w34n73mypdpbaqj2vgqsfp59yvfrn8k7zmx4cawnp895bypvh"))))
(build-system perl-build-system)
(arguments
'(#:phases
diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index e29eaea801..50e7d25c8b 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -17,6 +17,7 @@
;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org>
;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -173,6 +174,32 @@ John the Ripper).")
(define-public python2-py-bcrypt
(package-with-python2 python-py-bcrypt))
+(define-public python-pyblake2
+ (package
+ (name "python-pyblake2")
+ (version "1.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyblake2" version))
+ (sha256
+ (base32
+ "0gz9hgznv5zw4qjq43xa56y0yikimx30gffvibxzm0nv5sq7xk2w"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/dchest/pyblake2")
+ (synopsis "BLAKE2 hash function for Python")
+ (description "BLAKE2 is a cryptographic hash function, which offers
+stronger security while being as fast as MD5 or SHA-1, and comes in two
+flavors: @code{BLAKE2b}, optimized for 64-bit platforms and produces digests
+of any size between 1 and 64 bytes, and @code{BLAKE2s}, optimized for 8- to
+32-bit platforms and produces digests of any size between 1 and 32 bytes.
+
+This package provides a Python interface for BLAKE2.")
+ ;; The COPYING file declares it as public domain, with the option to
+ ;; alternatively use and redistribute it under a variety of permissive
+ ;; licenses. cc0 is explicitly mentioned in setup.py and pyblake2module.c.
+ (license (list license:public-domain license:cc0))))
+
(define-public python-paramiko
(package
(name "python-paramiko")
@@ -403,14 +430,14 @@ message digests and key derivation functions.")
(define-public python-pyopenssl
(package
(name "python-pyopenssl")
- (version "17.5.0")
+ (version "18.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyOpenSSL" version))
(sha256
(base32
- "0wv78mwsdqbxqwdwllf4maqybhbj3vb8328ia04hnb558sxcy41c"))))
+ "1055rb456nvrjcij3sqj6c6l3kmh5cqqay0nsmx3pxq07d1g3234"))))
(build-system python-build-system)
(arguments
'(#:phases
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 4e130fa164..2e98a95d4b 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -1413,14 +1413,14 @@ file.")
(define-public python-webtest
(package
(name "python-webtest")
- (version "2.0.29")
+ (version "2.0.30")
(source
(origin
(method url-fetch)
(uri (pypi-uri "WebTest" version))
(sha256
(base32
- "0bcj1ica5lnmj5zbvk46x28kgphcsgh7sfnwjmn0cr94mhawrg6v"))))
+ "1mb7m4ndklv84mh0pdkhv73yrflcnra61yczj5g3bvwbqlygfsaw"))))
(build-system python-build-system)
(arguments
`(;; Unfortunately we have to disable tests!
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 5d19fb40d5..2bec752946 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -1211,13 +1211,13 @@ human-friendly syntax.")
(define-public python-pandas
(package
(name "python-pandas")
- (version "0.22.0")
+ (version "0.23.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pandas" version))
(sha256
- (base32 "0v0fi2i10kwnmlpsl6f1fgajcpx3q6766qf6xqi5kw3ivn8l1aa4"))))
+ (base32 "142nvwb01r2wv42y2cz40bx33hd8ffh6s6gynapg859fmzr2mdah"))))
(build-system python-build-system)
(arguments
`(#:modules ((guix build utils)
@@ -1237,7 +1237,8 @@ human-friendly syntax.")
(for-each delete-file
'("pandas/tests/io/conftest.py"
"pandas/tests/io/json/test_compression.py"
- "pandas/tests/io/test_excel.py"))
+ "pandas/tests/io/test_excel.py"
+ "pandas/tests/io/test_parquet.py"))
(invoke "pytest" "-v" "pandas" "-k"
(string-append
"not network and not disabled"
@@ -1249,7 +1250,9 @@ human-friendly syntax.")
("python-dateutil" ,python-dateutil)))
(native-inputs
`(("python-cython" ,python-cython)
+ ("python-beautifulsoup4" ,python-beautifulsoup4)
("python-lxml" ,python-lxml)
+ ("python-html5lib" ,python-html5lib)
("python-nose" ,python-nose)
("python-pytest" ,python-pytest)))
(home-page "https://pandas.pydata.org")
@@ -2680,14 +2683,14 @@ and several other projects.")
(define-public python-rst.linker
(package
(name "python-rst.linker")
- (version "1.9")
+ (version "1.10")
(source
(origin
(method url-fetch)
(uri (pypi-uri "rst.linker" version))
(sha256
(base32
- "16crgnai6020vdmnpwdimw1vm3jb74ysfyb3kmcidb0lgma5xq2d"))))
+ "0iqaacp7pj1s8avs4kc0qg0r7dscywaq37y6l9j14glqdikk0wdj"))))
(build-system python-build-system)
(propagated-inputs
`(("python-dateutil" ,python-dateutil)
@@ -2911,7 +2914,7 @@ between language specification and implementation aspects.")
(define-public python-numpy
(package
(name "python-numpy")
- (version "1.14.3")
+ (version "1.14.5")
(source
(origin
(method url-fetch)
@@ -2920,7 +2923,7 @@ between language specification and implementation aspects.")
version "/numpy-" version ".tar.gz"))
(sha256
(base32
- "1yim2bxlycn4dhxmfxid6slplpmcb4ynhp411b37ahmsm2lwgkyg"))))
+ "0admjpkih63lm19zbbilq8ck4f6ny5kqi03dk3m6b2mnixsh4jhv"))))
(build-system python-build-system)
(inputs
`(("openblas" ,openblas)
@@ -10423,14 +10426,14 @@ network.")
(define-public python-xopen
(package
(name "python-xopen")
- (version "0.3.2")
+ (version "0.3.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "xopen" version))
(sha256
(base32
- "0bzjmn3rl1cd3d2q39cjwnkhaspk2b0hfj3rl64pclm44ihg5fb6"))
+ "1a0wbil552wsmklwd89ssmgz3pjd86qa9i7jh8wqb9wslc8a2qjr"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system python-build-system)
(home-page "https://github.com/marcelm/xopen/")
@@ -10443,7 +10446,12 @@ possible on all supported Python versions.")
(license license:expat)))
(define-public python2-xopen
- (package-with-python2 python-xopen))
+ (let ((base (package-with-python2
+ (strip-python2-variant python-xopen))))
+ (package
+ (inherit base)
+ (propagated-inputs `(("python2-bz2file" ,python2-bz2file)
+ ,@(package-propagated-inputs base))))))
(define-public python2-cheetah
(package
@@ -13416,14 +13424,14 @@ time-based (TOTP) passwords.")
(define-public python-parso
(package
(name "python-parso")
- (version "0.2.0")
+ (version "0.2.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "parso" version))
(sha256
(base32
- "0lamywk6dm5xshlkdvxxf5j6fa2k2zpi7xagf0bwidaay3vnpgb2"))))
+ "0zvh4rdhv2wkglkgh0h9kn9ndpsw5p639wcwv47jn1kfp504lq7h"))))
(native-inputs
`(("python-pytest" ,python-pytest)))
(build-system python-build-system)
diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm
index 38a371d233..d5ed06f0df 100644
--- a/gnu/packages/regex.scm
+++ b/gnu/packages/regex.scm
@@ -29,7 +29,7 @@
(define-public re2
(package
(name "re2")
- (version "2018-04-01")
+ (version "2018-07-01")
(home-page "https://github.com/google/re2")
(source (origin
(method url-fetch)
@@ -37,7 +37,7 @@
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "04n9ngikvpikpshwcrl26sxgn8qbrymy3b5wlbsyfdhknx35951g"))))
+ "1zh7kzyv4h7960rdp31a3bq6y4qrdxyf6k86j67yzpkf2h8phg40"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index e10f00a83b..0ce46056f5 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -76,7 +76,7 @@
;; The 6.7 tarball is missing ‘install.sh’. Create it.
(add-after 'unpack 'autoreconf
(lambda _
- (zero? (system* "autoreconf" "-i"))))
+ (invoke "autoreconf" "-i")))
(add-before 'configure 'set-root-sbin
(lambda _ ; Don't try to install in "/sbin".
(setenv "ROOTSBINDIR"
@@ -150,14 +150,14 @@ anywhere.")
(define-public samba
(package
(name "samba")
- (version "4.8.2")
+ (version "4.8.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.samba.org/pub/samba/stable/"
"samba-" version ".tar.gz"))
(sha256
(base32
- "08mz29jmjxqvyyhm6pa388paagw1i2i21lc7pd2aprj9dllm5rb2"))))
+ "1vc21c0m7wky70hpyjhw6ph6zlzljsvivlgxy54znpaxc259lmp0"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -178,8 +178,7 @@ anywhere.")
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(libdir (string-append out "/lib")))
- (zero? (system*
- "./configure"
+ (invoke "./configure"
"--enable-fhs"
;; XXX: heimdal not packaged.
"--bundled-libraries=com_err"
@@ -188,7 +187,7 @@ anywhere.")
;; Install public and private libraries into
;; a single directory to avoid RPATH issues.
(string-append "--libdir=" libdir)
- (string-append "--with-privatelibdir=" libdir))))))
+ (string-append "--with-privatelibdir=" libdir)))))
(add-before 'install 'disable-etc-samba-directory-creation
(lambda _
(substitute* "dynconfig/wscript"
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 0b15ea8376..4178a45a89 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -314,15 +314,14 @@ Scheme and C programs and between Scheme and Java programs.")
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
- (zero?
- (system* "./configure"
- (string-append "--prefix=" out)
- (string-append "--blflags="
- ;; user flags completely override useful
- ;; default flags, so repeat them here.
- "-copt \\$(CPICFLAGS) "
- "-L \\$(BUILDLIBDIR) "
- "-ldopt -Wl,-rpath," out "/lib")))))))))
+ (invoke "./configure"
+ (string-append "--prefix=" out)
+ (string-append "--blflags="
+ ;; user flags completely override useful
+ ;; default flags, so repeat them here.
+ "-copt \\$(CPICFLAGS) "
+ "-L \\$(BUILDLIBDIR) "
+ "-ldopt -Wl,-rpath," out "/lib"))))))))
(inputs `(("avahi" ,avahi)
("bigloo" ,bigloo)
("libgc" ,libgc)
@@ -661,7 +660,8 @@ threads.")
"| mit-scheme")))
(with-directory-excursion "scmutils/scmutils"
(and (zero? (system "mit-scheme < compile.scm"))
- (zero? (system make-img)))))))
+ (zero? (system make-img))))
+ #t)))
(add-before 'install 'fix-directory-names
;; Correct directory names in the startup script.
(lambda* (#:key inputs outputs #:allow-other-keys)
@@ -685,8 +685,8 @@ threads.")
;; code.
(lambda* (#:key inputs outputs #:allow-other-keys)
(with-directory-excursion "scmutils/scmutils"
- (zero? (apply system* "etags"
- (find-files "." "\\.scm"))))))
+ (apply invoke "etags" (find-files "." "\\.scm")))
+ #t))
(replace 'install
;; Copy files to the store.
(lambda* (#:key outputs #:allow-other-keys)
@@ -882,12 +882,13 @@ regular-expression notation.")
(add-after 'install 'remove-bin-share
(lambda* (#:key inputs outputs #:allow-other-keys)
(delete-file-recursively
- (string-append (assoc-ref outputs "out") "/bin"))))
+ (string-append (assoc-ref outputs "out") "/bin"))
+ #t))
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
- (zero? (system* "./configure"
- (string-append "--prefix="
- (assoc-ref outputs "out")))))))))
+ (invoke "./configure"
+ (string-append "--prefix="
+ (assoc-ref outputs "out"))))))))
(native-inputs `(("unzip" ,unzip)
("texinfo" ,texinfo)))
(home-page "http://people.csail.mit.edu/jaffer/SLIB.html")
@@ -916,39 +917,34 @@ utility functions for all standard Scheme implementations.")
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
- (zero? (system* "./configure"
- (string-append "--prefix="
- (assoc-ref outputs "out"))))))
+ (invoke "./configure"
+ (string-append "--prefix="
+ (assoc-ref outputs "out")))))
(add-before 'build 'pre-build
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "Makefile"
- (("ginstall-info") "install-info"))))
+ (("ginstall-info") "install-info"))
+ #t))
(replace 'build
(lambda* (#:key inputs outputs #:allow-other-keys)
(setenv "SCHEME_LIBRARY_PATH"
(string-append (assoc-ref inputs "slib")
"/lib/slib/"))
- (and
- (zero? (system* "make" "scmlit" "CC=gcc"))
- (zero? (system* "make" "all")))))
+ (invoke "make" "scmlit" "CC=gcc")
+ (invoke "make" "all")))
(add-after 'install 'post-install
(lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((req
- (string-append (assoc-ref outputs "out")
- "/lib/scm/require.scm")))
- (and
- (delete-file req)
- (format (open req (logior O_WRONLY O_CREAT))
- "(define (library-vicinity) ~s)\n"
- (string-append (assoc-ref inputs "slib")
- "/lib/slib/"))
+ (let* ((out (assoc-ref outputs "out"))
+ (req (string-append out "/lib/scm/require.scm")))
+ (delete-file req)
+ (format (open req (logior O_WRONLY O_CREAT))
+ "(define (library-vicinity) ~s)\n"
+ (string-append (assoc-ref inputs "slib")
+ "/lib/slib/"))
- ;; We must generate the slibcat file
- (zero? (system*
- (string-append
- (assoc-ref outputs "out")
- "/bin/scm")
- "-br" "new-catalog")))))))))
+ ;; We must generate the slibcat file.
+ (invoke (string-append out "/bin/scm")
+ "-br" "new-catalog")))))))
(inputs `(("slib" ,slib)))
(native-inputs `(("unzip" ,unzip)
("texinfo" ,texinfo)))
diff --git a/gnu/packages/smalltalk.scm b/gnu/packages/smalltalk.scm
index c0c53a5291..9b36d83a80 100644
--- a/gnu/packages/smalltalk.scm
+++ b/gnu/packages/smalltalk.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -132,14 +133,15 @@ such as ones for networking and GUI programming.")
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(with-directory-excursion "bld"
- (zero?
- (system* "../unix/cmake/configure"
+ (invoke "../unix/cmake/configure"
(string-append "--prefix=" out)
- "--without-quartz"))))))
+ "--without-quartz")
+ #t))))
(replace 'build
(lambda _
(with-directory-excursion "bld"
- (zero? (system* "make"))))))))
+ (invoke "make"))
+ #t)))))
(synopsis "Smalltalk programming language and environment")
(description "Squeak is a full-featured implementation of the Smalltalk
programming language and environment based on (and largely compatible with)
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 9853e842c2..8be3ce1a80 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -1816,7 +1816,8 @@ and fast file reading.")
(arguments
`(#:phases
(modify-phases %standard-phases
- (replace 'check (lambda _ (zero? (system* "nosetests" "-v")))))))
+ (replace 'check
+ (lambda _ (invoke "nosetests" "-v"))))))
(propagated-inputs
`(("python-numpy" ,python-numpy)
("python-scipy" ,python-scipy)
diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm
index df1b963878..6e57aaba1b 100644
--- a/gnu/packages/sync.scm
+++ b/gnu/packages/sync.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -21,17 +22,24 @@
(define-module (gnu packages sync)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system meson)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (gnu packages)
+ #:use-module (gnu packages acl)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages python)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages qt)
+ #:use-module (gnu packages rsync)
+ #:use-module (gnu packages selinux)
#:use-module (gnu packages tls))
(define-public owncloud-client
@@ -208,3 +216,46 @@ machines. Lsyncd is thus a light-weight live mirror solution that is
comparatively easy to install not requiring new file systems or block devices
and does not hamper local file system performance.")
(license license:gpl2+)))
+
+(define-public casync
+ (package
+ (name "casync")
+ (version "2")
+ (home-page "https://github.com/systemd/casync/")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "0znkp3fcksrykcsv06y2mjvf2lbwmin25snmvfa8i5qfm3f4rm88"))
+ (file-name (string-append name "-" version "-checkout"))))
+ (build-system meson-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("python-sphinx" ,python-sphinx)
+ ("rsync" ,rsync))) ;for tests
+ (inputs
+ `(("xz" ,xz) ;for liblzma
+ ("zstd" ,zstd)
+ ("curl" ,curl)
+ ("acl" ,acl)
+ ("libselinux" ,libselinux)
+ ("fuse" ,fuse)
+ ("openssl" ,openssl)
+ ("zlib" ,zlib)))
+ (synopsis "File synchronization and backup system")
+ (description
+ "casync is a @dfn{content-addressable data synchronizer} that can be used
+as the basis of a backup system. It is:
+
+@itemize
+@item A combination of the rsync algorithm and content-addressable storage;
+@item An efficient way to store and retrieve multiple related versions of
+large file systems or directory trees;
+@item An efficient way to deliver and update OS, VM, IoT and container images
+over the Internet in an HTTP and CDN friendly way;
+@item An efficient backup system.
+@end itemize\n")
+ (license license:lgpl2.1+)))
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 201cd8099a..246d85901c 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -218,7 +218,7 @@ internet.")
(define-public libsrtp
(package
(name "libsrtp")
- (version "1.6.0")
+ (version "2.2.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/cisco/libsrtp/archive/v"
@@ -226,31 +226,13 @@ internet.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1ppdqsrx5ni54vmd4kdzzmvgmf5ixb04w0jw7idy8mad6l27jghs"))))
+ "02x5l5h2nq6f9gq1bmgz5v9jmnqaab51p8aldglng1z7pjbp9za4"))))
(native-inputs
`(("psmisc" ,psmisc) ;some tests require 'killall'
("procps" ,procps)))
(build-system gnu-build-system)
(arguments
- '(#:test-target "runtest"
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-mips-variable-in-testsuite
- ;; This comes from https://github.com/cisco/libsrtp/pull/151
- (lambda _
- (substitute* "test/srtp_driver.c"
- (("mips ") "mips_est ")
- (("mips\\)") "mips_est)"))
- #t))
- (add-after 'unpack 'patch-dictionary-location
- ;; With the above changes, the rtpw_test.sh test finally runs, and fails.
- (lambda _
- (substitute* "test/rtpw.c"
- (("/usr/share/dict/words")
- (string-append (assoc-ref %build-inputs "procps")
- "/share/doc/procps-ng/FAQ"))
- (("words.txt") "FAQ"))
- #t)))))
+ '(#:test-target "runtest"))
(synopsis "Secure RTP (SRTP) Reference Implementation")
(description
"This package provides an implementation of the Secure Real-time Transport
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 7971892082..86d6afef3e 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -579,9 +579,8 @@ collaboration using typical untrusted file hosts or services.")
(add-after 'unpack 'unpack-git
(lambda* (#:key inputs #:allow-other-keys)
;; Unpack the source of git into the 'git' directory.
- (zero? (system*
- "tar" "--strip-components=1" "-C" "git" "-xf"
- (assoc-ref inputs "git:src")))))
+ (invoke "tar" "--strip-components=1" "-C" "git" "-xf"
+ (assoc-ref inputs "git:src"))))
(add-after 'unpack 'patch-absolute-file-names
(lambda* (#:key inputs #:allow-other-keys)
(define (quoted-file-name input path)
@@ -612,21 +611,20 @@ collaboration using typical untrusted file hosts or services.")
(delete 'configure) ; no configure script
(add-after 'build 'build-man
(lambda* (#:key make-flags #:allow-other-keys)
- (zero? (apply system* `("make" ,@make-flags "doc-man")))))
+ (apply invoke "make" "doc-man" make-flags)))
(replace 'install
(lambda* (#:key make-flags outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
- (and (zero? (apply system*
- `("make" ,@make-flags
- ,(string-append "prefix=" out)
- ,(string-append
- "CGIT_SCRIPT_PATH=" out "/share/cgit")
- "install" "install-man")))
- ;; Move the platform-dependent 'cgit.cgi' into lib
- ;; to get it stripped.
- (rename-file (string-append out "/share/cgit/cgit.cgi")
- (string-append out "/lib/cgit/cgit.cgi"))
- #t))))
+ (apply invoke
+ "make" "install" "install-man"
+ (string-append "prefix=" out)
+ (string-append "CGIT_SCRIPT_PATH=" out "/share/cgit")
+ make-flags)
+ ;; Move the platform-dependent 'cgit.cgi' into lib to get it
+ ;; stripped.
+ (rename-file (string-append out "/share/cgit/cgit.cgi")
+ (string-append out "/lib/cgit/cgit.cgi"))
+ #t)))
(add-after 'install 'wrap-python-scripts
(lambda* (#:key outputs #:allow-other-keys)
(for-each
@@ -914,7 +912,7 @@ lot easier.")
;; two tests will fail -> disable them. TODO: fix the failing tests
(delete-file "t/t3300-edit.sh")
(delete-file "t/t7504-commit-msg-hook.sh")
- (zero? (system* "make" "test")))))))
+ (invoke "make" "test"))))))
(home-page "http://procode.org/stgit/")
(synopsis "Stacked Git")
(description
@@ -1467,7 +1465,8 @@ accessed and migrated on modern systems.")
"libaegis/getpw_cache.cc")
(find-files "test" "\\.sh"))
(("/bin/sh") (which "sh")))
- (setenv "SH" (which "sh"))))
+ (setenv "SH" (which "sh"))
+ #t))
(replace 'check
(lambda _
(let ((home (string-append (getcwd) "/my-new-home")))
@@ -1475,12 +1474,20 @@ accessed and migrated on modern systems.")
(mkdir home)
(setenv "HOME" home)
- ;; This test assumes that flex has been symlinked to "lex".
+ ;; This test assumes that flex has been symlinked to "lex".
(substitute* "test/00/t0011a.sh"
(("type lex") "type flex"))
+ ;; XXX Disable tests that fail, for unknown reasons, ‘for now’.
+ (for-each
+ (lambda (test) (substitute* "Makefile"
+ (((string-append "test/" test "\\.ES ")) "")))
+ (list "00/t0011a"
+ "00/t0049a"
+ "01/t0196a"))
+
;; The author decided to call the check rule "sure".
- (zero? (system* "make" "sure"))))))))
+ (invoke "make" "sure")))))))
(home-page "http://aegis.sourceforge.net")
(synopsis "Project change supervisor")
(description "Aegis is a project change supervisor, and performs some of
@@ -1897,9 +1904,10 @@ unique algebra of patches called @url{http://darcs.net/Theory,Patchtheory}.
(add-after 'build 'add-properties
(lambda* (#:key jar-name #:allow-other-keys)
(with-directory-excursion "src"
- (zero? (apply system* "jar" "-uf"
- (string-append "../build/jar/" jar-name)
- (find-files "." "\\.properties$")))))))))
+ (apply invoke "jar" "-uf"
+ (string-append "../build/jar/" jar-name)
+ (find-files "." "\\.properties$")))
+ #t)))))
(inputs
`(("java-classpathx-servletapi" ,java-classpathx-servletapi)
("java-javaewah" ,java-javaewah)
@@ -2034,7 +2042,7 @@ directory full of HOWTOs.")
(define-public git-annex
(package
(name "git-annex")
- (version "6.20180529")
+ (version "6.20180626")
(source
(origin
(method url-fetch)
@@ -2042,7 +2050,7 @@ directory full of HOWTOs.")
"git-annex/git-annex-" version ".tar.gz"))
(sha256
(base32
- "1rx0m4yrl3gl2ca8rbbv74fdlg4s2jnddzljhph7271a7bpyxsx5"))))
+ "0vq3x9p4h3m266pcm2r3m9p51pz5z9zskh7z5nk0adh33j30xf7q"))))
(build-system haskell-build-system)
(arguments
`(#:configure-flags
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index ce90d470f4..2b8f3e18d2 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -25,6 +25,7 @@
;;; Copyright © 2018 Roel Janssen <roel@gnu.org>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com>
+;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1610,7 +1611,7 @@ device without having to bother about the decryption.")
(synopsis "SubRip to WebVTT subtitle converter")
(description "srt2vtt converts SubRip formatted subtitles to WebVTT format
for use with HTML5 video.")
- (home-page "http://dthompson.us/pages/software/srt2vtt")
+ (home-page "https://dthompson.us/projects/srt2vtt.html")
(license license:gpl3+)))
(define-public avidemux
@@ -2974,3 +2975,27 @@ format and some of its derived file formats, including MP4. It operates as a
multiplexer and demultiplexer, and can mux video and audio in several formats
using standalone executable files.")
(license license:isc)))
+
+(define-public qtfaststart
+ (package
+ (name "qtfaststart")
+ (version "1.8")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "qtfaststart" version))
+ (sha256
+ (base32
+ "0hcjfik8hhb1syqvyh5c6aillpvzal26nkjflcq1270z64aj6i5h"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f)) ; no test suite
+ (synopsis "Move QuickTime and MP4 metadata to the beginning of the file")
+ (description "qtfaststart enables streaming and pseudo-streaming of
+QuickTime and MP4 files by moving metadata and offset information to the
+beginning of the file. It can also print some useful information about the
+structure of the file. This program is based on qt-faststart.c from the FFmpeg
+project, which is released into the public domain, as well as ISO 14496-12:2005
+(the official spec for MP4), which can be obtained from the ISO or found
+online.")
+ (home-page "https://github.com/danielgtaylor/qtfaststart")
+ (license license:expat)))
diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index b36471c0eb..c83bfdd0c9 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -233,7 +233,8 @@ and the ICD.")
"16p25ry2i4zrj00zihfpf210f8xd7g398ffbw25igvi9mbn4nbfd"))))
(build-system meson-build-system)
(arguments
- `(#:phases
+ `(#:tests? #f ; FIXME: Tests fail.
+ #:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 3507dd59f2..805903ad9e 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -26,6 +26,7 @@
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
+;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -6113,6 +6114,7 @@ artifact.")))
`(#:jar-name "eclipse-jetty-security.jar"
#:source-dir "src/main/java"
#:jdk ,icedtea-8
+ #:test-exclude (list "**/ConstraintTest.*") ; This test fails
#:phases
(modify-phases %standard-phases
(add-before 'configure 'chdir
@@ -6139,11 +6141,6 @@ infrastructure")))
(inherit java-eclipse-jetty-security)
(version (package-version java-eclipse-jetty-util-9.2))
(source (package-source java-eclipse-jetty-util-9.2))
- (arguments
- `(#:test-exclude
- ;; This test fails.
- (list "**/ConstraintTest.*")
- ,@(package-arguments java-eclipse-jetty-security)))
(inputs
`(("util" ,java-eclipse-jetty-util-9.2)
("http" ,java-eclipse-jetty-http-9.2)
diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm
index bd43e372cf..0fb1142b68 100644
--- a/gnu/packages/wget.scm
+++ b/gnu/packages/wget.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2014, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -149,9 +150,9 @@ online pastebin services.")
(find-files "."))
(substitute* "./gnulib/gnulib-tool.py"
(("/usr/bin/python") (which "python3")))
- (zero? (system* "sh" "./bootstrap"
+ (invoke "sh" "./bootstrap"
"--gnulib-srcdir=gnulib"
- "--no-git")))))))
+ "--no-git"))))))
(inputs `(("autoconf" ,autoconf)
("automake" ,automake)
("doxygen" ,doxygen)
diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
index 68d7c51ac1..91b37556a0 100644
--- a/gnu/packages/wine.scm
+++ b/gnu/packages/wine.scm
@@ -69,7 +69,7 @@
(define-public wine
(package
(name "wine")
- (version "3.0.1")
+ (version "3.0.2")
(source (origin
(method url-fetch)
(uri (string-append "https://dl.winehq.org/wine/source/"
@@ -77,7 +77,7 @@
"/wine-" version ".tar.xz"))
(sha256
(base32
- "1wr63n70pli83p3rmclr2j4lxzs4ll1cwlpdlaajfrf6v9yhvl5s"))))
+ "1zv3nk31s758ghp4795ym3w8l5868c2dllmjx9245qh9ahvp3mya"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)
("gettext" ,gettext-minimal)
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index dc38b41494..2a8958d37f 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -265,25 +265,23 @@ between desktops, and change the number of desktops.")
(define-public xeyes
(package
(name "xeyes")
- (version "1.0.1")
+ (version "1.1.2")
(source
- (origin
- (method url-fetch)
- (uri (string-append
- "http://xeyes.sourcearchive.com/downloads/1.0.1/xeyes_"
- version
- ".orig.tar.gz"))
- (sha256
- (base32
- "04c3md570j67g55h3bix1qbngcslnq91skli51k3g1avki88zkm9"))))
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.x.org/releases/individual/app/"
+ name "-" version ".tar.bz2"))
+ (sha256
+ (base32 "0lq5j7fryx1wn998jq6h3icz1h6pqrsbs3adskjzjyhn5l6yrg2p"))))
(build-system gnu-build-system)
(inputs
`(("libxext" ,libxext)
("libxmu" ,libxmu)
+ ("libxrender" ,libxrender)
("libxt" ,libxt)))
(native-inputs
`(("pkg-config" ,pkg-config)))
- (home-page "http://xeyes.sourcearchive.com/")
+ (home-page "https://www.x.org/") ; no dedicated Xeyes page exists
(synopsis "Follow-the-mouse X demo")
(description "Xeyes is a demo program for x.org. It shows eyes
following the mouse.")
@@ -736,17 +734,16 @@ Guile will work for XBindKeys.")
(define-public sxhkd
(package
(name "sxhkd")
- (version "0.5.6")
+ (version "0.5.9")
(source
(origin
- (file-name (string-append name "-" version ".tar.gz"))
- (method url-fetch)
- (uri (string-append
- "https://github.com/baskerville/sxhkd/archive/"
- version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/baskerville/sxhkd")
+ (commit version)))
(sha256
(base32
- "15grmzpxz5fqlbfg2slj7gb7r6nzkvjmflmbkqx7mlby9pm6wdkj"))))
+ "0cw547x7vky55k3ksrmzmrra4zhslqcwq9xw0y4cmbvy4s1qf64v"))))
(build-system gnu-build-system)
(inputs
`(("asciidoc" ,asciidoc)
@@ -755,10 +752,14 @@ Guile will work for XBindKeys.")
("xcb-util-keysyms" ,xcb-util-keysyms)
("xcb-util-wm" ,xcb-util-wm)))
(arguments
- '(#:phases (modify-phases %standard-phases (delete 'configure))
+ `(#:phases (modify-phases %standard-phases (delete 'configure))
#:tests? #f ; no check target
- #:make-flags (list "CC=gcc"
- (string-append "PREFIX=" %output))))
+ #:make-flags
+ (list "CC=gcc"
+ (string-append "PREFIX=" %output)
+ ;; Keep the documentation where the build system installs LICENSE.
+ (string-append "DOCPREFIX=" %output
+ "/share/doc/" ,name "-" ,version))))
(home-page "https://github.com/baskerville/sxhkd")
(synopsis "Simple X hotkey daemon")
(description "sxhkd is a simple X hotkey daemon with a powerful and
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index 134d601881..79eb64d13a 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -793,7 +793,7 @@ inhibit interface which allows applications to prevent automatic sleep.")
(define-public ristretto
(package
(name "ristretto")
- (version "0.8.2")
+ (version "0.8.3")
(source (origin
(method url-fetch)
(uri (string-append "http://archive.xfce.org/src/apps/ristretto/"
@@ -801,7 +801,7 @@ inhibit interface which allows applications to prevent automatic sleep.")
name "-" version ".tar.bz2"))
(sha256
(base32
- "1f01d47kd85kjd1k4bzpcck4cb40qpjm5fzirzwdsxzwlrybgwzq"))))
+ "0r96r8r1qslr6cqvwldm99ha563adkw9v2zvaznxkpqn11v1374c"))))
(build-system gnu-build-system)
(native-inputs
`(("intltool" ,intltool)
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index a647b7e582..4ce02b783c 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -5928,7 +5928,7 @@ basic eye-candy effects.")
(define-public xpra
(package
(name "xpra")
- (version "2.3.1")
+ (version "2.3.2")
(source
(origin
(method url-fetch)
@@ -5936,7 +5936,7 @@ basic eye-candy effects.")
version ".tar.xz"))
(sha256
(base32
- "0wghjmrw77pkh6agc5rz7ynr6s8yyc68qvj9rnp0vlwa3x1fl3ry"))))
+ "02wpnlx43dwacaahpm8db5kbnjw2msm3ycq71gib0n2zamd71ni6"))))
(build-system python-build-system)
(inputs `(("ffmpeg" ,ffmpeg)
("flac" ,flac)