diff options
author | Mark H Weaver <mhw@netris.org> | 2018-05-27 01:26:09 -0400 |
---|---|---|
committer | Mark H Weaver <mhw@netris.org> | 2018-05-27 01:26:09 -0400 |
commit | 1640f16e7888291227d11647dbb5f83ad5d138a1 (patch) | |
tree | bf979aa4e6538b8261762cfbb80512ebb023b016 | |
parent | 0ff4e49a95d8a54cd5508f441b927a670d348519 (diff) | |
parent | a4e45acdc07fc3faf2844b3658ee31ebc538bd1c (diff) | |
download | guix-1640f16e7888291227d11647dbb5f83ad5d138a1.tar guix-1640f16e7888291227d11647dbb5f83ad5d138a1.tar.gz |
Merge branch 'master' into core-updates
32 files changed, 924 insertions, 93 deletions
diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index 989b74f4f1..fa3ce7790d 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -106,11 +106,16 @@ the #:references-graphs parameter of 'derivation'." (not target-arm32?)) '("-enable-kvm") '()) + + ;; Pass "panic=1" so that the guest dies upon error. "-append" - ;; The serial port name differs between emulated architectures/machines. - ,@(if target-arm32? - `(,(string-append "console=ttyAMA0 --load=" builder)) - `(,(string-append "console=ttyS0 --load=" builder))) + ,(string-append "panic=1 --load=" builder + + ;; The serial port name differs between emulated + ;; architectures/machines. + " console=" + (if target-arm32? "ttyAMA0" "ttyS0")) + ;; NIC is not supported on ARM "virt" machine, so use a user mode ;; network stack instead. ,@(if target-arm32? diff --git a/gnu/packages/accessibility.scm b/gnu/packages/accessibility.scm index c9d9b099c5..d399f98f09 100644 --- a/gnu/packages/accessibility.scm +++ b/gnu/packages/accessibility.scm @@ -83,7 +83,7 @@ available to help to click.") (license license:gpl2+))) (define-public footswitch - (let ((commit "deedd87fd90fad90ce342aeabafd4a3198d7d3d4") + (let ((commit "ca43d53fc2002520cc825d119702afc124303e73") (revision "2")) (package (name "footswitch") @@ -95,7 +95,8 @@ available to help to click.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "1ys90wqyz62kffa8m3hgaq1dl7f29x3mrc3zqfjrkbn2ps0k6ps0")))) + (base32 + "14pyzc4ws1mj859xs9n4x83wzxxvd3bh5bdxzr6nv267xwx1mq68")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -112,6 +113,7 @@ available to help to click.") (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) (install-file "footswitch" bin) + (install-file "scythe" bin) #t)))))) (home-page "https://github.com/rgerganov/footswitch") (synopsis "Command line utility for PCsensor foot switch") diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index a794c4c6a8..61981f6c7b 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -60,15 +60,15 @@ (define-public mpfrcx (package (name "mpfrcx") - (version "0.4.2") + (version "0.5") (source (origin (method url-fetch) (uri (string-append - "http://www.multiprecision.org/mpfrcx/download/mpfrcx-" + "http://www.multiprecision.org/downloads/mpfrcx-" version ".tar.gz")) (sha256 (base32 - "0grw66b255r574lvll1bqccm5myj2m8ajzsjaygcyq9zjnnbnhhy")))) + "1s968480ymv6w0rnvfp9mxvx98hvi29fkvw8nk4ggzc6azxgwybs")))) (build-system gnu-build-system) (propagated-inputs `(("gmp" ,gmp) @@ -82,7 +82,7 @@ on the rounding. For the time being, only the few functions needed to implement the floating point approach to complex multiplication are implemented. On the other hand, these comprise asymptotically fast multiplication routines such as Toom–Cook and the FFT.") - (license license:lgpl2.1+) + (license license:lgpl3+) (home-page "http://mpfrcx.multiprecision.org/"))) (define-public cm diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index d3e3f5d5b5..db66aef8ea 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1993,14 +1993,14 @@ and ALSA.") (define-public qjackctl (package (name "qjackctl") - (version "0.5.0") + (version "0.5.1") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/qjackctl/qjackctl/" version "/qjackctl-" version ".tar.gz")) (sha256 (base32 - "0lx81dfwanc10vrny1vzi0wx73ph82dlz99ffjzsigj3cqzz6x4s")))) + "0jw1s4qh4qjxnysddjv3j2lchwlslj9p4iisv9i89d3m7pf1svs4")))) (build-system gnu-build-system) (arguments '(#:tests? #f)) ; no check target @@ -2740,7 +2740,7 @@ interface.") (define-public qsynth (package (name "qsynth") - (version "0.5.0") + (version "0.5.1") (source (origin (method url-fetch) @@ -2748,7 +2748,7 @@ interface.") "/qsynth-" version ".tar.gz")) (sha256 (base32 - "1sr6vrz8z9r99j9xcix86lgcqldragb2ajmq1bnhr58d99sda584")))) + "0kpk1rnhbifbvm4xvw8i0d4ksk78pf505qvg08k89kqkg32494ap")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no "check" phase diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 105c01e235..abea913723 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3459,6 +3459,42 @@ The main functions of FastQC are: @end itemize\n") (license license:gpl3+))) +(define-public fastp + (package + (name "fastp") + (version "0.14.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OpenGene/fastp.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1r6ms5zbf5rps4rgp4z73nczadl00b5rqylw8f684isfz27dp0xh")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; there are none + #:make-flags + (list (string-append "BINDIR=" (assoc-ref %outputs "out") "/bin")) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'install 'create-target-dir + (lambda* (#:key outputs #:allow-other-keys) + (mkdir-p (string-append (assoc-ref outputs "out") "/bin")) + #t))))) + (inputs + `(("zlib" ,zlib))) + (home-page "https://github.com/OpenGene/fastp/") + (synopsis "All-in-one FastQ preprocessor") + (description + "Fastp is a tool designed to provide fast all-in-one preprocessing for +FastQ files. This tool has multi-threading support to afford high +performance.") + (license license:expat))) + (define-public htslib (package (name "htslib") diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 1ee26d6429..e145d53cef 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -22,6 +22,7 @@ ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com> +;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -2158,3 +2159,75 @@ with @code{deflate} but offers more dense compression. The specification of the Brotli Compressed Data Format is defined in RFC 7932.") (license license:expat))) + +(define-public ucl + (package + (name "ucl") + (version "1.03") + (source (origin + (method url-fetch) + (uri (string-append "http://www.oberhumer.com/opensource/" + name "/download/" name "-" version ".tar.gz")) + (sha256 + (base32 + "0j036lkwsxvm15gr29n8wn07cqq79dswjs9k54939ms5zngjjrdq")))) + (build-system gnu-build-system) + (home-page "http://www.oberhumer.com/opensource/ucl/") + (synopsis "Portable lossless data compression library") + (description "UCL implements a number of compression algorithms that +achieve an excellent compression ratio while allowing fast decompression. +Decompression requires no additional memory. + +Compared to LZO, the UCL algorithms achieve a better compression ratio but +decompression is a little bit slower.") + (license license:gpl2+))) + +(define-public upx + (package + (name "upx") + (version "3.94") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/upx/upx/releases/download/v" + version "/" name "-" version "-src.tar.xz")) + (sha256 + (base32 + "08anybdliqsbsl6x835iwzljahnm9i7v26icdjkcv33xmk6p5vw1")))) + (build-system gnu-build-system) + (native-inputs `(("perl" ,perl) + ("ucl" ,ucl))) + (inputs `(("zlib" ,zlib))) + (arguments + `(#:make-flags + (list "all" + ;; CHECK_WHITESPACE does not seem to work. + ;; See https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/upx. + "CHECK_WHITESPACE=true") + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'check) + (delete 'install) + (add-before 'build 'patch-exec-bin-sh + (lambda _ + (substitute* (find-files "Makefile") + (("/bin/sh") (which "sh"))) + (substitute* "src/Makefile" + (("/bin/sh") (which "sh"))) + #t)) + (add-after 'build 'install-upx + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (mkdir-p bin) + (copy-file "src/upx.out" (string-append bin "/upx"))) + #t)) + ))) + (home-page "https://upx.github.io/") + (synopsis "Compression tool for executables") + (description + "The Ultimate Packer for eXecutables (UPX) is an executable file +compressor. UPX typically reduces the file size of programs and shared +libraries by around 50%--70%, thus reducing disk space, network load times, +download times, and other distribution and storage costs.") + (license license:gpl2+))) diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 3e9c39df61..80ffc1ea2c 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -124,3 +124,30 @@ unified access to TCP/UDP sockets, serial ports, console, and files streams. It also allows a server application to wait for any activity on any combination of these streams.") (license license:bsd-3))) + +(define-public xsimd + (package + (name "xsimd") + (version "4.1.2") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/QuantStack/xsimd/archive/" + version ".tar.gz")) + (sha256 + (base32 + "0x05l4xpqr9b66sm6lkf48n6x7999ks921x6k2hzkkg6mh3gqd46")) + (file-name (string-append name "-" version ".tar.gz")))) + (home-page "https://github.com/QuantStack/xsimd") + (build-system cmake-build-system) + (arguments + `(#:test-target "xtest")) + (native-inputs + `(("googletest" ,googletest))) + (synopsis "C++ wrappers for SIMD intrinsics and math implementations") + (description "xsimd provides a unified means for using SIMD features for +library authors. Namely, it enables manipulation of batches of numbers with +the same arithmetic operators as for single values. It also provides +accelerated implementation of common mathematical functions operating on +batches.") + (license license:bsd-3))) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index d4ec2e9d23..96044e114a 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4026,3 +4026,37 @@ Python's @url{https://github.com/ActiveState/appdirs,Appdirs} to R.") Markdown. Use a combination of narrative, figures, videos, exercises, and quizzes to create self-paced tutorials for learning about R and R packages.") (license license:asl2.0))) + +(define-public r-analytics + (package + (name "r-analytics") + (version "2.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "analytics" version)) + (sha256 + (base32 + "1jkdjqc3fnvvsgi6x9ncf36rxzq0a55cmgkcv92mfmpcramg2lk6")))) + (build-system r-build-system) + (propagated-inputs + `(("r-car" ,r-car) + ("r-cluster" ,r-cluster) + ("r-fractal" ,r-fractal) + ("r-lmtest" ,r-lmtest) + ("r-mass" ,r-mass) + ("r-np" ,r-np) + ("r-powerplus" ,r-powerplus) + ("r-robust" ,r-robust) + ("r-trend" ,r-trend) + ("r-tsa" ,r-tsa) + ("r-urca" ,r-urca))) + (home-page "https://cran.r-project.org/web/packages/analytics/") + (synopsis "Collection of data analysis tools") + (description + "This package is a collection of data analysis tools. It includes tools +for regression outlier detection in a fitted linear model, stationary +bootstrap using a truncated geometric distribution, a comprehensive test for +weak stationarity, column means by group, weighted biplots, and a heuristic to +obtain a better initial configuration in non-metric MDS.") + (license license:gpl2))) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 9c759510a8..8c28b252dc 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -10534,3 +10534,28 @@ Unless you're using @code{use-package}'s hook keyword, you can enable the autosuggestions with: @code{(add-hook 'eshell-mode-hook #'esh-autosuggest-mode)}") (license license:gpl3+))) + +(define-public emacs-desktop-environment + (package + (name "emacs-desktop-environment") + (version "0.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/DamienCassou/desktop-environment.git") + (commit (string-append "v" version)))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1fal3yfmqg10cb53qsf5gsq2gvyz9w16wmlpnpjwjzwnjfn6l73r")))) + (build-system emacs-build-system) + (home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment") + (synopsis "Control your GNU/Linux desktop environment from Emacs") + (description + "This package helps you control your GNU/Linux desktop from Emacs. +With @code{desktop-environment}, you can control the brightness and volume as +well as take screenshots and lock your screen. The package depends on the +availability of shell commands to do the hard work for us. These commands can +be changed by customizing the appropriate variables.") + (license license:gpl3+))) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index e5624de07e..48f359c5bf 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2015, 2018 David Thompson <dthompson2@worcester.edu> ;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> ;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com> ;;; @@ -33,6 +33,7 @@ #:use-module (guix svn-download) #:use-module (gnu packages) #:use-module (gnu packages algebra) + #:use-module (gnu packages assembly) #:use-module (gnu packages audio) #:use-module (gnu packages autotools) #:use-module (gnu packages base) @@ -55,6 +56,7 @@ #:use-module (gnu packages libedit) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) + #:use-module (gnu packages mp3) #:use-module (gnu packages ncurses) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) @@ -1112,3 +1114,59 @@ straight into any libretro-compatible frontend. RetroArch is the official reference frontend for the libretro API, currently used by most as a modular multi-system game/emulator system.") (license license:gpl3+))) + +(define-public scummvm + (package + (name "scummvm") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.scummvm.org/frs/scummvm/" version + "/scummvm-" version ".tar.xz")) + (sha256 + (base32 + "0q6aiw97wsrf8cjw9vjilzhqqsr2rw2lll99s8i5i9svan6l314p")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;require "git" + #:configure-flags (list "--enable-release") ;for optimizations + #:phases + (modify-phases %standard-phases + (replace 'configure + ;; configure does not work followed by both "SHELL=..." and + ;; "CONFIG_SHELL=..."; set environment variables instead + (lambda* (#:key outputs configure-flags #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bash (which "bash")) + (flags `(,(string-append "--prefix=" out) + ,@configure-flags))) + (setenv "SHELL" bash) + (setenv "CONFIG_SHELL" bash) + (apply invoke "./configure" flags))))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("faad2" ,faad2) + ("fluidsynth" ,fluidsynth) + ("freetype" ,freetype) + ("libflac" ,flac) + ("libjpeg-turbo" ,libjpeg-turbo) + ("libmad" ,libmad) + ("libmpeg2" ,libmpeg2) + ("libogg" ,libogg) + ("libpng" ,libpng) + ("libtheora" ,libtheora) + ("libvorbis" ,libvorbis) + ("nasm" ,nasm) + ("sdl2" ,sdl2) + ("zlib" ,zlib))) + (home-page "https://www.scummvm.org/") + (synopsis "Engine for several graphical adventure games") + (description "ScummVM is a program which allows you to run certain +classic graphical point-and-click adventure games, provided you +already have their data files. The clever part about this: ScummVM +just replaces the executables shipped with the games, allowing you to +play them on systems for which they were never designed!") + (license license:gpl2+))) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index ad1725fcc5..9a01c78a1d 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2017, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com> -;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> +;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; @@ -495,7 +495,7 @@ applications, X servers (rootless or fullscreen) or other display servers.") (define-public weston (package (name "weston") - (version "3.0.0") + (version "4.0.0") (source (origin (method url-fetch) (uri (string-append @@ -503,7 +503,7 @@ applications, X servers (rootless or fullscreen) or other display servers.") "weston-" version ".tar.xz")) (sha256 (base32 - "19936zlkb75xcaidd8fag4ah8000wrh2ziqy7nxkq36pimgdbqfd")))) + "0n2big8xw6g6n46zm1jyf00dv9r4d84visdz5b8vxpw3xzkhmz50")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -529,6 +529,7 @@ applications, X servers (rootless or fullscreen) or other display servers.") (string-append "--with-xserver-path=" (assoc-ref %build-inputs "xorg-server-xwayland") "/bin/Xwayland")) + #:parallel-tests? #f ; Parallel tests cause failures. #:phases (modify-phases %standard-phases (add-before 'configure 'use-elogind diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 45f1f10018..d435142f82 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -90,6 +90,7 @@ #:use-module (gnu packages haskell) #:use-module (gnu packages mp3) #:use-module (gnu packages music) + #:use-module (gnu packages multiprecision) #:use-module (gnu packages icu4c) #:use-module (gnu packages image) #:use-module (gnu packages ncurses) @@ -4926,3 +4927,244 @@ Strife, Chex Quest, and fan-created games like Harmony, Hacx and Freedoom.") (description "Fortune is a command-line utility which displays a random quotation from a collection of quotes.") (license license:bsd-4))) + +(define xonotic-data + (package + (name "xonotic-data") + (version "0.8.2") + (source + (origin + (method url-fetch) + (uri (string-append "http://dl.xonotic.org/xonotic-" + version ".zip")) + (file-name (string-append name "-" version ".zip")) + (sha256 + (base32 + "1mcs6l4clvn7ibfq3q69k2p0z6ww75rxvnngamdq5ic6yhq74bx2")))) + (build-system trivial-build-system) + (native-inputs + `(("unzip" ,unzip))) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (xonotic (string-append out "/share/xonotic")) + (source (assoc-ref %build-inputs "source")) + (unzip (string-append (assoc-ref %build-inputs "unzip") "/bin/unzip"))) + (copy-file source (string-append ,name "-" ,version ".zip")) + (invoke unzip (string-append ,name "-" ,version ".zip")) + (mkdir-p out) + (mkdir-p xonotic) + (chdir "Xonotic") + (copy-recursively "data" + (string-append xonotic "/data")) + (copy-recursively "server" + (string-append xonotic "/server")) + (install-file "key_0.d0pk" xonotic))))) + (home-page "http://xonotic.org") + (synopsis "Data files for Xonotic") + (description + "Xonotic-data provides the data files required by the game Xonotic.") + (license (list license:gpl2+ + license:x11)))) ; server/rcon.pl + +(define-public xonotic + (package + (name "xonotic") + (version "0.8.2") + (source + (origin + (method url-fetch) + (uri (string-append "http://dl.xonotic.org/xonotic-" + version "-source.zip")) + (file-name (string-append name "-" version ".zip")) + (sha256 + (base32 + "0axxw04fyz6jlfqd0kp7hdrqa0li31sx1pbipf2j5qp9wvqicsay")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags (list (string-append "--prefix=" + (assoc-ref %outputs "out")) + "--disable-rijndael") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'make-darkplaces + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (sharedir (string-append out "/share/xonotic/"))) + (invoke "make" "-C" "source/darkplaces" + (string-append "DP_FS_BASEDIR=" + sharedir) + "DP_LINK_TO_LIBJPEG=1" + "DP_SOUND_API=ALSA" + "CC=gcc" + "-f" "makefile" + "cl-release") + (invoke "make" "-C" "source/darkplaces" + (string-append "DP_FS_BASEDIR=" + sharedir) + "DP_LINK_TO_LIBJPEG=1" + "DP_SOUND_API=ALSA" + "CC=gcc" + "-f" "makefile" + "sdl-release") + (invoke "make" "-C" "source/darkplaces" + (string-append "DP_FS_BASEDIR=" + sharedir) + "DP_LINK_TO_LIBJPEG=1" + "DP_SOUND_API=ALSA" + "CC=gcc" + "-f" "makefile" + "sv-release")))) + (add-before 'configure 'bootstrap + (lambda _ + (chdir "source/d0_blind_id") + (invoke "sh" "autogen.sh"))) + (add-after 'build 'install-desktop-entry + (lambda* (#:key outputs #:allow-other-keys) + ;; Add .desktop files for the 2 variants and the symlink + (let* ((output (assoc-ref outputs "out")) + (apps (string-append output "/share/applications"))) + (mkdir-p apps) + (with-output-to-file + (string-append apps "/xonotic-glx.desktop") + (lambda _ + (format #t + "[Desktop Entry]~@ + Name=xonotic-glx~@ + Comment=Xonotic glx~@ + Exec=~a/bin/xonotic-glx~@ + TryExec=~@*~a/bin/xonotic-glx~@ + Icon=~@ + Type=Application~%" + output))) + (with-output-to-file + (string-append apps "/xonotic-sdl.desktop") + (lambda _ + (format #t + "[Desktop Entry]~@ + Name=xonotic-sdl~@ + Comment=Xonotic sdl~@ + Exec=~a/bin/xonotic-sdl~@ + TryExec=~@*~a/bin/xonotic-sdl~@ + Icon=~@ + Type=Application~%" + output))) + (with-output-to-file + (string-append apps "/xonotic.desktop") + (lambda _ + (format #t + "[Desktop Entry]~@ + Name=xonotic~@ + Comment=Xonotic~@ + Exec=~a/bin/xonotic-glx~@ + TryExec=~@*~a/bin/xonotic~@ + Icon=~@ + Type=Application~%" + output))) + #t))) + (add-after 'install-desktop-entry 'install-icons + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (with-directory-excursion "../../misc/logos/icons_png/" + (for-each + (lambda (file) + (let* ((size (string-filter char-numeric? file)) + (icons (string-append out "/share/icons/hicolor/" + size "x" size "/apps"))) + (mkdir-p icons) + (copy-file file (string-append icons "/xonotic.png")))) + '("xonotic_16.png" "xonotic_22.png" "xonotic_24.png" + "xonotic_32.png" "xonotic_48.png" "xonotic_64.png" + "xonotic_128.png" "xonotic_256.png" "xonotic_512.png")))))) + (add-after 'install-icons 'install-binaries + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (define (install src dst) + (let ((dst (string-append out dst))) + (mkdir-p (dirname dst)) + (copy-file src dst))) + (mkdir-p (string-append out "/bin")) + (install "../darkplaces/darkplaces-dedicated" + "/bin/xonotic-dedicated") + (install "../darkplaces/darkplaces-glx" + "/bin/xonotic-glx") + (install "../darkplaces/darkplaces-sdl" + "/bin/xonotic-sdl") + ;; Provide a default xonotic executable, defaulting to SDL. + (symlink (string-append out "/bin/xonotic-sdl") + (string-append out "/bin/xonotic")) + #t))) + (add-after 'install-binaries 'install-data + (lambda* (#:key outputs inputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (data (assoc-ref inputs "xonotic-data"))) + (copy-recursively (string-append data "/share/xonotic") + (string-append out "/share/xonotic")) + #t))) + (add-after 'install-binaries 'wrap-binaries + (lambda* (#:key outputs inputs #:allow-other-keys) + ;; Curl and libvorbis need to be wrapped so that we get + ;; sound and networking. + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin/xonotic")) + (bin-sdl (string-append out "/bin/xonotic-sdl")) + (bin-glx (string-append out "/bin/xonotic-glx")) + (bin-dedicated (string-append out "/bin/xonotic-dedicated")) + (curl (assoc-ref inputs "curl")) + (vorbis (assoc-ref inputs "libvorbis"))) + (wrap-program bin + `("LD_LIBRARY_PATH" ":" prefix + (,(string-append curl "/lib:" vorbis "/lib")))) + (wrap-program bin-sdl + `("LD_LIBRARY_PATH" ":" prefix + (,(string-append curl "/lib:" vorbis "/lib")))) + (wrap-program bin-glx + `("LD_LIBRARY_PATH" ":" prefix + (,(string-append curl "/lib:" vorbis "/lib")))) + (wrap-program bin-dedicated + `("LD_LIBRARY_PATH" ":" prefix + (,(string-append curl "/lib:" vorbis "/lib")))) + #t)))))) + (inputs + `(("xonotic-data" ,xonotic-data) + ("alsa-lib" ,alsa-lib) + ("curl" ,curl) + ("libjpeg" ,libjpeg) + ("libmodplug" ,libmodplug) + ("libvorbis" ,libvorbis) + ("libogg" ,libogg) + ("libxpm" ,libxpm) + ("libxxf86dga" ,libxxf86dga) + ("libxxf86vm" ,libxxf86vm) + ("libx11" ,libx11) + ("libxext" ,libxext) + ("libxau" ,libxau) + ("libxdmcp" ,libxdmcp) + ("mesa" ,mesa) + ("glu" ,glu) + ("freetype" ,freetype) + ("sdl2" ,sdl2) + ("libpng" ,libpng) + ("hicolor-icon-theme" ,hicolor-icon-theme))) + (native-inputs + `(("unzip" ,unzip) + ("autoconf" ,autoconf) + ("automake" ,automake) + ("pkg-config" ,pkg-config) + ("libtool" ,libtool) + ("gmp" ,gmp))) + (home-page "http://xonotic.org") + (synopsis "Fast-paced first-person shooter game") + (description + "Xonotic is a free, fast-paced first-person shooter. +The project is geared towards providing addictive arena shooter +gameplay which is all spawned and driven by the community itself. +Xonotic is a direct successor of the Nexuiz project with years of +development between them, and it aims to become the best possible +open-source FPS of its kind.") + (license (list license:gpl2+ + license:bsd-3 ; /source/d0_blind_id folder and others + license:x11-style)))) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index fd5929ed3a..4ba09f2a90 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -657,7 +657,7 @@ including functions for geolocation and routing.") (with "--with-png" "libpng") (with "--with-webp" "libwebp") (with "--with-gif" "giflib") - (with "--with-jpeg" "libjpeg") + (with "--with-jpeg" "libjpeg-turbo") (with "--with-libtiff" "libtiff") (with "--with-geotiff" "libgeotiff") (with "--with-libz" "zlib") diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 4609ea9da1..d04f40548f 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2065,7 +2065,7 @@ libraries written in C.") (define-public vte (package (name "vte") - (version "0.52.1") + (version "0.52.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -2073,7 +2073,7 @@ libraries written in C.") name "-" version ".tar.xz")) (sha256 (base32 - "1lva70inb5y8p42rg95fb88z2ybwcz0lybla3ixbgp2sj0s4rzdh")))) + "1br6kg0wzf1wmww1hadihhcpqbamalqmbppfdzjvzk1ayp75f9hg")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index c74ccc9229..7335742e20 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -186,16 +186,13 @@ authentication and support for SSL3 and TLS.") (define-public gnurl (package (name "gnurl") - (version "7.59.0") + (version "7.60.0") (source (origin (method url-fetch) - (uri (list (string-append "mirror://gnu/gnunet/" name "-" version ".tar.xz") - ;; TODO: Remove once gnurl-7.59.0 release has synced to ftp.gnu.org - (string-append "https://ftp.n0.is/pub/releases/gnurl/" - name "-" version ".tar.xz"))) + (uri (string-append "mirror://gnu/gnunet/" name "-" version ".tar.Z")) (sha256 (base32 - "0fdwqxs4crzj1nbq3lz0xbqjiiqpq16vpll09gryyq4c1y6lbyib")))) + "0klf3h339dznbm903474mjjysrarz09s1wiypnbai3xnfjamha99")))) (build-system gnu-build-system) (outputs '("out" "doc")) ; 1.5 MiB of man3 pages diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index 68f1148908..5abcdf9a2a 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.2") + (version "2.26.3") (home-page "https://feh.finalrewind.org/") (source (origin (method url-fetch) @@ -68,7 +68,7 @@ name "-" version ".tar.bz2")) (sha256 (base32 - "07hn5d5m1jsqp6qb2d3lah1js8382hrf225y0q8776m2k3vzylk3")))) + "08aagymgajcvciagwy2zdxhicvdfnjmd2xyx9bqjy7l1n16ydwrz")))) (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 7291ecd620..37d51f1e51 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com> ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com> +;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1392,3 +1393,50 @@ Features: images stored in the JPEG format with R. It can read and write both files and in-memory raw vectors.") (license license:gpl2+))) + +(define-public gifsicle + (package + (name "gifsicle") + (version "1.91") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.lcdf.org/gifsicle/gifsicle-" + version ".tar.gz")) + (sha256 + (base32 + "00586z1yz86qcblgmf16yly39n4lkjrscl52hvfxqk14m81fckha")))) + (build-system gnu-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-before 'check 'patch-tests + (lambda _ + (substitute* "test/testie" + (("/usr/bin/perl") + (which "perl")) + (("/bin/sh") + (which "sh")) + (("/bin/rm") + (which "rm"))) + #t))))) + (native-inputs `(("perl" ,perl))) ; Only for tests. + (inputs `(("libx11" ,libx11))) + (home-page "http://www.lcdf.org/gifsicle/") + (synopsis "Edit GIF images and animations") + (description "Gifsicle is a command-line GIF image manipulation tool that: + +@itemize +@item Provides a batch mode for changing GIFs in place. +@item Prints detailed information about GIFs, including comments. +@item Control over interlacing, comments, looping, transparency, etc. +@item Creates well-behaved GIFs: removes redundant colors, only uses local color +tables, etc. +@item Shrinks colormaps and change images to use the Web-safe palette. +@item Optimizes GIF animations, or unoptimizes them for easier editing. +@end itemize + +Two other programs are included with Gifsicle: @command{gifview} is a +lightweight animated-GIF viewer, and @command{gifdiff} compares two GIFs for +identical visual appearance.") + (license license:gpl2+))) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 31d598d438..7ba011bd21 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -394,8 +394,8 @@ It has been modified to remove all non-free binary blobs.") ;; supports qemu "virt" machine and possibly a large number of ARM boards. ;; See : https://wiki.debian.org/DebianKernel/ARMMP. -(define %linux-libre-version "4.16.11") -(define %linux-libre-hash "0dc6kwpzncg2a8haf081i5si4ry9y3x6m39bjblbx9c809hdls6g") +(define %linux-libre-version "4.16.12") +(define %linux-libre-hash "1zjq16z5cdcpa4acqdilavjjv2xbqnh3fmn400n9hd5pzyll817m") (define-public linux-libre (make-linux-libre %linux-libre-version @@ -403,8 +403,8 @@ It has been modified to remove all non-free binary blobs.") %linux-compatible-systems #:configuration-file kernel-config)) -(define %linux-libre-4.14-version "4.14.43") -(define %linux-libre-4.14-hash "0mqgxp0001j11m5s82s7j4398443zx474a5kpzql7cqf3aljfybm") +(define %linux-libre-4.14-version "4.14.44") +(define %linux-libre-4.14-hash "0w89y22by17yqk89l1mmhlvz0i4dkp1mjc347nq3zy1llbwiwvnf") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version @@ -413,14 +413,14 @@ 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.102" - "1y32rc2zi2is4yl184i1vbbvc7gvkyr15r325g2syascxqzxarn0" + (make-linux-libre "4.9.103" + "00g58y92pmb6xf9lhjrab2jrjv3naw3857pf9s43dvh6fwlbccbf" %intel-compatible-systems #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.132" - "012nmbvvi8sg0iav5aibk8qx189iwqjadnr4h5jv65gzi7i79li9" + (make-linux-libre "4.4.133" + "05qc9smcvxd68d46l5gjhvihhnidkiymqh4fv4nyagzv555q7na7" %intel-compatible-systems #:configuration-file kernel-config)) @@ -3437,7 +3437,19 @@ from userspace.") "--with-fuse=external" ;use our own FUSE "--enable-mount-helper" "--enable-posix-acls" - "--enable-xattr-mappings"))) + "--enable-xattr-mappings") + #:phases + (modify-phases %standard-phases + ;; If users install ntfs-3g, they probably want to make it the + ;; default driver as well, so we opt for sensible defaults and link + ;; mount.ntfs to mount.ntfs-3g. (libmount tries to run mount.ntfs to + ;; mount NTFS filesystems.) + (add-after 'install 'install-link + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (sbin (string-append out "/sbin"))) + (symlink "mount.ntfs-3g" + (string-append sbin "/mount.ntfs")))))))) (home-page "https://www.tuxera.com/community/open-source-ntfs-3g/") (synopsis "Read-write access to NTFS file systems") (description diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index aac042027b..09d2780ced 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -556,7 +556,16 @@ problems in numerical linear algebra.") ("fortran" ,gfortran) ("lapack" ,lapack))) ;for testing only (arguments - `(#:configure-flags `("-DBUILD_SHARED_LIBS:BOOL=YES"))) + `(#:configure-flags `("-DBUILD_SHARED_LIBS:BOOL=YES") + #:phases (modify-phases %standard-phases + (add-before 'check 'set-test-environment + (lambda _ + ;; By default, running the test suite would fail because + ;; 'ssh' could not be found in $PATH. Define this + ;; variable to placate Open MPI without adding a + ;; dependency on OpenSSH (the agent isn't used anyway.) + (setenv "OMPI_MCA_plm_rsh_agent" (which "cat")) + #t))))) (home-page "http://www.netlib.org/scalapack/") (synopsis "Library for scalable numerical linear algebra") (description @@ -1793,6 +1802,18 @@ arising after the discretization of partial differential equations.") (define-public slepc-openmpi (package (inherit slepc) (name "slepc-openmpi") + (arguments + (substitute-keyword-arguments (package-arguments slepc) + ((#:phases phases '%standard-phases) + `(modify-phases ,phases + (add-before 'check 'set-test-environment + (lambda _ + ;; By default, running the test suite would fail because 'ssh' + ;; could not be found in $PATH. Define this variable to + ;; placate Open MPI without adding a dependency on OpenSSH (the + ;; agent isn't used anyway.) + (setenv "OMPI_MCA_plm_rsh_agent" (which "cat")) + #t)))))) (inputs `(("mpi" ,openmpi) ("arpack" ,arpack-ng-openmpi) @@ -1962,11 +1983,18 @@ sparse system of linear equations A x = b using Guassian elimination.") (substitute-keyword-arguments (package-arguments mumps) ((#:phases phases) `(modify-phases ,phases - (replace - 'check - (lambda _ - ((assoc-ref ,phases 'check) - #:exec-prefix '("mpirun" "-n" "2")))))))) + (add-before 'check 'set-test-environment + (lambda _ + ;; By default, running the test suite would fail because 'ssh' + ;; could not be found in $PATH. Define this variable to + ;; placate Open MPI without adding a dependency on OpenSSH (the + ;; agent isn't used anyway.) + (setenv "OMPI_MCA_plm_rsh_agent" (which "cat")) + #t)) + (replace 'check + (lambda _ + ((assoc-ref ,phases 'check) + #:exec-prefix '("mpirun" "-n" "2")))))))) (synopsis "Multifrontal sparse direct solver (with MPI)"))) (define-public mumps-metis-openmpi @@ -2117,35 +2145,34 @@ also provides threshold-based ILU factorization preconditioners.") (define-public superlu-dist (package (name "superlu-dist") - (version "3.3") + (version "5.3.0") (source (origin (method url-fetch) (uri (string-append "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/" "superlu_dist_" version ".tar.gz")) (sha256 - (base32 "1hnak09yxxp026blq8zhrl7685yip16svwngh1wysqxf8z48vzfj")) - (modules '((guix build utils))) + (base32 "0ja5ihqivkda1wd58y4lmzvmwssm9g91f70c5q0fzwhng6580h6y")) + (modules '((guix build utils))) (snippet ;; Replace the non-free implementation of MC64 with a stub '(begin (use-modules (ice-9 regex) (ice-9 rdelim)) - (call-with-output-file "SRC/mc64ad.c" + (call-with-output-file "SRC/mc64ad_dist.c" (lambda (port) (display " #include <stdio.h> #include <stdlib.h> -void mc64id_(int *a) { +void mc64id_dist(int *a) { fprintf (stderr, \"SuperLU_DIST: non-free MC64 not available. Aborting.\\n\"); abort (); } -void mc64ad_ (int *a, int *b, int *c, int *d, int *e, double *f, int *g, +void mc64ad_dist (int *a, int *b, int *c, int *d, int *e, double *f, int *g, int *h, int *i, int *j, int *k, double *l, int *m, int *n) { fprintf (stderr, \"SuperLU_DIST: non-free MC64 not available. Aborting.\\n\"); abort (); }\n" port))) - (delete-file "SRC/mc64ad.f.bak") (substitute* "SRC/util.c" ;adjust default algorithm (("RowPerm[[:blank:]]*=[[:blank:]]*LargeDiag") "RowPerm = NOROWPERM")) @@ -2211,6 +2238,11 @@ CDEFS = -DAdd_" #t)) (replace 'check (lambda _ + ;; By default, running the test suite would fail because 'ssh' + ;; could not be found in $PATH. Define this variable to placate + ;; Open MPI without adding a dependency on OpenSSH (the agent + ;; isn't used anyway.) + (setenv "OMPI_MCA_plm_rsh_agent" (which "cat")) (with-directory-excursion "EXAMPLE" (and (zero? (system* "mpirun" "-n" "2" @@ -2305,6 +2337,12 @@ YACC = bison -pscotchyy -y -b y (add-after 'build 'build-esmumps (lambda _ + ;; By default, running the test suite would fail because 'ssh' + ;; could not be found in $PATH. Define this variable to placate + ;; Open MPI without adding a dependency on OpenSSH (the agent + ;; isn't used anyway.) + (setenv "OMPI_MCA_plm_rsh_agent" (which "cat")) + (zero? (system* "make" (format #f "-j~a" (parallel-job-count)) "esmumps")))) @@ -2484,7 +2522,16 @@ schemes.") " -lopenblas") ,(string-append "LAPACK_LIBS=-L" (assoc-ref %build-inputs "lapack") - " -llapack")))) + " -llapack")) + #:phases (modify-phases %standard-phases + (add-before 'check 'set-test-environment + (lambda _ + ;; By default, running the test suite would fail because + ;; 'ssh' could not be found in $PATH. Define this + ;; variable to placate Open MPI without adding a + ;; dependency on OpenSSH (the agent isn't used anyway.) + (setenv "OMPI_MCA_plm_rsh_agent" (which "cat")) + #t))))) (home-page "http://www.p4est.org") (synopsis "Adaptive mesh refinement on forests of octrees") (description @@ -3547,7 +3594,17 @@ problems.") (substitute-keyword-arguments (package-arguments hypre) ((#:configure-flags flags) ``("--with-MPI" - ,@(delete "--without-MPI" ,flags))))) + ,@(delete "--without-MPI" ,flags))) + ((#:phases phases) + `(modify-phases ,phases + (add-before 'check 'set-test-environment + (lambda _ + ;; By default, running the test suite would fail because 'ssh' + ;; could not be found in $PATH. Define this variable to + ;; placate Open MPI without adding a dependency on OpenSSH (the + ;; agent isn't used anyway.) + (setenv "OMPI_MCA_plm_rsh_agent" (which "cat")) + #t)))))) (synopsis "Parallel solvers and preconditioners for linear equations") (description "HYPRE is a software library of high performance preconditioners and diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index 5dfb26ae75..f34b08e4ca 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -153,7 +153,7 @@ bind processes, and much more.") (define-public openmpi (package (name "openmpi") - (version "1.10.7") + (version "3.0.1") (source (origin (method url-fetch) @@ -162,16 +162,20 @@ bind processes, and much more.") "/downloads/openmpi-" version ".tar.bz2")) (sha256 (base32 - "142s1vny9gllkq336yafxayjgcirj2jv0ddabj879jgya7hyr2d0")))) + "0pbqrm5faf57nasy1s81wqivl7zvxmv8lzjh8hvb0f3qxv8m0d36")))) (build-system gnu-build-system) (inputs `(("hwloc" ,hwloc "lib") ("gfortran" ,gfortran) ("libfabric" ,libfabric) - ,@(match (%current-system) - ((member (package-supported-systems psm)) - `(("psm" ,psm))) - (_ `())) + ,@(if (and (not (%current-target-system)) + (member (%current-system) (package-supported-systems psm))) + `(("psm" ,psm)) + '()) + ,@(if (and (not (%current-target-system)) + (member (%current-system) (package-supported-systems psm2))) + `(("psm2" ,psm2)) + '()) ("rdma-core" ,rdma-core) ("valgrind" ,valgrind))) (native-inputs @@ -205,8 +209,8 @@ bind processes, and much more.") (("_ABSOLUTE") "")) ;; Avoid valgrind (which pulls in gdb etc.). (substitute* - '("./ompi/mca/io/romio/src/io_romio_component.c") - (("MCA_io_romio_COMPLETE_CONFIGURE_FLAGS") + '("./ompi/mca/io/romio314/src/io_romio314_component.c") + (("MCA_io_romio314_COMPLETE_CONFIGURE_FLAGS") "\"[elided to reduce closure]\"")) #t)) (add-before 'build 'scrub-timestamps ;reproducibility diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index ab6185668d..251816d13f 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -502,7 +502,7 @@ and up to 1 Mbit/s downstream.") (define-public whois (package (name "whois") - (version "5.3.0") + (version "5.3.1") (source (origin (method url-fetch) @@ -510,7 +510,7 @@ and up to 1 Mbit/s downstream.") name "_" version ".tar.xz")) (sha256 (base32 - "08sp2gzv09rar1a5mnfmbc24pqvhpqqmz2hnmv436n7v7d09qy2d")))) + "0gl98l26dcgmlap0pxllbv4b9n2fr5b7zml3ijf8sf3a60qsskpg")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no test suite @@ -524,8 +524,7 @@ and up to 1 Mbit/s downstream.") (setenv "HAVE_ICONV" "1") #t))))) (inputs - ;; TODO: Switch to libidn2 when >= 2.0.3 is ungrafted in master. - `(("libidn" ,libidn))) + `(("libidn2" ,libidn2))) (native-inputs `(("gettext" ,gettext-minimal) ("perl" ,perl) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 8ebae2e4b7..4868baa928 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -25,6 +25,7 @@ ;;; Copyright © 2017 Mark Meyer <mark@ofosos.org> ;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org> ;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -2090,6 +2091,9 @@ users' sessions over extended periods of time.") library for Python") (license license:asl2.0))) +(define-public python2-oauth2client + (package-with-python2 python-oauth2client)) + (define-public python-flask-oidc (package (name "python-flask-oidc") @@ -2620,3 +2624,30 @@ name resolutions asynchronously.") (description "@code{yarl} module provides handy @code{URL} class for URL parsing and changing.") (license license:asl2.0))) + +(define-public python-google-api-client + (package + (name "python-google-api-client") + (version "1.6.7") + (source + (origin + (method url-fetch) + (uri (pypi-uri "google-api-python-client" version)) + (sha256 + (base32 + "1wpbbbxfpy9mwxdy3kn352cb590ladv574j1aa2l4grjdqw3ln05")))) + (build-system python-build-system) + (arguments + '(#:tests? #f)) ; tests require internet access + (native-inputs + `(("python-httplib2" ,python-httplib2) + ("python-six" ,python-six) + ("python-oauth2client" ,python-oauth2client) + ("python-uritemplate" ,python-uritemplate))) + (home-page "https://github.com/google/google-api-python-client") + (synopsis "Core Python library for accessing Google APIs") + (description "Python client library for Google's discovery based APIs") + (license license:asl2.0))) + +(define-public python2-google-api-client + (package-with-python2 python-google-api-client)) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 601e6534ab..86ddb4c6df 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -38,7 +38,7 @@ ;;; Copyright © 2017 Frederick M. Muriithi <fredmanglis@gmail.com> ;;; Copyright © 2017, 2018 Adriano Peluso <catonano@gmail.com> ;;; Copyright © 2017 Ben Sturmfels <ben@sturm.com.au> -;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> +;;; Copyright © 2017, 2018 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.org> ;;; Copyright © 2017 Roel Janssen <roel@gnu.org> ;;; Copyright © 2017, 2018 Kei Kebreau <kkebreau@posteo.net> @@ -13462,3 +13462,133 @@ Glob2 currently based on the glob code from Python 3.3.1.") (define-public python2-glob2 (package-with-python2 python-glob2)) + +(define-public python-gipc + (package + (name "python-gipc") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "gipc" version ".zip")) + (sha256 + (base32 + "0pd9by719qh882hqs6xpby61sn1x5h98hms5p2p8yqnycrf1s0h2")))) + (build-system python-build-system) + (native-inputs + `(("unzip" ,unzip))) + (propagated-inputs + `(("python-gevent" ,python-gevent))) + (home-page "http://gehrcke.de/gipc") + (synopsis "Child process management in the context of gevent") + (description "Usage of Python's multiprocessing package in a +gevent-powered application may raise problems. With @code{gipc}, +process-based child processes can safely be created anywhere within a +gevent-powered application.") + (license license:expat))) + +(define-public python2-gipc + (package-with-python2 python-gipc)) + +(define-public python-fusepy + (package + (name "python-fusepy") + (version "2.0.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "fusepy" version)) + (sha256 + (base32 + "0v5grm4zyf58hsplwsxfbihddw95lz9w8cy3rpzbyha287swgx8h")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'build 'set-library-file-name + (lambda* (#:key inputs #:allow-other-keys) + (let ((fuse (assoc-ref inputs "fuse"))) + (substitute* "fuse.py" + (("find_library\\('fuse'\\)") + (string-append "'" fuse "/lib/libfuse.so'"))) + #t)))))) + (propagated-inputs + `(("fuse" ,fuse))) + (home-page "https://github.com/fusepy/fusepy") + (synopsis "Simple ctypes bindings for FUSE") + (description "Python module that provides a simple interface to FUSE and +MacFUSE. The binding is created using the standard @code{ctypes} library.") + (license license:isc))) + +(define-public python2-fusepy + (package-with-python2 python-fusepy)) + +(define-public python2-gdrivefs + (package + (name "python2-gdrivefs") + (version "0.14.9") + (source + (origin + (method url-fetch) + (uri (pypi-uri "gdrivefs" version)) + (sha256 + (base32 + "0v9sp2cfg4ki3wagkwf3rnfpjhvgf845anz3757il9z95yvvcvb7")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2 + #:phases + (modify-phases %standard-phases + (add-before 'build 'patch-setup-py + (lambda _ + ;; Update requirements from dependency==version + ;; to dependency>=version + (substitute* "gdrivefs/resources/requirements.txt" + (("==") ">=")) + #t))))) + (native-inputs + `(("python2-gipc" ,python2-gipc) + ("python2-gevent" ,python2-gevent) + ("python2-greenlet" ,python2-greenlet) + ("python2-httplib2" ,python2-httplib2) + ("python2-uritemplate" ,python2-uritemplate) + ("python2-oauth2client" ,python2-oauth2client) + ("python2-six" ,python2-six))) + (propagated-inputs + `(("python2-dateutil" ,python2-dateutil) + ("python2-fusepy" ,python2-fusepy) + ("python2-google-api-client" ,python2-google-api-client))) + (home-page "https://github.com/dsoprea/GDriveFS") + (synopsis "Mount Google Drive as a local file system") + (description "@code{gdrivefs} provides a FUSE wrapper for Google Drive +under Python 2.7.") + (license license:gpl2))) + +(define-public pybind11 + (package + (name "pybind11") + (version "2.2.3") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/pybind/pybind11/archive/v" + version ".tar.gz")) + (sha256 + (base32 + "1sj0x4fwsbnwdai5sxpw1l1vh8m5hpbkfk3zanxcbcgs39jpnfrs")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system cmake-build-system) + (native-inputs + `(("python" ,python) + ("python-pytest" ,python-pytest))) + (arguments + `(#:test-target "check")) + (home-page "https://github.com/pybind/pybind11/") + (synopsis "Seamless operability between C++11 and Python") + (description "pybind11 is a lightweight header-only library that exposes +C++ types in Python and vice versa, mainly to create Python bindings of +existing C++ code. Its goals and syntax are similar to the excellent +Boost.Python library by David Abrahams: to minimize boilerplate code in +traditional extension modules by inferring type information using compile-time +introspection.") + (license license:expat))) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 6c6e91a2fb..51d4f6c040 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -138,7 +138,7 @@ (home-page "https://www.rust-lang.org") (synopsis "Prebuilt rust compiler and cargo package manager") (description "This package provides a pre-built @command{rustc} compiler -and a pre-built @command{cargo} package manaer, which can +and a pre-built @command{cargo} package manager, which can in turn be used to build the final Rust.") (license license:asl2.0))) @@ -272,8 +272,8 @@ safety and thread safety guarantees.") (package-native-inputs base-rust)))))) (define-public mrustc - (let ((commit "ee65f12f4aeb27238c8a2fc07fbe84eceafdde26") - (revision "2") + (let ((commit "b5b70897015ee70d62ddda9711c256ca7c720e0f") + (revision "3") (rustc-version "1.19.0")) (package (name "mrustc") @@ -286,7 +286,7 @@ safety and thread safety guarantees.") (file-name (git-file-name name version)) (sha256 (base32 - "0rdjzxfwhrpzf44afpm0i7b8fiqvriccn93z22sys8pxw22pkp0d")))) + "1d6jr6agiy598ab8lax0h9dfn9n67wg906y1f46l1c27sz3w82lb")))) (outputs '("out" "cargo")) (build-system gnu-build-system) (inputs diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index c194249596..37576ee9f6 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -150,14 +150,14 @@ anywhere.") (define-public samba (package (name "samba") - (version "4.8.1") + (version "4.8.2") (source (origin (method url-fetch) (uri (string-append "https://download.samba.org/pub/samba/stable/" "samba-" version ".tar.gz")) (sha256 (base32 - "17bqgxyv34hjnb4hfamag75gwhqipp6mpvba5xg7lszi0xskdxwf")))) + "08mz29jmjxqvyyhm6pa388paagw1i2i21lc7pd2aprj9dllm5rb2")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm index 02deb5c4ae..5c8539d561 100644 --- a/gnu/packages/search.scm +++ b/gnu/packages/search.scm @@ -32,12 +32,14 @@ #:use-module (gnu packages compression) #:use-module (gnu packages check) #:use-module (gnu packages databases) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages linux) #:use-module (gnu packages perl) #:use-module (gnu packages pdf) #:use-module (gnu packages python) #:use-module (gnu packages python-web) #:use-module (gnu packages web) + #:use-module (gnu packages xdisorg) #:use-module (gnu packages xml)) (define-public xapian @@ -326,27 +328,52 @@ search the generated indexes.") "0ykz6hn3qj46w3c99d6q0pi5ncq2894simcl7vapv047zm3cylmd")))) (build-system python-build-system) (propagated-inputs - `(("python-urwid" ,python-urwid))) - (inputs `(("poppler" ,poppler) - ("python" ,python) - ("python-latexcodec" ,python-latexcodec) + ("python-urwid" ,python-urwid) + ("xclip" ,xclip) + ("xdg-utils" ,xdg-utils))) + (inputs + `(("python-latexcodec" ,python-latexcodec) ("python-pybtex" ,python-pybtex) ("python-pycurl" ,python-pycurl) ("python-pyyaml" ,python-pyyaml) ("python-six" ,python-six) ("python-xapian-bindings" ,python-xapian-bindings))) (arguments - `(#:phases + `(#:modules ((ice-9 rdelim) + (guix build python-build-system) + (guix build utils)) + #:phases (modify-phases %standard-phases (add-after 'install 'install-doc (lambda* (#:key inputs outputs #:allow-other-keys) + (define (purge-term-support input output) + (let loop ((line (read-line input))) + (if (string-prefix? "if [[ \"$term\"" line) + (begin (display "eval \"$cmd\"\n" output) + #t) + (begin (display (string-append line "\n") output) + (loop (read-line input)))))) (let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin")) + (adder-out (string-append bin "/xapers-adder")) (man1 (string-append out "/share/man/man1"))) (install-file "man/man1/xapers.1" man1) (install-file "man/man1/xapers-adder.1" man1) - (install-file "bin/xapers-adder" bin))))))) + ;; below is equivalent to setting --no-term option + ;; permanently on; this is desirable to avoid imposing + ;; an x-terminal installation on the user but breaks + ;; some potential xapers-adder uses like auto browser + ;; pdf handler, but user could instead still use + ;; e.g. "xterm -e xapers-adder %F" for same use. + ;; alternatively we could propagate xterm as an input + ;; and replace 'x-terminal-emulator' with 'xterm' + (call-with-input-file "bin/xapers-adder" + (lambda (input) + (call-with-output-file adder-out + (lambda (output) + (purge-term-support input output))))) + (chmod adder-out #o555))))))) (home-page "https://finestructure.net/xapers/") (synopsis "Personal document indexing system") (description diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 9039c1204c..d95b041843 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -61,6 +61,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages readline) #:use-module (gnu packages ssh) + #:use-module (gnu packages tcl) #:use-module (gnu packages texinfo) #:use-module (gnu packages time) #:use-module (gnu packages tls) @@ -216,7 +217,7 @@ as.POSIXct(if (\"\" != Sys.getenv(\"SOURCE_DATE_EPOCH\")) {\ (add-after 'build 'install-info (lambda _ (zero? (system* "make" "install-info"))))) #:configure-flags - '(;; Do not build the recommended packages. The build system creates + `(;; Do not build the recommended packages. The build system creates ;; random temporary directories and embeds their names in some ;; package files. We build these packages with the r-build-system ;; instead. @@ -227,6 +228,13 @@ as.POSIXct(if (\"\" != Sys.getenv(\"SOURCE_DATE_EPOCH\")) {\ "--with-jpeglib" "--with-libtiff" "--with-ICU" + "--with-tcltk" + ,(string-append "--with-tcl-config=" + (assoc-ref %build-inputs "tcl") + "/lib/tclConfig.sh") + ,(string-append "--with-tk-config=" + (assoc-ref %build-inputs "tk") + "/lib/tkConfig.sh") "--enable-R-shlib" "--enable-BLAS-shlib" "--with-system-tre"))) @@ -265,6 +273,8 @@ as.POSIXct(if (\"\" != Sys.getenv(\"SOURCE_DATE_EPOCH\")) {\ ;; This avoids a reference to the ungraftable static bash. R uses the ;; detected shell for the "system" procedure. ("bash" ,bash-minimal) + ("tcl" ,tcl) + ("tk" ,tk) ("which" ,which) ("zlib" ,zlib))) (native-search-paths diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 7f1f6ef72b..618b1a15f7 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2016, 2017, 2018 Nils Gillmann <ng0@n0.is> ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; @@ -115,7 +115,7 @@ in intelligent transportation networks.") (define-public p11-kit (package (name "p11-kit") - (version "0.23.10") + (version "0.23.11") (source (origin (method url-fetch) @@ -123,7 +123,7 @@ in intelligent transportation networks.") "download/" version "/p11-kit-" version ".tar.gz")) (sha256 (base32 - "0hxfwnyb5yllvlsh0cj6favcph36gm94b6df7zhl7xay48zjl8gr")))) + "0asaxbypvns5xf9hb5jy0kijz0b3hp1s8likhywmry3klpdchhxj")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -131,7 +131,17 @@ in intelligent transportation networks.") `(("libffi" ,libffi) ("libtasn1" ,libtasn1))) (arguments - `(#:configure-flags '("--without-trust-paths"))) + `(#:configure-flags '("--without-trust-paths") + #:phases (modify-phases %standard-phases + (add-before 'check 'prepare-tests + (lambda _ + ;; "test-runtime" expects XDG_RUNTIME_DIR to be set up + ;; and looks for .cache and other directories (only). + ;; For simplicity just drop it since it is irrelevant + ;; in the build container. + (substitute* "Makefile" + (("test-runtime\\$\\(EXEEXT\\)") "")) + #t))))) (home-page "https://p11-glue.freedesktop.org/p11-kit.html") (synopsis "PKCS#11 library") (description diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 52003ce856..32b3257dc9 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -379,7 +379,7 @@ and creating Matroska files from other media files (@code{mkvmerge}).") (define-public x265 (package (name "x265") - (version "2.7") + (version "2.8") (source (origin (method url-fetch) @@ -387,7 +387,7 @@ and creating Matroska files from other media files (@code{mkvmerge}).") "x265_" version ".tar.gz")) (sha256 (base32 - "18llni1m8kfvdwy5bp950z6gyd0nijmvi3hzd6gd8vpy5yk5zrym")) + "0qx8mavwdzdpkkby7n29i9av7zsnklavacwfz537mf62q2pzjnbf")) (modules '((guix build utils))) (snippet '(begin (delete-file-recursively "source/compat/getopt") @@ -2195,7 +2195,7 @@ Content System specification.") (define-public mps-youtube (package (name "mps-youtube") - (version "0.2.7.1") + (version "0.2.8") (source (origin (method url-fetch) @@ -2204,7 +2204,7 @@ Content System specification.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1s7h35yx6f0szf8mm8612ic913w3v05m2kwphjfcxnpq0ammhyci")))) + "0x7cmfh199q9j396v7bz81nnvanfllhsg86489i5dw2p3yyc9wnm")))) (build-system python-build-system) (arguments ;; Tests need to be disabled until #556 upstream is fixed. It reads as if the diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index c96f8699d0..83c74d6e31 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -223,7 +223,7 @@ integrate Windows applications into your desktop.") (define-public wine-staging-patchset-data (package (name "wine-staging-patchset-data") - (version "3.8") + (version "3.9") (source (origin (method url-fetch) @@ -232,7 +232,7 @@ integrate Windows applications into your desktop.") (file-name (string-append name "-" version ".zip")) (sha256 (base32 - "1z1a9zlhcglyzfxdilrsz558qpn69b4mzp086s364jqgzj930sja")))) + "0akccqrp1ymjrra2c99f6hxlaa77jyihfs3q8x93vkgb9c0lq5xx")))) (build-system trivial-build-system) (native-inputs `(("bash" ,bash) @@ -279,7 +279,7 @@ integrate Windows applications into your desktop.") (file-name (string-append name "-" version ".tar.xz")) (sha256 (base32 - "0l8dqb8r72i6n7yh2bmx738i8ss0lmsj07hvgrqsnfwbjin0rc02")))) + "0ddphvlp9lsjyqc6zckinc36bggpkg925v0x2vqr8nkdjs0w5bfc")))) (inputs `(("autoconf" ,autoconf) ; for autoreconf ("gtk+" ,gtk+) ("libva" ,libva) diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index a9af7246f5..1e8c02c02a 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2017 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2017 Nils Gillmann <ng0@n0.is> ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -828,7 +829,8 @@ rules." gnome-polkit-settings) (service-extension profile-service-type (compose list - gnome-package)))))) + gnome-package)))) + (description "Run the GNOME desktop environment."))) (define* (gnome-desktop-service #:key (config (gnome-desktop-configuration))) "Return a service that adds the @code{gnome} package to the system profile, @@ -854,7 +856,8 @@ and extends polkit with the actions from @code{gnome-settings-daemon}." mate-package)) (service-extension profile-service-type (compose list - mate-package)))))) + mate-package)))) + (description "Run the MATE desktop environment."))) (define* (mate-desktop-service #:key (config (mate-desktop-configuration))) "Return a service that adds the @code{mate} package to the system profile, diff --git a/guix/http-client.scm b/guix/http-client.scm index e8a2a23fc5..3b34d4ffba 100644 --- a/guix/http-client.scm +++ b/guix/http-client.scm @@ -114,7 +114,7 @@ Raise an '&http-get-error' condition if downloading fails." 308) ; permanent redirection (let ((uri (resolve-uri-reference (response-location resp) uri))) (close-port port) - (format #t (G_ "following redirection to `~a'...~%") + (format (current-error-port) (G_ "following redirection to `~a'...~%") (uri->string uri)) (loop uri))) (else |