diff options
Diffstat (limited to 'gnu')
82 files changed, 2470 insertions, 1088 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index ea066aa718..612304bad9 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -18,6 +18,7 @@ # Copyright © 2017, 2018 Gábor Boskovits <boskovits@gmail.com> # Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net> # Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> +# Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com> # # This file is part of GNU Guix. # @@ -403,6 +404,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/sssd.scm \ %D%/packages/stalonetray.scm \ %D%/packages/statistics.scm \ + %D%/packages/stb.scm \ %D%/packages/storage.scm \ %D%/packages/suckless.scm \ %D%/packages/swig.scm \ @@ -671,13 +673,10 @@ dist_patch_DATA = \ %D%/packages/patches/fcgi-2.4.0-poll.patch \ %D%/packages/patches/fifo-map-fix-flags-for-gcc.patch \ %D%/packages/patches/fifo-map-remove-catch.hpp.patch \ - %D%/packages/patches/file-CVE-2017-1000249.patch \ %D%/packages/patches/findutils-localstatedir.patch \ %D%/packages/patches/findutils-test-xargs.patch \ %D%/packages/patches/flann-cmake-3.11.patch \ %D%/packages/patches/flint-ldconfig.patch \ - %D%/packages/patches/fltk-shared-lib-defines.patch \ - %D%/packages/patches/fltk-xfont-on-demand.patch \ %D%/packages/patches/foomatic-filters-CVE-2015-8327.patch \ %D%/packages/patches/foomatic-filters-CVE-2015-8560.patch \ %D%/packages/patches/freeimage-CVE-2015-0852.patch \ @@ -716,6 +715,7 @@ dist_patch_DATA = \ %D%/packages/patches/geoclue-config.patch \ %D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \ %D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch \ + %D%/packages/patches/ghostscript-CVE-2018-10194.patch \ %D%/packages/patches/ghostscript-no-header-id.patch \ %D%/packages/patches/ghostscript-no-header-uuid.patch \ %D%/packages/patches/ghostscript-no-header-creationdate.patch \ @@ -942,6 +942,7 @@ dist_patch_DATA = \ %D%/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch \ %D%/packages/patches/mpc123-initialize-ao.patch \ %D%/packages/patches/module-init-tools-moduledir.patch \ + %D%/packages/patches/monero-use-system-miniupnpc.patch \ %D%/packages/patches/mongodb-support-unknown-linux-distributions.patch \ %D%/packages/patches/mozjs17-aarch64-support.patch \ %D%/packages/patches/mozjs24-aarch64-support.patch \ @@ -979,6 +980,7 @@ dist_patch_DATA = \ %D%/packages/patches/ocaml-graph-honor-source-date-epoch.patch \ %D%/packages/patches/omake-fix-non-determinism.patch \ %D%/packages/patches/ola-readdir-r.patch \ + %D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch \ %D%/packages/patches/opencascade-oce-glibc-2.26.patch \ %D%/packages/patches/openblas-fix-tests-i686.patch \ %D%/packages/patches/openexr-missing-samples.patch \ @@ -1060,6 +1062,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-3-search-paths.patch \ %D%/packages/patches/python-3-fix-tests.patch \ %D%/packages/patches/python-axolotl-AES-fix.patch \ + %D%/packages/patches/python-cairocffi-dlopen-path.patch \ %D%/packages/patches/python-dendropy-fix-tests.patch \ %D%/packages/patches/python-fix-tests.patch \ %D%/packages/patches/python-genshi-add-support-for-python-3.4-AST.patch \ @@ -1136,7 +1139,6 @@ dist_patch_DATA = \ %D%/packages/patches/superlu-dist-scotchmetis.patch \ %D%/packages/patches/swish-e-search.patch \ %D%/packages/patches/swish-e-format-security.patch \ - %D%/packages/patches/syncthing-fix-crash.patch \ %D%/packages/patches/synfigstudio-fix-ui-with-gtk3.patch \ %D%/packages/patches/t1lib-CVE-2010-2642.patch \ %D%/packages/patches/t1lib-CVE-2011-0764.patch \ @@ -1162,6 +1164,7 @@ dist_patch_DATA = \ %D%/packages/patches/tophat-build-with-later-seqan.patch \ %D%/packages/patches/totem-meson-easy-codec.patch \ %D%/packages/patches/tuxpaint-stamps-path.patch \ + %D%/packages/patches/twinkle-include-qregexpvalidator.patch \ %D%/packages/patches/unrtf-CVE-2016-10091.patch \ %D%/packages/patches/unzip-CVE-2014-8139.patch \ %D%/packages/patches/unzip-CVE-2014-8140.patch \ @@ -1230,6 +1233,7 @@ dist_patch_DATA = \ %D%/packages/patches/xinetd-fix-fd-leak.patch \ %D%/packages/patches/xinetd-CVE-2013-4342.patch \ %D%/packages/patches/xmodmap-asprintf.patch \ + %D%/packages/patches/xorg-server-rotate-fb.patch \ %D%/packages/patches/zathura-pdf-mupdf-link-to-jpeg-libraries.patch \ %D%/packages/patches/zathura-plugindir-environment-variable.patch \ %D%/packages/patches/zstd-fix-stdin-list-without-tty.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index e80436e95c..29651f7c48 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -46,6 +46,7 @@ #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system meson) #:use-module (guix build-system perl) #:use-module (guix build-system python) #:use-module (guix build-system trivial) @@ -2740,3 +2741,30 @@ support forum. It runs with the @code{/exec} command in most IRC clients.") ;; perl-xml-dumper ;; ipmitool ,@(package-inputs inxi-minimal))))) + +(define-public pscircle + (package + (name "pscircle") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://gitlab.com/mildlyparallel/pscircle/-/archive/v" + version "/pscircle-v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1k757yf2bmgfrjd417l6kpcf83hlvi0z1791vz967mwcklrsb3fj")))) + (build-system meson-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("cairo" ,cairo) + ("libpng" ,libpng) + ("libx11" ,libx11))) + (home-page "https://gitlab.com/mildlyparallel/pscircle") + (synopsis "Visualize Linux processes in a form of radial tree") + (description + "@code{pscircle} visualizes Linux processes in the form of a radial tree.") + (license license:gpl2+))) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index d03b675f3a..c889433b41 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -139,7 +139,7 @@ solve the shortest vector problem.") (define-public pari-gp (package (name "pari-gp") - (version "2.9.4") + (version "2.11.0") (source (origin (method url-fetch) (uri (string-append @@ -147,7 +147,7 @@ solve the shortest vector problem.") version ".tar.gz")) (sha256 (base32 - "0ir6m3a8r46md5x6zk4xf159qra7aqparby9zk03k81hjrrxr72g")))) + "18f9yj8ffn3dxignbxj1x36771zbxy4js0r18mv6831ymb6cld9q")))) (build-system gnu-build-system) (native-inputs `(("texlive" ,texlive-tiny))) (inputs `(("gmp" ,gmp) @@ -179,7 +179,7 @@ PARI is also available as a C library to allow for faster computations.") (define-public gp2c (package (name "gp2c") - (version "0.0.10") + (version "0.0.11") (source (origin (method url-fetch) (uri (string-append @@ -187,7 +187,7 @@ PARI is also available as a C library to allow for faster computations.") version ".tar.gz")) (sha256 (base32 - "1xhpz5p81iw261ay1kip283ggr0ir8ydz8qx3v24z8jfms1r3y70")))) + "1z69xj2dpd8yyi8108rz26c50xpv0k2j8qnk0bzy1c5lw3pd1adm")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) (inputs `(("pari-gp" ,pari-gp))) @@ -315,7 +315,7 @@ fast arithmetic.") (define-public arb (package (name "arb") - (version "2.13.0") + (version "2.14.0") (source (origin (method url-fetch) (uri (string-append @@ -324,7 +324,7 @@ fast arithmetic.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "123p3gwx0s3i88rcaj3g4jl37cr3pywhpqackipskzab15ni2xfh")))) + "0ncr27nd20xxi18nj30cvpa6r52v59nq7gbi34x3l4xym3p8mlmx")))) (build-system gnu-build-system) (propagated-inputs `(("flint" ,flint))) ; flint.h is included by arf.h @@ -342,19 +342,18 @@ fast arithmetic.") (mpfr (assoc-ref inputs "mpfr"))) ;; do not pass "--enable-fast-install", which makes the ;; homebrew configure process fail - (zero? (system* - "./configure" + (invoke "./configure" (string-append "--prefix=" out) (string-append "--with-flint=" flint) (string-append "--with-gmp=" gmp) - (string-append "--with-mpfr=" mpfr))))))))) + (string-append "--with-mpfr=" mpfr)))))))) (synopsis "Arbitrary precision floating-point ball arithmetic") (description "Arb is a C library for arbitrary-precision floating-point ball arithmetic. It supports efficient high-precision computation with polynomials, power series, matrices and special functions over the real and complex numbers, with automatic, rigorous error control.") - (license license:gpl2+) + (license license:lgpl2.1+) (home-page "http://fredrikj.net/arb/"))) (define-public ntl diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index 1e2149cd2c..993dc560eb 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -27,6 +27,7 @@ #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (guix licenses) + #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages base) #:use-module (gnu packages compression) @@ -49,6 +50,19 @@ (arguments `(#:phases (modify-phases %standard-phases + (add-before 'build 'set-filter-path + (lambda* (#:key outputs #:allow-other-keys) + ;; Change the default value of 'filter-path' so that filters such + ;; as 'tex-filter.so' can be found. By default none of the + ;; filters would be found. + (let* ((out (assoc-ref outputs "out")) + (libdir (string-append out "/lib/aspell-" + ,(version-major+minor version)))) + (substitute* "common/config.cpp" + (("\"filter-path(.*)DICT_DIR" _ middle) + (string-append "\"filter-path" middle + "\"" libdir "\""))) + #t))) (add-after 'install 'wrap-aspell (lambda* (#:key outputs #:allow-other-keys) (let ((bin/aspell (string-append (assoc-ref outputs "out") @@ -141,10 +155,10 @@ dictionaries, including personal ones.") (define-public aspell-dict-en (aspell-dictionary "en" "English" - #:version "2017.08.24-0" + #:version "2018.04.16-0" #:sha256 (base32 - "0z2vvm1by485cm0sna21cmw6zb771c2l2lnn676zmrwm46q65d89"))) + "0bxxdzkk9g27plg22y9qzsx9cfjw3aa29w5bmzs561qc9gkp247i"))) (define-public aspell-dict-eo (aspell-dictionary "eo" "Esperanto" diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 98f66aae88..58d67f2ebb 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -2505,7 +2505,7 @@ encode and decode wavpack files.") (define-public libmodplug (package (name "libmodplug") - (version "0.8.8.5") + (version "0.8.9.0") (source (origin (method url-fetch) (uri (string-append @@ -2513,7 +2513,7 @@ encode and decode wavpack files.") name "/" version "/" name "-" version ".tar.gz")) (sha256 (base32 - "1bfsladg7h6vnii47dd66f5vh1ir7qv12mfb8n36qiwrxq92sikp")))) + "1pnri98a603xk47smnxr551svbmgbzcw018mq1k6srbrq6kaaz25")))) (build-system gnu-build-system) (home-page "http://modplug-xmms.sourceforge.net/") (synopsis "Mod file playing library") diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index a9d62a5664..ce1e93ef00 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -373,7 +373,7 @@ and will take advantage of multiple processor cores where possible.") (define-public libtorrent-rasterbar (package (name "libtorrent-rasterbar") - (version "1.1.7") + (version "1.1.8") (source (origin (method url-fetch) (uri @@ -383,7 +383,7 @@ and will take advantage of multiple processor cores where possible.") "/libtorrent-rasterbar-" version ".tar.gz")) (sha256 (base32 - "1agkcyjs7xscx4sgkg2ri4nm4v736xsg3br2v8jcrph86dlbycw1")))) + "0pcdy26l5ivcs78y2bqh2qca83ikzjfchw5815xh69qf8g88zgvb")))) (build-system gnu-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 7599f4ac25..792fc4ae2f 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -580,6 +580,9 @@ board-independent tools."))) (define-public u-boot-cubieboard (make-u-boot-package "Cubieboard" "arm-linux-gnueabihf")) +(define-public u-boot-cubietruck + (make-u-boot-package "Cubietruck" "arm-linux-gnueabihf")) + (define-public u-boot-puma-rk3399 (let ((base (make-u-boot-package "puma-rk3399" "aarch64-linux-gnu"))) (package diff --git a/gnu/packages/busybox.scm b/gnu/packages/busybox.scm index 4cdea3a294..480b777574 100644 --- a/gnu/packages/busybox.scm +++ b/gnu/packages/busybox.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 John Darrington <jmd@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> ;;; ;;; This file is part of GNU Guix. @@ -31,7 +31,7 @@ (define-public busybox (package (name "busybox") - (version "1.26.2") + (version "1.29.1") (source (origin (method url-fetch) (uri (string-append @@ -39,11 +39,18 @@ version ".tar.bz2")) (sha256 (base32 - "05mg6rh5smkzfwqfcazkpwy6h6555llsazikqnvwkaf17y8l8gns")))) + "1hqlr5b3bsyb6avadz1z4za6pyl32r1krnpcpwwqilhnx8q0f9gw")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases + (add-before 'configure 'disable-taskset + ;; This feature fails its tests in the build environment, + ;; was default 'n' until after 1.26.2. + (lambda _ + (substitute* "util-linux/taskset.c" + (("default y") "default n")) + #t)) (replace 'configure (lambda _ (invoke "make" "defconfig"))) (replace 'check diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 027a333d67..384fc57317 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -418,7 +418,7 @@ graphical interface.") (define-public libcue (package (name "libcue") - (version "2.2.0") + (version "2.2.1") (source (origin (method url-fetch) (uri (string-append @@ -427,8 +427,10 @@ graphical interface.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0y9808vbly1w6i3diaad9csjmmw6iaw572wjjr68ssqamsw193rj")))) + "000j5xqp7cc7njwlixr9byahz9kn8pcfdgm76afwv4p8nbmw6yzj")))) (build-system cmake-build-system) + (arguments + `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON"))) (native-inputs `(("bison" ,bison) ("flex" ,flex))) diff --git a/gnu/packages/chemistry.scm b/gnu/packages/chemistry.scm index 1a5086d622..2d7cb7aad1 100644 --- a/gnu/packages/chemistry.scm +++ b/gnu/packages/chemistry.scm @@ -21,10 +21,15 @@ #:use-module (guix packages) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix download) + #:use-module (gnu packages) + #:use-module (gnu packages algebra) #:use-module (gnu packages compression) #:use-module (gnu packages gv) #:use-module (gnu packages maths) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages xml) + #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system python)) @@ -198,3 +203,42 @@ neutron scattering spectra, but also computes other quantities. The software is currently not actively maintained and works only with Python 2 and NumPy < 1.9.") (license license:cecill))) + +(define-public openbabel + (package + (name "openbabel") + (version "2.4.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/" name "/" name "/" + version "/" name "-" version ".tar.gz")) + (sha256 + (base32 + "1z3d6xm70dpfikhwdnbzc66j2l49vq105ch041wivrfz5ic3ch90")) + (patches + (search-patches "openbabel-fix-crash-on-nwchem-output.patch")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + (list "-DOPENBABEL_USE_SYSTEM_INCHI=ON" + (string-append "-DINCHI_LIBRARY=" + (assoc-ref %build-inputs "inchi") + "/lib/inchi/libinchi.so.1") + (string-append "-DINCHI_INCLUDE_DIR=" + (assoc-ref %build-inputs "inchi") "/include/inchi")) + #:test-target "test")) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("eigen" ,eigen) + ("inchi" ,inchi) + ("libxml2" ,libxml2) + ("zlib" ,zlib))) + (home-page "http://openbabel.org/wiki/Main_Page") + (synopsis "Chemistry data manipulation toolbox") + (description + "Open Babel is a chemical toolbox designed to speak the many languages of +chemical data. It's a collaborative project allowing anyone to search, convert, +analyze, or store data from molecular modeling, chemistry, solid-state +materials, biochemistry, or related areas.") + (license license:gpl2))) diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index ba95dc174b..85dbefae7a 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016, 2017 Mathieu Lirzin <mthl@gnu.org> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -184,8 +185,8 @@ their dependencies.") (license l:gpl3+)))) (define-public cuirass - (let ((commit "238f856e48ee333ed3e19fa32ce5e1742c650c67") - (revision "16")) + (let ((commit "7b2f9e0de1ad2d320973b7aea132a8afcad8bece") + (revision "17")) (package (name "cuirass") (version (string-append "0.0.1-" revision "." (string-take commit 7))) @@ -197,7 +198,7 @@ their dependencies.") (file-name (string-append name "-" version)) (sha256 (base32 - "15iwdgy561gnsr224rs5z8qn7nrsh1wdlsxr8gwxyk0v4zp6yvbf")))) + "0knww99adgjh8s6f38z3hpwi9hxhmnvqj5g35pcj80xv8j4xj3y3")))) (build-system gnu-build-system) (arguments '(#:modules ((guix build utils) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 0d73886109..2e62cd76ea 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -981,6 +981,43 @@ provides encoder and a decoder libraries: libbrotlienc and libbrotlidec, respectively, based on the reference implementation from Google.") (license license:expat)))) +(define-public bsdiff + (package + (name "bsdiff") + (version "4.3") + (home-page "https://www.daemonology.net/bsdiff/") + (source (origin + (method url-fetch) + (uri (string-append home-page name "-" version ".tar.gz")) + (sha256 + (base32 + "0j2zm3z271x5aw63mwhr3vymzn45p2vvrlrpm9cz2nywna41b0hq")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags (list "INSTALL=install" "CC=gcc" + (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'fix-Makefile + (lambda _ + (substitute* "Makefile" + ;; Adjust syntax to make it compatible with GNU Make. + (("^\\.") "") + ;; Help install(1) create the target directory. + (("\\$\\{PREFIX\\}") "-D -t ${PREFIX}")) + #t))) + #:tests? #f)) ;no tests + (inputs + `(("bzip2" ,bzip2))) + (synopsis "Patch binary files") + (description + "@command{bsdiff} and @command{bspatch} are tools for building and +applying patches to binary files. By using suffix sorting (specifically +Larsson and Sadakane's @code{qsufsort}) and taking advantage of how +executable files change, bsdiff routinely produces binary patches 50-80% +smaller than those produced by @code{Xdelta}.") + (license license:bsd-2))) + (define-public cabextract (package (name "cabextract") diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index dd86843938..730895efd9 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -668,39 +668,32 @@ data on your platform, so the seed itself will be as random as possible. (license (list license:boost1.0 license:public-domain)))) (define-public libb2 - (let ((revision "1") ; upstream doesn't ‘do’ releases - (commit "60ea749837362c226e8501718f505ab138e5c19d")) - (package - (name "libb2") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/BLAKE2/libb2") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "07a2m8basxrsj9dsp5lj24y8jraj85lfy56756a7za1nfkgy04z7")))) - (build-system gnu-build-system) - (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool))) - (arguments - `(#:configure-flags - (list - ,@(if (any (cute string-prefix? <> (or (%current-system) - (%current-target-system))) - '("x86_64" "i686")) - ;; fat only checks for Intel optimisations - '("--enable-fat") - '()) - "--disable-native"))) ;don't optimise at build time - (home-page "https://blake2.net/") - (synopsis "Library implementing the BLAKE2 family of hash functions") - (description - "libb2 is a portable implementation of the BLAKE2 family of cryptographic + (package + (name "libb2") + (version "0.98") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/BLAKE2/libb2/releases/download/v" + version "/libb2-" version ".tar.gz")) + (sha256 + (base32 + "0vq39cvwy05754l565xl11rqr2jvjb6ykjzca886vi9vm71y0sg8")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list + ,@(if (any (cute string-prefix? <> (or (%current-system) + (%current-target-system))) + '("x86_64" "i686")) + ;; fat only checks for Intel optimisations + '("--enable-fat") + '()) + "--disable-native"))) ;don't optimise at build time + (home-page "https://blake2.net/") + (synopsis "Library implementing the BLAKE2 family of hash functions") + (description + "libb2 is a portable implementation of the BLAKE2 family of cryptographic hash functions. It includes optimised implementations for IA-32 and AMD64 processors, and an interface layer that automatically selects the best implementation for the processor it is run on. @@ -709,7 +702,7 @@ implementation for the processor it is run on. that are faster than MD5, SHA-1, SHA-2, and SHA-3, yet are at least as secure as the latest standard, SHA-3. It is an improved version of the SHA-3 finalist BLAKE.") - (license license:public-domain)))) + (license license:public-domain))) (define-public rhash (package @@ -755,14 +748,14 @@ SHA256, SHA512, SHA3, AICH, ED2K, Tiger, DC++ TTH, BitTorrent BTIH, GOST R (define-public botan (package (name "botan") - (version "2.6.0") + (version "2.7.0") (source (origin (method url-fetch) (uri (string-append "https://botan.randombit.net/releases/" "Botan-" version ".tgz")) (sha256 (base32 - "1iawmymmnp5j2mcjj70slivn6bgg8gbpppldc1rjqw5sbdan3wn1")))) + "142aqabwc266jxn8wrp0f1ffrmcvdxwvyh8frb38hx9iaqazjbg4")))) (build-system gnu-build-system) (arguments '(#:phases @@ -797,3 +790,26 @@ specifically designed to be easy to call from other languages. A Python binding using ctypes is included, and several other language bindings are available.") (home-page "https://botan.randombit.net") (license license:bsd-2))) + +(define-public ccrypt + (package + (name "ccrypt") + (version "1.10") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/ccrypt/ccrypt/" + version "/ccrypt-" version ".tar.gz")) + (sha256 + (base32 + "184v9676hx2w875cz04rd3a20wrcms33a1zwybvapb0g2yi6vml7")))) + (build-system gnu-build-system) + (home-page "http://ccrypt.sourceforge.net") + (synopsis "Command-line utility for encrypting and decrypting files and streams") + (description "@command{ccrypt} is a utility for encrypting and decrypting +files and streams. It was designed as a replacement for the standard unix +@command{crypt} utility, which is notorious for using a very weak encryption +algorithm. @command{ccrypt} is based on the Rijndael block cipher, a version of +which is also used in the Advanced Encryption Standard (AES, see +@url{http://www.nist.gov/aes}). This cipher is believed to provide very strong +security.") + (license license:gpl2))) diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index d365587022..04d4e3fadd 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Mark H Weaver <mhw@netris.org> @@ -46,7 +46,9 @@ #:use-module (guix build-system gnu) #:use-module (guix download) #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages)) + #:use-module (guix packages) + #:use-module (guix utils) + #:use-module (srfi srfi-1)) (define-public cups-filters (package @@ -174,6 +176,7 @@ filters for the PDF-centric printing workflow introduced by OpenPrinting.") (define-public cups-minimal (package (name "cups-minimal") + (replacement cups-minimal-2.2.8) (version "2.2.6") (source (origin @@ -234,8 +237,21 @@ describe printer capabilities and features, and a wide variety of generic and device-specific programs to convert and print many types of files.") (license license:gpl2))) +(define-public cups-minimal-2.2.8 + (package + (inherit cups-minimal) + (version "2.2.8") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/apple/cups/releases/download/v" + version "/cups-" version "-source.tar.gz")) + (sha256 + (base32 + "1r7r7b3nqpzc1a9dczqpj2mr8rkcwf01676v11sp4j7w4qfzqs1r")))))) + (define-public cups - (package (inherit cups-minimal) + (package/inherit cups-minimal (name "cups") (arguments `(;; Three tests fail: @@ -506,6 +522,19 @@ device-specific programs to convert and print many types of files.") `(("perl" ,perl) ("pkg-config" ,pkg-config))))) +(define-public hplip-minimal + (package + (inherit hplip) + (name "hplip-minimal") + (arguments + (substitute-keyword-arguments (package-arguments hplip) + ((#:configure-flags cf) + ``(,@(delete "--enable-qt5" ,cf))))) + (inputs + `(,@(fold alist-delete (package-inputs hplip) + '("python-pygobject" "python-pyqt")))) + (synopsis "GUI-less version of hplip"))) + (define-public foomatic-filters (package (name "foomatic-filters") diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 55979834c9..382c74cfd9 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -702,6 +702,7 @@ Language.") as a drop-in replacement of MySQL.") (license license:gpl2))) +;; Don't forget to update the other postgresql packages when upgrading this one. (define-public postgresql (package (name "postgresql") @@ -750,14 +751,14 @@ pictures, sounds, or video.") (package (inherit postgresql) (name "postgresql") - (version "9.6.8") + (version "9.6.9") (source (origin (method url-fetch) (uri (string-append "https://ftp.postgresql.org/pub/source/v" version "/postgresql-" version ".tar.bz2")) (sha256 (base32 - "0w7bwf19wbdd3jjbjv03cnx56qka4801srcbsayk9v792awv7zga")))))) + "0biy8j69dbvdmrag55pdszpc0702agzqhhcwdx21xp02mzim4ydr")))))) (define-public qdbm (package diff --git a/gnu/packages/dav.scm b/gnu/packages/dav.scm index 9d0479b1e1..1a154ea351 100644 --- a/gnu/packages/dav.scm +++ b/gnu/packages/dav.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name> +;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -57,31 +58,32 @@ clients.") (define-public vdirsyncer (package (name "vdirsyncer") - (version "0.16.6") + (version "0.16.7") (source (origin (method url-fetch) (uri (pypi-uri name version)) (sha256 (base32 - "07iqq5c53cfrb5xnmam1rsl683hc3rykmdak896n2gm81r361c66")))) + "1vqjhn2bffy2bx45a1r14crsyn2cylf5by567g44c4mhpjwwz6vc")))) (build-system python-build-system) (arguments - `(#:phases (modify-phases %standard-phases - (replace 'check - (lambda* (#:key inputs outputs #:allow-other-keys) - (add-installed-pythonpath inputs outputs) - (setenv "DETERMINISTIC_TESTS" "true") - (setenv "DAV_SERVER" "radicale") - (setenv "REMOTESTORAGE_SERVER" "skip") - (zero? (system* "make" "test")))) - (add-after 'install 'manpage - (lambda* (#:key inputs outputs #:allow-other-keys) - (zero? (system* "make" "--directory=docs/" "man")) - (install-file - "docs/_build/man/vdirsyncer.1" - (string-append - (assoc-ref outputs "out") - "/share/man/man1"))))))) + `(#:phases (modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs outputs #:allow-other-keys) + (add-installed-pythonpath inputs outputs) + (setenv "DETERMINISTIC_TESTS" "true") + (setenv "DAV_SERVER" "radicale") + (setenv "REMOTESTORAGE_SERVER" "skip") + (invoke "make" "test"))) + (add-after 'install 'manpage + (lambda* (#:key inputs outputs #:allow-other-keys) + (invoke "make" "--directory=docs/" "man") + (install-file + "docs/_build/man/vdirsyncer.1" + (string-append + (assoc-ref outputs "out") + "/share/man/man1")) + #t))))) (native-inputs `(("python-setuptools-scm" ,python-setuptools-scm) ("python-sphinx" ,python-sphinx) @@ -105,5 +107,5 @@ between two storage locations. The most popular purpose is to synchronize a CalDAV or CardDAV server with a local folder or file. The local data can then be accessed via a variety of programs, none of which have to know or worry about syncing to a server.") - (home-page "https://github.com/untitaker/vdirsyncer") + (home-page "https://github.com/pimutils/vdirsyncer") (license bsd-3))) diff --git a/gnu/packages/debian.scm b/gnu/packages/debian.scm index e1dd9d1485..1974672fb6 100644 --- a/gnu/packages/debian.scm +++ b/gnu/packages/debian.scm @@ -17,6 +17,7 @@ (define-module (gnu packages debian) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix packages) #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) @@ -112,15 +113,17 @@ contains the archive keys used for that.") (define-public debootstrap (package (name "debootstrap") - (version "1.0.101") + (version "1.0.106") (source (origin - (method url-fetch) - (uri (string-append "mirror://debian/pool/main/d/" name "/" - name "_" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://salsa.debian.org/installer-team/debootstrap.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1p1a81s8hq73byd7256iljdls389x2q7w6srgrgfmx5bl1csnzp3")))) + "1fm5bgllcwgwizrqi4sn8p4fpbzhbzgwprrfppfq9hqdzbmlfmnv")))) (build-system gnu-build-system) (arguments `(#:phases @@ -165,7 +168,7 @@ contains the archive keys used for that.") `(("binutils" ,binutils) ("gnupg" ,gnupg) ("perl" ,perl))) - (home-page "https://anonscm.debian.org/cgit/d-i/debootstrap.git") + (home-page "https://tracker.debian.org/pkg/debootstrap") (synopsis "Bootstrap a basic Debian system") (description "Debootstrap is used to create a Debian base system from scratch, without requiring the availability of @code{dpkg} or @code{apt}. diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm index 6e3d4912de..5baaa6c102 100644 --- a/gnu/packages/display-managers.scm +++ b/gnu/packages/display-managers.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Joshua Grant <tadni@riseup.net> -;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2014, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Sou Bunnbu <iyzsong@gmail.com> @@ -134,7 +134,7 @@ Qt-style API for Wayland clients.") (define-public sddm (package (name "sddm") - (version "0.17.0") + (version "0.18.0") (source (origin (method url-fetch) (uri (string-append @@ -143,7 +143,7 @@ Qt-style API for Wayland clients.") "sddm-" version ".tar.xz")) (sha256 (base32 - "0ch6rdppgy2vbzw0c2x9a4c6ry46vx7p6b76d8xbh2nvxh23xv0k")))) + "0icyi9nqgbp2v6dwh3n3jzff9jv2xy8d4rbsz89hd65x7c3hrv87")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -256,7 +256,7 @@ create smooth, animated user interfaces.") (inputs `(("audit" ,audit) ("linux-pam" ,linux-pam) - ("util-linux" ,util-linux) ; for sbin/nologin + ("shadow" ,shadow) ;for sbin/nologin ("libgcrypt" ,libgcrypt) ("libxcb" ,libxcb))) (native-inputs diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm index bf4b6a750e..a78e3e871f 100644 --- a/gnu/packages/ebook.scm +++ b/gnu/packages/ebook.scm @@ -75,7 +75,7 @@ (define-public calibre (package (name "calibre") - (version "3.17.0") + (version "3.28.0") (source (origin (method url-fetch) @@ -84,7 +84,7 @@ version ".tar.xz")) (sha256 (base32 - "1w6hw1s0d4daa4q2ykzhxdndiq61l8z7ls7rxh7k7p62ia0i5sxp")) + "0b3vv03c6m6972sk8zj3zc5sq6b9837irnfgjlqhv9z5i75m0414")) ;; Remove non-free or doubtful code, see ;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html (modules '((guix build utils))) diff --git a/gnu/packages/elixir.scm b/gnu/packages/elixir.scm index ed6bd00236..26120327f4 100644 --- a/gnu/packages/elixir.scm +++ b/gnu/packages/elixir.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 nee <nee.git@cock.li> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright (C) 2018 Nils Gillmann <ng0@n0.is> ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,7 +33,7 @@ (define-public elixir (package (name "elixir") - (version "1.5.3") + (version "1.6.6") (source (origin (method url-fetch) (uri (string-append "https://github.com/elixir-lang/elixir" @@ -40,10 +41,11 @@ (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0acnxfwvkx1m1d0h5z051mz95n35zm468hcvc3wpmn17c15h5ihg")))) + "0c9qz5hasa59a9x1iwpcqpqj6wdbzpijfxqfmzimwj5z8q37nl3l")))) (build-system gnu-build-system) (arguments `(#:test-target "test" + #:parallel-tests? #f ;see <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=32171#23> #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) #:phases diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 11cd244deb..eab31278a5 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -36,6 +36,8 @@ ;;; Copyright © 2018 Mathieu Lirzin <mthl@gnu.org> ;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com> ;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de> +;;; Copyright © 2018 Jack Hill <jackhill@jackhill.us> +;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -107,6 +109,7 @@ #:use-module (gnu packages gd) #:use-module (gnu packages fontutils) #:use-module (gnu packages password-utils) + #:use-module (gnu packages pulseaudio) #:use-module (gnu packages xdisorg) #:use-module (gnu packages shells) #:use-module (gnu packages gnupg) @@ -199,7 +202,7 @@ ("libxft" ,libxft) ("libtiff" ,libtiff) ("giflib" ,giflib) - ("libjpeg" ,libjpeg-8) + ("libjpeg" ,libjpeg) ("imagemagick" ,imagemagick) ("acl" ,acl) @@ -4573,25 +4576,28 @@ Dust.js, React/JSX, Angularjs, ejs, etc.") (license license:gpl3+))) (define-public emacs-wgrep - (package - (name "emacs-wgrep") - (version "2.1.10") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/mhayashi1120/Emacs-wgrep/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1r2bpypar70xg6dsx12x1k74f39ww930rday7rgqpyknzsx1k4l1")))) - (build-system emacs-build-system) - (home-page "https://github.com/mhayashi1120/Emacs-wgrep") - (synopsis "Edit a grep buffer and apply those changes to the files") - (description - "Emacs wgrep allows you to edit a grep buffer and apply those changes to -the file buffer.") - (license license:gpl3+))) + (let ((commit "414be70bd313e482cd9f0b70fd2daad4ee23497c")) + ;; Late commit fixes compatibility issue with Emacs 26+. + (package + (name "emacs-wgrep") + (version (git-version "2.1.10" "1" commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mhayashi1120/Emacs-wgrep") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1sdhd587q3pg92lhiayph87azhalmf1gzrnsprkmqvnphv7mvks9")))) + (build-system emacs-build-system) + (home-page "https://github.com/mhayashi1120/Emacs-wgrep") + (synopsis "Edit a grep buffer and apply those changes to the files") + (description + "Emacs wgrep allows you to edit a grep buffer and apply those changes +to the file buffer. Several backends are supported beside the classic grep: +ack, ag, helm and pt.") + (license license:gpl3+)))) (define-public emacs-helm (package @@ -4855,11 +4861,11 @@ extensions.") (license license:gpl3+)))) (define-public emacs-evil-collection - (let ((commit "ac21b8957cfc22485cdaa316384edf9cb220d837") - (revision "1")) + (let ((commit "5d739f58118a5a316c4fe25adb4e13ccea3fdc10") + (revision "2")) (package (name "emacs-evil-collection") - (version (git-version "20180617" revision commit)) + (version (git-version "20180721" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -4868,7 +4874,7 @@ extensions.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "082a3c5c2ls9ryqrl5kzb4z6bcprhqx8pypnlj1razbld3lny934")))) + "05p612qncd0cp5q61hq2ag1k558vhb10049xrc88n9l6qwz9bpk3")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-evil" ,emacs-evil))) @@ -6229,14 +6235,14 @@ which code derived from Kelvin H's org-page.") (define-public emacs-xelb (package (name "emacs-xelb") - (version "0.14") + (version "0.15") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/xelb-" version ".tar")) (sha256 (base32 - "09flnbjy9ck784kprz036rwg9qk45hpv0w5hz3pz3zhwyk57fv74")))) + "031rvgprsqhf344p9wsczr50vj2qcpwdmhxi80jdbrsm7wyxf3qz")))) (build-system emacs-build-system) ;; The following functions and variables needed by emacs-xelb are ;; not included in emacs-minimal: @@ -6268,7 +6274,7 @@ It should enable you to implement low-level X11 applications.") (define-public emacs-exwm (package (name "emacs-exwm") - (version "0.18") + (version "0.19") (synopsis "Emacs X window manager") (source (origin (method url-fetch) @@ -6276,7 +6282,7 @@ It should enable you to implement low-level X11 applications.") version ".tar")) (sha256 (base32 - "1shz5bf4v4gg3arjaaldics5qkg3aiiaf3ngys8lb6qyxhcpvh6q")))) + "11xd2w4h3zdwkdxypvmcz8s7q72cn76lfr9js77jbizyj6b04lr0")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-xelb" ,emacs-xelb))) @@ -7356,10 +7362,10 @@ messaging service.") ("bash-completion-prog" (string-append bash "/bin/bash")))) #t))))) (home-page "https://github.com/szermatt/emacs-bash-completion") - (synopsis "BASH completion for the shell buffer") + (synopsis "Bash completion for the shell buffer") (description "@code{bash-completion} defines dynamic completion hooks for shell-mode -and shell-command prompts that are based on bash completion.") +and shell-command prompts that are based on Bash completion.") (license license:gpl2+))) (define-public emacs-easy-kill @@ -8819,23 +8825,33 @@ navigate and display hierarchy structures.") (license license:gpl3+)))) (define-public emacs-pulseaudio-control - (let ((commit "08c59e1dc45ec96edb62f34036e82cf5f14c0e8b") - (revision "1")) + (let ((commit "1da372ec79f5d2fb901d1f9f0679fee8848fd011") + (revision "2")) (package (name "emacs-pulseaudio-control") - (version (string-append "0.0.1" "-" revision "." - (string-take commit 7))) + (version (git-version "0.0.1" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/flexibeast/pulseaudio-control.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 - "10cgg1r00kz2fsnnryvzay5pf8s1pwb1dzlds1fbjdnyfvdgammv")))) + "02xrsms2pjqdk6327midi61i5vg2h9cq5jwaxv43ldm68wl7hi6k")))) (build-system emacs-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-file-name + (lambda* (#:key inputs #:allow-other-keys) + (let ((pulseaudio (assoc-ref inputs "pulseaudio"))) + (chmod "pulseaudio-control.el" #o600) + (emacs-substitute-variables "pulseaudio-control.el" + ("pulseaudio-control-pactl-path" + (string-append pulseaudio "/bin/pactl"))) + #t)))))) + (inputs `(("pulseaudio" ,pulseaudio))) (home-page "https://github.com/flexibeast/pulseaudio-control") (synopsis "Control @code{pulseaudio} from Emacs") (description @@ -10218,10 +10234,10 @@ keep Parens and Indentation inline with one another.") (license license:gpl3+))) (define-public emacs-helm-eww - (let ((commit "5d6c2c66d4694415ef8a16a6d38a37aeae76c5ac")) + (let ((commit "1a09f11b2376dec8237df40140f056be8a256ef0")) (package (name "emacs-helm-eww") - (version (git-version "0.1" "1" commit)) + (version (git-version "0.1" "2" commit)) (source (origin (method git-fetch) (uri (git-reference @@ -10230,7 +10246,7 @@ keep Parens and Indentation inline with one another.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1x442ylrr7cx587s4rvfh187h3qbkr79qp95qr57a4igxkkw6183")))) + "1kqdjhz2xiqw3bxjhfl9namhqrkbc2x70gcv6ljljya5hbkm62sm")))) (propagated-inputs `(("emacs-helm" ,emacs-helm))) (build-system emacs-build-system) @@ -11083,10 +11099,10 @@ from @code{emms-source-file-default-directory}.") (license license:gpl3+)))) (define-public emacs-helm-exwm - (let ((commit "82a856c80c8d295e3be522a01c5a15af50d08990")) + (let ((commit "56266f261ba3b3d2753b374b50da20eb768c06f5")) (package (name "emacs-helm-exwm") - (version (git-version "20180523" "1" commit)) + (version (git-version "20180703" "2" commit)) (source (origin (method url-fetch) @@ -11096,7 +11112,7 @@ from @code{emms-source-file-default-directory}.") ".tar.gz")) (sha256 (base32 - "1xsg2lar1vh7jmj5lnnyi14vssxkgy95sv9r8pbfhbnkjkbjm9pb")))) + "0n7hdiajw5vxl8ha2r9r4cl4i7crza25348825wb6acwhhzijxcj")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-helm" ,emacs-helm) @@ -11304,37 +11320,14 @@ file.") (license license:gpl3+)))) (define-public emacs-wgrep-helm - (let ((commit "1cdd7c136f1e7565bb13d2df69be3dc77b83698d")) - (package - (name "emacs-wgrep-helm") - (version (git-version "2.1.10" "1" commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/mhayashi1120/Emacs-wgrep") - (commit commit))) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "057p99hq0r6z1k8sl15w3sxrqvlv0g9wp39zy1pqhccv2mn3g2d6")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-wgrep" ,emacs-wgrep))) - (home-page - "https://github.com/mhayashi1120/Emacs-wgrep") - (synopsis - "Writable helm-grep-mode buffer and apply the changes to files") - (description - "@code{wgrep-helm} allows you to edit a @code{helm-grep-mode} buffer and -apply those changes to the file buffer.") - (license license:gpl3+)))) + ;; `emacs-wgrep-helm' was mistakenly added. + (deprecated-package "emacs-wgrep-helm" emacs-wgrep)) (define-public emacs-mu4e-conversation - (let ((commit "b60d6bd27d7220c3dd041ff2a090e29f2166a319")) + (let ((commit "223cc66e99c7665326e3d991d6d383cb0d7512bb")) (package (name "emacs-mu4e-conversation") - (version (git-version "20180615" "1" commit)) + (version (git-version "20180722" "2" commit)) (source (origin (method url-fetch) @@ -11345,7 +11338,7 @@ apply those changes to the file buffer.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0x8kmi0rmbaaxn5zicm1f9yb8ynxi8074hi2n0rvymlfpxbpn0ma")))) + "1ivy7pihhma465hi25p1y45dyi8h52nsm2m0cvizj5sw36jw0n81")))) (build-system emacs-build-system) (propagated-inputs `(("mu" ,mu))) @@ -11463,3 +11456,158 @@ can do different things depending on the context. In this package, it means that, if the cursor is in a currently hidden folded construction, we want to show it; if it's not, we want to hide whatever fold the cursor is in.") (license license:gpl2+)))) + +(define-public emacs-markup-faces + (package + (name "emacs-markup-faces") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://stable.melpa.org/packages/markup-faces-" + version ".el")) + (sha256 + (base32 + "124dxbaa25fwxnpwsygpz7pw6da6dnnw7y2lic3jf8rgz7lw4v32")))) + (build-system emacs-build-system) + (home-page "https://github.com/sensorflo/markup-faces") + (synopsis "Collection of Emacs faces for markup language modes") + (description "emacs-markup-faces is like font-lock-faces, but tailored for +markup languages instead programming languages. The sub group markup-faces-text +is also intended for 'text viewing modes' such as info or (wo)man. This gives a +common look and feel, or let's say theme, across different markup language modes +and 'text viewing modes' respectively.") + (license license:gpl3+))) + +(define-public emacs-adoc-mode + (package + (name "emacs-adoc-mode") + (version "0.6.6") + (source + (origin + (method url-fetch) + (uri (string-append "https://stable.melpa.org/packages/adoc-mode-" + version ".el")) + (sha256 + (base32 + "1c6hrgxxsnl2c19rgjykpm7r4xg9lp6bmk5z6bi7g8pqlrgwffcy")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-markup-faces" ,emacs-markup-faces))) + (home-page "https://github.com/sensorflo/adoc-mode/wiki") + (synopsis "AsciiDoc mode for Emacs") + (description "This package provides an Emacs major mode for editing AsciiDoc +files. It focuses on highlighting the document to improve readability.") + (license license:gpl2+))) + +(define-public emacs-rust-mode + (let ((commit + ;; Last release is old (2016), use more recent commit to get bug + ;; fixes. + "64b4a2450e4d4c47f6307851c9b2598cd2254d68") + (revision "0")) + (package + (name "emacs-rust-mode") + (version (git-version "0.3.0" revision commit)) + (source (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/rust-lang/rust-mode") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0pbz36lljgb7bdgx3h3g0pq1nss1kvn8mhk1l3mknsmynd6w4nd8")))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "sh" "run_rust_emacs_tests.sh")))))) + (home-page "https://github.com/rust-lang/rust-mode") + (synopsis "Major Emacs mode for editing Rust source code") + (description "This package provides a major Emacs mode for editing Rust +source code.") + (license (list license:expat + license:asl2.0))))) + +(define-public emacs-ztree + (let ((commit "c54425a094353ec40a8179f9eab3596f76c6cf94")) + (package + (name "emacs-ztree") + (version (git-version "1.0.5" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fourier/ztree") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0j8fpxds8m1zi04nrs8vv21091abvh4n8ab76f1sgdxnp4l5cfb0")))) + (build-system emacs-build-system) + (home-page "https://github.com/fourier/ztree") + (synopsis "Directory tree comparison mode for Emacs") + (description "Ztree is a project dedicated to implementation of several +text-tree applications inside GNU Emacs. It consists of 2 subprojects: +@command{ztree-diff} and @command{ztree-dir} (the basis of +@command{ztree-diff}).") + (license license:gpl3)))) + +(define-public emacs-helm-org-contacts + (let ((commit "0af703bd9a43032b89fdf5559673151d1ac2fffc")) + (package + (name "emacs-helm-org-contacts") + (version (git-version "20180707" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tmalsburg/helm-org-contacts") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1cl7cm2ic9pg4vc9cdh84vzjj1x2lpd5ymimiva8h4l17kiphk4s")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-helm" ,emacs-helm) + ("emacs-s" ,emacs-s))) + (home-page "https://github.com/tmalsburg/helm-org-contacts") + (synopsis "Helm source for org-contacts") + (description "This Helm source can be used to search contacts stored in +org-contacts format. There are actions for inserting postal addresses, email +addresses, and phone numbers in the buffer where @command{helm-org-contacts} +was called.") + (license license:gpl3)))) + +(define-public emacs-dired-du + (package + (name "emacs-dired-du") + (version "0.5") + (source + (origin + (method url-fetch) + (uri (string-append + "https://elpa.gnu.org/packages/dired-du-" + version ".tar")) + (sha256 + (base32 + "09yj37p2fa5f81fqrzwghjkyy2ydsf4rbkfwpn2yyvzd5nd97bpl")))) + (build-system emacs-build-system) + (home-page "http://elpa.gnu.org/packages/dired-du.html") + (synopsis "Dired with recursive directory sizes") + (description + "Display the recursive size of directories in Dired. +This file defines a minor mode @command{dired-du-mode} to show the recursive +size of directories in Dired buffers. If @command{du} program is available, +then the directory sizes are obtained with it. Otherwise, the directory sizes +are obtained with Lisp. The former is faster and provide a more precise +value. For directories where the user doesn't have read permission, the +recursive size is not obtained. Once this mode is enabled, every new Dired +buffer displays recursive dir sizes.") + (license license:gpl3+))) diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index 1c18efe9da..f0b2f350c2 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2017 Pjotr Prins <pjotr.guix@thebird.nl> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright (C) 2018 Nils Gillmann <ng0@n0.is> ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,7 +38,7 @@ (define-public erlang (package (name "erlang") - (version "20.2.3") + (version "21.0") (source (origin (method url-fetch) ;; The tarball from http://erlang.org/download contains many @@ -48,7 +49,7 @@ (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0s9g4ijdbqq21k4cqggz074d3fiimah942qisv2kgizhlivpw2nm")) + "0gv43lra4870xns8b0yjzbq78afzvz9gk6y3q3fa4y4sqcrqwbas")) (patches (search-patches "erlang-man-path.patch")))) (build-system gnu-build-system) (native-inputs @@ -64,7 +65,7 @@ (version-major+minor version) ".tar.gz")) (sha256 (base32 - "1pyb8wbk7znsyni8d1k4dj1m01lr191dcrrzisli1z27ks7hh3lm")))))) + "0cgv23q0215f6lvmhj4w9skx5m29khjs9mb890635s3yp520xgqh")))))) (inputs `(("ncurses" ,ncurses) ("openssl" ,openssl) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 1d3e6a7a6a..3ddaa76a4e 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -39,6 +39,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages boost) #:use-module (gnu packages check) + #:use-module (gnu packages crypto) #:use-module (gnu packages databases) #:use-module (gnu packages documentation) #:use-module (gnu packages dns) @@ -51,6 +52,7 @@ #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages multiprecision) + #:use-module (gnu packages networking) #:use-module (gnu packages pkg-config) #:use-module (gnu packages protobuf) #:use-module (gnu packages python) @@ -69,7 +71,7 @@ (define-public bitcoin-core (package (name "bitcoin-core") - (version "0.15.1") + (version "0.16.1") (source (origin (method url-fetch) (uri @@ -77,7 +79,7 @@ version "/bitcoin-" version ".tar.gz")) (sha256 (base32 - "1d22fgwdcn343kd95lh389hj417zwbmnhi29cij8n7wc0nz2vpil")))) + "1zkqp93yircd3pbxczxfnibkpq0sgcv5r7wg6d196b9pwgr9zd39")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -329,6 +331,37 @@ generation from a seed. Your secret keys are encrypted and are never sent to other machines/servers. Electrum does not download the Bitcoin blockchain.") (license license:expat))) +(define-public electron-cash + (package + (inherit electrum) + (name "electron-cash") + (version "3.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://electroncash.org/downloads/" + version + "/win-linux/ElectronCash-" + version + ".tar.gz")) + (sha256 + (base32 + "1x487hyacdm1qhik1mhfimr4jwcwz7sgsbkh11awrb6j19sxdxym")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete the bundled dependencies. + (delete-file-recursively "packages") + #t)))) + (home-page "https://electroncash.org/") + (synopsis "Bitcoin Cash wallet") + (description + "Electroncash is a lightweight Bitcoin Cash client, based on a client-server +protocol. It supports Simple Payment Verification (SPV) and deterministic key +generation from a seed. Your secret keys are encrypted and are never sent to +other machines/servers. Electroncash does not download the Bitcoin Cash blockchain.") + (license license:expat))) + (define-public monero ;; This package bundles easylogging++ and lmdb. ;; The bundled easylogging++ is modified, and the changes will not be upstreamed. @@ -336,25 +369,18 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") ;; the system's dynamically linked library. (package (name "monero") - (version "0.11.1.0") + (version "0.12.3.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/monero-project/monero/archive/v" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/monero-project/monero") + (commit (string-append "v" version)))) (file-name (string-append name "-" version ".tar.gz")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Delete bundled dependencies. - (for-each - delete-file-recursively - '("external/miniupnpc" "external/rapidjson" - "external/unbound")) - #t)) + (patches (search-patches "monero-use-system-miniupnpc.patch")) (sha256 (base32 - "16shd834025jyzy68h3gag1sz8vbk875hy4j97hrki8pacz8vd5m")))) + "14db9kgjm2ha93c2x5fjdw01xaqshn756qr3x2cnzyyjh7caz5qd")))) (build-system cmake-build-system) (native-inputs `(("doxygen" ,doxygen) @@ -364,15 +390,19 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") (inputs `(("bind" ,isc-bind) ("boost" ,boost) + ("zeromq" ,zeromq) + ("cppzmq" ,cppzmq) ("expat" ,expat) + ("libsodium" ,libsodium) ("libunwind" ,libunwind) ("lmdb" ,lmdb) - ("miniupnpc" ,miniupnpc) + ("miniupnpc" ,monero-miniupnpc) ("openssl" ,openssl) ("rapidjson" ,rapidjson) ("unbound" ,unbound))) (arguments `(#:out-of-source? #t + #:build-type "release" #:configure-flags '("-DBUILD_TESTS=ON" ,@(if (string=? "aarch64-linux" (%current-system)) '("-DARCH=armv8-a") @@ -400,9 +430,8 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") #t)) (replace 'check (lambda _ - (zero? - (system* "make" "ARGS=-E 'unit_tests|libwallet_api_tests'" - "test")))) + (invoke "make" "ARGS=-E 'unit_tests|libwallet_api_tests'" + "test"))) ;; The excluded unit tests need network access (add-after 'check 'unit-tests (lambda _ @@ -415,10 +444,9 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") "DNSResolver.DNSSECFailure" "DNSResolver.GetTXTRecord") ":"))) - (zero? - (system* "tests/unit_tests/unit_tests" - (string-append "--gtest_filter=-" - excluded-unit-tests)))))) + (invoke "tests/unit_tests/unit_tests" + (string-append "--gtest_filter=-" + excluded-unit-tests))))) (add-after 'install 'install-blockchain-import-export (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -432,19 +460,20 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") Monero command line client and daemon.") (license license:bsd-3))) -(define-public monero-core +(define-public monero-gui (package - (name "monero-core") - (version "0.11.1.0") + (name "monero-gui") + (version "0.12.2.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/monero-project/monero-core/archive/v" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/monero-project/monero-gui") + (commit (string-append "v" version)))) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1q7a9kpcjgp74fbplzs2iszdld6gwbfrydyd9in9izhwp100p1rr")))) + "1cnrkwh7kp64lnzz1xfmkf1mhsgm5gls292gpqai3jr8jydpkahl")))) (build-system gnu-build-system) (native-inputs `(("doxygen" ,doxygen) @@ -491,7 +520,7 @@ Monero command line client and daemon.") #t)) (replace 'build (lambda _ - (zero? (system* "./build.sh")))) + (invoke "./build.sh"))) (add-after 'build 'fix-install-path (lambda* (#:key outputs #:allow-other-keys) (substitute* "build/Makefile" @@ -508,6 +537,9 @@ Monero command line client and daemon.") Monero GUI client.") (license license:bsd-3))) +(define-public monero-core + (deprecated-package "monero-core" monero-gui)) + (define-public python-trezor-agent (package (name "python-trezor-agent") diff --git a/gnu/packages/fltk.scm b/gnu/packages/fltk.scm index e4eb2fcad0..a3c088c2e8 100644 --- a/gnu/packages/fltk.scm +++ b/gnu/packages/fltk.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2018 Mark H Weaver <mhw@netris.org> +;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,27 +35,27 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system gnu) - #:use-module (guix build-system waf)) + #:use-module (guix build-system waf) + #:use-module (srfi srfi-1)) (define-public fltk (package (name "fltk") - (version "1.3.3") + (version "1.3.4-2") (source (origin (method url-fetch) - (uri (string-append "http://fltk.org/pub/fltk/" version + (uri (string-append "http://fltk.org/pub/fltk/" + (first (string-split version #\-)) "/fltk-" version "-source.tar.gz")) (sha256 (base32 - "15qd7lkz5d5ynz70xhxhigpz3wns39v9xcf7ggkl0792syc8sfgq")) - (patches (search-patches "fltk-shared-lib-defines.patch" - "fltk-xfont-on-demand.patch")))) + "0459rm1gl5x3famiqma7ja7k6hvan8p5l8lgshvqfl4rik0lklr5")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("libjpeg" ,libjpeg-8) ;jpeg_read_header argument error in libjpeg-9 + `(("libjpeg" ,libjpeg) ("libpng" ,libpng) ("libx11" ,libx11) ("libxft" ,libxft) @@ -76,12 +77,11 @@ ;; Provide -L flags for image libraries when querying fltk-config to ;; avoid propagating inputs. (lambda* (#:key inputs outputs #:allow-other-keys) - (use-modules (srfi srfi-26)) - (let* ((conf (string-append (assoc-ref outputs "out") - "/bin/fltk-config")) - (jpeg (assoc-ref inputs "libjpeg")) - (png (assoc-ref inputs "libpng")) - (zlib (assoc-ref inputs "zlib"))) + (let ((conf (string-append (assoc-ref outputs "out") + "/bin/fltk-config")) + (jpeg (assoc-ref inputs "libjpeg")) + (png (assoc-ref inputs "libpng")) + (zlib (assoc-ref inputs "zlib"))) (substitute* conf (("-ljpeg") (string-append "-L" jpeg "/lib -ljpeg")) (("-lpng") (string-append "-L" png "/lib -lpng")) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 85febd73f4..725387ce8e 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -455,17 +455,16 @@ using the above tables.") (define-public libspiro (package (name "libspiro") - (version "20071029") + (version "0.5.20150702") (source (origin (method url-fetch) - (uri (string-append "mirror://sourceforge/libspiro/libspiro/" - version "/libspiro_src-" version ".tar.bz2")) + (uri (string-append "https://github.com/fontforge/libspiro/releases" + "/download/" version "/libspiro-dist-" version ".tar.gz")) (sha256 (base32 - "1kylz8pvwnb85yya150r9i6mhbpzx38f32qy523qg3ylgd9b3zhy")))) + "153ckwj6h3wwlsgcppzqj8cymv1927hi8ar8fzpchq5q89cj2kai")))) (build-system gnu-build-system) - (arguments `(#:tests? #f)) ;no tests (synopsis "Clothoid to bezier conversion library") (description "Raph Levien's Spiro package as a library. A mechanism for drawing diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index afabeb0c62..33e2b4a16c 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -74,6 +74,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages qt) #:use-module (gnu packages sdl) + #:use-module (gnu packages stb) #:use-module (gnu packages texinfo) #:use-module (gnu packages tls) #:use-module (gnu packages video) @@ -440,7 +441,7 @@ clone.") (define-public sfml (package (name "sfml") - (version "2.3.2") + (version "2.5.0") (source (origin (method url-fetch) ;; Do not fetch the archives from @@ -451,24 +452,37 @@ clone.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0k2fl5xk3ni2q8bsxl0551inx26ww3w6cp6hssvww0wfjdjcirsm")))) + "1x3yvhdrln5b6h4g5r4mds76gq8zsxw6icxqpwqkmxsqcq5yviab")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Ensure system libraries are used. + (delete-file-recursively "extlibs") + #t)))) (build-system cmake-build-system) (arguments '(#:configure-flags - (list "-DSFML_INSTALL_PKGCONFIG_FILES=TRUE") + (list "-DSFML_INSTALL_PKGCONFIG_FILES=TRUE" + "-DSFML_OS_PKGCONFIG_DIR=lib/pkgconfig") #:tests? #f)) ; no tests + (native-inputs + `(("pkg-config" ,pkg-config))) (inputs `(("mesa" ,mesa) ("glew" ,glew) - ("flac" ,flac) - ("libvorbis" ,libvorbis) ("libx11" ,libx11) ("xcb-util-image" ,xcb-util-image) ("libxrandr" ,libxrandr) ("eudev" ,eudev) - ("freetype" ,freetype) ("libjpeg" ,libjpeg) ("libsndfile" ,libsndfile) + ("stb-image" ,stb-image) + ("stb-image-write" ,stb-image-write))) + (propagated-inputs + ;; In Requires.private of pkg-config files. + `(("flac" ,flac) + ("freetype" ,freetype) + ("libvorbis" ,libvorbis) ("openal" ,openal))) (home-page "https://www.sfml-dev.org") (synopsis "Simple and Fast Multimedia Library") @@ -518,7 +532,7 @@ sounds from presets such as \"explosion\" or \"powerup\".") (define-public physfs (package (name "physfs") - (version "2.0.3") + (version "3.0.1") (source (origin (method url-fetch) (uri (string-append @@ -527,10 +541,18 @@ sounds from presets such as \"explosion\" or \"powerup\".") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0sbbyqzqhyf0g68fcvvv20n3928j0x6ik1njmhn1yigvq2bj11na")))) + "1wgj2zqpnfbnyyi1i7bq5pshcc9n5cvwlpzp8im67nb8662ryyxp")))) (build-system cmake-build-system) (arguments - '(#:tests? #f)) ; no check target + '(#:tests? #f ; no check target + #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-CMakeLists.txt + (lambda _ + (substitute* "CMakeLists.txt" + ;; XXX: For some reason CMakeLists.txt disables + ;; RUNPATH manipulation when the compiler is GCC. + (("CMAKE_COMPILER_IS_GNUCC") "FALSE")) + #t))))) (inputs `(("zlib" ,zlib))) (native-inputs diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 4af0b52e82..1082dadae6 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -87,6 +87,7 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages imagemagick) + #:use-module (gnu packages less) #:use-module (gnu packages libcanberra) #:use-module (gnu packages libedit) #:use-module (gnu packages libunwind) @@ -665,6 +666,131 @@ removed lines to all opponents. There is also a Demo mode in which you can watch your CPU playing while enjoying a cup of tea!") (license license:gpl2+))) +(define-public nethack + (package + (name "nethack") + (version "3.6.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.nethack.org/download/" + version "/" name "-361-src.tgz")) + (sha256 + (base32 "1dha0ijvxhx7c9hr0452h93x81iiqsll8bc9msdnp7xdqcfbz32b")))) + (inputs + `(("ncurses" ,ncurses) + ("bison" ,bison) + ("flex" ,flex) + ("less" ,less))) + (build-system gnu-build-system) + (arguments + '(#:make-flags + `(,(string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'patch-paths + (lambda _ + (substitute* "sys/unix/nethack.sh" + (("^ *cd .*$") "")) + (substitute* "sys/unix/Makefile.utl" + (("^YACC *=.*$") "YACC = bison -y\n") + (("^LEX *=.*$") "LEX = flex\n") + (("^# CC = gcc") "CC = gcc")) + (substitute* "sys/unix/hints/linux" + (("/bin/gzip") (string-append + (assoc-ref %build-inputs "gzip") + "/bin/gzip")) + (("^WINTTYLIB=.*") "WINTTYLIB=-lncurses")) + (substitute* "include/config.h" + (("^.*define CHDIR.*$") "") + (("^/\\* *#*define *REPRODUCIBLE_BUILD *\\*/") + ;; Honor SOURCE_DATE_EPOCH. + "#define REPRODUCIBLE_BUILD")) + + ;; Note: 'makedefs' rejects and ignores dates that are too old + ;; or too new, so we must choose something reasonable here. + (setenv "SOURCE_DATE_EPOCH" "1531865062") + + (substitute* "sys/unix/Makefile.src" + (("^# CC = gcc") "CC = gcc")) + #t)) + (replace 'configure + (lambda _ + (let ((bash (string-append + (assoc-ref %build-inputs "bash") + "/bin/bash"))) + (with-directory-excursion "sys/unix" + (substitute* "setup.sh" (("/bin/sh") bash)) + (invoke bash "setup.sh" "hints/linux")) + #t))) + (add-after 'install 'fixup-paths + (lambda _ + (let* ((output (assoc-ref %outputs "out")) + (nethack-script (string-append output "/bin/nethack"))) + (mkdir-p (string-append output "/games/lib/nethackuserdir")) + (for-each + (lambda (file) + (rename-file + (string-append output "/games/lib/nethackdir/" file) + (string-append output "/games/lib/nethackuserdir/" + file))) + '("xlogfile" "logfile" "perm" "record" "save")) + (mkdir-p (string-append output "/bin")) + (call-with-output-file nethack-script + (lambda (port) + (format port "#!~a/bin/sh +PATH=~a:$PATH +if [ ! -d ~~/.config/nethack ]; then + mkdir -p ~~/.config/nethack + cp -r ~a/games/lib/nethackuserdir/* ~~/.config/nethack + chmod -R +w ~~/.config/nethack +fi + +RUNDIR=$(mktemp -d) + +cleanup() { + rm -rf $RUNDIR +} +trap cleanup EXIT + +cd $RUNDIR +for i in ~~/.config/nethack/*; do + ln -s $i $(basename $i) +done +for i in ~a/games/lib/nethackdir/*; do + ln -s $i $(basename $i) +done +~a/games/nethack" + (assoc-ref %build-inputs "bash") + (list->search-path-as-string + (list + (string-append + (assoc-ref %build-inputs "coreutils") "/bin") + (string-append + (assoc-ref %build-inputs "less") "/bin")) + ":") + output + output + output))) + (chmod nethack-script #o555) + #t))) + (delete 'check)))) + (home-page "https://nethack.org") + (synopsis "Classic dungeon crawl game") + (description "NetHack is a single player dungeon exploration game that runs +on a wide variety of computer systems, with a variety of graphical and text +interfaces all using the same game engine. Unlike many other Dungeons & +Dragons-inspired games, the emphasis in NetHack is on discovering the detail of +the dungeon and not simply killing everything in sight - in fact, killing +everything in sight is a good way to die quickly. Each game presents a +different landscape - the random number generator provides an essentially +unlimited number of variations of the dungeon and its denizens to be discovered +by the player in one of a number of characters: you can pick your race, your +role, and your gender.") + (license + (license:fsdg-compatible + "https://nethack.org/common/license.html")))) + (define-public prboom-plus (package (name "prboom-plus") @@ -955,15 +1081,16 @@ that beneath its ruins lay buried an ancient evil.") (define-public angband (package (name "angband") - (version "4.0.5") + (version "4.1.2") (source (origin (method url-fetch) - (uri (string-append "http://rephial.org/downloads/4.0/" - "angband-" version ".tar.gz")) + (uri (string-append "http://rephial.org/downloads/" + (version-major+minor version) + "/angband-" version ".tar.gz")) (sha256 (base32 - "0lpq2kms7hp421vrasx2bkkn9w08kr581ldwik3v0hlq6h7rlxhd")) + "0ahfzb66ihxvkxcbhcib816x40sdsp26b3ravr1xqp44w1whkg1h")) (modules '((guix build utils))) (snippet ;; So, some of the sounds/graphics/tilesets are under different @@ -987,11 +1114,11 @@ that beneath its ruins lay buried an ancient evil.") #:configure-flags (list (string-append "--bindir=" %output "/bin")) #:phases (modify-phases %standard-phases - (add-after 'unpack 'autogen.sh + (replace 'bootstrap (lambda _ (substitute* "acinclude.m4" (("ncursesw5-config") "ncursesw6-config")) - (zero? (system* "sh" "autogen.sh"))))))) + (invoke "sh" "autogen.sh")))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake))) @@ -1448,7 +1575,7 @@ match, cannon keep, and grave-itation pit.") (define minetest-data (package (name "minetest-data") - (version "0.4.16") + (version "0.4.17") (source (origin (method url-fetch) (uri (string-append @@ -1457,7 +1584,7 @@ match, cannon keep, and grave-itation pit.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0nibpm600rbv9dg1zgcsl5grlbqx0b5l6cg1lp6sqkwvjialb4ga")))) + "0pa9skjwbq27aky6dgr7g3mb0a7c5rpa6xmz2qh0nm618z5hgazh")))) (build-system trivial-build-system) (native-inputs `(("source" ,source) @@ -1490,7 +1617,7 @@ match, cannon keep, and grave-itation pit.") (define-public minetest (package (name "minetest") - (version "0.4.16") + (version "0.4.17") (source (origin (method url-fetch) (uri (string-append @@ -1499,7 +1626,7 @@ match, cannon keep, and grave-itation pit.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0mbnf1ma4gsw9ah68ply04059xkfx5psdxwalxp78sgmx4ypkwqf")))) + "0wpbad5bssbbgspgdcq3hhq4bhckrj53nhymsz34d8g01j0csr46")))) (build-system cmake-build-system) (arguments '(#:configure-flags @@ -1830,7 +1957,7 @@ falling, themeable graphics and sounds, and replays.") (define-public wesnoth (package (name "wesnoth") - (version "1.14.3") + (version "1.14.4") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/wesnoth/wesnoth-" @@ -1839,7 +1966,7 @@ falling, themeable graphics and sounds, and replays.") name "-" version ".tar.bz2")) (sha256 (base32 - "06648041nr77sgzr7jpmcn37cma3hp41qynp50xzddx28l17zwg9")))) + "1hw1ap8xxpdwyx1sf8fm1g75p6724y3hwb4kpvyqbsq7bwfwsb9i")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; no check target @@ -3345,7 +3472,7 @@ throwing people around in pseudo-randomly generated buildings.") (define-public hyperrogue (package (name "hyperrogue") - (version "10.0g") + (version "10.4j") ;; When updating this package, be sure to update the "hyperrogue-data" ;; origin in native-inputs. (source (origin @@ -3356,7 +3483,7 @@ throwing people around in pseudo-randomly generated buildings.") "-src.tgz")) (sha256 (base32 - "0f68pcnsgl406dhm91ckn3f364bar9m9i5njp9vrmvhvv9p2icy0")))) + "0909p4xvbi1c2jc5rdgrf8b1c60fmsaapabsi6yyglh5znkf0k27")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no check target @@ -3368,7 +3495,6 @@ throwing people around in pseudo-randomly generated buildings.") (setenv "CPATH" (string-append (assoc-ref inputs "sdl-union") "/include/SDL")))) - ;; Fix font and music paths. (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -3378,17 +3504,18 @@ throwing people around in pseudo-randomly generated buildings.") "/share/fonts/truetype")) (dejavu-font "DejaVuSans-Bold.ttf") (music-file "hyperrogue-music.txt")) + ;; Fix font and music paths. (substitute* "basegraph.cpp" ((dejavu-font) (string-append dejavu-dir "/" dejavu-font))) - (substitute* "sound.cpp" - (((string-append "\\./" music-file)) - (string-append share-dir "/" music-file)) - (("sounds/") - (string-append share-dir "/sounds/"))) (substitute* music-file (("\\*/") (string-append share-dir "/sounds/")))) + ;; Fix Makefile. + (substitute* "Makefile" + (("g\\+\\+ langen.cpp") + "g++ langen.cpp ${CXXFLAGS}") + (("savepng.c") "savepng.cpp")) #t)) (replace 'install (lambda* (#:key inputs outputs #:allow-other-keys) @@ -3405,21 +3532,18 @@ throwing people around in pseudo-randomly generated buildings.") (out (assoc-ref outputs "out")) (sounds (string-append out "/share/hyperrogue/sounds")) (unzip (string-append (assoc-ref inputs "unzip") "/bin/unzip"))) - (and - ;; Extract media license information into sounds directory. - (zero? - (system* unzip "-j" data - (string-append - "hyperrogue" - (string-join (string-split ,version #\.) "") - "/sounds/credits.txt") "-d" sounds)) - ;; Extract sounds and music into sounds directory. - (zero? - (system* "unzip" "-j" data - (string-append - "hyperrogue" - (string-join (string-split ,version #\.) "") - "/*.ogg") "-d" sounds))))))))) + ;; Extract media license information into sounds directory. + (invoke unzip "-j" data + (string-append + "hyperrogue" + (string-join (string-split ,version #\.) "") + "/sounds/credits.txt") "-d" sounds) + ;; Extract sounds and music into sounds directory. + (invoke "unzip" "-j" data + (string-append + "hyperrogue" + (string-join (string-split ,version #\.) "") + "/*.ogg") "-d" sounds))))))) (native-inputs `(("hyperrogue-data" ,(origin @@ -3431,7 +3555,7 @@ throwing people around in pseudo-randomly generated buildings.") "-win.zip")) (sha256 (base32 - "0bnp077qvlmxjlz1jjd6kpghlv9flxc19ac1xq3m3wyq1w9p3pab")))) + "0w61iv2rn93hi0q3hxyyyf9xcr8vi9zd7fjvpz5adpgf94jm3zsc")))) ("unzip" ,unzip))) (inputs `(("font-dejavu" ,font-dejavu) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index 85bb0ccf9b..ae6ba024e0 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -180,7 +180,7 @@ and driving.") (inputs `(("cairo" ,cairo) ("libpng" ,libpng) - ("libjepeg-turbo" ,libjpeg-turbo) + ("libjpeg-turbo" ,libjpeg-turbo) ("libtiff" ,libtiff) ("libgeotiff" ,libgeotiff) ("proj.4" ,proj.4) diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index 0a6043ba65..1240b1dc16 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -132,6 +132,7 @@ printing, and psresize, for adjusting page sizes.") (define-public ghostscript (package (name "ghostscript") + (replacement ghostscript/fixed) (version "9.23") (source (origin @@ -250,6 +251,16 @@ output file formats and printers.") (home-page "https://www.ghostscript.com/") (license license:agpl3+))) +(define-public ghostscript/fixed + (hidden-package + (package + (inherit ghostscript) + (source + (origin + (inherit (package-source ghostscript)) + (patches (append (origin-patches (package-source ghostscript)) + (search-patches "ghostscript-CVE-2018-10194.patch")))))))) + (define-public ghostscript/x (package/inherit ghostscript (name (string-append (package-name ghostscript) "-with-x")) diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index ec3a634844..feb67318df 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net> -;;; 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 Leo Famulari <leo@famulari.name> ;;; @@ -100,7 +100,7 @@ provided, as well as a framework to add new color models and data types.") `(("cairo" ,cairo) ("pango" ,pango) ("libpng" ,libpng) - ("libjpeg" ,libjpeg-8))) + ("libjpeg" ,libjpeg))) (native-inputs `(("pkg-config" ,pkg-config) ("glib" ,glib "bin") ; for gtester @@ -154,7 +154,7 @@ buffers.") ("glib" ,glib) ("glib-networking" ,glib-networking) ("libtiff" ,libtiff) - ("libjpeg" ,libjpeg-8) + ("libjpeg" ,libjpeg) ("atk" ,atk) ("gexiv2" ,gexiv2) ("gtk+" ,gtk+-2) diff --git a/gnu/packages/gnu-pw-mgr.scm b/gnu/packages/gnu-pw-mgr.scm index 0d16bf5f0b..38f9e8187a 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.2") + (version "2.3.3") (source (origin (method url-fetch) @@ -38,7 +38,7 @@ version ".tar.xz")) (sha256 (base32 - "0x60g0syqpd107l8w4bl213imy2lspm4kz1j18yr1sh10rdxlgxd")))) + "04xh38j7l0sfnb01kp05xc908pvqfc0lph94k7n9bi46zy3qy7ma")))) (build-system gnu-build-system) (arguments '(#:phases diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index 7335742e20..7a4660cc8d 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -67,14 +67,14 @@ (define-public libextractor (package (name "libextractor") - (version "1.6") + (version "1.7") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libextractor/libextractor-" version ".tar.gz")) (sha256 (base32 - "17gnpgspdhfgcr27j8sn9105vb4lw22yqdrhic62l79q5v5avm16")))) + "13wf6vj7mkv6gw8h183cnk7m24ir0gyf198pyb2148ng4klgv9p0")))) (build-system gnu-build-system) ;; WARNING: Checks require /dev/shm to be in the build chroot, especially ;; not to be a symbolic link to /run/shm. diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 92ce504c52..445533b0c2 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2018 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org> ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr> +;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -41,6 +42,8 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pcre) + #:use-module (gnu packages lua) + #:use-module (gnu packages mp3) #:use-module (ice-9 match) #:use-module (srfi srfi-1)) @@ -1975,3 +1978,383 @@ which satisfies the cron expression.") "This package provides a Go library for encode and decode YAML values.") (license license:asl2.0)))) + +(define-public go-github-com-mattn-go-isatty + (let ((commit "6ca4dbf54d38eea1a992b3c722a76a5d1c4cb25c") + (revision "0")) + (package + (name "go-github-com-mattn-go-isatty") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mattn/go-isatty") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0zs92j2cqaw9j8qx1sdxpv3ap0rgbs0vrvi72m40mg8aa36gd39w")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/mattn/go-isatty")) + (home-page "https://github.com/mattn/go-isatty") + (synopsis "Provide @code{isatty} for Golang") + (description "This package provides @code{isatty}, a Go module that can +tell you whether a file descriptor points to a terminal and the type of the +terminal.") + (license license:expat)))) + +(define-public go-github-com-mattn-go-colorable + (let ((commit "efa589957cd060542a26d2dd7832fd6a6c6c3ade") + (revision "0")) + (package + (name "go-github-com-mattn-go-colorable") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mattn/go-colorable") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0kshi4hvm0ayrsxqxy0599iv81kryhd2fn9lwjyczpj593cq069r")))) + (build-system go-build-system) + (native-inputs + `(("go-github-com-mattn-go-isatty" + ,go-github-com-mattn-go-isatty))) + (arguments + '(#:import-path "github.com/mattn/go-colorable")) + (home-page "https://github.com/mattn/go-colorable") + (synopsis "Handle ANSI color escapes on Windows") + (description "This package provides @code{colorable}, a module that +makes it possible to handle ANSI color escapes on Windows.") + (license license:expat)))) + +(define-public go-github-com-mgutz-ansi + (let ((commit "9520e82c474b0a04dd04f8a40959027271bab992") + (revision "0")) + (package + (name "go-github-com-mgutz-ansi") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://github.com/mgutz/ansi") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "00bz22314j26736w1f0q4jy9d9dfaml17vn890n5zqy3cmvmww1j")))) + (build-system go-build-system) + (native-inputs + `(("go-github-com-mattn-go-isatty" + ,go-github-com-mattn-go-isatty) + ("go-github-com-mattn-go-colorable" + ,go-github-com-mattn-go-colorable))) + (arguments + '(#:import-path "github.com/mgutz/ansi")) + (home-page "https://github.com/mgutz/ansi") + (synopsis "Small, fast library to create ANSI colored strings and codes") + (description "This package provides @code{ansi}, a Go module that can +generate ANSI colored strings.") + (license license:expat)))) + +(define-public go-github-com-aarzilli-golua + (let ((commit "03fc4642d792b1f2bc5e7343b403cf490f8c501d") + (revision "0")) + (package + (name "go-github-com-aarzilli-golua") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://github.com/aarzilli/golua") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1d9hr29i36cza98afj3g6rs3l7xbkprwzz0blcxsr9dd7nak20di")))) + (build-system go-build-system) + (native-inputs + `(("lua" ,lua))) + (arguments + `(#:unpack-path "github.com/aarzilli/golua" + #:import-path "github.com/aarzilli/golua/lua" + #:phases + (modify-phases %standard-phases + (replace 'build + (lambda* (#:key import-path #:allow-other-keys) + (invoke "go" "install" + "-v" ; print the name of packages as they are compiled + "-x" ; print each command as it is invoked + "-ldflags=-s -w" ; strip the symbol table and debug + "-tags" "llua" ; Latest Lua on Guix does not have a version number. + import-path))) + (replace 'check + (lambda* (#:key import-path #:allow-other-keys) + (invoke "go" "test" + "-tags" "llua" ; Latest Lua on Guix does not have a version number. + import-path)))))) + (home-page "https://github.com/aarzilli/golua") + (synopsis "Go Bindings for the Lua C API") + (description "This package provides @code{lua}, a Go module that can +run a Lua virtual machine.") + (license license:expat)))) + +(define-public go-gitlab-com-ambrevar-golua-unicode + (let ((commit "97ce517e7a1fe2407a90c317a9c74b173d396144") + (revision "0")) + (package + (name "go-gitlab-com-ambrevar-golua-unicode") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://gitlab.com/ambrevar/golua") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1izcp7p8nagjwqd13shb0020w7xhppib1a3glw2d1468bflhksnm")))) + (build-system go-build-system) + (native-inputs + `(("lua" ,lua) + ("go-github-com-aarzilli-golua" ,go-github-com-aarzilli-golua))) + (arguments + `(#:unpack-path "gitlab.com/ambrevar/golua" + #:import-path "gitlab.com/ambrevar/golua/unicode" + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key import-path #:allow-other-keys) + (setenv "USER" "homeless-dude") + (invoke "go" "test" import-path)))))) + (home-page "https://gitlab.com/ambrevar/golua") + (synopsis "Add Unicode support to Golua") + (description "This extension to Arzilli's Golua adds Unicode support to +all functions from the Lua string library. Lua patterns are replaced by Go +regexps. This breaks compatibility with Lua, but Unicode support breaks it +anyways and Go regexps are more powerful.") + (license license:expat)))) + +(define-public go-github-com-yookoala-realpath + (let ((commit "d19ef9c409d9817c1e685775e53d361b03eabbc8") + (revision "0")) + (package + (name "go-github-com-yookoala-realpath") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://github.com/yookoala/realpath") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0qvz1dcdldf53rq69fli76z5k1vr7prx9ds1d5rpzgs68kwn40nw")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/yookoala/realpath")) + (home-page "https://github.com/yookoala/realpath") + (synopsis "@code{realpath} for Golang") + (description "This package provides @code{realpath}, a Go module that +when provided with a valid relative path / alias path, it will return you with +a string of its real absolute path in the system.") + (license license:expat)))) + +(define-public go-gitlab-com-ambrevar-damerau + (let ((commit "883829e1f25fad54015772ea663e69017cf22352") + (revision "0")) + (package + (name "go-gitlab-com-ambrevar-damerau") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://gitlab.com/ambrevar/damerau") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1b9p8fypc914ij1afn6ir346zsgfqrc5mqc1k3d53n4snypq27qv")))) + (build-system go-build-system) + (arguments + `(#:import-path "gitlab.com/ambrevar/damerau")) + (home-page "https://gitlab.com/ambrevar/damerau") + (synopsis "Damerau-Levenshtein distance for Golang") + (description "This is a spelling corrector implementing the +Damerau-Levenshtein distance. Takes a string value input from the user. +Looks for an identical word on a list of words, if none is found, look for a +similar word.") + (license license:expat)))) + +(define-public go-github-com-stevedonovan-luar + (let ((commit "22d247e5366095f491cd83edf779ee99a78f5ead") + (revision "0")) + (package + (name "go-github-com-stevedonovan-luar") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://github.com/stevedonovan/luar") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1acjgw9cz1l0l9mzkyk7irz6cfk31wnxgbwa805fvm1rqcjzin2c")))) + (build-system go-build-system) + (native-inputs + `(("go-github-com-aarzilli-golua" ,go-github-com-aarzilli-golua))) + (arguments + `(#:tests? #f ; Upstream tests are broken. + #:import-path "github.com/stevedonovan/luar")) + (home-page "https://github.com/stevedonovan/luar") + (synopsis "Lua reflection bindings for Go") + (description "Luar is designed to make using Lua from Go more +convenient. Go structs, slices and maps can be automatically converted to Lua +tables and vice-versa. The resulting conversion can either be a copy or a +proxy. In the latter case, any change made to the result will reflect on the +source. + +Any Go function can be made available to Lua scripts, without having to write +C-style wrappers. + +Luar support cyclic structures (lists, etc.). + +User-defined types can be made available to Lua as well: their exported +methods can be called and usual operations such as indexing or arithmetic can +be performed.") + (license license:expat)))) + +(define-public go-github-com-kr-text + (let ((commit "e2ffdb16a802fe2bb95e2e35ff34f0e53aeef34f") + (revision "0")) + (package + (name "go-github-com-kr-text") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://github.com/kr/text") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/kr/text")) + (home-page "https://github.com/kr/text") + (synopsis "Go package for manipulating paragraphs of text") + (description "Package @code{text} provides manipulation Go functions for +paragraphs of text.") + (license license:expat)))) + +(define-public go-github-com-michiwend-golang-pretty + (let ((commit "8ac61812ea3fa540f3f141a444fcb0dd713cdca4") + (revision "0")) + (package + (name "go-github-com-michiwend-golang-pretty") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://github.com/michiwend/golang-pretty") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0rjfms0csjqi91xnddzx3rcrcaikc7xc027617px3kdwdap80ir4")))) + (build-system go-build-system) + (native-inputs + `(("go-github-com-kr-text" ,go-github-com-kr-text))) + (arguments + `(#:tests? #f ; Upstream tests seem to be broken. + #:import-path "github.com/michiwend/golang-pretty")) + (home-page "https://github.com/michiwend/golang-pretty") + (synopsis "Pretty printing for Go values") + (description "Package @code{pretty} provides pretty-printing for Go +values. This is useful during debugging, to avoid wrapping long output lines +in the terminal. + +It provides a function, @code{Formatter}, that can be used with any function +that accepts a format string. It also provides convenience wrappers for +functions in packages @code{fmt} and @code{log}.") + (license license:expat)))) + +(define-public go-github-com-michiwend-gomusicbrainz + (let ((commit "0cdeb13f9b24d2c714feb7e3c63d595cf7121d7d") + (revision "0")) + (package + (name "go-github-com-michiwend-gomusicbrainz") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://github.com/michiwend/gomusicbrainz") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1li9daw0kghb80rdmxbh7g72qhxcvx3rvhwq5gs0jrr9hb8pjvcn")))) + (build-system go-build-system) + (native-inputs + `(("go-github-com-michiwend-golang-pretty" ,go-github-com-michiwend-golang-pretty) + ("go-github-com-kr-text" ,go-github-com-kr-text))) + (arguments + `(#:import-path "github.com/michiwend/gomusicbrainz")) + (home-page "https://github.com/michiwend/gomusicbrainz") + (synopsis "MusicBrainz WS2 client library for Golang") + (description "Currently GoMusicBrainz provides methods to perform search +and lookup requests. Browse requests are not supported yet.") + (license license:expat)))) + +(define-public go-github-com-wtolson-go-taglib + (let ((commit "6e68349ff94ecea412de7e748cb5eaa26f472777") + (revision "0")) + (package + (name "go-github-com-wtolson-go-taglib") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://github.com/wtolson/go-taglib") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1cpjqnrviwflz150g78iir5ndrp3hh7a93zbp4dwbg6sb2q141p2")))) + (build-system go-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("taglib" ,taglib))) + (arguments + `(#:import-path "github.com/wtolson/go-taglib")) + (home-page "https://github.com/wtolson/go-taglib") + (synopsis "Go wrapper for taglib") + (description "Go wrapper for taglib") + (license license:unlicense)))) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 65f023a488..ad5ff8ed1e 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015 Tomáš Čech <sleep_walker@gnu.org> ;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> ;;; Copyright © 2017, 2018 Ben Woodcroft <donttrustben@gmail.com> @@ -161,19 +161,20 @@ application can be customized via its API for Python scripting.") (define-public assimp (package (name "assimp") - (version "3.3.1") + (version "4.1.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/assimp/assimp/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/assimp/assimp.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1gy7zlgkf4nmyv8n674p3f30asis0gjz8icyy11i693n13ww71fk")))) + "1rhyqfhzifdj7yibyanph3rh13ykw3i98dnn8mz65j780472hw28")))) (build-system cmake-build-system) (inputs `(("zlib" ,zlib))) - (home-page "http://assimp.org/") + (home-page "http://www.assimp.org/") (synopsis "Asset import library") (description "The Open Asset Import Library loads more than 40 3D file formats into @@ -373,13 +374,14 @@ storage of the \"EXR\" file format for storing 16-bit floating-point images.") (name "openimageio") (version "1.7.19") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/OpenImageIO/oiio/" - "archive/Release-" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/OpenImageIO/oiio.git") + (commit (string-append "Release-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1qlmfhvl2wva4aifyiq7c4sdy61ddl7wykwvlpfys9p701xghvj7")))) + "0yxxy43l3lllw7maqg42dlkgqms2d4772sxzxk7kmxg4lnhsvndc")))) (build-system cmake-build-system) ;; FIXME: To run all tests successfully, test image sets from multiple ;; third party sources have to be present. For details see @@ -390,7 +392,7 @@ storage of the \"EXR\" file format for storing 16-bit floating-point images.") (inputs `(("boost" ,boost) ("libpng" ,libpng) - ("libjpeg" ,libjpeg-8) + ("libjpeg" ,libjpeg) ("libtiff" ,libtiff) ("giflib" ,giflib) ("openexr" ,openexr) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 62d292264e..f179f293ea 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -74,6 +74,7 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system gnu) + #:use-module (guix build-system guile) #:use-module (guix build-system trivial) #:use-module (guix utils) #:use-module (ice-9 match) @@ -965,60 +966,8 @@ specification. These are the main features: (sha256 (base32 "0r50jlpzi940jlmxyy3ddqqwmj5r12gb4bcv0ssini9v8km13xz6")))) - (build-system trivial-build-system) - (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils) - (ice-9 match) - (ice-9 popen) - (ice-9 rdelim)) - - (let* ((out (assoc-ref %outputs "out")) - (guile (assoc-ref %build-inputs "guile")) - (effective (read-line - (open-pipe* OPEN_READ - (string-append guile "/bin/guile") - "-c" "(display (effective-version))"))) - (module-dir (string-append out "/share/guile/site/" - effective)) - (source (assoc-ref %build-inputs "source")) - (doc (string-append out "/share/doc/guile-minikanren")) - (scm-files '("minikanren.scm" - "minikanren/mkextraforms.scm" - "minikanren/mkprelude.scm" - "minikanren/mk.scm")) - (guild (string-append (assoc-ref %build-inputs "guile") - "/bin/guild"))) - ;; Make installation directories. - (mkdir-p (string-append module-dir "/minikanren")) - (mkdir-p doc) - - ;; Compile .scm files and install. - (chdir source) - (setenv "GUILE_AUTO_COMPILE" "0") - (for-each (lambda (file) - (let* ((dest-file (string-append module-dir "/" - file)) - (go-file (match (string-split file #\.) - ((base _) - (string-append module-dir "/" - base ".go"))))) - ;; Install source module. - (copy-file file dest-file) - ;; Install compiled module. - (invoke guild "compile" - "-L" source - "-o" go-file - file))) - scm-files) - - ;; Also copy over the README. - (install-file "README.org" doc) - - #t)))) - (inputs + (build-system guile-build-system) + (native-inputs `(("guile" ,guile-2.2))) (home-page "https://github.com/ijp/minikanren") (synopsis "MiniKanren declarative logic system, packaged for Guile") @@ -1055,46 +1004,8 @@ See http://minikanren.org/ for more on miniKanren generally.") (sha256 (base32 "09q51zkw2fypad5xixskfzw2cjhjgs5cswdp3i7cpp651rb3zndh")))) - (build-system gnu-build-system) - (arguments - `(#:modules ((guix build utils) - (ice-9 popen) - (ice-9 rdelim) - (srfi srfi-1) - (guix build gnu-build-system)) - #:tests? #f ; there is no test target - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((cwd (getcwd)) - (scm-files (find-files "." "\\.scm$")) - (effective (read-line - (open-pipe* OPEN_READ - "guile" "-c" - "(display (effective-version))"))) - (module-dir (string-append (assoc-ref outputs "out") - "/share/guile/site/" - effective))) - - ;; Make installation directories. - (mkdir-p module-dir) - - (setenv "GUILE_AUTO_COMPILE" "0") - - ;; Compile .scm files and install. - (every (lambda (file) - (let ((go-file (string-append module-dir "/" - (basename file ".scm") ".go"))) - ;; Install source module. - (install-file file module-dir) - ;; Compile and install module. - (zero? (system* "guild" "compile" "-L" cwd - "-o" go-file file)))) - scm-files))))))) - (inputs + (build-system guile-build-system) + (native-inputs `(("guile" ,guile-2.2))) (home-page "https://github.com/fisherdj/miniAdapton") (synopsis "Minimal implementation of incremental computation in Guile @@ -1120,65 +1031,25 @@ understand, extend, and port to host languages other than Scheme.") (sha256 (base32 "1ia3m7dp3lcxa048q0gqbiwwsyvn99baw6xkhb4bhhzn4k7bwyqq")))) - (build-system gnu-build-system) + (build-system guile-build-system) (arguments - `(#:modules ((guix build utils) - (ice-9 match) - (ice-9 rdelim) - (ice-9 popen) - (guix build gnu-build-system)) - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (delete 'check) - (replace 'install - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (effective (read-line - (open-pipe* OPEN_READ - "guile" "-c" - "(display (effective-version))"))) - (module-dir (string-append out "/share/guile/site/" - effective)) - (source (assoc-ref inputs "source")) - (doc (string-append out "/share/doc/guile-irregex/")) - (guild (string-append (assoc-ref %build-inputs "guile") - "/bin/guild"))) - ;; Make installation directories. - (mkdir-p (string-append module-dir "/rx/source")) - (mkdir-p doc) - - ;; Compile .scm files and install. - (setenv "GUILE_AUTO_COMPILE" "0") - - (for-each (lambda (copy-info) - (match copy-info - ((src-file dest-file-basis) - (let* ((dest-file (string-append - module-dir dest-file-basis - ".scm")) - (go-file (string-append - module-dir dest-file-basis - ".go"))) - ;; Install source module. - (copy-file src-file - dest-file) - ;; Install compiled module. - (invoke guild "compile" - "-L" (getcwd) - "-o" go-file - src-file))))) - '(("irregex-guile.scm" "/rx/irregex") - ("irregex.scm" "/rx/source/irregex") - ;; Not really reachable via guile's packaging system, - ;; but nice to have around - ("irregex-utils.scm" "/rx/source/irregex-utils"))) - - ;; Also copy over the README. - (install-file "irregex.html" doc) - #t)))))) - (inputs + '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'move-files-around + (lambda _ + ;; Move the relevant source files to src/ and create the + ;; rx/ directory to match the expected module hierarchy. + (mkdir-p "src/rx/source") + (rename-file "irregex-guile.scm" + "src/rx/irregex.scm") + (rename-file "irregex.scm" + "src/rx/source/irregex.scm") + ;; Not really reachable via guile's packaging system, + ;; but nice to have around. + (rename-file "irregex-utils.scm" + "src/rx/source/irregex-utils.scm") + #t))) + #:source-directory "src")) + (native-inputs `(("guile" ,guile-2.2))) (home-page "http://synthcode.com/scheme/irregex") (synopsis "S-expression based regular expressions") @@ -1207,83 +1078,35 @@ inspired by the SCSH regular expression system.") (url "https://github.com/ijp/guile-gdbm.git") (commit "fa1d5b6231d0e4d096687b378c025f2148c5f246"))) (file-name (string-append name "-" version "-checkout")) + (patches (search-patches + "guile-gdbm-ffi-support-gdbm-1.14.patch")) (sha256 (base32 "1j8wrsw7v9w6qkl47xz0rdikg50v16nn6kbs3lgzcymjzpa7babj")))) - (build-system trivial-build-system) + (build-system guile-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'move-examples + (lambda* (#:key outputs #:allow-other-keys) + ;; Move examples where they belong. + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/" + (strip-store-file-name out) + "/examples"))) + (copy-recursively "examples" doc) + (delete-file-recursively "examples") + #t))) + (add-after 'unpack 'set-libgdbm-file-name + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "gdbm.scm" + (("\\(dynamic-link \"libgdbm\"\\)") + (format #f "(dynamic-link \"~a/lib/libgdbm.so\")" + (assoc-ref inputs "gdbm")))) + #t))))) + (native-inputs + `(("guile" ,guile-2.2))) (inputs - `(("guile" ,guile-2.2) - ;; patch-and-repack doesn't work for git checkouts, - ;; so we must apply the patch manually. - ("patch" ,patch) - ("patch-file" ,(search-patch - "guile-gdbm-ffi-support-gdbm-1.14.patch")))) - (propagated-inputs `(("gdbm" ,gdbm))) - (arguments - `(#:modules - ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils) - (ice-9 rdelim) - (ice-9 popen)) - - ;; Avoid warnings we can safely ignore - (setenv "GUILE_AUTO_COMPILE" "0") - - (let* ((out (assoc-ref %outputs "out")) - (effective-version - (read-line - (open-pipe* OPEN_READ - (string-append - (assoc-ref %build-inputs "guile") - "/bin/guile") - "-c" "(display (effective-version))"))) - (module-dir (string-append out "/share/guile/site/" - effective-version)) - (source (assoc-ref %build-inputs "source")) - (doc (string-append out "/share/doc")) - (guild (string-append (assoc-ref %build-inputs "guile") - "/bin/guild")) - (gdbm.scm-dest - (string-append module-dir "/gdbm.scm")) - (gdbm.go-dest - (string-append module-dir "/gdbm.go")) - (compile-file - (lambda (in-file out-file) - (invoke guild "compile" "-o" out-file in-file)))) - ;; Switch directory for compiling and installing - (chdir source) - - ;; Install the documentation. - (install-file "README.md" doc) - (copy-recursively "examples" (string-append doc "/examples")) - - ;; Make installation directories. - (mkdir-p module-dir) - - ;; copy the source - (copy-file "gdbm.scm" gdbm.scm-dest) - - ;; Patch the FFI - (substitute* gdbm.scm-dest - (("\\(dynamic-link \"libgdbm\"\\)") - (format #f "(dynamic-link \"~a/lib/libgdbm.so\")" - (assoc-ref %build-inputs "gdbm")))) - - ;; Apply the patch to add support for gdbm-1.14. - (let ((patch-command (string-append (assoc-ref %build-inputs "patch") - "/bin/patch")) - (patch-file (assoc-ref %build-inputs "patch-file"))) - (with-directory-excursion (dirname gdbm.scm-dest) - (format #t "applying '~a'...~%" patch-file) - (invoke patch-command "--force" "--input" patch-file))) - - ;; compile to the destination - (compile-file gdbm.scm-dest gdbm.go-dest) - - #t)))) (home-page "https://github.com/ijp/guile-gdbm") (synopsis "Guile bindings to the GDBM library via Guile's FFI") (description @@ -2142,32 +1965,8 @@ It has a nice, simple s-expression based syntax.") (sha256 (base32 "16xhc3an6aglnca8xl3mvgi8hsqzqn68vsl5ga4bz8bvbap5fn4p")))) - (build-system gnu-build-system) - (arguments - `(#:modules ((system base compile) - ,@%gnu-build-system-modules) - #:tests? #f ;No tests included - #:phases - (modify-phases %standard-phases - (delete 'configure) ;No configure script - (replace 'install - (lambda* (#:key outputs inputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (module-dir (string-append out "/share/guile/site/2.2")) - (language-dir (string-append module-dir "/ice-9")) - (guild (string-append (assoc-ref inputs "guile") - "/bin/guild"))) - ;; The original 'make install' is too primitive. - - ;; copy the source - (install-file "ice-9/colorized.scm" language-dir) - - ;; compile to the destination - (compile-file "ice-9/colorized.scm" - #:output-file (string-append - language-dir "/colorized.go")) - #t)))))) - (inputs + (build-system guile-build-system) + (native-inputs `(("guile" ,guile-2.2))) (home-page "https://github.com/NalaGinrut/guile-colorized") (synopsis "Colorized REPL for Guile") @@ -2175,6 +1974,78 @@ It has a nice, simple s-expression based syntax.") "Guile-colorized provides you with a colorized REPL for GNU Guile.") (license license:gpl3+))) +(define-public guile-pfds + (package + (name "guile-pfds") + (version "0.3") + (home-page "https://github.com/ijp/pfds") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (sha256 + (base32 + "19y33wg94pf0n98dkfqd1zbw93fgky4sawxsxl6s3vyqwl0yi5vh")) + (file-name (string-append name "-" version "-checkout")))) + (build-system guile-build-system) + (arguments + '(#:source-directory "src" + #:phases (modify-phases %standard-phases + (add-after 'unpack 'move-files-around + (lambda _ + ;; Move files under a pfds/ directory to reflect the + ;; module hierarchy. + (mkdir-p "src/pfds") + (for-each (lambda (file) + (rename-file file + (string-append "src/pfds/" + file))) + '("bbtrees.sls" + "deques" + "deques.sls" + "dlists.sls" + "fingertrees.sls" + "hamts.sls" + "heaps.sls" + "private" + "psqs.sls" + "queues" + "queues.sls" + "sequences.sls" + "sets.sls")) + + ;; In Guile <= 2.2.4, there's no way to tell 'guild + ;; compile' to accept the ".sls" extension. So... + (for-each (lambda (file) + (rename-file file + (string-append + (string-drop-right file 4) + ".scm"))) + (find-files "." "\\.sls$")) + #t))))) + (native-inputs + `(("guile" ,guile-2.2))) + (synopsis "Purely functional data structures for Guile") + (description + "This package provides purely functional data structures written in R6RS +Scheme and compiled for Guile. It has been tested with Racket, Guile 2, +Vicare Scheme and IronScheme. Right now it contains: + +@itemize +@item queues +@item deques +@item bbtrees +@item sets +@item dlists +@item priority search queues (PSQs) +@item finger trees +@item sequences +@item heaps +@item hash array mapped tries (HAMTs). +@end itemize\n") + (license license:bsd-3))) + (define-public guile-simple-zmq (let ((commit "1f3b7c0b9b249c6fde8e8a632b252d8a1b794424") (revision "1")) @@ -2191,72 +2062,20 @@ It has a nice, simple s-expression based syntax.") (base32 "0nj2pd5bsmmgd3c54wh4sixfhmsv1arsq7yam2d7487h3n9q57r7")) (file-name (git-file-name name version)))) - (build-system trivial-build-system) + (build-system guile-build-system) (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils) - (srfi srfi-26) - (ice-9 match) - (ice-9 popen) - (ice-9 rdelim)) - - (let* ((out (assoc-ref %outputs "out")) - (guile (assoc-ref %build-inputs "guile")) - (effective (read-line - (open-pipe* OPEN_READ - (string-append guile "/bin/guile") - "-c" "(display (effective-version))"))) - (module-dir (string-append out "/share/guile/site/" - effective)) - (go-dir (string-append out "/lib/guile/" - effective "/site-ccache/")) - (source (string-append (assoc-ref %build-inputs "source") - "/src")) - (scm-file "simple-zmq.scm") - (guild (string-append (assoc-ref %build-inputs "guile") - "/bin/guild")) - (zmq (assoc-ref %build-inputs "zeromq")) - (deps (list zmq)) - (path (string-join - (map (cut string-append <> - "/lib/") - deps) - ":"))) - ;; Make installation directories. - (mkdir-p module-dir) - (mkdir-p go-dir) - - ;; Compile .scm files and install. - (chdir source) - (setenv "GUILE_AUTO_COMPILE" "0") - (for-each (lambda (file) - (let* ((dest-file (string-append module-dir "/" - file)) - (go-file (match (string-split file #\.) - ((base _) - (string-append go-dir "/" - base ".go"))))) - ;; Install source module. - (copy-file file dest-file) - (substitute* dest-file - (("\\(dynamic-link \"libzmq\"\\)") - (format #f "(dynamic-link \"~a/lib/libzmq.so\")" - (assoc-ref %build-inputs "zeromq")))) - - ;; Install and compile module. - (unless (zero? (system* guild "compile" - "-L" source - "-o" go-file - dest-file)) - (error (format #f "Failed to compile ~s to ~s!" - file go-file))))) - (list scm-file)) - #t)))) - (inputs + `(#:source-directory "src" + #:phases (modify-phases %standard-phases + (add-after 'unpack 'set-libzmq-file-name + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/simple-zmq.scm" + (("\\(dynamic-link \"libzmq\"\\)") + (format #f "(dynamic-link \"~a/lib/libzmq.so\")" + (assoc-ref inputs "zeromq")))) + #t))))) + (native-inputs `(("guile" ,guile-2.2))) - (propagated-inputs + (inputs `(("zeromq" ,zeromq))) (home-page "https://github.com/jerry40/guile-simple-zmq") (synopsis "Guile wrapper over ZeroMQ library") @@ -2280,106 +2099,46 @@ messaging library.") (sha256 (base32 "0y5jr0f0dyskvsawqbf6n0bpg8jirw4mhqbarf2a6p9lxhqha9s9")))) - (build-system trivial-build-system) + (build-system guile-build-system) (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils) - (srfi srfi-26) - (ice-9 match) - (ice-9 popen) - (ice-9 rdelim)) - - (let* ((out (assoc-ref %outputs "out")) - (guile (assoc-ref %build-inputs "guile")) - (effective (read-line - (open-pipe* OPEN_READ - (string-append guile "/bin/guile") - "-c" "(display (effective-version))"))) - (module-dir (string-append out "/share/guile/site/" - effective)) - (kernel-dir (string-append out "/share/jupyter/kernels/guile")) - (go-dir (string-append out "/lib/guile/" - effective - "/site-ccache")) - (source (string-append (assoc-ref %build-inputs "source") - "/src")) - (scm-files '("hmac.scm" - "tools.scm" - "guile-jupyter-kernel.scm")) - (kernel-file "kernel.json") - (guild (string-append (assoc-ref %build-inputs "guile") - "/bin/guild")) - (g-szmq (assoc-ref %build-inputs "guile-simple-zmq")) - (json (assoc-ref %build-inputs "guile-json")) - (deps (list g-szmq json)) - (path (string-join - (map (cut string-append <> - "/share/guile/site/" - effective) - deps) - ":")) - (gopath (string-join - (map (cut string-append <> - "/lib/guile/" effective - "/site-ccache/") - deps) - ":"))) - - ;; Make installation directories. - (mkdir-p module-dir) - (mkdir-p kernel-dir) - (mkdir-p go-dir) - - ;; Make a writable copy of SOURCE. - (copy-recursively source ".") - - ;; Record the absolute file name of the 'openssl' command. - (substitute* "hmac.scm" - (("openssl") - (string-append (assoc-ref %build-inputs "openssl") - "/bin/openssl"))) - - ;; Compile .scm files and install. - (setenv "GUILE_AUTO_COMPILE" "0") - (setenv "GUILE_LOAD_PATH" path) - (setenv "GUILE_LOAD_COMPILED_PATH" gopath) - - (for-each (lambda (file) - (let* ((dest-file (string-append module-dir "/" - file)) - (go-file (match (string-split file #\.) - ((base _) - (string-append go-dir "/" - base ".go"))))) - ;; Install source module. - (copy-file file dest-file) - - ;; Install compiled module. - (unless (zero? (system* guild "compile" - "-L" source - "-o" go-file - file)) - (error (format #f "Failed to compile ~s to ~s!" - file go-file))))) - scm-files) - - ;; Install kernel - (copy-file kernel-file (string-append kernel-dir "/" - kernel-file)) - ;; Fix hard-coded file name in the kernel - (substitute* (string-append kernel-dir "/" - kernel-file) - (("/home/jerry/.local/share/jupyter/kernels/guile/guile-jupyter-kernel.scm") - (string-append module-dir "/guile-jupyter-kernel.scm")) - (("\"guile\"") - (string-append "\"" (assoc-ref %build-inputs "guile") - "/bin/guile\"")) - (("-s") - (string-append "--no-auto-compile\", \"-s"))) - - #t)))) + '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'set-openssl-file-name + (lambda* (#:key inputs #:allow-other-keys) + ;; Record the absolute file name of the 'openssl' + ;; command. + (substitute* "src/hmac.scm" + (("openssl") + (string-append (assoc-ref inputs "openssl") + "/bin/openssl"))) + #t)) + + ;; XXX: The code uses 'include' to include its own source + ;; files, and "-L src" isn't enough in this case. + (add-before 'build 'chdir + (lambda _ (chdir "src") #t)) + (add-after 'build 'chdir-back + (lambda _ (chdir "..") #t)) + + (add-after 'install 'install-kernel + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (dir (string-append + out "/share/jupyter/kernels/guile"))) + ;; Install kernel. + (install-file "src/kernel.json" dir) + + ;; Fix hard-coded file name in the kernel. + (substitute* (string-append dir "/kernel.json") + (("/home/.*/guile-jupyter-kernel.scm") + (string-append out "/share/guile/site/" + (target-guile-effective-version) + "/guile-jupyter-kernel.scm")) + (("\"guile\"") + (string-append "\"" (assoc-ref inputs "guile") + "/bin/guile\"")) + (("-s") + (string-append "--no-auto-compile\", \"-s"))) + #t)))))) (inputs `(("openssl" ,openssl) ("guile" ,guile-2.2))) diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index b2e67e52f9..3410880a67 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.27") + (version "2.27.1") (home-page "https://feh.finalrewind.org/") (source (origin (method url-fetch) @@ -68,7 +68,7 @@ name "-" version ".tar.bz2")) (sha256 (base32 - "0kn6cka9m76697i495npd60ad64jnfnzv5z6znzyr0vlxx2nhcmg")))) + "10zk76l491s22qrv86rax6cvpgwyl3qq0izl2pbk0k1z1kw3ihvf")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases (delete 'configure)) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index a7d5c9f445..2ba6d76cae 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2537,6 +2537,37 @@ ClasspathX project. It provides implementations of version 3.0 of the servlet API and version 2.1 of the Java ServerPages API.") (license license:gpl3+))) +(define-public java-javaee-servletapi + (package + (name "java-javaee-servletapi") + (version "3.1.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/javaee/servlet-spec/" + "archive/" version ".zip")) + (file-name (string-append name "-" version ".zip")) + (sha256 + (base32 + "0m6p13vgfb1ihich1jp5j6fqlhkjsrkn32c86bsbkryp38ipwg8w")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "javax-servletapi.jar" + ;; no tests + #:tests? #f + #:source-dir "src/main/java")) + (native-inputs + `(("unzip" ,unzip))) + (home-page "https://javaee.github.io/servlet-spec/") + (synopsis "Java servlet API") + (description "Java Servlet is the foundation web specification in the +Java Enterprise Platform. Developers can build web applications using the +Servlet API to interact with the request/response workflow. This project +provides information on the continued development of the Java Servlet +specification.") + ;; Main code is dual-licensed by Oracle under either GLP2 or CDDL 1.1. + ;; Some files are licensed under ASL 2.0. + (license (list license:asl2.0 license:gpl2 license:cddl1.1)))) + (define-public java-swt (package (name "java-swt") @@ -4449,7 +4480,7 @@ these scripting language engines.") #:tests? #f #:source-dir "src/java")) (inputs - `(("java-tomcat" ,java-tomcat) + `(("servlet" ,java-classpathx-servletapi) ("java-jdom" ,java-jdom) ("java-commons-beanutils" ,java-commons-beanutils))) (native-inputs @@ -7908,6 +7939,10 @@ the dependency is said to be unsatisfied, and the application is broken.") (uri (string-append "https://github.com/google/guice/archive/" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) + (modules '((guix build utils))) + (snippet + `(begin + (for-each delete-file (find-files "." ".*.jar")))) (sha256 (base32 "0dwmqjzlavb144ywqqglj3h68hqszkff8ai0a42hyb5il0qh4rbp")))) @@ -7940,7 +7975,7 @@ Java 6 and above.") #:tests? #f)); FIXME: not in a java subdir (inputs `(("guice" ,java-guice) - ("servlet" ,java-tomcat) + ("servlet" ,java-classpathx-servletapi) ,@(package-inputs java-guice))))) (define-public java-assertj @@ -8425,15 +8460,15 @@ algorithms and xxHash hashing algorithm.") (define-public java-bouncycastle (package (name "java-bouncycastle") - (version "1.59") + (version "1.60") (source (origin (method url-fetch) (uri (string-append "https://github.com/bcgit/bc-java/archive/r" - (substring version 0 1) "rv" + (substring version 0 1) "v" (substring version 2 4) ".tar.gz")) (sha256 (base32 - "1bwl499whlbq896w18idqw2dkp8v0wp0npv9g71i5fgf8xjh0k3q")) + "0v434513y708qc87k4xz13p2kzydc736lk3ks67df9mg11s7hchv")) (modules '((guix build utils))) (snippet '(begin @@ -10109,7 +10144,7 @@ and reporting) project dependencies. It is characterized by the following: `(("java-guice" ,java-guice) ("java-guice-servlet" ,java-guice-servlet) ("java-javax-inject" ,java-javax-inject) - ("java-tomcat" ,java-tomcat) + ("java-javaee-servletapi" ,java-javaee-servletapi) ("java-junit" ,java-junit) ("java-slf4j-api" ,java-slf4j-api) ("java-jsr305" ,java-jsr305) @@ -10273,6 +10308,7 @@ static code analysis or code manipulation."))) (method url-fetch) (uri (string-append "https://github.com/qos-ch/logback/archive/v_" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1x6ga74yfgm94cfx98gybakbrlilx8i2gn6dx13l40kasmys06mi")) @@ -10303,7 +10339,7 @@ static code analysis or code manipulation."))) #t))))) (inputs `(("java-javax-mail" ,java-javax-mail) - ("java-tomcat" ,java-tomcat) + ("servlet" ,java-javaee-servletapi) ("java-commons-compiler" ,java-commons-compiler) ("java-janino" ,java-janino))) (native-inputs @@ -10347,7 +10383,7 @@ This module lays the groundwork for the other two modules.") (find-files (assoc-ref inputs input) ".*.jar")) '("java-logback-core" "java-slf4j-api" - "java-commons-compiler" "java-tomcat" + "java-commons-compiler" "servlet" "groovy"))) ":")) (apply invoke "groovyc" "-d" "build/classes" "-j" diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index 6fb1eee6cc..39e2322739 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -314,7 +314,7 @@ "USE_SYSTEM_LIBGIT2=1" "USE_SYSTEM_OPENSPECFUN=1"))) (inputs - `(("llvm" ,llvm) + `(("llvm" ,llvm-3.9.1) ;; The bundled version is 3.3.0 so stick to that version. With other ;; versions, we get test failures in 'linalg/arnoldi' as described in diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index 6f8571d22a..62a971a0a8 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -395,7 +395,7 @@ generator library for C++.") ("libxrender" ,libxrender) ("libxslt" ,libxslt) ("lzo" ,lzo) - ("mysql" ,mysql) + ("mariadb" ,mariadb) ("openssl" ,openssl) ("pcre" ,pcre) ("pulseaudio" ,pulseaudio) diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm index e4b8bbbbed..73788ea80f 100644 --- a/gnu/packages/libusb.scm +++ b/gnu/packages/libusb.scm @@ -65,7 +65,7 @@ (arguments `(#:configure-flags '("--disable-udev"))) ;; (inputs `(("eudev" ,eudev))) - (home-page "http://libusb.info") + (home-page "https://libusb.info") (synopsis "User-space USB library") (description "Libusb is a library that gives applications easy access to USB @@ -91,7 +91,7 @@ devices on various operating systems.") `(("pkg-config" ,pkg-config))) (inputs `(("libusb" ,libusb))) - (home-page "http://libusb.info") + (home-page "https://libusb.info") (synopsis "Compatibility shim for libusb") (description "Libusb-compat provides a shim allowing applications based on older diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 2ce0f56b84..7edf20ebc9 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -28,6 +28,7 @@ ;;; Copyright © 2017 nee <nee-git@hidamari.blue> ;;; Copyright © 2017 Dave Love <fx@gnu.org> ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr> +;;; Copyright © 2018 Brendan Tildesley <brendan.tildesley@openmailbox.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -59,6 +60,7 @@ #:use-module (gnu packages calendar) #:use-module (gnu packages check) #:use-module (gnu packages crypto) + #:use-module (gnu packages cryptsetup) #:use-module (gnu packages compression) #:use-module (gnu packages databases) #:use-module (gnu packages datastructures) @@ -402,8 +404,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.6") -(define %linux-libre-hash "0d48r5jpj71ikdalz5z756snwq54cpnwnba8bbhg8r2ri3770wcm") +(define %linux-libre-version "4.17.9") +(define %linux-libre-hash "1mahjxn4j7sdjdrbkrgal37nfx23njhnmrxcmixmphps8i44rlwm") (define-public linux-libre (make-linux-libre %linux-libre-version @@ -411,8 +413,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.55") -(define %linux-libre-4.14-hash "1rlapfwkjfmyk4ahvqwqap4w9flbw2zag0r04fwrmyqz1y5ijayf") +(define %linux-libre-4.14-version "4.14.57") +(define %linux-libre-4.14-hash "1qp8g87ss4a3iz6k3k4mkllibvdrixh6ys4a9l7jidp2wmkxj3kc") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version @@ -421,14 +423,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.112" - "1zrnbvzr7z5ky79r6hpjvn15bxmwcyi8lr7yq2nx1r8ladl8lnb0" + (make-linux-libre "4.9.114" + "069ckgck4skzci6sjrpk1sja0h1fdmrlcbpnqwl2844m5vfffzk9" %intel-compatible-systems #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.140" - "10h4k2c2ncnc1h61kikqb618dh9lp8fmzagz2ydykrdbb5jjiy82" + (make-linux-libre "4.4.143" + "0kawgpmmv37gds3cbww791bbzvwfjg760yg3qw3dk913dawhdmzw" %intel-compatible-systems #:configuration-file kernel-config)) @@ -1609,7 +1611,7 @@ processes currently causing I/O.") (define-public fuse (package (name "fuse") - (version "2.9.7") + (version "2.9.8") (source (origin (method url-fetch) (uri (string-append "https://github.com/libfuse/libfuse/releases/" @@ -1617,7 +1619,7 @@ processes currently causing I/O.") "/fuse-" version ".tar.gz")) (sha256 (base32 - "0x486nri30f7cgy0acj87v9sjxsjrr0cymrvw4h3r0sgmp8k4943")) + "1k4ggl2y5v0lr98l189pc81w0zijj23wbbnijsc6zlx84117nd0j")) (patches (search-patches "fuse-overlapping-headers.patch")))) (build-system gnu-build-system) (inputs `(("util-linux" ,util-linux))) @@ -3588,7 +3590,7 @@ The following service daemons are also provided: (define-public rng-tools (package (name "rng-tools") - (version "6.3") + (version "6.3.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/nhorman/rng-tools/" @@ -3596,7 +3598,7 @@ The following service daemons are also provided: (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1lc2kqw3idwmjyjnf16sqz0f4r1w7c638n4la1j1n5c3188q26bv")))) + "04p7wvcm389s21y9mq8ss6z2szxi4nfrfixzwqjkq2qciz705i4s")))) (build-system gnu-build-system) (arguments `(;; Avoid using OpenSSL, curl, and libxml2, reducing the closure by 166 MiB. @@ -3699,7 +3701,43 @@ as used on certified hardware security devices.") "0zwq19siiwf09h7lwa7n7mgmrr8cxifp45lmwgcfr8c1gviv6b0i")))) (build-system gnu-build-system) (arguments - `(#:configure-flags (list "--disable-pywrap"))) + `(#:configure-flags (list "--disable-pywrap") + #:phases + (modify-phases %standard-phases + (add-after 'patch-source-shebangs 'patch-hardcoded-paths + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (utils-linux (assoc-ref inputs "utils-linux")) + (cryptsetup (assoc-ref inputs "cryptsetup")) + (linux-pam (assoc-ref inputs "linux-pam")) + (lvm2 (assoc-ref inputs "lvm2"))) + (substitute* '("src/utils/ecryptfs-mount-private" + "src/utils/ecryptfs-umount-private" + "src/utils/ecryptfs-setup-private" + "src/utils/mount.ecryptfs.c" + "src/pam_ecryptfs/pam_ecryptfs.c" + "src/desktop/ecryptfs-mount-private.desktop.in" + "src/utils/ecryptfs-setup-swap") + (("/bin/mount") + (string-append utils-linux "/bin/mount")) + (("/bin/umount") + (string-append utils-linux "/bin/umount")) + (("/sbin/mount.ecryptfs_private") + (string-append out "/sbin/mount.ecryptfs_private")) + (("/sbin/umount.ecryptfs_private") + (string-append out "/sbin/umount.ecryptfs_private")) + (("/usr/bin/ecryptfs-mount-private") + (string-append out "/bin/ecryptfs-mount-private")) + (("/usr/bin/ecryptfs-rewrite-file") + (string-append out "/bin/ecryptfs-rewrite-file")) + (("/usr/bin/ecryptfs-setup-private") + (string-append out "/bin/ecryptfs-setup-private")) + (("/sbin/cryptsetup") + (string-append cryptsetup "/sbin/cryptsetup")) + (("/sbin/unix_chkpwd") + (string-append linux-pam "/sbin/unix_chkpwd")) + (("/sbin/dmsetup") + (string-append lvm2 "/sbin/dmsetup"))))))))) (native-inputs `(("intltool" ,intltool) ("perl" ,perl) ; for pod2man @@ -3707,6 +3745,9 @@ as used on certified hardware security devices.") (inputs `(("keyutils" ,keyutils) ("linux-pam" ,linux-pam) + ("utils-linux" ,util-linux) + ("cryptsetup" ,cryptsetup) + ("lvm2" ,lvm2) ("nss" ,nss))) (home-page "http://ecryptfs.org/") (synopsis "eCryptfs cryptographic file system utilities") diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index f127e27e3c..3d7b0e4632 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -261,14 +261,14 @@ aliasing facilities to work just as they would on normal mail.") (define-public mutt (package (name "mutt") - (version "1.10.0") + (version "1.10.1") (source (origin (method url-fetch) (uri (string-append "https://bitbucket.org/mutt/mutt/downloads/" "mutt-" version ".tar.gz")) (sha256 (base32 - "0nskymwr2cdapxlfv0ysz3bjwhb4kcvl5a3c39237k7r1vwva582")) + "182lkbkpd3q3l1x6bvyds90ycp38gyyxhf35ry0d3hwf2n1khjkk")) (patches (search-patches "mutt-store-references.patch")))) (build-system gnu-build-system) (inputs diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 1e0e1998db..fd3626a595 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -207,6 +207,37 @@ programming languages.") (home-page "https://stcorp.nl/coda") (license license:gpl2+))) +(define-public qhull + (package + (name "qhull") + (version "2015.2") + (source (origin + (method url-fetch) + (uri (string-append "http://www.qhull.org/download/qhull-" + (car (string-split version #\.)) + "-src-7.2.0.tgz")) + (sha256 + (base32 + "0dm4b2xr3asy6w74khq2zg4gf26zsy3qf9sq7pf7lmrvbj911c3q")))) + (build-system cmake-build-system) + (synopsis "Calculate convex hulls and related structures") + (description + "@code{Qhull} computes the convex hull, Delaunay triangulation, Voronoi +diagram, halfspace intersection about a point, furthest-site Delaunay +triangulation, and furthest-site Voronoi diagram. The source code runs in 2-d, +3-d, 4-d, and higher dimensions. @code{Qhull} implements the Quickhull +algorithm for computing the convex hull. It handles roundoff errors from +floating point arithmetic. It computes volumes, surface areas, and +approximations to the convex hull. + +@code{Qhull} does not support triangulation of non-convex surfaces, mesh +generation of non-convex objects, medium-sized inputs in 9-D and higher, alpha +shapes, weighted Voronoi diagrams, Voronoi volumes, or constrained Delaunay +triangulations.") + (home-page "http://qhull.org") + (license (license:non-copyleft "file://COPYING.txt" + "See COPYING in the distribution.")))) + (define-public units (package (name "units") @@ -1336,6 +1367,7 @@ can solve two kinds of problems: (build-system gnu-build-system) (inputs `(("lapack" ,lapack) + ("qhull" ,qhull) ("readline" ,readline) ("gl2ps" ,gl2ps) ("glpk" ,glpk) diff --git a/gnu/packages/maven.scm b/gnu/packages/maven.scm index a3e5687dc8..34fbce0e62 100644 --- a/gnu/packages/maven.scm +++ b/gnu/packages/maven.scm @@ -428,7 +428,7 @@ artifact and repository handling code.") ("java-eclipse-jetty-server-9.2" ,java-eclipse-jetty-server-9.2) ("java-eclipse-jetty-servlet-9.2" ,java-eclipse-jetty-servlet-9.2) ("java-slf4j-api" ,java-slf4j-api) - ("java-tomcat" ,java-tomcat) + ("java-javaee-servletapi" ,java-javaee-servletapi) ("maven-wagon-provider-api" ,maven-wagon-provider-api))) (synopsis "Test classes from maven-wagon") (description "Maven Wagon is a transport abstraction that is used in Maven's diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 1212a06eeb..a34f744659 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -12,7 +12,7 @@ ;;; Copyright © 2017, 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org> -;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> +;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr> ;;; @@ -487,14 +487,14 @@ compromised.") (define-public znc (package (name "znc") - (version "1.7.0") + (version "1.7.1") (source (origin (method url-fetch) (uri (string-append "http://znc.in/releases/archive/znc-" version ".tar.gz")) (sha256 (base32 - "0vxra50418bsjfdpf8vl70fijv8syvasjqdxfyjliff6k91k2zn0")))) + "1i1r1lh9q2mr1bg520zrvrlwhrhy6wibrin78wjxq1gab1qymks4")))) ;; TODO: autotools support has been deprecated, and new features like i18n ;; are only supported when building with cmake. (build-system gnu-build-system) @@ -873,7 +873,7 @@ protocols.") (define-public c-toxcore (package (name "c-toxcore") - (version "0.2.2") + (version "0.2.4") (source (origin (method url-fetch) @@ -882,7 +882,7 @@ protocols.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "18bfqx0ylbas9gs91rkspf04l5fjjcl0mxm1gfs2d59bv65mvcm3")))) + "0sdszy079f82ncrgq1wsjpk2374n5hm4las75gj3lrdhljl15izl")))) (arguments `(#:tests? #f)) ; FIXME: Testsuite seems to stay stuck on test 3. Disable ; for now. @@ -961,14 +961,14 @@ instant messenger with audio and video chat capabilities.") (define-public qtox (package (name "qtox") - (version "1.16.1") + (version "1.16.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/qTox/qTox/archive/v" version ".tar.gz")) (sha256 (base32 - "11l4klw0g6j4qq95krgyd0npxmmpcgk4vp9jq429sbsqn1s039j4")) + "10n3cgw9xaqin9la8wpd8v83bkjmimicgbyp5ninsdgsrgky4hmq")) (file-name (string-append name "-" version ".tar.gz")))) (build-system cmake-build-system) (arguments @@ -990,7 +990,7 @@ instant messenger with audio and video chat capabilities.") ,(list (string-append (assoc-ref inputs "qtsvg") "/lib/qt5/plugins/")))))))))) (inputs - `(("ffmpeg" ,ffmpeg-3.4) + `(("ffmpeg" ,ffmpeg) ("filteraudio" ,filteraudio) ("glib" ,glib) ("gtk+" ,gtk+-2) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index bdc6d050a9..0185b8fd9c 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -50,6 +50,7 @@ #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system waf) #:use-module (guix build-system trivial) + #:use-module (guix build-system go) #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages apr) @@ -128,6 +129,8 @@ #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (gnu packages xiph) + #:use-module (gnu packages golang) + #:use-module (gnu packages lua) #:use-module ((srfi srfi-1) #:select (last))) (define-public aria-maestosa @@ -4131,3 +4134,89 @@ at @code{musicbrainz.org}.") It can be used in daemon mode along with the Music-on-Console (MOC) and cmus console music players.") (license license:gpl3+))) + +(define-public demlo + (let ((commit "fe9ec4c8ac2fa995ec18e6ac86d50d46df06ec01") + (revision "0")) + (package + (name "demlo") + (version (git-version "3.8" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://gitlab.com/ambrevar/demlo") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1afkbqhzn6da7zaf5ab7dvyqj1izqhzprwfb4hw448fllda9bdvk")))) + (build-system go-build-system) + (native-inputs + `(("lua" ,lua) + ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty) + ("go-github-com-mattn-go-colorable" ,go-github-com-mattn-go-colorable) + ("go-github-com-aarzilli-golua" ,go-github-com-aarzilli-golua) + ("go-gitlab-com-ambrevar-damerau" ,go-gitlab-com-ambrevar-damerau) + ("go-gitlab-com-ambrevar-golua-unicode" ,go-gitlab-com-ambrevar-golua-unicode) + ("go-github-com-mgutz-ansi" ,go-github-com-mgutz-ansi) + ("go-github-com-michiwend-gomusicbrainz" ,go-github-com-michiwend-gomusicbrainz) + ("go-github-com-stevedonovan-luar" ,go-github-com-stevedonovan-luar) + ("go-github-com-wtolson-go-taglib" ,go-github-com-wtolson-go-taglib) + ("go-github-com-yookoala-realpath" ,go-github-com-yookoala-realpath))) + (inputs + `(("chromaprint" ,chromaprint) + ("ffmpeg" ,ffmpeg))) + (arguments + `(#:import-path "gitlab.com/ambrevar/demlo" + #:phases + (modify-phases %standard-phases + (add-after 'install 'wrap-program + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (ffmpeg (assoc-ref inputs "ffmpeg")) + (chromaprint (assoc-ref inputs "chromaprint"))) + (wrap-program (string-append out "/bin/demlo") + `("XDG_DATA_DIRS" ":" prefix (,out)) + `("PATH" ":" prefix + ,(map (lambda (dir) + (string-append dir "/bin:" + dir "/sbin")) + (list ffmpeg chromaprint)))) + #t))) + (add-after 'install-source 'install-scripts + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (root (string-append out "/src/gitlab.com/ambrevar/demlo")) + (xdg-data-dirs (string-append out "/demlo"))) + (copy-recursively (string-append root "/actions") + (string-append xdg-data-dirs "/actions")) + (copy-recursively (string-append root "/scripts") + (string-append xdg-data-dirs "/scripts")) + (install-file (string-append root "/config.lua") xdg-data-dirs) + ;; TODO: Test fish completion. + (install-file (string-append root "/completion/demlo.fish") + (string-append out "/share/fish/vendor_completions.d")) + #t)))))) + (home-page "https://gitlab.com/ambrevar/demlo") + (synopsis "Dynamic and extensible music library organizer") + (description "Demlo is a music library organizer. It can encode, fix +case, change folder hierarchy according to tags or file properties, tag from +an online database, copy covers while ignoring duplicates or those below a +quality threshold, and much more. It makes it possible to manage your +libraries uniformly and dynamically. You can write your own rules to fit your +needs best. + +Demlo can address any of these recurring music library issues (and much more): + +@itemize +@item Fix the lack of folder structure. +@item Normalize tags, fix their case, chose which tags to keep and which to +discard. +@item Handle lossy and lossless audio differently. +@item Handle mp3 id3tags hell... +@item Handle multiple covers, whether embedded and/or external, resize covers, +discard bad quality ones. +@end itemize\n") + (license license:expat)))) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index ebf0e86f12..90967b9b1f 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -534,7 +534,7 @@ and up to 1 Mbit/s downstream.") (define-public whois (package (name "whois") - (version "5.3.1") + (version "5.3.2") (source (origin (method url-fetch) @@ -542,7 +542,7 @@ and up to 1 Mbit/s downstream.") name "_" version ".tar.xz")) (sha256 (base32 - "0gl98l26dcgmlap0pxllbv4b9n2fr5b7zml3ijf8sf3a60qsskpg")))) + "0m3352d5b0ragygbqjbaimghrbx4va2rixa34j5a1g3jj6l4nwbr")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no test suite diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 61e203c611..b7e3b320f6 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -101,8 +101,8 @@ ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "0.15.0") - (commit "4876bc8234095e2af191b0c6470455ce67d9f5f7") - (revision 1)) + (commit "8bbb79cf95a07a40950448a8a09d888254404ed4") + (revision 2)) (package (name "guix") @@ -118,7 +118,7 @@ (commit commit))) (sha256 (base32 - "0qw0ffrxzxfk76pp38kx222ndpsv9mbhlmfycagyipgypgjdd9lq")) + "0h83l91v2cg9bb78c7vqx9wj71ckz22jbjmm2fy4vqs9216jnvc0")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments @@ -263,7 +263,10 @@ ("sqlite" ,sqlite) ("libgcrypt" ,libgcrypt) - ("guile" ,guile-2.2) + + ;; Use 2.2.4 to avoid various thread-safety issues while building + ;; code in parallel. + ("guile" ,guile-2.2.4) ;; Many tests rely on the 'guile-bootstrap' package, which is why we ;; have it here. @@ -345,7 +348,7 @@ the Nix package manager.") (let ((out (assoc-ref outputs "out"))) (substitute* (find-files (string-append out "/libexec")) (("exec \".*/bin/guix\"") - "exec ~root/.config/current/bin/guix")) + "exec ~root/.config/guix/current/bin/guix")) #t))) (delete 'wrap-program))))))) diff --git a/gnu/packages/patches/file-CVE-2017-1000249.patch b/gnu/packages/patches/file-CVE-2017-1000249.patch deleted file mode 100644 index 505acf1592..0000000000 --- a/gnu/packages/patches/file-CVE-2017-1000249.patch +++ /dev/null @@ -1,27 +0,0 @@ -https://github.com/file/file/commit/35c94dc6acc418f1ad7f6241a6680e5327495793.patch -http://openwall.com/lists/oss-security/2017/09/05/3 - -The patch is minorly modified to apply to file-5.30 - -From 35c94dc6acc418f1ad7f6241a6680e5327495793 Mon Sep 17 00:00:00 2001 -From: Christos Zoulas <christos@zoulas.com> -Date: Sun, 27 Aug 2017 07:55:02 +0000 -Subject: [PATCH] Fix always true condition (Thomas Jarosch) - ---- - src/readelf.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/readelf.c b/src/readelf.c -index 81451827..5f425c97 100644 ---- a/src/readelf.c -+++ b/src/readelf.c -@@ -511,7 +511,7 @@ do_bid_note(struct magic_set *ms, unsigned char *nbuf, uint32_t type, - size_t noff, size_t doff, int *flags) - { - if (namesz == 4 && strcmp((char *)&nbuf[noff], "GNU") == 0 && -- type == NT_GNU_BUILD_ID && (descsz >= 4 || descsz <= 20)) { -+ type == NT_GNU_BUILD_ID && (descsz >= 4 && descsz <= 20)) { - uint8_t desc[20]; - const char *btype; - uint32_t i; diff --git a/gnu/packages/patches/fltk-shared-lib-defines.patch b/gnu/packages/patches/fltk-shared-lib-defines.patch deleted file mode 100644 index d36a50ff5e..0000000000 --- a/gnu/packages/patches/fltk-shared-lib-defines.patch +++ /dev/null @@ -1,51 +0,0 @@ -This patch from upstream revision 10588. - ---- fltk-1.3.3/src/Xutf8.h -+++ fltk-1.3.3/src/Xutf8.h -@@ -25,6 +25,7 @@ - #include <X11/Xlib.h> - #include <X11/Xlocale.h> - #include <X11/Xutil.h> -+#include <FL/Fl_Export.H> - - typedef struct { - int nb_font; -@@ -98,8 +99,8 @@ - XUtf8FontStruct *font_set, - unsigned int ucs); - --int --XGetUtf8FontAndGlyph( -+FL_EXPORT int -+fl_XGetUtf8FontAndGlyph( - XUtf8FontStruct *font_set, - unsigned int ucs, - XFontStruct **fnt, ---- fltk-1.3.3/src/gl_draw.cxx -+++ fltk-1.3.3/src/gl_draw.cxx -@@ -114,7 +114,7 @@ - for (int i = 0; i < 0x400; i++) { - XFontStruct *font = NULL; - unsigned short id; -- XGetUtf8FontAndGlyph(gl_fontsize->font, ii, &font, &id); -+ fl_XGetUtf8FontAndGlyph(gl_fontsize->font, ii, &font, &id); - if (font) glXUseXFont(font->fid, id, 1, gl_fontsize->listbase+ii); - ii++; - } ---- fltk-1.3.3/src/xutf8/utf8Wrap.c -+++ fltk-1.3.3/src/xutf8/utf8Wrap.c -@@ -816,10 +816,10 @@ - /** get the X font and glyph ID of a UCS char **/ - /*****************************************************************************/ - int --XGetUtf8FontAndGlyph(XUtf8FontStruct *font_set, -- unsigned int ucs, -- XFontStruct **fnt, -- unsigned short *id) { -+fl_XGetUtf8FontAndGlyph(XUtf8FontStruct *font_set, -+ unsigned int ucs, -+ XFontStruct **fnt, -+ unsigned short *id) { - - /* int x; */ - int *encodings; /* encodings array */ diff --git a/gnu/packages/patches/fltk-xfont-on-demand.patch b/gnu/packages/patches/fltk-xfont-on-demand.patch deleted file mode 100644 index cdcdd9af05..0000000000 --- a/gnu/packages/patches/fltk-xfont-on-demand.patch +++ /dev/null @@ -1,45 +0,0 @@ -Fixes undefined reference to `Fl_XFont_On_Demand::value()'. -From <http://www.fltk.org/str.php?L3156+P0+S0+C0+I0+E0+V1+QOn_Demand>. - -Index: src/fl_font.cxx -=================================================================== ---- fltk-1.3.3/src/fl_font.cxx (revision 10503) -+++ fltk-1.3.3/src/fl_font.cxx (revision 10504) -@@ -55,6 +55,12 @@ - # include "fl_font_x.cxx" - #endif // WIN32 - -+#if ! (defined(WIN32) || defined(__APPLE__)) -+XFontStruct *fl_X_core_font() -+{ -+ return fl_xfont.value(); -+} -+#endif - - double fl_width(const char* c) { - if (c) return fl_width(c, (int) strlen(c)); -Index: src/gl_draw.cxx -=================================================================== ---- fltk-1.3.3/src/gl_draw.cxx (revision 10503) -+++ fltk-1.3.3/src/gl_draw.cxx (revision 10504) -@@ -81,7 +81,7 @@ - * then sorting through them at draw time (for normal X rendering) to find which one can - * render the current glyph... But for now, just use the first font in the list for GL... - */ -- XFontStruct *font = fl_xfont; -+ XFontStruct *font = fl_X_core_font(); - int base = font->min_char_or_byte2; - int count = font->max_char_or_byte2-base+1; - fl_fontsize->listbase = glGenLists(256); -Index: FL/x.H -=================================================================== ---- fltk-1.3.3/FL/x.H (revision 10503) -+++ fltk-1.3.3/FL/x.H (revision 10504) -@@ -132,6 +132,7 @@ - XFontStruct *ptr; - }; - extern FL_EXPORT Fl_XFont_On_Demand fl_xfont; -+extern FL_EXPORT XFontStruct* fl_X_core_font(); - - // this object contains all X-specific stuff about a window: - // Warning: this object is highly subject to change! diff --git a/gnu/packages/patches/ghostscript-CVE-2018-10194.patch b/gnu/packages/patches/ghostscript-CVE-2018-10194.patch new file mode 100644 index 0000000000..242e57c27c --- /dev/null +++ b/gnu/packages/patches/ghostscript-CVE-2018-10194.patch @@ -0,0 +1,52 @@ +Fix CVE-2018-10194: + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-10194 +https://bugs.ghostscript.com/show_bug.cgi?id=699255 + +Patch copied from upstream source repository: + +https://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=39b1e54b2968620723bf32e96764c88797714879 + +From 39b1e54b2968620723bf32e96764c88797714879 Mon Sep 17 00:00:00 2001 +From: Ken Sharp <ken.sharp@artifex.com> +Date: Wed, 18 Apr 2018 15:46:32 +0100 +Subject: [PATCH] pdfwrite - Guard against trying to output an infinite number + +Bug #699255 " Buffer overflow on pprintg1 due to mishandle postscript file data to pdf" + +The file uses an enormous parameter to xyxhow, causing an overflow in +the calculation of text positioning (value > 1e39). + +Since this is basically a nonsense value, and PostScript only supports +real values up to 1e38, this patch follows the same approach as for +a degenerate CTM, and treats it as 0. + +Adobe Acrobat Distiller throws a limitcheck error, so we could do that +instead if this approach proves to be a problem. +--- + devices/vector/gdevpdts.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/devices/vector/gdevpdts.c b/devices/vector/gdevpdts.c +index 848ad781f..172fe6bc3 100644 +--- a/devices/vector/gdevpdts.c ++++ b/devices/vector/gdevpdts.c +@@ -103,9 +103,14 @@ append_text_move(pdf_text_state_t *pts, double dw) + static int + set_text_distance(gs_point *pdist, double dx, double dy, const gs_matrix *pmat) + { +- int code = gs_distance_transform_inverse(dx, dy, pmat, pdist); ++ int code; + double rounded; + ++ if (dx > 1e38 || dy > 1e38) ++ code = gs_error_undefinedresult; ++ else ++ code = gs_distance_transform_inverse(dx, dy, pmat, pdist); ++ + if (code == gs_error_undefinedresult) { + /* The CTM is degenerate. + Can't know the distance in user space. +-- +2.18.0 + diff --git a/gnu/packages/patches/monero-use-system-miniupnpc.patch b/gnu/packages/patches/monero-use-system-miniupnpc.patch new file mode 100644 index 0000000000..6bc825d121 --- /dev/null +++ b/gnu/packages/patches/monero-use-system-miniupnpc.patch @@ -0,0 +1,111 @@ +This reverts commit 1e20d705e7c64d2b17c031f345057d1e8850fafa, so that it's possible to use our own +miniupnpc, instead of a git submodule. +--- + CMakeLists.txt | 8 ++++++++ + external/CMakeLists.txt | 41 +++++++++++++++++++++++++++++++---------- + src/p2p/net_node.inl | 13 ++++++++++--- + 3 files changed, 49 insertions(+), 13 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3b93988e..ef948885 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -430,6 +430,14 @@ include_directories("${CMAKE_CURRENT_BINARY_DIR}/translations") + + add_subdirectory(external) + ++# Final setup for miniupnpc ++if(UPNP_STATIC OR IOS) ++ add_definitions("-DUPNP_STATIC") ++else() ++ add_definitions("-DUPNP_DYNAMIC") ++ include_directories(${UPNP_INCLUDE}) ++endif() ++ + # Final setup for libunbound + include_directories(${UNBOUND_INCLUDE}) + link_directories(${UNBOUND_LIBRARY_DIRS}) +diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt +index 1fc4d64c..b4f712ee 100644 +--- a/external/CMakeLists.txt ++++ b/external/CMakeLists.txt +@@ -34,21 +34,42 @@ + # We always compile if we are building statically to reduce static dependency issues... + # ...except for FreeBSD, because FreeBSD is a special case that doesn't play well with + # others. ++if(NOT IOS) ++ find_package(Miniupnpc QUIET) ++endif() + +-find_package(Miniupnpc REQUIRED) ++# If we have the correct shared version and we're not building static, use it ++if(STATIC OR IOS) ++ set(USE_SHARED_MINIUPNPC false) ++elseif(MINIUPNP_FOUND AND MINIUPNPC_VERSION_1_7_OR_HIGHER) ++ set(USE_SHARED_MINIUPNPC true) ++endif() + +-message(STATUS "Using in-tree miniupnpc") ++if(USE_SHARED_MINIUPNPC) ++ message(STATUS "Using shared miniupnpc found at ${MINIUPNP_INCLUDE_DIR}") + +-add_subdirectory(miniupnp/miniupnpc) ++ set(UPNP_STATIC false PARENT_SCOPE) ++ set(UPNP_INCLUDE ${MINIUPNP_INCLUDE_DIR} PARENT_SCOPE) ++ set(UPNP_LIBRARIES ${MINIUPNP_LIBRARY} PARENT_SCOPE) ++else() ++ if(STATIC) ++ message(STATUS "Using miniupnpc from local source tree for static build") ++ else() ++ message(STATUS "Using miniupnpc from local source tree (/external/miniupnp/miniupnpc)") ++ endif() + +-set_property(TARGET libminiupnpc-static PROPERTY FOLDER "external") +-if(MSVC) +- set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -wd4244 -wd4267") +-elseif(NOT MSVC) +- set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-undef -Wno-unused-result -Wno-unused-value") +-endif() ++ add_subdirectory(miniupnp/miniupnpc) ++ ++ set_property(TARGET libminiupnpc-static PROPERTY FOLDER "external") ++ if(MSVC) ++ set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -wd4244 -wd4267") ++ elseif(NOT MSVC) ++ set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-undef -Wno-unused-result -Wno-unused-value") ++ endif() + +-set(UPNP_LIBRARIES "libminiupnpc-static" PARENT_SCOPE) ++ set(UPNP_STATIC true PARENT_SCOPE) ++ set(UPNP_LIBRARIES "libminiupnpc-static" PARENT_SCOPE) ++endif() + + find_package(Unbound) + +diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl +index 9b21705e..76340a22 100644 +--- a/src/p2p/net_node.inl ++++ b/src/p2p/net_node.inl +@@ -49,9 +49,16 @@ + #include "storages/levin_abstract_invoke2.h" + #include "cryptonote_core/cryptonote_core.h" + +-#include <miniupnp/miniupnpc/miniupnpc.h> +-#include <miniupnp/miniupnpc/upnpcommands.h> +-#include <miniupnp/miniupnpc/upnperrors.h> ++// We have to look for miniupnpc headers in different places, dependent on if its compiled or external ++#ifdef UPNP_STATIC ++ #include <miniupnp/miniupnpc/miniupnpc.h> ++ #include <miniupnp/miniupnpc/upnpcommands.h> ++ #include <miniupnp/miniupnpc/upnperrors.h> ++#else ++ #include "miniupnpc.h" ++ #include "upnpcommands.h" ++ #include "upnperrors.h" ++#endif + + #undef MONERO_DEFAULT_LOG_CATEGORY + #define MONERO_DEFAULT_LOG_CATEGORY "net.p2p" +-- +2.16.2 + diff --git a/gnu/packages/patches/openbabel-fix-crash-on-nwchem-output.patch b/gnu/packages/patches/openbabel-fix-crash-on-nwchem-output.patch new file mode 100644 index 0000000000..879df026a1 --- /dev/null +++ b/gnu/packages/patches/openbabel-fix-crash-on-nwchem-output.patch @@ -0,0 +1,34 @@ +From 52cea818bf68f8a2d3c48d55d00c2f8b7da25e4c Mon Sep 17 00:00:00 2001 +From: Daniel Hogan <daniel.hogan@usask.ca> +Date: Tue, 28 Mar 2017 22:21:18 -0600 +Subject: [PATCH] Remove delete statement. + +When from_scratch is true, coordinates is not allocated. A separate if +statement was added to handle the case when from_scratch is true that +does not try to free coordinates. +--- + src/formats/nwchemformat.cpp | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/src/formats/nwchemformat.cpp b/src/formats/nwchemformat.cpp +index 6f625ad5b..79298555f 100644 +--- a/src/formats/nwchemformat.cpp ++++ b/src/formats/nwchemformat.cpp +@@ -232,11 +232,14 @@ static const char* OPTIMIZATION_END_PATTERN = " Optimization converged"; + break; + tokenize(vs,buffer); + } +- if ((from_scratch)||(i != natoms)) +- { ++ if (from_scratch) ++ { ++ return; ++ } ++ if (i != natoms) { + delete[] coordinates; + return; +- } ++ } + molecule->AddConformer(coordinates); + } + diff --git a/gnu/packages/patches/python-cairocffi-dlopen-path.patch b/gnu/packages/patches/python-cairocffi-dlopen-path.patch new file mode 100644 index 0000000000..e7a7fe3737 --- /dev/null +++ b/gnu/packages/patches/python-cairocffi-dlopen-path.patch @@ -0,0 +1,10 @@ +--- cairocffi-0.8.0/cairocffi/__init__.py.orig 2018-07-16 11:00:59.075664158 +0200 ++++ cairocffi-0.8.0/cairocffi/__init__.py 2018-07-16 17:09:42.471958015 +0200 +@@ -35,6 +35,7 @@ + return lib + except OSError: + pass ++ return ffi.dlopen(name) + raise OSError("dlopen() failed to load a library: %s" % ' / '.join(names)) + + diff --git a/gnu/packages/patches/syncthing-fix-crash.patch b/gnu/packages/patches/syncthing-fix-crash.patch deleted file mode 100644 index d27e543982..0000000000 --- a/gnu/packages/patches/syncthing-fix-crash.patch +++ /dev/null @@ -1,72 +0,0 @@ -Avoid a crash: - -https://github.com/syncthing/syncthing/issues/5002 - -Patch copied from upstream source repository: - -https://github.com/syncthing/syncthing/commit/35a75a95dc6383b2d73ab645f1407f7907ec1a2c - -From 35a75a95dc6383b2d73ab645f1407f7907ec1a2c Mon Sep 17 00:00:00 2001 -From: Jakob Borg <jakob@kastelo.net> -Date: Wed, 13 Jun 2018 19:07:52 +0200 -Subject: [PATCH] lib/model: Don't panic when rechecking file (fixes #5002) - (#5003) - ---- - lib/model/model.go | 2 +- - lib/model/model_test.go | 26 ++++++++++++++++++++++++++ - 2 files changed, 27 insertions(+), 1 deletion(-) - -diff --git a/lib/model/model.go b/lib/model/model.go -index 5a9146e0..302f06c5 100644 ---- a/lib/model/model.go -+++ b/lib/model/model.go -@@ -1373,7 +1373,7 @@ func (m *Model) recheckFile(deviceID protocol.DeviceID, folderFs fs.Filesystem, - return - } - -- if blockIndex > len(cf.Blocks) { -+ if blockIndex >= len(cf.Blocks) { - l.Debugf("%v recheckFile: %s: %q / %q i=%d: block index too far", m, deviceID, folder, name, blockIndex) - return - } -diff --git a/lib/model/model_test.go b/lib/model/model_test.go -index 295eafc1..456bbc4a 100644 ---- a/lib/model/model_test.go -+++ b/lib/model/model_test.go -@@ -3608,6 +3608,32 @@ func TestIssue4903(t *testing.T) { - } - } - -+func TestIssue5002(t *testing.T) { -+ // recheckFile should not panic when given an index equal to the number of blocks -+ -+ db := db.OpenMemory() -+ m := NewModel(defaultCfgWrapper, protocol.LocalDeviceID, "syncthing", "dev", db, nil) -+ m.AddFolder(defaultFolderConfig) -+ m.StartFolder("default") -+ -+ m.ServeBackground() -+ defer m.Stop() -+ -+ if err := m.ScanFolder("default"); err != nil { -+ t.Error(err) -+ } -+ -+ file, ok := m.CurrentFolderFile("default", "foo") -+ if !ok { -+ t.Fatal("test file should exist") -+ } -+ nBlocks := len(file.Blocks) -+ -+ m.recheckFile(protocol.LocalDeviceID, defaultFolderConfig.Filesystem(), "default", "foo", nBlocks-1, []byte{1, 2, 3, 4}) -+ m.recheckFile(protocol.LocalDeviceID, defaultFolderConfig.Filesystem(), "default", "foo", nBlocks, []byte{1, 2, 3, 4}) // panic -+ m.recheckFile(protocol.LocalDeviceID, defaultFolderConfig.Filesystem(), "default", "foo", nBlocks+1, []byte{1, 2, 3, 4}) -+} -+ - func addFakeConn(m *Model, dev protocol.DeviceID) *fakeConnection { - fc := &fakeConnection{id: dev, model: m} - m.AddConnection(fc, protocol.HelloResult{}) --- -2.18.0 - diff --git a/gnu/packages/patches/twinkle-include-qregexpvalidator.patch b/gnu/packages/patches/twinkle-include-qregexpvalidator.patch new file mode 100755 index 0000000000..4096cc8712 --- /dev/null +++ b/gnu/packages/patches/twinkle-include-qregexpvalidator.patch @@ -0,0 +1,123 @@ +Copied from upstream: + +https://github.com/LubosD/twinkle/commit/4b42755619011c117a76bdf98e417ebedc47e319 + +From 4b42755619011c117a76bdf98e417ebedc47e319 Mon Sep 17 00:00:00 2001 +From: Michal Kubecek <mkubecek@suse.cz> +Date: Wed, 6 Jun 2018 10:07:21 +0200 +Subject: [PATCH] Include <QRegExpValidator> explicitly + +Since Qt 5.11, generated ui_getprofilename.h no longer includes QHeaderView +which breaks the chain that included qvalidator.h in getprofilename.cpp. +As it feels rather fragile to rely on such indirect includes, let's include +<QRegExpValidator> explicitly in each file using QRegExpValidator class. +--- + src/gui/diamondcardprofileform.cpp | 1 + + src/gui/getprofilenameform.cpp | 2 +- + src/gui/inviteform.cpp | 1 + + src/gui/mphoneform.cpp | 1 + + src/gui/numberconversionform.cpp | 1 + + src/gui/syssettingsform.cpp | 1 + + src/gui/userprofileform.cpp | 1 + + src/gui/wizardform.cpp | 1 + + 8 files changed, 8 insertions(+), 1 deletion(-) + +diff --git a/src/gui/diamondcardprofileform.cpp b/src/gui/diamondcardprofileform.cpp +index 6656909..517180b 100644 +--- a/src/gui/diamondcardprofileform.cpp ++++ b/src/gui/diamondcardprofileform.cpp +@@ -21,6 +21,7 @@ + + #include <QRegExp> + #include <QValidator> ++#include <QRegExpValidator> + #include "gui.h" + #include "diamondcard.h" + #include "getprofilenameform.h" +diff --git a/src/gui/getprofilenameform.cpp b/src/gui/getprofilenameform.cpp +index 1319e1d..89c715e 100644 +--- a/src/gui/getprofilenameform.cpp ++++ b/src/gui/getprofilenameform.cpp +@@ -1,7 +1,7 @@ + #include "getprofilenameform.h" +- + #include <QDir> + #include <QMessageBox> ++#include <QRegExpValidator> + #include "user.h" + #include "protocol.h" + +diff --git a/src/gui/inviteform.cpp b/src/gui/inviteform.cpp +index 433fb22..2a5b68d 100644 +--- a/src/gui/inviteform.cpp ++++ b/src/gui/inviteform.cpp +@@ -7,6 +7,7 @@ + #include "sys_settings.h" + #include <QRegExp> + #include <QValidator> ++#include <QRegExpValidator> + + /* + Copyright (C) 2005-2009 Michel de Boer <michel@twinklephone.com> +diff --git a/src/gui/mphoneform.cpp b/src/gui/mphoneform.cpp +index 260fda7..c4e3c1d 100644 +--- a/src/gui/mphoneform.cpp ++++ b/src/gui/mphoneform.cpp +@@ -54,6 +54,7 @@ + #include <QRegExp> + #include <QValidator> + #include <QSettings> ++#include <QRegExpValidator> + #include "buddyform.h" + #include "diamondcardprofileform.h" + #include "osd.h" +diff --git a/src/gui/numberconversionform.cpp b/src/gui/numberconversionform.cpp +index f8ae64c..8481a9b 100644 +--- a/src/gui/numberconversionform.cpp ++++ b/src/gui/numberconversionform.cpp +@@ -1,5 +1,6 @@ + #include "numberconversionform.h" + ++#include <QRegExpValidator> + #include "gui.h" + + /* +diff --git a/src/gui/syssettingsform.cpp b/src/gui/syssettingsform.cpp +index 216af54..355df59 100644 +--- a/src/gui/syssettingsform.cpp ++++ b/src/gui/syssettingsform.cpp +@@ -28,6 +28,7 @@ + #include "twinkle_config.h" + #include <QRegExp> + #include <QValidator> ++#include <QRegExpValidator> + #include "syssettingsform.h" + /* + * Constructs a SysSettingsForm as a child of 'parent', with the +diff --git a/src/gui/userprofileform.cpp b/src/gui/userprofileform.cpp +index 28700a6..9ed9209 100644 +--- a/src/gui/userprofileform.cpp ++++ b/src/gui/userprofileform.cpp +@@ -31,6 +31,7 @@ + #include <QStringList> + #include "twinkle_config.h" + #include <QListWidget> ++#include <QRegExpValidator> + #include "numberconversionform.h" + #include "util.h" + #include "userprofileform.h" +diff --git a/src/gui/wizardform.cpp b/src/gui/wizardform.cpp +index 777aa12..f925875 100644 +--- a/src/gui/wizardform.cpp ++++ b/src/gui/wizardform.cpp +@@ -23,6 +23,7 @@ + #include <QTextStream> + #include "gui.h" + #include <QFile> ++#include <QRegExpValidator> + #include "wizardform.h" + + #define PROV_NONE QT_TRANSLATE_NOOP("WizardForm", "None (direct IP to IP calls)") +-- +2.17.0 + diff --git a/gnu/packages/patches/xorg-server-rotate-fb.patch b/gnu/packages/patches/xorg-server-rotate-fb.patch new file mode 100644 index 0000000000..f47036b2a7 --- /dev/null +++ b/gnu/packages/patches/xorg-server-rotate-fb.patch @@ -0,0 +1,35 @@ +commit a85e94a50c94b07574c8701a3ff3c1243f4257f4 +Author: Olivier Fourdan <ofourdan@redhat.com> +Date: Fri Jun 15 08:57:12 2018 +0200 + + modesetting: use drmmode_bo_import() for rotate_fb + + drmmode_shadow_allocate() still uses drmModeAddFB() which may fail if + the format is not as expected, preventing from using a rotated output. + + Change it to use the new function drmmode_bo_import() which takes care + of calling the drmModeAddFB2() API. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106715 + Signed-off-by: Olivier Fourdan <ofourdan@redhat.com> + Tested-by: Tomas Pelka <tpelka@redhat.com> + Reviewed-by: Lyude Paul <lyude@redhat.com> + +diff --git a/hw/xfree86/drivers/modesetting/drmmode_display.c b/hw/xfree86/drivers/modesetting/drmmode_display.c +index 859a21a9d..ec11b3f56 100644 +--- a/hw/xfree86/drivers/modesetting/drmmode_display.c ++++ b/hw/xfree86/drivers/modesetting/drmmode_display.c +@@ -1794,11 +1794,8 @@ drmmode_shadow_allocate(xf86CrtcPtr crtc, int width, int height) + return NULL; + } + +- ret = drmModeAddFB(drmmode->fd, width, height, crtc->scrn->depth, +- drmmode->kbpp, +- drmmode_bo_get_pitch(&drmmode_crtc->rotate_bo), +- drmmode_bo_get_handle(&drmmode_crtc->rotate_bo), +- &drmmode_crtc->rotate_fb_id); ++ ret = drmmode_bo_import(drmmode, &drmmode_crtc->rotate_bo, ++ &drmmode_crtc->rotate_fb_id); + + if (ret) { + ErrorF("failed to add rotate fb\n"); diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 6ac4e76db8..867333031c 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -548,23 +548,26 @@ interaction.") (define-public podofo (package (name "podofo") - (version "0.9.5") + (version "0.9.6") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/podofo/podofo/" version "/podofo-" version ".tar.gz")) (sha256 (base32 - "012kgfx5j5n6w4zkc1d290d2cwjk60jhzsjlr2x19g3yi75q2jc5")))) + "0wj0y4zcmj4q79wrn3vv3xq4bb0vhhxs8yifafwy9f2sjm83c5p9")))) (build-system cmake-build-system) - (inputs ; TODO: Add cppunit for tests - `(("lua" ,lua-5.1) - ("libpng" ,libpng) - ("openssl" ,openssl) - ("fontconfig" ,fontconfig) + (native-inputs + `(("cppunit" ,cppunit) + ("pkg-config" ,pkg-config))) + (inputs + `(("libjpeg" ,libjpeg) ("libtiff" ,libtiff) - ("libjpeg" ,libjpeg-8) + ("fontconfig" ,fontconfig) ("freetype" ,freetype) + ("libpng" ,libpng) + ("lua" ,lua-5.1) + ("openssl" ,openssl) ("zlib" ,zlib))) (arguments `(#:configure-flags '("-DPODOFO_BUILD_SHARED=ON" diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 7bf1d60f7c..88fa1aba68 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2014, 2015, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2017 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Roel Janssen <roel@gnu.org> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Leo Famulari <leo@famulari.name> @@ -81,7 +81,7 @@ (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("libjpeg" ,libjpeg-8))) ;for lossy DNGs and old Kodak cameras + `(("libjpeg" ,libjpeg))) ;for lossy DNGs and old Kodak cameras (propagated-inputs `(("lcms" ,lcms))) ;for color profiles (home-page "https://www.libraw.org") diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm index 1acab0de71..121ffab767 100644 --- a/gnu/packages/php.scm +++ b/gnu/packages/php.scm @@ -62,7 +62,7 @@ (define-public php (package (name "php") - (version "7.2.4") + (version "7.2.8") (home-page "https://secure.php.net/") (source (origin (method url-fetch) @@ -70,7 +70,7 @@ name "-" version ".tar.xz")) (sha256 (base32 - "123s0lbyz4fxr3kk91r4v658mk899dym36lggxnx9pwd2jyv25kr")) + "03zv1y8ygzsir60617hinpji3f4irk79zbp3ar1b8zcapq40gfjk")) (modules '((guix build utils))) (snippet '(with-directory-excursion "ext" @@ -248,6 +248,9 @@ ;; iconv breaks the loop after the first error with Termsig=11. "ext/iconv/tests/iconv_strpos_variation4.phpt" "ext/iconv/tests/iconv_strrpos_variation3.phpt" + ;; Expects "invalid multibyte sequence" but got + ;; "unknown error". + "ext/iconv/tests/bug76249.phpt" ;; XXX: These test failures appear legitimate, needs investigation. ;; open_basedir() restriction failure. @@ -288,7 +291,10 @@ "ext/mbstring/tests/mb_ereg_variation3.phpt" "ext/mbstring/tests/mb_ereg_replace_variation1.phpt" "ext/mbstring/tests/bug72994.phpt" - "ext/ldap/tests/ldap_set_option_error.phpt")) + "ext/ldap/tests/ldap_set_option_error.phpt" + + ;; Sometimes cannot start the LDAP server. + "ext/ldap/tests/bug76248.phpt")) ;; Skip tests requiring network access. (setenv "SKIP_ONLINE_TESTS" "1") diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index 2d865a92b3..ed8aa836fd 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr> -;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Ben Sturmfels <ben@sturm.com.au> @@ -610,16 +610,17 @@ ECB and OFB).") (define-public python-asn1crypto (package (name "python-asn1crypto") - (version "0.22.0") + (version "0.24.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/wbond/asn1crypto/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/wbond/asn1crypto.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1kn910896l3knmilla1c9ly20q181s43w1ah08lzkbm1h3j6pcz0")))) + "10lai2cs5mnz3gpaffbw1m7b885ls8328q5wxm35vfmcip1f0xmb")))) (build-system python-build-system) (home-page "https://github.com/wbond/asn1crypto") (synopsis "ASN.1 parser and serializer in Python") diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index d350990c67..fc1ef3eb2a 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -14,7 +14,7 @@ ;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2015, 2017 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2015, 2016 Erik Edrosa <erik.edrosa@gmail.com> -;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2017 Kyle Meyer <kyle@kyleam.com> ;;; Copyright © 2015, 2016 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org> @@ -4210,23 +4210,53 @@ support for Python 3 and PyPy. It is based on cffi.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1rk2dvy3fxrga6bvvxc2fi5lbaynm5h4a0w0aaxyn3bc77rszjg9")))) + "1rk2dvy3fxrga6bvvxc2fi5lbaynm5h4a0w0aaxyn3bc77rszjg9")) + (patches (search-patches "python-cairocffi-dlopen-path.patch")))) (build-system python-build-system) (outputs '("out" "doc")) (inputs - `(("gdk-pixbuf" ,gdk-pixbuf) - ("cairo" ,cairo))) + `(("glib" ,glib) + ("gtk+" ,gtk+) + ("gdk-pixbuf" ,gdk-pixbuf) + ("cairo" ,cairo) + ("pango" ,pango))) (native-inputs `(("pkg-config" ,pkg-config) + ("python-pytest" ,python-pytest) ("python-sphinx" ,python-sphinx) ("python-docutils" ,python-docutils))) (propagated-inputs `(("python-xcffib" ,python-xcffib))) ; used at run time (arguments `(;; FIXME: Tests cannot find 'libcairo.so.2'. - #:tests? #f + #:tests? #t #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-paths + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* (find-files "." "\\.py$") + (("dlopen\\(ffi, 'cairo'") + (string-append "dlopen(ffi, '" (assoc-ref inputs "cairo") + "/lib/libcairo.so.2'")) + (("dlopen\\(ffi, 'gdk-3'") + (string-append "dlopen(ffi, '" (assoc-ref inputs "gtk+") + "/lib/libgtk-3.so.0'")) + (("dlopen\\(ffi, 'gdk_pixbuf-2.0'") + (string-append "dlopen(ffi, '" (assoc-ref inputs "gdk-pixbuf") + "/lib/libgdk_pixbuf-2.0.so.0'")) + (("dlopen\\(ffi, 'glib-2.0'") + (string-append "dlopen(ffi, '" (assoc-ref inputs "glib") + "/lib/libglib-2.0.so.0'")) + (("dlopen\\(ffi, 'gobject-2.0'") + (string-append "dlopen(ffi, '" (assoc-ref inputs "glib") + "/lib/libgobject-2.0.so.0'")) + (("dlopen\\(ffi, 'pangocairo-1.0'") + (string-append "dlopen(ffi, '" (assoc-ref inputs "pango") + "/lib/libpangocairo-1.0.so.0'")) + (("dlopen\\(ffi, 'pango-1.0'") + (string-append "dlopen(ffi, '" (assoc-ref inputs "pango") + "/lib/libpango-1.0.so.0'"))) + #t)) (add-after 'install 'install-doc (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((data (string-append (assoc-ref outputs "doc") "/share")) @@ -6284,14 +6314,14 @@ designed to efficiently cope with extremely large amounts of data.") (define-public python-pyasn1 (package (name "python-pyasn1") - (version "0.4.2") + (version "0.4.3") (source (origin (method url-fetch) (uri (pypi-uri "pyasn1" version)) (sha256 (base32 - "05bxnr4wmrg62m4qr1pg1p3z7bhwrv74jll3k42pgxwl36kv0n6j")))) + "1z5h38anjzzrxpraa9iq9llffyx2zs8gx0q6dc1g029miwnn50gv")))) (build-system python-build-system) (home-page "http://pyasn1.sourceforge.net/") (synopsis "ASN.1 types and codecs") @@ -6306,14 +6336,14 @@ suitable for a wide range of protocols based on the ASN.1 specification.") (define-public python-pyasn1-modules (package (name "python-pyasn1-modules") - (version "0.0.8") + (version "0.2.2") (source (origin (method url-fetch) (uri (pypi-uri "pyasn1-modules" version)) (sha256 (base32 - "0drqgw81xd3fxdlg89kgd79zzrabvfncvkbybi2wr6w2y4s1jmhh")))) + "0ivm850yi7ajjbi8j115qpsj95bgxdsx48nbjzg0zip788c3xkx0")))) (build-system python-build-system) (propagated-inputs `(("python-pyasn1" ,python-pyasn1))) @@ -12242,14 +12272,14 @@ pure Python module.") (define-public python-xenon (package (name "python-xenon") - (version "0.5.1") + (version "0.5.4") (source (origin (method url-fetch) (uri (pypi-uri "xenon" version)) (sha256 (base32 - "14kby2y48vp3sgwxqlm5d5789yibqwb1qli5fwcmdqg3iayrbklc")))) + "029cbhysg2vr5n4jz8gpg2793f8wkwnqpr1qgv6c1dn685vy31mc")))) (build-system python-build-system) (native-inputs `(("python-pyyaml" ,python-pyyaml) @@ -12261,12 +12291,7 @@ pure Python module.") `(#:phases (modify-phases %standard-phases (add-before 'build 'patch-test-requirements - (lambda* (#:key inputs #:allow-other-keys) - ;; Update requirements from dependency==version to - ;; dependency>=version. - (substitute* "requirements.txt" - (("==") ">=") - ((",<1.5.0") "")) + (lambda _ ;; Remove httpretty dependency for tests. (substitute* "setup.py" (("httpretty") "")) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 1602fd5d5e..6b85fe68e3 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -446,6 +446,29 @@ outcomes of a code example.") (propagated-inputs `(("ruby-diff-lcs" ,ruby-diff-lcs))))) +(define-public ruby-rspec-its + (package + (name "ruby-rspec-its") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "rspec-its" version)) + (sha256 + (base32 + "1pwphny5jawcm1hda3vs9pjv1cybaxy17dc1s75qd7drrvx697p3")))) + (build-system ruby-build-system) + (arguments + `(#:tests? #f)) ; needs cucumber. + (propagated-inputs + `(("ruby-rspec-core" ,ruby-rspec-core) + ("ruby-rspec-expectations" ,ruby-rspec-expectations))) + (synopsis "RSpec extension gem for attribute matching") + (description "@code{rspec-its} is an RSpec extension gem for attribute +matching.") + (home-page "https://github.com/rspec/rspec-its") + (license license:expat))) + (define-public ruby-rspec-mocks (package (name "ruby-rspec-mocks") @@ -883,7 +906,8 @@ complexity.") (lambda _ ;; This is used in the Rakefile, and setting it avoids an issue ;; with running the tests. - (setenv "LIB" "options")))))) + (setenv "LIB" "options") + #t))))) (synopsis "Ruby library to parse options from *args cleanly") (description "The @code{options} library helps with parsing keyword options in Ruby @@ -4982,3 +5006,28 @@ Markdown.") in standard Ruby syntax.") (home-page "https://github.com/ruby/rake") (license license:expat))) + +(define-public ruby-childprocess + (package + (name "ruby-childprocess") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "childprocess" version)) + (sha256 + (base32 + "0a61922kmvcxyj5l70fycapr87gz1dzzlkfpq85rfqk5vdh3d28p")))) + (build-system ruby-build-system) + (arguments + `(#:tests? #f)) + (native-inputs + `(("bundler" ,bundler) + ("ruby-rspec" ,ruby-rspec))) + (propagated-inputs + `(("ruby-ffi" ,ruby-ffi))) + (synopsis "Control external programs running in the background, in Ruby") + (description "@code{childprocess} provides a gem to control external +programs running in the background, in Ruby.") + (home-page "http://github.com/enkessler/childprocess") + (license license:expat))) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index bb6fea99a0..28bffb44bb 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -167,7 +167,7 @@ in turn be used to build the final Rust.") (snippet '(begin (delete-file-recursively "src/llvm") #t)) (patches (map search-patch patches)))) -(define-public rust-1.19 +(define rust-1.19 (package (name "rust") (version "1.19.0") @@ -554,14 +554,28 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" ((#:phases phases) `(modify-phases ,phases (add-after 'patch-cargo-tests 'patch-cargo-index-update - (lambda* _ + (lambda _ (substitute* "src/tools/cargo/tests/generate-lockfile.rs" ;; This test wants to update the crate index. - (("fn no_index_update") "#[ignore]\nfn no_index_update")))) + (("fn no_index_update") "#[ignore]\nfn no_index_update")) + #t)) (add-after 'configure 'enable-codegen-tests - (lambda* _ + (lambda _ (substitute* "config.toml" - (("codegen-tests = false") "")))) + (("codegen-tests = false") "")) + #t)) + (replace 'patch-aarch64-test + (lambda _ + (substitute* "src/librustc_metadata/dynamic_lib.rs" + ;; This test is known to fail on aarch64 and powerpc64le: + ;; https://github.com/rust-lang/rust/issues/45410 + (("fn test_loading_cosine") "#[ignore]\nfn test_loading_cosine")) + ;; This test fails on aarch64 with llvm@6.0: + ;; https://github.com/rust-lang/rust/issues/49807 + ;; other possible solution: + ;; https://github.com/rust-lang/rust/pull/47688 + (delete-file "src/test/debuginfo/by-value-self-argument-in-trait-impl.rs") + #t)) (delete 'ignore-glibc-2.27-incompatible-test)))))))) (define-public rust-1.26 diff --git a/gnu/packages/scanner.scm b/gnu/packages/scanner.scm index 33a573d531..d030d8ade5 100644 --- a/gnu/packages/scanner.scm +++ b/gnu/packages/scanner.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2015 Andy Wingo <wingo@igalia.com> ;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca> ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -102,7 +103,7 @@ package contains the library, but no drivers.") (inherit sane-backends-minimal) (name "sane-backends") (inputs - `(("hplip" ,(@ (gnu packages cups) hplip)) + `(("hplip" ,(@ (gnu packages cups) hplip-minimal)) ,@(package-inputs sane-backends-minimal))) (arguments (substitute-keyword-arguments (package-arguments sane-backends-minimal) diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index 3e21cde83c..202716365b 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -132,7 +132,7 @@ joystick, and graphics hardware.") (define-public libmikmod (package (name "libmikmod") - (version "3.3.10") + (version "3.3.11.1") (source (origin (method url-fetch) (uri (list @@ -144,7 +144,7 @@ joystick, and graphics hardware.") version "/libmikmod-" version ".tar.gz"))) (sha256 (base32 - "0j7g4jpa2zgzw7x6s3rldypa7zlwjvn97rwx0sylx1iihhlzbcq0")))) + "06bdnhb0l81srdzg6gn2v2ydhhaazza7rshrcj3q8dpqr3gn97dd")))) (build-system gnu-build-system) (arguments ;; By default, libmikmod tries to dlopen libasound etc., which won't work diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 8be3ce1a80..d8c1e6df33 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -5642,6 +5642,26 @@ table made by the command @code{show256Colors()}. You can also set the colors to any arbitrary string. In this case, it is up to you to set valid values.") (license license:gpl3+))) +(define-public r-txtplot + (package + (name "r-txtplot") + (version "1.0-3") + (source + (origin + (method url-fetch) + (uri (cran-uri "txtplot" version)) + (sha256 + (base32 + "1949ab1bzvysdb79g8x1gaknj0ih3d6g63pv9512h5m5l3a6c31h")))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/web/packages/txtplot/") + (synopsis "Text-based plotting") + (description "This package provides functions to produce rudimentary ASCII +graphics directly in the terminal window. This package provides a basic +plotting function (and equivalents of curve, density, acf and barplot) as well +as a boxplot function.") + (license license:lgpl3+))) + (define-public java-jdistlib (package (name "java-jdistlib") diff --git a/gnu/packages/stb.scm b/gnu/packages/stb.scm new file mode 100644 index 0000000000..df31bd0f86 --- /dev/null +++ b/gnu/packages/stb.scm @@ -0,0 +1,103 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages stb) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system gnu) + #:use-module (guix build-system trivial) + #:use-module ((guix licenses) #:select (expat public-domain))) + +(define stb + ;; stb is a collection of libraries developed within the same repository. + ;; When updating this, remember to change versions below as appropriate. + (let ((commit "e6afb9cbae4064da8c3e69af3ff5c4629579c1d2") + (revision "0")) + (package + (name "stb") + (home-page "https://github.com/nothings/stb") + (version (git-version "0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (sha256 + (base32 + "079nsn9bnb8c0vfq26g5l53q6gzx19a5x9q2nb55mpcljxsgxnmf")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (arguments + `(#:modules ((ice-9 ftw) + (ice-9 regex) + (srfi srfi-26) + ,@%gnu-build-system-modules) + #:phases (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'check + (lambda _ + (invoke "make" "-C" "tests" "CC=gcc"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (files (make-regexp "\\.(c|h|md)$"))) + (for-each (lambda (file) + (install-file file out)) + (scandir "." (cut regexp-exec files <>))) + #t)))))) + (synopsis "Single file libraries for C/C++") + (description + "This package contains a variety of small independent libraries for +the C programming language.") + ;; The user can choose either license. + (license (list expat public-domain))))) + +(define (make-stb-header-package name version description) + (package + (inherit stb) + (name name) + (version version) + (source #f) + (inputs `(("stb" ,stb))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder (begin + (use-modules (guix build utils)) + (let ((stb (assoc-ref %build-inputs "stb")) + (lib (string-join (string-split ,name #\-) "_")) + (out (assoc-ref %outputs "out"))) + (install-file (string-append stb "/" lib ".h") + (string-append out "/include")) + #t)))) + (description description))) + +;; TODO: These descriptions are not translatable! They should be +;; converted to macros as outlined in <https://bugs.gnu.org/32155>. +(define-public stb-image + (make-stb-header-package + "stb-image" "2.19" + "stb-image is a small and self-contained library for image loading or +decoding from file or memory. A variety of formats are supported.")) + +(define-public stb-image-write + (make-stb-header-package + "stb-image-write" "1.09" + "stb-image-write is a small library for writing image files to the +C@tie{}@code{stdio} interface.")) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 4c0bceedf6..58e3f02db8 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -30,16 +30,15 @@ (define-public syncthing (package (name "syncthing") - (version "0.14.48") + (version "0.14.49") (source (origin (method url-fetch) (uri (string-append "https://github.com/syncthing/syncthing" "/releases/download/v" version "/syncthing-source-v" version ".tar.gz")) - (patches (search-patches "syncthing-fix-crash.patch")) (sha256 (base32 - "0bxkm5jlj6l4gai23bg0y31brr80r9qllh1rdg29pahjn0c2b4ml")) + "06mzzj5iwgqw3yva7azrsqs9zpl84srbamza4gm03grp7v9gf3sj")) (modules '((guix build utils))) ;; Delete bundled ("vendored") free software source code. (snippet '(begin @@ -130,7 +129,6 @@ ("go-github-com-golang-groupcache-lru" ,go-github-com-golang-groupcache-lru) ("go-github-com-jackpal-gateway" ,go-github-com-jackpal-gateway) - ("go-github-com-kardianos-osext" ,go-github-com-kardianos-osext) ("go-github-com-kballard-go-shellquote" ,go-github-com-kballard-go-shellquote) ("go-github-com-lib-pq" ,go-github-com-lib-pq) @@ -703,11 +701,11 @@ database in Go.") (license bsd-2)))) (define-public go-github-com-thejerf-suture - (let ((commit "87e298c9891673c9ae76e10c2c9be589127e5f49") + (let ((commit "3f1fb62fe0a3cc6429122d7dc45588a8b59c5bb6") (revision "0")) (package (name "go-github-com-thejerf-suture") - (version (git-version "2.0.1" revision commit)) + (version (git-version "2.0.3" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -716,7 +714,7 @@ database in Go.") (file-name (git-file-name name version)) (sha256 (base32 - "0srw0g94z6jplvlsjqsr6wf7885alnbb6h4fhvbg2i7q1ia5ldy2")))) + "0mp7gz6bp6xhggkgmbl33vpmrq3a6n2dkgcxbkb7csnpv4r4d59k")))) (build-system go-build-system) (arguments `(#:import-path "github.com/thejerf/suture")) @@ -1088,8 +1086,8 @@ using sh's word-splitting rules.") (license expat)))) (define-public go-github-com-syncthing-notify - (let ((commit "b9ceffc925039c77cd9e0d38f248279ccc4399e2") - (revision "0")) + (let ((commit "cdf89c4039d13726e227d0a472053ea19de021b4") + (revision "1")) (package (name "go-github-com-syncthing-notify") (version (git-version "0.0.0" revision commit)) @@ -1101,7 +1099,7 @@ using sh's word-splitting rules.") (file-name (git-file-name name version)) (sha256 (base32 - "1scha9b2r35bvqzqx86sarzjxf72ywvj3g6n9pm3xq4i4xzpylxf")))) + "1ra1id9r06i4q8vhrrv1zpybhjxs3361rg35758dxglkyk4pzk6j")))) (build-system go-build-system) (arguments '(#:import-path "github.com/syncthing/notify")) diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index 246d85901c..2055034117 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -485,6 +485,8 @@ Mumble consists of two applications for separate usage: (uri (git-reference (url "https://github.com/LubosD/twinkle") (commit commit))) + (patches + (search-patches "twinkle-include-qregexpvalidator.patch")) (file-name (git-file-name name version)) (sha256 (base32 diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index e89dc85d18..f1dca66552 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -520,13 +520,13 @@ netcat implementation that supports TLS.") (package (name "python-acme") ;; Remember to update the hash of certbot when updating python-acme. - (version "0.25.1") + (version "0.26.1") (source (origin (method url-fetch) (uri (pypi-uri "acme" version)) (sha256 (base32 - "0d177dhy8a7472pz9v4blrlk02d8fp6s52li7z8v3dv97pvz7da7")))) + "1glhwqj6yyb11820lspgd0gl5dqdfljn43kcy4ar5caccpsbbrw6")))) (build-system python-build-system) (arguments `(#:phases @@ -577,7 +577,7 @@ netcat implementation that supports TLS.") (uri (pypi-uri name version)) (sha256 (base32 - "0kp56gwn1bnlrag9qidhm1i5ifdp5z6y1ravh3yimfrkc4cfa8sw")))) + "0rnayqhdabm0rljxh76blqd11h51dqnwlwvql0j6xwzpccym30s9")))) (build-system python-build-system) (arguments `(,@(substitute-keyword-arguments (package-arguments python-acme) diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index 054d1e4029..e897dff639 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org> @@ -47,14 +47,14 @@ (define-public tor (package (name "tor") - (version "0.3.3.7") + (version "0.3.3.9") (source (origin (method url-fetch) (uri (string-append "https://dist.torproject.org/tor-" version ".tar.gz")) (sha256 (base32 - "036ybfvldj7yfci9ipjki8smpzyxdg8c5r12bghc9yxdqh9basza")))) + "0vyf5z0dn5jghp2qjp076aq62lsz9g32qv9jiqf08skf096nnd45")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list "--enable-gcc-hardening" diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 1cc0d5dfde..24bf5b4ed9 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -26,6 +26,7 @@ ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com> ;;; Copyright © 2018 Leo Famulari <leo@famulari.name> +;;; Copyright © 2018 Brendan Tildesley <brendan.tildesley@openmailbox.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -612,14 +613,14 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).") (define-public ffmpeg (package (name "ffmpeg") - (version "4.0.1") + (version "4.0.2") (source (origin (method url-fetch) (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" version ".tar.xz")) (sha256 (base32 - "1vn04n0n46zdxq14cma3w8ml2ckh5jxwlybsc4xmvcqdqq0mqpv0")))) + "15rgzcmdccy4flajs63gkz4n3k24wkkg50r13l1r83lrxg4hqp59")))) (build-system gnu-build-system) (inputs `(("fontconfig" ,fontconfig) @@ -788,26 +789,26 @@ audio/video codec library.") (define-public ffmpeg-3.4 (package (inherit ffmpeg) - (version "3.4.3") + (version "3.4.4") (source (origin (method url-fetch) (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" version ".tar.xz")) (sha256 (base32 - "0p45s3h7mg7v0jm77bymw2617i08f086dlcdmaylnk7795yind3b")))))) + "1iizgnhjbhar9y1ykqlj1czqanlv24knkfq5vvfnppv5x00pcvrq")))))) (define-public ffmpeg-2.8 (package (inherit ffmpeg) - (version "2.8.14") + (version "2.8.15") (source (origin (method url-fetch) (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" version ".tar.xz")) (sha256 (base32 - "05m1272r5qa2r0ym5vq4figdfnpvcys1fgb1026n5s6xdjd1s1pg")))) + "065xbvnfmxfbfrc14cavpqyd2slil99vcjksw4ndb7w8zdh0wp3v")))) (arguments (substitute-keyword-arguments (package-arguments ffmpeg) ((#:configure-flags flags) @@ -817,18 +818,48 @@ audio/video codec library.") flag)) ,flags)))))) +(define-public ffmpegthumbnailer + (package + (name "ffmpegthumbnailer") + (version "2.2.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/dirkvdb/" + name "/archive/" version ".tar.gz")) + (sha256 + (base32 + "13qs4iwd4l3iiim30s5051n80z0vgsnikym8vsn321cnm9algiwb")))) + (build-system cmake-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("ffmpeg" ,ffmpeg) + ("libjpeg-turbo" ,libjpeg-turbo) + ("libpng" ,libpng) + ("gvfs" ,gvfs))) + (arguments + `(#:configure-flags (list "-DENABLE_GIO=ON" "-DENABLE_THUMBNAILER=ON"))) + (home-page "https://github.com/dirkvdb/ffmpegthumbnailer") + (synopsis "Create thumbnails from video files") + (description "FFmpegthumbnailer is a lightweight video thumbnailer that +can be used by file managers to create thumbnails for your video files. The +thumbnailer uses ffmpeg to decode frames from the video files, so supported +videoformats depend on the configuration flags of ffmpeg.") + (license license:gpl2+))) + (define-public vlc (package (name "vlc") - (version "3.0.3") + (version "3.0.3-1") (source (origin (method url-fetch) (uri (string-append "https://download.videolan.org/pub/videolan/vlc/" - version "/vlc-" version ".tar.xz")) + (car (string-split version #\-)) + "/vlc-" version ".tar.xz")) (sha256 (base32 - "0lavzly8l0ll1d9iris9cnirgcs77g48lxj14058dxqkvd5v1a4v")))) + "1p7qvdvg9w4lz8vckzhn6bswfkq3qw7fqkgvwjcskdgc266xx7dw")))) (build-system gnu-build-system) (native-inputs `(("flex" ,flex) @@ -998,7 +1029,7 @@ treaming protocols.") (inputs `(("alsa-lib" ,alsa-lib) ("cdparanoia" ,cdparanoia) - ("ffmpeg" ,ffmpeg) + ("ffmpeg" ,ffmpeg-3.4) ("fontconfig" ,fontconfig) ("freetype" ,freetype) ;; ("giflib" ,giflib) ; uses QuantizeBuffer, requires version >= 5 @@ -1075,7 +1106,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") (define-public mpv (package (name "mpv") - (version "0.28.2") + (version "0.29.0") (source (origin (method url-fetch) (uri (string-append @@ -1083,7 +1114,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") ".tar.gz")) (sha256 (base32 - "15fp4sa5glqhgidd54vs6knf9dp809wszzsqiqz5nyri4ph19nma")) + "06bk8836brzik1qmq8kycwg5n35r438sd2176k6msjg5rrwghakp")) (file-name (string-append name "-" version ".tar.gz")))) (build-system waf-build-system) (native-inputs @@ -1224,7 +1255,7 @@ access to mpv's powerful playback capabilities.") (define-public youtube-dl (package (name "youtube-dl") - (version "2018.06.19") + (version "2018.07.10") (source (origin (method url-fetch) (uri (string-append "https://yt-dl.org/downloads/" @@ -1232,7 +1263,7 @@ access to mpv's powerful playback capabilities.") version ".tar.gz")) (sha256 (base32 - "0ys2mc84r7mjpn7rykb57sn3ii1kp3divjdn2ivwqknj8jrzg3z6")))) + "1rigah941k2drzx5qz937lk68gw9jrizj5lgd9f9znp0bgi2d0xd")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion @@ -2336,7 +2367,7 @@ supported players in addition to this package.") (inputs `(("bzip2" ,bzip2) ("dbus-glib" ,dbus-glib) - ("ffmpeg" ,ffmpeg) + ("ffmpeg" ,ffmpeg-3.4) ;compilation errors with ffmpeg-4 ("fontconfig" ,fontconfig) ("freetype" ,freetype) ("glib" ,glib) diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index e36677282a..56bfa6ab28 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -27,12 +27,16 @@ #:use-module (guix packages) #:use-module (gnu packages) #:use-module (gnu packages compression) + #:use-module (gnu packages databases) #:use-module (gnu packages documentation) #:use-module (gnu packages fltk) #:use-module (gnu packages fontutils) + #:use-module (gnu packages gtk) #:use-module (gnu packages gnupg) #:use-module (gnu packages libevent) #:use-module (gnu packages libidn) + #:use-module (gnu packages lua) + #:use-module (gnu packages gnome) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -41,9 +45,11 @@ #:use-module (gnu packages qt) #:use-module (gnu packages image) #:use-module (gnu packages tls) + #:use-module (gnu packages webkit) #:use-module (gnu packages xorg) #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system python)) (define-public dillo @@ -128,6 +134,68 @@ features including, tables, builtin image display, bookmarks, SSL and more.") ;; linking of the program with openssl. (license license:gpl1+))) +(define-public luakit + (package + (name "luakit") + (version "2017.08.10") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/luakit/luakit/archive/" version + ".tar.gz")) + (sha256 + (base32 + "0dwxhnq90whakgdg21lzcf03n2g1c7hqgliwhav8av5na5mqpn93")) + (file-name (string-append name "-" version ".tar.gz")))) + (inputs + `(("lua-5.1", lua-5.1) + ("gtk+" ,gtk+) + ("gsettings-desktop-schemas", gsettings-desktop-schemas) + ("glib-networking", glib-networking) + ("lua5.1-filesystem", lua5.1-filesystem) + ("luajit", luajit) + ("webkitgtk", webkitgtk) + ("sqlite", sqlite))) + (native-inputs + `(("pkg-config", pkg-config))) + (build-system glib-or-gtk-build-system) + (arguments + '(#:make-flags + (let ((out (assoc-ref %outputs "out"))) + (list + "CC=gcc" + "LUA_BIN_NAME=lua" + "DEVELOPMENT_PATHS=0" + (string-append "PREFIX=" out) + (string-append "XDGPREFIX=" out "/etc/xdg"))) + #:phases + (modify-phases %standard-phases + (add-before 'build 'lfs-workaround + (lambda _ + (setenv "LUA_CPATH" + (string-append + (assoc-ref %build-inputs "lua5.1-filesystem") + "/lib/lua/5.1/?.so;;")) + #t)) + (delete 'configure) + (delete 'check) + (add-after 'install 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((luakit (assoc-ref outputs "out")) + (lua5.1-filesystem (assoc-ref inputs "lua5.1-filesystem") ) + (gtk (assoc-ref inputs "gtk+")) + (gtk-share (string-append gtk "/share"))) + (wrap-program (string-append luakit "/bin/luakit") + `("LUA_CPATH" prefix + (,(string-append lua5.1-filesystem + "/lib/lua/5.1/?.so;;")))) + #t)))))) + (synopsis "Fast, lightweight, and simple browser based on WebKit") + (description "Luakit is a fast, lightweight, and simple to use +micro-browser framework extensible by Lua using the WebKit web content engine +and the GTK+ toolkit.") + (home-page "https://luakit.github.io/") + (license license:gpl3+))) + (define-public lynx (package (name "lynx") diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 06d0fec0b0..c4b78d0b64 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -122,14 +122,14 @@ (define-public httpd (package (name "httpd") - (version "2.4.33") + (version "2.4.34") (source (origin (method url-fetch) (uri (string-append "mirror://apache/httpd/httpd-" version ".tar.bz2")) (sha256 (base32 - "01bghiq4pbgjbgd6gic0nb8bbk6mfpwx3gcsbf21f3dhb4c520ny")))) + "1w1q2smdgf6ln0x741lk5pv5r0gzrxj2iza1vslhifzy65bcjlzs")))) (build-system gnu-build-system) (native-inputs `(("pcre" ,pcre "bin"))) ;for 'pcre-config' (inputs `(("apr" ,apr) @@ -719,7 +719,14 @@ current version of any major web browser.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "13nrpvw8f1wx0ga7svbzld7pgrv8l172nangpipnj7jaf0lysz5z")))) + "13nrpvw8f1wx0ga7svbzld7pgrv8l172nangpipnj7jaf0lysz5z")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove code using the problematic JSON license (see + ;; <https://www.gnu.org/licenses/license-list.html#JSON>). + (delete-file-recursively "bin/jsonchecker") + #t)))) (build-system cmake-build-system) (arguments `(,@(if (string-prefix? "aarch64" (or (%current-target-system) @@ -5705,14 +5712,20 @@ encoder/decoder based on the draft-12 specification for UBJSON.") (define-public java-tomcat (package (name "java-tomcat") - (version "8.5.28") + (version "8.5.32") (source (origin (method url-fetch) (uri (string-append "mirror://apache/tomcat/tomcat-8/v" version "/src/apache-tomcat-" version "-src.tar.gz")) (sha256 (base32 - "0q2bc3sajrmcx3z3vhhwp78y47ryc2ky8ssbdmfk24zvqdb76hvl")))) + "1qjsr6zmkdciakya4jqz0ssnsk02qlmmd898c05rasfwcrpj0xi6")) + (modules '((guix build utils))) + ;; Delete bundled jars. + (snippet + '(begin + (for-each delete-file (find-files "." "\\.jar$")) + #t)))) (build-system ant-build-system) (inputs `(("java-eclipse-jdt-core" ,java-eclipse-jdt-core))) @@ -5734,6 +5747,14 @@ encoder/decoder based on the draft-12 specification for UBJSON.") (("depends=\"validate\"") "depends=\"build-prepare\"") ((",download-validate") "")) #t)) + (add-after 'unpack 'strip-timestamps + (lambda _ + (substitute* "build.xml" + (("<filter token=\"YEAR\" value=.*") + "<filter token=\"YEAR\" value=\"1970\"/>") + (("<filter token=\"VERSION_BUILT\" value=.*") + "<filter token=\"VERSION_BUILT\" value=\"Jan 1 1970 00:00:00 UTC\"/>")) + #t)) (add-after 'unpack 'generate-properties (lambda _ ;; This could have been passed to make-flags, but getcwd returns @@ -5931,7 +5952,7 @@ or embedded instantiation. This package provides utility classes.") #t))))) (inputs `(("slf4j" ,java-slf4j-api) - ("servlet" ,java-tomcat) + ("servlet" ,java-javaee-servletapi) ("util" ,java-eclipse-jetty-util))) (synopsis "Jetty :: IO Utility") (description "The Jetty Web Server provides an HTTP server and Servlet @@ -5974,7 +5995,7 @@ or embedded instantiation. This package provides IO-related utility classes.")) #t))))) (inputs `(("slf4j" ,java-slf4j-api) - ("servlet" ,java-tomcat) + ("servlet" ,java-javaee-servletapi) ("io" ,java-eclipse-jetty-io) ("util" ,java-eclipse-jetty-util))) (synopsis "Jetty :: Http Utility") @@ -6009,7 +6030,7 @@ or embedded instantiation. This package provides HTTP-related utility classes." #t))))) (inputs `(("slf4j" ,java-slf4j-api) - ("servlet" ,java-tomcat) + ("servlet" ,java-javaee-servletapi) ("util" ,java-eclipse-jetty-util))) (synopsis "Jetty :: JMX Management") (description "The Jetty Web Server provides an HTTP server and Servlet @@ -6090,7 +6111,7 @@ or embedded instantiation. This package provides the JMX management."))) #t))))) (inputs `(("slf4j" ,java-slf4j-api) - ("servlet" ,java-tomcat) + ("servlet" ,java-javaee-servletapi) ("http" ,java-eclipse-jetty-http) ("io" ,java-eclipse-jetty-io) ("jmx" ,java-eclipse-jetty-jmx) @@ -6286,7 +6307,7 @@ container."))) ("java-eclipse-jetty-servlet" ,java-eclipse-jetty-servlet) ("java-eclipse-jetty-security" ,java-eclipse-jetty-security) ("java-eclipse-jetty-xml" ,java-eclipse-jetty-xml) - ("java-tomcat" ,java-tomcat))) + ("java-javaee-servletapi" ,java-javaee-servletapi))) (native-inputs `(("java-eclipse-jetty-io" ,java-eclipse-jetty-io) ,@(package-native-inputs java-eclipse-jetty-util))))) diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index 2de4ff5d94..4562c817cd 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.12") + (version "3.13") (source (origin (method url-fetch) @@ -232,7 +232,7 @@ integrate Windows applications into your desktop.") (file-name (string-append name "-" version ".zip")) (sha256 (base32 - "1hjs36jw8k1d22c713wzwvyhfrb8mi85dpk9wpsggnnw2x57hzs0")))) + "0h27h4z4m2m77chp3alkv6fagppjhh9ys39d3n21j0yfjknyhdd8")))) (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 - "0zvqmd0018wvlxz4xbm5sbv7770j3l14q0ilpgs0jy49srcw116v")))) + "1m5v854r5wgw68b97j6wim1a8692x5sih25c0xp1yb13a94dg187")))) (inputs `(("autoconf" ,autoconf) ; for autoreconf ("gtk+" ,gtk+) ("libva" ,libva) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 3e8f9fe4a7..b238ea4aad 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -3177,46 +3177,28 @@ This driver is intended for the spice qxl virtio device.") (license license:x11))) (define-public xf86-video-r128 - ;; We need a newer version than 6.10.2 to build against the latest xorg-server. - ;; Remove this binding and the bootstrap inputs when >6.10.2 is released. - (let ((commit "c4c878d2ccb75fa75afe46e0e50ee9975c5c57fc") - (revision "0")) - (package - (name "xf86-video-r128") - (version (git-version "6.10.2" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url (string-append "https://anongit.freedesktop.org/git/xorg" - "/driver/" name ".git")) - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "01pff30zz4zxjhw28h8bn9x2kq7c6iswgn19b72wnfgl0arxb63j")))) - (build-system gnu-build-system) - (arguments - `(#:phases (modify-phases %standard-phases - (add-before 'bootstrap 'prevent-configure - (lambda _ - ;; Prevent autogen from calling "./configure" as part of - ;; the bootstrap step, which fails due to wrong shebang. - (setenv "NOCONFIGURE" "1") - #t))))) - (inputs `(("mesa" ,mesa) - ("xorgproto" ,xorgproto) - ("xorg-server" ,xorg-server))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool))) - (home-page "https://www.x.org/wiki/") - (synopsis "ATI Rage 128 video driver for X server") - (description - "xf86-video-r128 is a video driver for the Xorg X server. + (package + (name "xf86-video-r128") + (version "6.11.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/driver/" + name "-" version ".tar.bz2")) + (sha256 + (base32 + "0snvwmrh8dqyyaq7ggicym6yrsg4brygkx9156r0m095m7fp3rav")))) + (build-system gnu-build-system) + (inputs `(("mesa" ,mesa) + ("xorgproto" ,xorgproto) + ("xorg-server" ,xorg-server))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://www.x.org/wiki/") + (synopsis "ATI Rage 128 video driver for X server") + (description + "xf86-video-r128 is a video driver for the Xorg X server. This driver is intended for ATI Rage 128 based cards.") - (license license:x11)))) + (license license:x11))) (define-public xf86-video-savage (package @@ -5111,7 +5093,8 @@ over Xlib, including: (sha256 (base32 "0mm70y058r8s9y9jiv7q2myv0ycnaw3iqzm7d274410s0ik38w7q")) - (file-name "xorg-server-use-intel-only-on-pre-gen4.diff")))))) + (file-name "xorg-server-use-intel-only-on-pre-gen4.diff")) + (search-patch "xorg-server-rotate-fb.patch"))))) (build-system gnu-build-system) (propagated-inputs `(("libpciaccess" ,libpciaccess) @@ -5837,7 +5820,7 @@ programs that cannot use the window system directly.") ("xcb-proto" ,xcb-proto) ("xcb-util" ,xcb-util) ("xcb-util-wm" ,xcb-util-wm))) - (home-page "http://search.cpan.org/dist/X11-XCB") + (home-page "https://metacpan.org/release/X11-XCB") (synopsis "Perl bindings for libxcb") (description "These bindings wrap @code{libxcb} (a C library to speak with X11, @@ -5864,7 +5847,7 @@ interface to its methods (using @code{Mouse}).") "X11::Protocol is a client-side interface to the X11 Protocol, allowing perl programs to display windows and graphics on X11 servers.") (home-page - (string-append "http://search.cpan.org/~smccam/X11-Protocol-" version)) + (string-append "https://metacpan.org/release/SMCCAM/X11-Protocol-" version)) ;; From the package README: "you can redistribute and/or modify it under ;; the same terms as Perl itself. (As an exception, the file ;; Keysyms.pm,which is derived from a file in the standard X11 @@ -5892,7 +5875,7 @@ perl programs to display windows and graphics on X11 servers.") ("perl-module-util" ,perl-module-util))) (propagated-inputs `(("perl-x11-protocol" ,perl-x11-protocol))) - (home-page "http://search.cpan.org/dist/X11-Protocol-Other/") + (home-page "https://metacpan.org/release/X11-Protocol-Other") (synopsis "Miscellaneous helpers for @code{X11::Protocol} connections") (description "@code{X11::Protocol::Other} contains window manager related functions for diff --git a/gnu/services/cuirass.scm b/gnu/services/cuirass.scm index 4664a36dcf..9c62080629 100644 --- a/gnu/services/cuirass.scm +++ b/gnu/services/cuirass.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -72,9 +73,7 @@ (one-shot? cuirass-configuration-one-shot? ;boolean (default #f)) (fallback? cuirass-configuration-fallback? ;boolean - (default #f)) - (load-path cuirass-configuration-load-path - (default '()))) + (default #f))) (define (cuirass-shepherd-service config) "Return a <shepherd-service> for the Cuirass service with CONFIG." @@ -92,8 +91,7 @@ (specs (cuirass-configuration-specifications config)) (use-substitutes? (cuirass-configuration-use-substitutes? config)) (one-shot? (cuirass-configuration-one-shot? config)) - (fallback? (cuirass-configuration-fallback? config)) - (load-path (cuirass-configuration-load-path config))) + (fallback? (cuirass-configuration-fallback? config))) (list (shepherd-service (documentation "Run Cuirass.") (provision '(cuirass)) @@ -109,9 +107,7 @@ "--interval" #$(number->string interval) #$@(if use-substitutes? '("--use-substitutes") '()) #$@(if one-shot? '("--one-shot") '()) - #$@(if fallback? '("--fallback") '()) - #$@(if (null? load-path) '() - `("--load-path" ,(string-join load-path ":")))) + #$@(if fallback? '("--fallback") '())) #:environment-variables (list "GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt" diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm index f1d2be3f6b..f158fdf01f 100644 --- a/gnu/services/ssh.scm +++ b/gnu/services/ssh.scm @@ -455,7 +455,7 @@ of user-name/file-like tuples." (list (shepherd-service (documentation "OpenSSH server.") - (requirement '(syslogd)) + (requirement '(syslogd loopback)) (provision '(ssh-daemon)) (start #~(make-forkexec-constructor #$openssh-command #:pid-file #$pid-file)) diff --git a/gnu/system/install.scm b/gnu/system/install.scm index 6a3ae1947b..95661dc973 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -298,6 +298,13 @@ You have been warned. Thanks for being so brave.\x1b[0m `(("/bin/sh" ,(file-append (canonical-package bash) "/bin/sh")))) + ;; Loopback device, needed by OpenSSH notably. + (service static-networking-service-type + (list (static-networking (interface "lo") + (ip "127.0.0.1") + (requirement '()) + (provision '(loopback))))) + ;; Keep a reference to BARE-BONES-OS to make sure it can be ;; installed without downloading/building anything. Also keep the ;; things needed by 'profile-derivation' to minimize the amount of diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm index b4db69f068..f800c3b546 100644 --- a/gnu/system/shadow.scm +++ b/gnu/system/shadow.scm @@ -210,7 +210,17 @@ include /run/current-system/profile/share/nano/*.nanorc\n")) ((module-ref module 'activate-readline)))) (else (display \"Consider installing the 'guile-readline' package for -convenient interactive line editing and input history.\\n\\n\")))\n")) +convenient interactive line editing and input history.\\n\\n\"))) + + (unless (getenv \"INSIDE_EMACS\") + (cond ((false-if-exception (resolve-interface '(ice-9 colorized))) + => + (lambda (module) + ;; Enable completion and input history at the REPL. + ((module-ref module 'activate-colorized)))) + (else + (display \"Consider installing the 'guile-colorized' package +for a colorful Guile experience.\\n\\n\"))))\n")) (".guile-wm" ,guile-wm) (".gdbinit" ,gdbinit)))) |