diff options
author | Mark H Weaver <mhw@netris.org> | 2018-04-21 04:57:29 -0400 |
---|---|---|
committer | Mark H Weaver <mhw@netris.org> | 2018-04-21 05:02:52 -0400 |
commit | c52872bfc418c6b2273f973dff8003ca9e062792 (patch) | |
tree | 4184a250e6d8363b3901aa2abe6910ff08ce08d4 /gnu/packages | |
parent | 65bb22796f854cbc3eae053a80b1d64365dad376 (diff) | |
parent | 3fe49e50153fec1dabac35e262a0888044f79aa6 (diff) | |
download | guix-c52872bfc418c6b2273f973dff8003ca9e062792.tar.gz |
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/packages')
75 files changed, 3519 insertions, 1705 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index de9ed003dd..d1af6d9474 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -20,6 +20,7 @@ ;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -90,7 +91,10 @@ #:use-module (gnu packages gnome) #:use-module (gnu packages kerberos) #:use-module (gnu packages gtk) - #:use-module (gnu packages xml)) + #:use-module (gnu packages xml) + #:use-module (gnu packages boost) + #:use-module (gnu packages elf) + #:use-module (gnu packages mpi)) (define-public aide (package @@ -261,15 +265,14 @@ graphs and can export its output to different formats.") (define-public htop (package (name "htop") - (version "2.1.0") + (version "2.2.0") (source (origin (method url-fetch) (uri (string-append "http://hisham.hm/htop/releases/" version "/htop-" version ".tar.gz")) (sha256 (base32 - "0j07z0xm2gj1vzvbgh4323k4db9mr7drd7gw95mmpqi61ncvwq1j")) - (patches (search-patches "htop-fix-process-tree.patch")))) + "0mrwpb3cpn3ai7ar33m31yklj64c3pp576vh1naqff6f21pq5mnr")))) (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses))) @@ -1654,6 +1657,35 @@ you use the most from the command line and allows you to \"jump\" to frequently used directories by typing only a small pattern.") (license license:gpl3+))) +(define-public fasd + (package + (name "fasd") + (version "1.0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/clvv/fasd.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1awi71jdv3mhjrmar2d4z1i90kn7apd7aq1w31sh6w4yibz9kiyj")))) + (build-system gnu-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (delete 'configure)) ;no configuration + #:tests? #f ;no tests + #:make-flags (list (string-append "PREFIX=" %output)))) + (home-page "https://github.com/clvv/fasd") + (synopsis "Quick access to files and directories for shells") + (description + "Fasd (pronounced similar to \"fast\") is a command-line productivity +booster. Fasd offers quick access to files and directories for POSIX shells. +It is inspired by tools like autojump, z, and v. Fasd keeps track of files +and directories you have accessed so that you can quickly reference them in +the command line.") + (license license:x11))) + (define-public iftop (package (name "iftop") @@ -1909,13 +1941,13 @@ a new command using the matched rule, and runs it.") (define-public di (package (name "di") - (version "4.44") + (version "4.46") (source (origin (method url-fetch) (uri (string-append "https://gentoo.com/di/di-" version ".tar.gz")) (sha256 - (base32 "0803lp8kd3mp1jcm17i019xiqxdy85hhs6xk67zib8gmvg500gcn")))) + (base32 "0cskiqywiqkw44zdg4q78bjns6jjp1dz5lzdxrhpnpldc6075irw")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; Obscure test failures. @@ -1940,14 +1972,14 @@ produce uniform output across heterogeneous networks.") (define-public cbatticon (package (name "cbatticon") - (version "1.6.7") + (version "1.6.8") (source (origin (method url-fetch) (uri (string-append "https://github.com/valr/" name "/archive/" version ".tar.gz")) (sha256 (base32 - "1s2n49ydh7pznnf02fak4yy0wqkgi9ag7yiw1zg1lhp4m0h37hyh")) + "185lzvaijvyq7y8r7dvizhri0rf9lpc1anfgbbn4lznr1fr3z7rn")) (file-name (string-append name "-" version ".tar.gz")))) (build-system gnu-build-system) (arguments @@ -2294,7 +2326,7 @@ tool for remote execution and deployment.") (define-public neofetch (package (name "neofetch") - (version "3.3.0") + (version "3.4.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/dylanaraps/neofetch/" @@ -2302,7 +2334,7 @@ tool for remote execution and deployment.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "15p69q0jchfms1fpb4i7kq8b28w2xpgh2zmynln618qxv1myf228")))) + "18rhamy910ig03rr55y9x5i6pf78yj9xc6jpm6nfh3gqja7340rb")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; there are no tests @@ -2515,3 +2547,63 @@ printed instead of after the entire file has been read, which is often too late.") (home-page "https://jwilk.net/software/hungrycat") (license license:expat))) + +(define-public launchmon + (package + (name "launchmon") + (version "1.0.2") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/LLNL/LaunchMON/releases/download/v" + version "/" name "-v" version ".tar.gz")) + (sha256 + (base32 + "0fm3nd9mydm9v2bf7bh01dbgrfnpwkapxa3dsvy3x1z0rz61qc0x")))) + (build-system gnu-build-system) + (inputs + `(("mpi" ,openmpi) + ("munge" ,munge) + ("boost" ,boost) + ("libelf" ,libelf) + ("libgcrypt" ,libgcrypt) + ("libgpg-error" ,libgpg-error))) + (synopsis "Infrastructue for large scale tool daemon launching") + (description + "LaunchMON is a software infrastructure that enables HPC run-time +tools to co-locate tool daemons with a parallel job. Its API allows a +tool to identify all the remote processes of a job and to scalably +launch daemons into the relevant nodes.") + (home-page "https://github.com/LLNL/LaunchMON") + (supported-systems '("i686-linux" "x86_64-linux")) + (license license:lgpl2.1))) + +(define-public spindle + (package + (name "spindle") + (version "0.10") + (source (origin + ;; We use git checkout to avoid github auto-generated tarballs + (method git-fetch) + (uri (git-reference + (url "https://github.com/hpc/Spindle.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "15n3ay0qq81r5v7fif61q1vdjcq44pp2nynkh3fvbzc9fj3c39wd")))) + (build-system gnu-build-system) + (arguments '(#:configure-flags '("--enable-sec-launchmon" + "--enable-sec-munge" + "--enable-sec-none"))) + (inputs + `(("mpi" ,openmpi) + ("munge" ,munge) + ("launchmon" ,launchmon) + ("libgcrypt" ,libgcrypt))) + (synopsis "Scalable library loading in HPC environments") + (description + "Spindle is a tool for improving the performance of dynamic library and +Python loading in HPC environments.") + (home-page "https://github.com/hpc/Spindle") + (license license:lgpl2.1))) diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index c6b9d74f33..ae9b3bc62d 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -375,7 +375,7 @@ and will take advantage of multiple processor cores where possible.") (define-public libtorrent-rasterbar (package (name "libtorrent-rasterbar") - (version "1.1.6") + (version "1.1.7") (source (origin (method url-fetch) (uri @@ -385,7 +385,7 @@ and will take advantage of multiple processor cores where possible.") "/libtorrent-rasterbar-" version ".tar.gz")) (sha256 (base32 - "1vr1a7smkwh7dc7jb9n68i0cg59wxhgywxc9kxpbs8fi9c04vixp")))) + "1agkcyjs7xscx4sgkg2ri4nm4v736xsg3br2v8jcrph86dlbycw1")))) (build-system gnu-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index a519541bc0..5be77e550b 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -444,9 +444,6 @@ also initializes the boards (RAM etc).") (define-public u-boot-beagle-bone-black (make-u-boot-package "am335x_boneblack" "arm-linux-gnueabihf")) -(define-public u-boot-odroid-c2 - (make-u-boot-package "odroid-c2" "aarch64-linux-gnu")) - (define-public u-boot-pine64-plus (let ((base (make-u-boot-package "pine64_plus" "aarch64-linux-gnu"))) (package diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 98d12a12f6..09cb7c9e97 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2017 Corentin Bocquillon <corentin@nybble.fr> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com> +;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,6 +29,8 @@ #:use-module (gnu packages) #:use-module (gnu packages compression) #:use-module (gnu packages python) + #:use-module (gnu packages python-crypto) + #:use-module (gnu packages python-web) #:use-module (gnu packages ninja) #:use-module (guix build-system gnu) #:use-module (guix build-system python)) @@ -171,3 +174,43 @@ scripted definition of a software project and outputs @file{Makefile}s or other lower-level build files.") (home-page "https://premake.github.io") (license license:bsd-3))) + +(define-public osc + (package + (name "osc") + (version "0.162.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/openSUSE/" name + "/archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0b4kpm96ns4smqyfjysbk2p78d36x44xprpna8zz85q1y5xn57aj")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2 ; Module is python2 only. + #:phases + (modify-phases %standard-phases + (add-after 'install 'fix-filename-and-remove-unused + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin/"))) + ;; Main osc tool is renamed in spec file, not setup.py, let's + ;; do that too. + (rename-file + (string-append bin "osc-wrapper.py") + (string-append bin "osc")) + ;; Remove unused and broken script. + (delete-file (string-append bin "osc_hotshot.py")) + #t)))))) + (inputs + `(("python2-m2crypto" ,python2-m2crypto) + ("python2-pycurl" ,python2-pycurl) + ("python2-urlgrabber" ,python2-urlgrabber))) + (home-page "https://github.com/openSUSE/osc") + (synopsis "Open Build Service command line tool") + (description "@command{osc} is a command line interface to the Open Build +Service. It allows you to checkout, commit, perform reviews etc. The vast +majority of the OBS functionality is available via commands and the rest can +be reached via direct API calls.") + (license license:gpl2+))) diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 53e65f3b84..e26a1bbf63 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> -;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 John Darrington <jmd@gnu.org> @@ -472,7 +472,7 @@ from an audio CD.") (define-public abcde (package (name "abcde") - (version "2.8.1") + (version "2.9.1") (home-page "https://abcde.einval.com/") (source (origin (method url-fetch) @@ -480,7 +480,7 @@ from an audio CD.") version ".tar.gz")) (sha256 (base32 - "0f9bjs0phk23vry7gvh0cll9vl6kmc1y4fwwh762scfdvpbp3774")) + "1msm5snyckynbspz54p9krarn7v9izsi7qyyi2z5y4cinw36xv3h")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 79d47027c2..6f44c4fb02 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -545,6 +545,7 @@ decompressors when faced with corrupted input.") (method url-fetch) (uri (string-append "mirror://gnu/sharutils/sharutils-" version ".tar.xz")) + (patches (search-patches "sharutils-CVE-2018-1000097.patch")) (sha256 (base32 "16isapn8f39lnffc3dp4dan05b7x6mnc76v6q5nn8ysxvvvwy19b")))) @@ -2118,14 +2119,14 @@ non-Windows systems without running the actual installer using wine.") (define-public google-brotli (package (name "google-brotli") - (version "1.0.2") + (version "1.0.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/google/brotli/archive/v" version ".tar.gz")) (sha256 (base32 - "08kl9gww2058p1p7j9xqmcmrabcfihhj3fq984d7fi3bchb2mky2")))) + "1hrpmz162k4x3xm6vmbpm443jlfr1kp536p8962y2dncy7gs6s12")))) (build-system cmake-build-system) (arguments `(#:phases diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 6ce0ed1424..0ac35a909b 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -164,14 +164,14 @@ such as copy/paste from an R session.") (define-public r-callr (package (name "r-callr") - (version "2.0.2") + (version "2.0.3") (source (origin (method url-fetch) (uri (cran-uri "callr" version)) (sha256 (base32 - "0m51p39vfwldxv6h8x4y9w3laf8q9bldhfqhlcrlx3xhy3irb1bp")))) + "1k3mflgn10hcvy74y4pbigpv74zb66fz1phfd3c8isqmn88xbxzi")))) (build-system r-build-system) (propagated-inputs `(("r-assertthat" ,r-assertthat) @@ -287,14 +287,14 @@ component analysis (with robust methods, and parallelized functions).") (define-public r-ape (package (name "r-ape") - (version "5.0") + (version "5.1") (source (origin (method url-fetch) (uri (cran-uri "ape" version)) (sha256 (base32 - "0q59pmxawz498cb9mv5m49lhiwxib8ak94yyydz7qg8b6lpd4bn3")))) + "0vm2065993wf4hdqarxqykhfz9aaj0rrb98alhkq4qw1d2kdrmdp")))) (build-system r-build-system) (propagated-inputs `(("r-lattice" ,r-lattice) @@ -871,14 +871,14 @@ plot networks.") (define-public r-proxy (package (name "r-proxy") - (version "0.4-21") + (version "0.4-22") (source (origin (method url-fetch) (uri (cran-uri "proxy" version)) (sha256 (base32 - "1vih8gsfzv97h5c8ixd1qjnn02i7fzla2p9fdj2wpisqhx0p0xv0")))) + "0l0ff8irmmvic941is290hd5vszyhaj5nfwna4v3w9c1zk5nr1ma")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/proxy") (synopsis "Distance and similarity measures") @@ -2799,14 +2799,14 @@ financial trading strategies.") (define-public r-tseries (package (name "r-tseries") - (version "0.10-43") + (version "0.10-44") (source (origin (method url-fetch) (uri (cran-uri "tseries" version)) (sha256 (base32 - "1yjxhj7l1p2przczl6frggfcr5iwda9lbcsmh0y75gbbbps14yf2")))) + "0nz6v76hsxcprpgf84al5r0p08sr9qacqal4adndz9wmg604l4ag")))) (build-system r-build-system) (propagated-inputs `(("r-quadprog" ,r-quadprog) @@ -3613,14 +3613,14 @@ evaluated by the @dfn{Akaike Information Criterion} (AIC).") (define-public r-arules (package (name "r-arules") - (version "1.6-0") + (version "1.6-1") (source (origin (method url-fetch) (uri (cran-uri "arules" version)) (sha256 (base32 - "14gbq5k2zkx4wc7kkfazz313ngij89qp1xmyxfg3nq3v1s84c3sl")))) + "0glfqgxr87900kigmkby2ff7qrjvd6aq595q85y056i5ckjcp615")))) (build-system r-build-system) (propagated-inputs `(("r-matrix" ,r-matrix))) diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm index 8297f67830..78dcc64d86 100644 --- a/gnu/packages/curl.scm +++ b/gnu/packages/curl.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018 Roel Janssen <roel@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -36,6 +37,7 @@ #:use-module (gnu packages golang) #:use-module (gnu packages groff) #:use-module (gnu packages gsasl) + #:use-module (gnu packages guile) #:use-module (gnu packages libidn) #:use-module (gnu packages openldap) #:use-module (gnu packages perl) @@ -181,3 +183,51 @@ mechanisms particularly within the HTTP(S) realm are to be expected. kurly does not offer a replacement for libcurl.") (home-page "https://github.com/davidjpeacock/kurly") (license license:asl2.0))) + +(define-public guile-curl + (package + (name "guile-curl") + (version "0.5") + (source (origin + (method url-fetch) + (uri (string-append + "http://www.lonelycactus.com/tarball/guile-curl-" + version ".tar.gz")) + (sha256 + (base32 + "1846rxgc0ylh8768lr79irc7nwjichzb7qb7lzs2k42m0i53sc46")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags (list (string-append + "--with-guilesitedir=" + (assoc-ref %outputs "out") + "/share/guile/site/2.2") + (string-append + "-with-guileextensiondir=" + (assoc-ref %outputs "out") + "/lib/guile/2.2/extensions")) + #:phases + (modify-phases %standard-phases + (add-after 'install 'patch-extension-path + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (curl.scm (string-append + out "/share/guile/site/2.2/curl.scm")) + (curl.go (string-append + out "/lib/guile/2.2/site-ccache/curl.go")) + (ext (string-append out "/lib/guile/2.2/" + "extensions/libguile-curl"))) + (substitute* curl.scm (("libguile-curl") ext)) + ;; The build system does not actually compile the Scheme module. + ;; So we can compile it and put it in the right place in one go. + (invoke "guild" "compile" curl.scm "-o" curl.go))))))) + (native-inputs `(("pkg-config" ,pkg-config))) + (inputs + `(("curl" ,curl) + ("guile" ,guile-2.2))) + (home-page "http://www.lonelycactus.com/guile-curl.html") + (synopsis "Curl bindings for Guile") + (description "@code{guile-curl} is a project that has procedures that allow +Guile to do client-side URL transfers, like requesting documents from HTTP or +FTP servers. It is based on the curl library.") + (license license:gpl3+))) diff --git a/gnu/packages/datamash.scm b/gnu/packages/datamash.scm index e839a1d985..182d281a5d 100644 --- a/gnu/packages/datamash.scm +++ b/gnu/packages/datamash.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> +;;; Copyright © 2014, 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. @@ -22,6 +22,7 @@ #:use-module (guix licenses) #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (gnu packages) #:use-module (gnu packages perl) #:use-module (gnu packages base)) @@ -36,7 +37,8 @@ version ".tar.gz")) (sha256 (base32 - "19jpcv4ryvbz0476d6dgpxpbjkpmih4q84wj06nslls338bm5fzf")))) + "19jpcv4ryvbz0476d6dgpxpbjkpmih4q84wj06nslls338bm5fzf")) + (patches (search-patches "datamash-arm-tests.patch")))) (native-inputs `(("which" ,which) ;for tests ("perl" ,perl))) ;for help2man diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 712522c20d..56090779a2 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -492,14 +492,14 @@ Extensions} (DNSSEC).") (define-public knot (package (name "knot") - (version "2.6.5") + (version "2.6.6") (source (origin (method url-fetch) (uri (string-append "https://secure.nic.cz/files/knot-dns/" name "-" version ".tar.xz")) (sha256 (base32 - "0ilxwhy7a7jdzynq586pwlgcvqd1j6ycqy9qrwvypfp20rkngk9k")) + "02h8qdkja4kic3br79svws6r2pq1ijz945238v99d998d2jxh6ci")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm index 60dfa509aa..068aa23e36 100644 --- a/gnu/packages/electronics.scm +++ b/gnu/packages/electronics.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -50,7 +51,7 @@ (base32 "17ajlwgvyyrap8z7f16zcs59pksvncwbmd3mzf98wj7zqgczjaja")))) (build-system gnu-build-system) - (home-page "http://sigrok.org/wiki/Libserialport") + (home-page "https://sigrok.org/wiki/Libserialport") (synopsis "Library for using serial ports") (description "Libserialport is a minimal shared library written in C that is intended to take care of the OS-specific details when writing software that uses serial ports.") @@ -59,7 +60,7 @@ to take care of the OS-specific details when writing software that uses serial p (define-public libsigrokdecode (package (name "libsigrokdecode") - (version "0.5.0") + (version "0.5.1") (source (origin (method url-fetch) (uri (string-append @@ -67,14 +68,15 @@ to take care of the OS-specific details when writing software that uses serial p version ".tar.gz")) (sha256 (base32 - "1hfigfj1976qk11kfsgj75l20qvyq8c9p2h4mjw23d59rsg5ga2a")))) + "07mmb6s62ncqqgsc6szilj2yxixf6gg99ggbzsjlbhp4b9aqnga9")))) (outputs '("out" "doc")) (arguments `(#:phases (modify-phases %standard-phases (add-after 'build 'build-doc (lambda _ - (zero? (system* "doxygen")))) + (invoke "doxygen") + #t)) (add-after 'install 'install-doc (lambda* (#:key outputs #:allow-other-keys) (copy-recursively "doxy/html-api" @@ -91,7 +93,7 @@ to take care of the OS-specific details when writing software that uses serial p `(("glib" ,glib) ("python" ,python))) (build-system gnu-build-system) - (home-page "http://www.sigrok.org/wiki/Libsigrokdecode") + (home-page "https://www.sigrok.org/wiki/Libsigrokdecode") (synopsis "Library providing (streaming) protocol decoding functionality") (description "Libsigrokdecode is a shared library written in C, which provides (streaming) protocol decoding functionality.") @@ -112,7 +114,7 @@ to take care of the OS-specific details when writing software that uses serial p (native-inputs `(("sdcc" ,sdcc))) (build-system gnu-build-system) - (home-page "http://www.sigrok.org/wiki/Fx2lafw") + (home-page "https://www.sigrok.org/wiki/Fx2lafw") (synopsis "Firmware for Cypress FX2 chips") (description "Fx2lafw is free firmware for Cypress FX2 chips which makes them usable as simple logic analyzer and/or oscilloscope hardware.") @@ -190,7 +192,7 @@ as simple logic analyzer and/or oscilloscope hardware.") ("libftdi" ,libftdi) ("libzip" ,libzip))) (build-system gnu-build-system) - (home-page "http://www.sigrok.org/wiki/Libsigrok") + (home-page "https://www.sigrok.org/wiki/Libsigrok") (synopsis "Library which provides the basic hardware access drivers for logic analyzers") (description "@code{libsigrok} is a shared library written in C which provides the basic hardware @@ -217,7 +219,7 @@ format support.") ("libsigrok" ,libsigrok) ("libsigrokdecode" ,libsigrokdecode))) (build-system gnu-build-system) - (home-page "http://sigrok.org/wiki/Sigrok-cli") + (home-page "https://sigrok.org/wiki/Sigrok-cli") (synopsis "Command-line frontend for sigrok") (description "Sigrok-cli is a command-line frontend for sigrok.") (license license:gpl3+))) @@ -247,7 +249,7 @@ format support.") ("qtbase" ,qtbase) ("qtsvg" ,qtsvg))) (build-system cmake-build-system) - (home-page "http://www.sigrok.org/wiki/PulseView") + (home-page "https://www.sigrok.org/wiki/PulseView") (synopsis "Qt based logic analyzer, oscilloscope and MSO GUI for sigrok") (description "PulseView is a Qt based logic analyzer, oscilloscope and MSO GUI for sigrok.") diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 7a5bef2a70..bc98284686 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -19,7 +19,7 @@ ;;; Copyright © 2016, 2017, 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> -;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> +;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com> ;;; Copyright © 2017, 2018 Kyle Meyer <kyle@kyleam.com> ;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net> @@ -66,6 +66,7 @@ #:use-module (gnu packages audio) #:use-module (gnu packages bash) #:use-module (gnu packages code) + #:use-module (gnu packages databases) #:use-module (gnu packages guile) #:use-module (gnu packages gtk) #:use-module (gnu packages gnome) @@ -90,6 +91,7 @@ #:use-module (gnu packages xml) #:use-module (gnu packages glib) #:use-module (gnu packages acl) + #:use-module (gnu packages mail) #:use-module (gnu packages package-management) #:use-module (gnu packages perl) #:use-module (gnu packages pdf) @@ -961,7 +963,7 @@ light user interface.") (define-public emacs-emms-player-mpv (package (name "emacs-emms-player-mpv") - (version "0.0.13") + (version "0.1.0") (source (origin (method url-fetch) @@ -970,7 +972,7 @@ light user interface.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "01i0bz7wdqzcnv5r63m9xgl07yf1nmn86dwy00rcfsn5za46y3r3")))) + "05qwbagc4i7yn7i94r1hdgj6wc5xijy1pxqv08pwsmli9rqj51n9")))) (build-system emacs-build-system) (propagated-inputs `(("emms" ,emms))) @@ -1478,7 +1480,9 @@ filters, new key bindings and faces. It can be enabled by ;; upgrading" that pdf-tools tries to perform. (emacs-substitute-variables "pdf-tools.el" ("pdf-tools-handle-upgrades" '())))) - (add-after 'emacs-patch-variables 'emacs-install + (add-after 'emacs-patch-variables 'emacs-set-emacs-load-path + (assoc-ref emacs:%standard-phases 'set-emacs-load-path)) + (add-after 'emacs-set-emacs-load-path 'emacs-install (assoc-ref emacs:%standard-phases 'install)) (add-after 'emacs-install 'emacs-build (assoc-ref emacs:%standard-phases 'build)) @@ -1518,11 +1522,8 @@ and stored in memory.") "1pjlkrzr8n45bnp3xs3dybvy0nz3gwamrfc7vsi1nhpkkw99ihhb")))) (build-system emacs-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'install 'check - (lambda _ - (zero? (system* "./run-tests.sh"))))))) + `(#:tests? #t + #:test-command '("./run-tests.sh"))) (home-page "https://github.com/magnars/dash.el") (synopsis "Modern list library for Emacs") (description "This package provides a modern list API library for Emacs.") @@ -1715,11 +1716,8 @@ allows easily move between them.") "0xbl75863pcm806zg0x1lw7qznzjq2c8320k8js7apyag8q4srvh")))) (build-system emacs-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'install 'check - (lambda _ - (zero? (system* "./run-tests.sh"))))))) + `(#:tests? #t + #:test-command '("./run-tests.sh"))) (home-page "https://github.com/magnars/s.el") (synopsis "Emacs string manipulation library") (description "This package provides an Emacs library for manipulating @@ -1747,26 +1745,31 @@ strings.") (license license:gpl2+))) (define-public emacs-sx - (package - (name "emacs-sx") - (version "0.4") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/vermiculus/sx.el/" - "archive/v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1w0xghfljqg31axcnv8gzlrd8pw25nji6idnrhflq0af9qh1dw03")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-markdown-mode" ,emacs-markdown-mode))) - (home-page "https://github.com/vermiculus/sx.el/") - (synopsis "Emacs StackExchange client") - (description - "Emacs StackExchange client. Ask and answer questions on + (let ((version "20180212") + (revision "1") + (commit "833435fbf90d1c9e927d165b155f3b1ef39271de")) + (package + (name "emacs-sx") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vermiculus/sx.el") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1369xaxq1vy3d9yh862ddnhddikdpg2d0wv1ly00pnvdp9v4cqgd")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-markdown-mode" ,emacs-markdown-mode))) + (home-page "https://github.com/vermiculus/sx.el") + (synopsis "Emacs StackExchange client") + (description + "Emacs StackExchange client. Ask and answer questions on Stack Overflow, Super User, and other StackExchange sites.") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public emacs-f (package @@ -1915,10 +1918,35 @@ Expectations, but it can be used in other contexts.") definitions for testing with the Ecukes framework.") (license license:gpl3+))) +(define-public emacs-spark + (let ((version "20160503") ; no proper tag, use date of commit + (commit "0bf148c3ede3b31d56fd75f347cdd0b0eae60025") + (revision "1")) + (package + (name "emacs-spark") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alvinfrancis/spark.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ykqr86j17mi95s08d9fp02d7ych1331b04dcqxzxnmpkhwngyj1")))) + (build-system emacs-build-system) + (home-page "https://github.com/alvinfrancis/spark") + (synopsis "Sparkline generation library for Emacs Lisp") + (description "@code{emacs-spark} is a sparkline generation library for +Emacs Lisp. It generates a sparkline string given a list of numbers. It is a +port of @code{cl-spark} to Emacs Lisp.") + (license license:expat)))) + (define-public emacs-es-mode (package (name "emacs-es-mode") - (version "4.2.0") + (version "4.3.0") (source (origin (method url-fetch) (uri (string-append @@ -1927,12 +1955,14 @@ definitions for testing with the Ecukes framework.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "02as82clm553yss7jfjac888308zr1h2229cch4z1yij70j25c8y")))) + "0y86qdcb3g7fkcb4pzsjh3syzql6w3314hg1wqxq4a8bbk3y0cgr")))) (build-system emacs-build-system) (propagated-inputs ;; The version of org in Emacs 24.5 is not sufficient, and causes tables ;; to be rendered incorrectly - `(("emacs-org" ,emacs-org))) + `(("emacs-dash" ,emacs-dash) + ("emacs-org" ,emacs-org) + ("emacs-spark" ,emacs-spark))) (home-page "https://github.com/dakrone/es-mode") (synopsis "Major mode for editing Elasticsearch queries") (description "@code{es-mode} includes highlighting, completion and @@ -2204,11 +2234,8 @@ in Lisp modes.") (native-inputs `(("ert-runner" ,ert-runner))) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'install 'check - (lambda _ - (zero? (system* "ert-runner"))))))) + `(#:tests? #t + #:test-command '("ert-runner"))) (home-page "https://github.com/akicho8/string-inflection") (synopsis "Convert symbol names between different naming conventions") (description @@ -2439,6 +2466,24 @@ A minor mode @code{debbugs-browse-mode} let you browse URLs to the GNU Bug Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.") (license license:gpl3+))) +(define-public emacs-ert-expectations + (package + (name "emacs-ert-expectations") + (version "0.2") + (source + (origin + (method url-fetch) + (uri "https://www.emacswiki.org/emacs/download/ert-expectations.el") + (sha256 + (base32 + "0cwy3ilsid90abzzjb7ha2blq9kmv3gfp3icwwfcz6qczgirq6g7")))) + (build-system emacs-build-system) + (home-page "https://www.emacswiki.org/emacs/ert-expectations.el") + (synopsis "Simple unit test framework for Emacs Lisp") + (description "@code{emacs-ert-expectations} is a simple unit test +framework for Emacs Lisp to be used with @code{ert}.") + (license license:gpl3+))) + (define-public emacs-deferred (package (name "emacs-deferred") @@ -2454,7 +2499,24 @@ Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.") "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h")) (file-name (string-append name "-" version)))) (build-system emacs-build-system) - ;; FIXME: Would need 'el-expectations' to actually run tests. + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'fix-makefile + (lambda _ + (substitute* "Makefile" + (("\\$\\(CASK\\) exec ") "")) + #t))) + #:tests? #t + ;; FIXME: Normally we'd run the "test" target but for some reason the + ;; test-deferred target fails when run in the Guix build environment + ;; with the error: (file-error "Searching for program" "No such file or + ;; directory" "/bin/sh"). + #:test-command '("make" "test-concurrent" "test-concurrent-compiled"))) + (native-inputs + `(("emacs-ert-expectations" ,emacs-ert-expectations) + ("emacs-undercover" ,emacs-undercover) + ("ert-runner" ,ert-runner))) (synopsis "Simple asynchronous functions for Emacs Lisp") (description "The @code{deferred.el} library provides support for asynchronous tasks. @@ -2506,7 +2568,7 @@ build jobs.") (arguments `(#:phases (modify-phases %standard-phases - (add-before 'install 'check + (add-before 'check 'fix-bin-dir (lambda _ ;; The company-files-candidates-normal-root test looks ;; for the /bin directory, but the build environment has @@ -2514,7 +2576,9 @@ build jobs.") ;; /tmp directory. (substitute* "test/files-tests.el" (("/bin/") "/tmp/")) - (zero? (system* "make" "test-batch"))))))) + #t))) + #:tests? #t + #:test-command '("make" "test-batch"))) (home-page "http://company-mode.github.io/") (synopsis "Modular text completion framework") (description @@ -2940,7 +3004,7 @@ started with 20 minutes. All values are customizable.") (define-public emacs-org-trello (package (name "emacs-org-trello") - (version "0.7.9") + (version "0.8.0") (source (origin (method url-fetch) (uri (string-append @@ -2949,12 +3013,14 @@ started with 20 minutes. All values are customizable.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "074dka8g673bj1ck5vavbjaij5jyniygdlw51mdds005wd2br9wf")))) + "0549mnf5cgwn8b8jbl38fljbaxmh1605sv9j8f3lsa95jhs1zpa0")))) (build-system emacs-build-system) (propagated-inputs - `(("emacs-deferred" ,emacs-deferred) + `(("emacs-dash" ,emacs-dash) + ("emacs-deferred" ,emacs-deferred) + ("emacs-f" ,emacs-f) + ("emacs-helm" ,emacs-helm) ("emacs-request" ,emacs-request) - ("emacs-dash" ,emacs-dash) ("emacs-s" ,emacs-s))) (home-page "https://org-trello.github.io") (synopsis "Emacs minor mode for interacting with Trello") @@ -3082,7 +3148,9 @@ single theme but a set of guidelines with numerous implementations.") (base32 "0q5as813xs8y29i3v2rm97phd6m7xsmmw6hwbvx57gwmi8i1c409")))) (build-system emacs-build-system) - (propagated-inputs `(("emacs-dash" ,emacs-dash))) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-markdown-mode" ,emacs-markdown-mode))) (home-page "https://github.com/Fuco1/smartparens") (synopsis "Paredit-like insertion, wrapping and navigation with user defined pairs") @@ -3247,7 +3315,7 @@ after buffer changes.") (define-public emacs-realgud (package (name "emacs-realgud") - (version "1.4.4") + (version "1.4.5") (source (origin (method url-fetch) @@ -3255,13 +3323,13 @@ after buffer changes.") version ".tar")) (sha256 (base32 - "1nc8km339ip90h1j55ahfga03v7x7rh4iycmw6yrxyzir68vwn7c")))) + "108wgxg7fb4byaiasgvbxv2hq7b00biq9f0mh9hy6vw4160y5w24")))) (build-system emacs-build-system) (arguments `(#:tests? #t #:phases (modify-phases %standard-phases - (add-after 'unpack 'fix-autogen-script + (add-after 'set-emacs-load-path 'fix-autogen-script (lambda _ (substitute* "autogen.sh" (("./configure") "sh configure")))) @@ -3315,6 +3383,8 @@ parallel.") (base32 "0wyxqbb35yqf6ci47531lk32d6fppamx9d8826kdz983vm87him7")))) (build-system emacs-build-system) + (propagated-inputs + `(("emacs-deferred" ,emacs-deferred))) (home-page "https://github.com/tkf/emacs-request") (synopsis "Package for speaking HTTP in Emacs Lisp") (description "This package provides a HTTP request library with multiple @@ -3494,35 +3564,88 @@ lines that match the current text being edited. This gives you the effect of a temporary @code{keep-lines} or @code{occur}.") (license license:gpl3+))) +(define-public emacs-zoutline + (let ((commit "b3ee0f0e0b916838c2d2c249beba74ffdb8d5699") + (revision "0")) + (package + (name "emacs-zoutline") + (version (git-version "0.1" revision commit)) + (home-page "https://github.com/abo-abo/zoutline") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) (commit commit))) + (sha256 + (base32 + "0sd0017piw0dis6dhpq5dkqd3acisxqgipl7dj8gmc1vnswhdwr8")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (synopsis "Simple outline library") + (description + "This library provides helpers for outlines. Outlines allow users to +navigate code in a tree-like fashion.") + (license license:gpl3+)))) + (define-public emacs-lispy - (package - (name "emacs-lispy") - (version "0.26.0") - (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/abo-abo/lispy/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "15gig95cvamw5zlw99cxggd27c18b9scznjj97gvjn2zbljcaqzl")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-ace-window" ,emacs-ace-window) - ("emacs-iedit" ,emacs-iedit) - ("emacs-ivy" ,emacs-ivy) - ("emacs-hydra" ,emacs-hydra))) - (home-page "https://github.com/abo-abo/lispy") - (synopsis "Modal S-expression editing") - (description - "Due to the structure of Lisp syntax it's very rare for the programmer to -want to insert characters right before \"(\" or right after \")\". Thus + ;; Release 0.26.0 was almost 3 years ago, and there have been ~772 commits + ;; since. + (let ((commit "a7e1cf742e72199cc75aa5e1e686991ba4a23bc4") + (revision "0")) + (package + (name "emacs-lispy") + (version (git-version "0.26.0" revision commit)) + (home-page "https://github.com/abo-abo/lispy") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) (commit commit))) + (sha256 + (base32 + "0qg85gz5akayvhb5fmn1qx7s9847gry4g20xcnq8llr839lq28dl")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-ace-window" ,emacs-ace-window) + ("emacs-iedit" ,emacs-iedit) + ("emacs-ivy" ,emacs-ivy) + ("emacs-hydra" ,emacs-hydra) + ("emacs-zoutline" ,emacs-zoutline))) + (synopsis "Modal S-expression editing") + (description + "Due to the structure of Lisp syntax it's very rare for the programmer +to want to insert characters right before \"(\" or right after \")\". Thus unprefixed printable characters can be used to call commands when the point is at one of these special locations. Lispy provides unprefixed keybindings for S-expression editing when point is at the beginning or end of an S-expression.") - (license license:gpl3+))) + (license license:gpl3+)))) + +(define-public emacs-lispyville + ;; Later versions need a more recent Evil, with an evil-define-key* + ;; supporting nil for the state. + (let ((commit "b4291857ed6a49a67c4ea77522889ce51fb171ab") + (revision "0")) + (package + (name "emacs-lispyville") + (version (git-version "0.1" revision commit)) + (home-page "https://github.com/noctuid/lispyville") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) (commit commit))) + (sha256 + (base32 + "095zibzc3naknahdrnb59g9rbljy8wz9rkc7rf8avb3wxlwvxhm3")) + (file-name (git-file-name name version)))) + (propagated-inputs + `(("emacs-evil" ,emacs-evil) + ("emacs-lispy" ,emacs-lispy))) + (build-system emacs-build-system) + (synopsis "Minor mode for integrating Evil with lispy") + (description + "LispyVille's main purpose is to provide a Lisp editing environment +suited towards Evil users. It can serve as a minimal layer on top of lispy +for better integration with Evil, but it does not require the use of lispy’s +keybinding style. The provided commands allow for editing Lisp in normal +state and will work even without lispy being enabled.") + (license license:gpl3+)))) (define-public emacs-clojure-mode (package @@ -3543,11 +3666,8 @@ S-expression.") ("emacs-s" ,emacs-s) ("ert-runner" ,ert-runner))) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'install 'check - (lambda _ - (zero? (system* "ert-runner"))))))) + `(#:tests? #t + #:test-command '("ert-runner"))) (home-page "https://github.com/clojure-emacs/clojure-mode") (synopsis "Major mode for Clojure code") (description @@ -3726,14 +3846,10 @@ E-Prime forbids the use of the \"to be\" form to strengthen your writing.") "1is4dcv6blslpzbjcg8l2jpxi8xj96q4cm0nxjxsyswpm8bw8ki0")))) (build-system emacs-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'install 'check - (lambda _ - (zero? (system* "emacs" "-batch" - "-l" "julia-mode.el" - "-l" "julia-mode-tests.el" - "-f" "ert-run-tests-batch-and-exit"))))))) + `(#:tests? #t + #:test-command '("emacs" "--batch" + "-l" "julia-mode-tests.el" + "-f" "ert-run-tests-batch-and-exit"))) (home-page "https://github.com/JuliaEditorSupport/julia-emacs") (synopsis "Major mode for Julia") (description "This Emacs package provides a mode for the Julia @@ -3925,11 +4041,8 @@ If you want to mark a folder manually as a project just create an empty "1fd1mx0q1qb9vgdzls5ppxfriyid48blg8smgjspiazp7kxakzxv")))) (build-system emacs-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'install 'check - (lambda _ - (zero? (system* "make" "test"))))))) + `(#:tests? #t + #:test-command '("make" "test"))) (home-page "https://github.com/skeeto/elfeed") (synopsis "Atom/RSS feed reader for Emacs") (description @@ -4514,14 +4627,14 @@ passive voice.") (name "emacs-org") ;; emacs-org-contrib inherits from this package. Please update its sha256 ;; checksum as well. - (version "9.1.9") + (version "9.1.10") (source (origin (method url-fetch) (uri (string-append "http://elpa.gnu.org/packages/org-" version ".tar")) (sha256 (base32 - "16yr0srfzsrzv2b1f2wjk8gb2pyhsgj2hxbscixirkxqz674c5cl")))) + "01vvq6m7r2ifyflvq5ga241qvl4j62smz0zr6jljk56b6nqi20lm")))) (build-system emacs-build-system) (home-page "https://orgmode.org/") (synopsis "Outline-based notes management and organizer") @@ -4535,14 +4648,14 @@ reproducible research.") (package (inherit emacs-org) (name "emacs-org-contrib") - (version "20180327") + (version "20180416") (source (origin (method url-fetch) (uri (string-append "https://orgmode.org/elpa/org-plus-contrib-" version ".tar")) (sha256 (base32 - "1y1nn0bxnh9y4a3zrqng8n639j5da5387q2314sr3a8ggy1nb93s")))) + "1f5zdfsa1fcf66hk3w57wh5385069yg0b86h57jgkcbmxkcmj6ij")))) (arguments `(#:modules ((guix build emacs-build-system) (guix build utils) @@ -4954,7 +5067,8 @@ customizable by the user.") (propagated-inputs `(("emacs-alert" ,emacs-alert) ("emacs-s" ,emacs-s) - ("emacs-ht" ,emacs-ht))) + ("emacs-ht" ,emacs-ht) + ("mu" ,mu))) (home-page "https://github.com/iqbalansari/mu4e-alert") (synopsis "Desktop notification for mu4e") (description @@ -5089,32 +5203,29 @@ Yasnippet.") (define-public emacs-memoize (package - (name "emacs-memoize") - (version "20130421.b55eab0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/skeeto/emacs-memoize") - (commit "b55eab0cb6ab05d941e07b8c01f1655c0cf1dd75"))) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0fjwlrdm270qcrqffvarw5yhijk656q4lam79ybhaznzj0dq3xpw")))) - (build-system emacs-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'install 'check - (lambda _ - (zero? (system* "emacs" "-batch" "-l" "memoize.el" - "-l" "memoize-test.el" - "-f" "ert-run-tests-batch-and-exit"))))))) - (home-page "https://github.com/skeeto/emacs-memoize") - (synopsis "Emacs lisp memoization library") - (description "@code{emacs-memoize} is an Emacs library for + (name "emacs-memoize") + (version "1.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/skeeto/emacs-memoize/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "05ijgwi4ymxx31vpjm2pn356j85cykknajn14lrzz8pn5sh0vrg4")))) + (build-system emacs-build-system) + (arguments + `(#:tests? #t + #:test-command '("emacs" "--batch" + "-l" "memoize-test.el" + "-f" "ert-run-tests-batch-and-exit"))) + (home-page "https://github.com/skeeto/emacs-memoize") + (synopsis "Emacs lisp memoization library") + (description "@code{emacs-memoize} is an Emacs library for memoizing functions.") - (license license:unlicense))) + (license license:unlicense))) (define-public emacs-linum-relative (package @@ -5392,16 +5503,12 @@ abbreviation of the mode line displays (lighters) of minor modes.") (propagated-inputs `(("emacs-diminish" ,emacs-diminish))) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'install 'check - (lambda _ - (zero? (system* "emacs" "--batch" "-L" "." - "-l" "use-package-tests.el" - "-f" "ert-run-tests-batch-and-exit")) - ;; Tests fail in this release, but have been fixed in - ;; upstream commit 7956d40eed57d6c06bef36ebc174cf57d934e30d - #t))))) + ;; Tests fail in this release, but have been fixed in + ;; upstream commit 7956d40eed57d6c06bef36ebc174cf57d934e30d + `(#:tests? #f + #:test-command '("emacs" "--batch" + "-l" "use-package-tests.el" + "-f" "ert-run-tests-batch-and-exit"))) (home-page "https://github.com/jwiegley/use-package") (synopsis "Declaration for simplifying your .emacs") (description "The use-package macro allows you to isolate package @@ -5496,13 +5603,10 @@ fonts is supported.") "0zay490vjby3f7455r0vydmjg7q1gwc78hilpfb0rg4gwz224z8r")))) (build-system emacs-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'install 'check - (lambda _ - (zero? (system* "emacs" "--batch" "-L" "." - "-l" "xmlgen-test.el" - "-f" "ert-run-tests-batch-and-exit"))))))) + `(#:tests? #t + #:test-command '("emacs" "--batch" + "-l" "xmlgen-test.el" + "-f" "ert-run-tests-batch-and-exit"))) (home-page "https://github.com/philjackson/xmlgen") (synopsis "S-expression to XML domain specific language (DSL) in Emacs Lisp") @@ -5525,6 +5629,8 @@ conversion for Emacs Lisp.") (base32 "0pivapphmykc6vhvpx7hdyl55ls37vc4jcrxpvs4yk7jzcmwa9xp")))) (build-system emacs-build-system) + (propagated-inputs + `(("emacs-auctex" ,emacs-auctex))) (home-page "https://github.com/cdominik/cdlatex") (synopsis "Fast Emacs input methods for LaTeX environments and math") @@ -6102,64 +6208,49 @@ Emacs.") ;; Tests for ert-runner have a circular dependency with ecukes, and therefore ;; cannot be run (define-public ert-runner - (let ((dependencies - `(("emacs-ansi" ,emacs-ansi) - ("emacs-commander" ,emacs-commander) - ("emacs-dash" ,emacs-dash) - ("emacs-f" ,emacs-f) - ("emacs-s" ,emacs-s) - ("emacs-shut-up" ,emacs-shut-up)))) - (package - (name "ert-runner") - (version "0.7.0") - (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/rejeep/ert-runner.el/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1657nck9i96a4xgl8crfqq0s8gflzp21pkkzwg6m3z5npjxklgwp")))) - (build-system emacs-build-system) - (inputs dependencies) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'install 'install-executable - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (substitute* "bin/ert-runner" - (("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)") - (string-append "ERT_RUNNER=\"" out - "/share/emacs/site-lisp/guix.d/" - ,name "-" ,version))) - (install-file "bin/ert-runner" (string-append out "/bin")) - (wrap-program (string-append out "/bin/ert-runner") - (list "EMACSLOADPATH" ":" '= - (append - ,(match dependencies - (((labels packages) ...) - `(map (lambda (label package version) - (string-append (assoc-ref inputs label) - "/share/emacs/site-lisp/guix.d/" - (string-drop package 6) - "-" version)) - ',labels - ',(map package-name packages) - ',(map package-version packages)))) - ;; empty element to include the default load path as - ;; determined by emacs' standard initialization - ;; procedure - (list "")))) - #t)))) - #:include (cons* "^reporters/.*\\.el$" %default-include))) - (home-page "https://github.com/rejeep/ert-runner.el") - (synopsis "Opinionated Ert testing workflow") - (description "@code{ert-runner} is a tool for Emacs projects tested + (package + (name "ert-runner") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/rejeep/ert-runner.el/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1657nck9i96a4xgl8crfqq0s8gflzp21pkkzwg6m3z5npjxklgwp")))) + (build-system emacs-build-system) + (inputs + `(("emacs-ansi" ,emacs-ansi) + ("emacs-commander" ,emacs-commander) + ("emacs-dash" ,emacs-dash) + ("emacs-f" ,emacs-f) + ("emacs-s" ,emacs-s) + ("emacs-shut-up" ,emacs-shut-up))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'install-executable + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "bin/ert-runner" + (("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)") + (string-append "ERT_RUNNER=\"" out + "/share/emacs/site-lisp/guix.d/" + ,name "-" ,version))) + (install-file "bin/ert-runner" (string-append out "/bin")) + (wrap-program (string-append out "/bin/ert-runner") + (list "EMACSLOADPATH" ":" 'prefix + (string-split (getenv "EMACSLOADPATH") #\:))) + #t)))) + #:include (cons* "^reporters/.*\\.el$" %default-include))) + (home-page "https://github.com/rejeep/ert-runner.el") + (synopsis "Opinionated Ert testing workflow") + (description "@code{ert-runner} is a tool for Emacs projects tested using ERT. It assumes a certain test structure setup and can therefore make running tests easier.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-disable-mouse (package @@ -6199,32 +6290,15 @@ running a customisable handler command (@code{ignore} by default). ") "11fbq4scrgr7m0iwnzcrn2g7xvqwm2gf82sa7zy1l0nil7265p28")) (patches (search-patches "emacs-json-reformat-fix-tests.patch")))) (build-system emacs-build-system) - (propagated-inputs `(("emacs-undercover" ,emacs-undercover))) - (inputs - `(("emacs-dash" ,emacs-dash) ; for tests - ("emacs-shut-up" ,emacs-shut-up))) ; for tests + (propagated-inputs + `(("emacs-undercover" ,emacs-undercover))) + (native-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-shut-up" ,emacs-shut-up) + ("ert-runner" ,ert-runner))) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'install 'check - (lambda* (#:key inputs #:allow-other-keys) - (zero? (system* "emacs" "--batch" "-L" "." - "-L" (string-append - (assoc-ref inputs "emacs-undercover") - "/share/emacs/site-lisp/guix.d/undercover-" - ,(package-version emacs-undercover)) - "-L" (string-append - (assoc-ref inputs "emacs-dash") - "/share/emacs/site-lisp/guix.d/dash-" - ,(package-version emacs-dash)) - "-L" (string-append - (assoc-ref inputs "emacs-shut-up") - "/share/emacs/site-lisp/guix.d/shut-up-" - ,(package-version emacs-shut-up)) - "-l" "test/test-helper.el" - "-l" "test/json-reformat-test.el" - "-f" "ert-run-tests-batch-and-exit")) - #t))))) + `(#:tests? #t + #:test-command '("ert-runner"))) (home-page "https://github.com/gongo/json-reformat") (synopsis "Reformatting tool for JSON") (description "@code{json-reformat} provides a reformatting tool for @@ -6302,6 +6376,45 @@ from within Emacs. Restclient runs queries from a plan-text query sheet, displays results pretty-printed in XML or JSON with @code{restclient-mode}") (license license:public-domain)))) +(define-public emacs-eimp + (let ((version "1.4.0") + (commit "2e7536fe6d8f7faf1bad7a8ae37faba0162c3b4f") + (revision "1")) + (package + (name "emacs-eimp") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nicferrier/eimp.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "154d57yafxbcf39r89n5j43c86rp2fki3lw3gwy7ww2g6qkclcra")))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'configure + (lambda* (#:key inputs #:allow-other-keys) + (let ((imagemagick (assoc-ref inputs "imagemagick"))) + ;; eimp.el is read-only in git. + (chmod "eimp.el" #o644) + (emacs-substitute-variables "eimp.el" + ("eimp-mogrify-program" + (string-append imagemagick "/bin/mogrify")))) + #t))))) + (inputs + `(("imagemagick" ,imagemagick))) + (home-page "https://github.com/nicferrier/eimp") + (synopsis "Interactive image manipulation utility for Emacs") + (description "@code{emacs-eimp} allows interactive image manipulation +from within Emacs. It uses the code@{mogrify} utility from ImageMagick to do +the actual transformations.") + (license license:gpl2+)))) + (define-public emacs-dired-hacks (let ((commit "eda68006ce73bbf6b9b995bfd70d08bec8cade36") (revision "1")) @@ -6321,6 +6434,7 @@ displays results pretty-printed in XML or JSON with @code{restclient-mode}") (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) + ("emacs-eimp" ,emacs-eimp) ("emacs-f" ,emacs-f) ("emacs-s" ,emacs-s))) (home-page "https://github.com/Fuco1/dired-hacks") @@ -6360,13 +6474,10 @@ displays results pretty-printed in XML or JSON with @code{restclient-mode}") (file-name (string-append name "-" version ".tar.gz")))) (build-system emacs-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'install 'check - (lambda _ - (zero? (system* "emacs" "--batch" "-L" "." - "-l" "which-key-tests.el" - "-f" "ert-run-tests-batch-and-exit"))))))) + `(#:tests? #t + #:test-command '("emacs" "--batch" + "-l" "which-key-tests.el" + "-f" "ert-run-tests-batch-and-exit"))) (home-page "https://github.com/justbur/emacs-which-key") (synopsis "Display available key bindings in popup") (description @@ -6395,11 +6506,8 @@ settings).") (native-inputs `(("ert-runner" ,ert-runner))) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'install 'check - (lambda _ - (zero? (system* "ert-runner" "tests"))))))) + `(#:tests? #t + #:test-command '("ert-runner" "tests"))) (home-page "https://github.com/lewang/ws-butler") (synopsis "Trim spaces from end of lines") (description @@ -6496,17 +6604,9 @@ editing RPM spec files.") (propagated-inputs `(("emacs-popup" ,emacs-popup))) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'install 'check - (lambda* (#:key inputs #:allow-other-keys) - (zero? (system* "emacs" "--batch" "-L" "." - "-L" (string-append - (assoc-ref inputs "emacs-popup") - "/share/emacs/site-lisp/guix.d/popup-" - ,(package-version emacs-popup)) - "-l" "test/test.el" - "-f" "ert-run-tests-batch-and-exit"))))))) + `(#:tests? #t + #:test-command '("emacs" "--batch" "-l" "test/test.el" + "-f" "ert-run-tests-batch-and-exit"))) (home-page "https://github.com/syohex/emacs-git-messenger") (synopsis "Popup commit message at current line") (description "@code{emacs-git-messenger} provides @@ -6628,7 +6728,7 @@ key. Optionally, a mouse pop-up can be added by binding version ".tar")) (sha256 (base32 - "0ld4kfwnyyhlsnj5f6cbn4is4mpxdqalk2aifkw02r00mbr9n294")))) + "02r1qqsxi6qk7q4cj6a6pygbj856dcw9vcmhfh0ib92j41v77q6y")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-prop-menu" ,emacs-prop-menu))) @@ -6666,11 +6766,8 @@ Idris.") (native-inputs `(("ert-runner" ,ert-runner))) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'install 'check - (lambda _ - (zero? (system* "ert-runner"))))))) + `(#:tests? #t + #:test-command '("ert-runner"))) (home-page "https://github.com/rmuslimov/browse-at-remote") (synopsis "Open github/gitlab/bitbucket/stash page from Emacs") (description @@ -6957,6 +7054,15 @@ contexts. (base32 "057cybkq3cy07n5s332k071sjiky3mziy003lza4rh75mgqkwhmh")))) (build-system emacs-build-system) + (arguments + `(#:include (cons* "^modes/.*\\.el$" %default-include) + #:phases + (modify-phases %standard-phases + (add-after 'set-emacs-load-path 'add-modes-subdir-to-load-path + (lambda _ + (setenv "EMACSLOADPATH" + (string-append (getenv "EMACSLOADPATH") + ":" (getcwd) "/modes" ":"))))))) (home-page "https://github.com/vspinu/polymode") (synopsis "Framework for multiple Emacs modes based on indirect buffers") (description "Polymode is an Emacs package that offers generic support @@ -7027,7 +7133,7 @@ Feautures: (define-public emacs-evil-matchit (package (name "emacs-evil-matchit") - (version "2.2.5") + (version "2.2.6") (source (origin (method url-fetch) @@ -7037,8 +7143,10 @@ Feautures: (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1hm0k53m7d8zv2pk4p93k5mmilsv1mz7y2z6dqf7r6f0zmncs31a")))) + "1yp9sl6542317mn1060ri90zyf6bs6qylagndhqy02p368q31rhi")))) (build-system emacs-build-system) + (propagated-inputs + `(("emacs-evil" ,emacs-evil))) (home-page "https://github.com/redguardtoo/evil-matchit") (synopsis "Vim matchit ported into Emacs") (description @@ -7088,16 +7196,10 @@ emulates Vim features and provides Vim-like key bindings.") (propagated-inputs `(("emacs-evil" ,emacs-evil))) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'install 'check - (lambda* (#:key inputs #:allow-other-keys) - (invoke "emacs" "--batch" "-L" - (string-append (assoc-ref inputs "emacs-evil") - "/share/emacs/site-lisp/guix.d/evil-" - ,(package-version emacs-evil)) - "-l" "evil-quickscope-tests.el" - "-f" "ert-run-tests-batch-and-exit")))))) + `(#:tests? #t + #:test-command '("emacs" "--batch" + "-l" "evil-quickscope-tests.el" + "-f" "ert-run-tests-batch-and-exit"))) (home-page "https://github.com/blorbx/evil-quickscope") (synopsis "Target highlighting for emacs evil-mode f,F,t and T commands") (description "@code{emacs-evil-quickscope} highlights targets for Evil @@ -7214,6 +7316,32 @@ scratch buffer, and, by virtue of this extension, do so using the Emacs formatting rules for that language.") (license license:bsd-2)))) +(define-public emacs-kv + (package + (name "emacs-kv") + (version "0.0.19") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nicferrier/emacs-kv.git") + (commit "721148475bce38a70e0b678ba8aa923652e8900e"))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0r0lz2s6gvy04fwnafai668jsf4546h4k6zd6isx5wpk0n33pj5m")))) + (build-system emacs-build-system) + (arguments + `(#:tests? #t + #:test-command '("emacs" "--batch" "-l" "kv-tests.el" + "-f" "ert-run-tests-batch-and-exit"))) + (home-page "https://github.com/nicferrier/emacs-kv") + (synopsis "Key/Value data structures library for Emacs Lisp") + (description "@code{emacs-kv} is a collection of tools for dealing with +key/value data structures such as plists, alists and hash-tables in Emacs +Lisp.") + (license license:gpl3+))) + (define-public emacs-esxml (package (name "emacs-esxml") @@ -7228,6 +7356,28 @@ formatting rules for that language.") (base32 "00vv8a75wdklygdyr4km9mc2ismxak69c45jmcny41xl44rp9x8m")))) (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-sources + (lambda _ + ;; See: https://github.com/tali713/esxml/pull/28. + (substitute* "css-lite.el" + ((";;; main interface") + (string-append ";;; main interface\n" + "(require 'cl-lib)")) + (("mapcan") + "cl-mapcan") + (("',\\(cl-mapcan #'process-css-rule rules\\)") + "(cl-mapcan #'process-css-rule ',rules)")) + (substitute* "esxml-form.el" + ((",esxml-form-field-defn") + "#'esxml-form-field-defn")) + ;; See: https://github.com/tali713/esxml/issues/25 + (delete-file "esxpath.el") + #t))))) + (propagated-inputs + `(("emacs-kv" ,emacs-kv))) (home-page "https://github.com/tali713/esxml/") (synopsis "SXML for EmacsLisp") (description "This is XML/XHTML done with S-Expressions in EmacsLisp. @@ -7471,6 +7621,32 @@ Anzu.zim.") used with SGML-like languages: XML, HTML, XHTML, XSL, etc.") (license license:gpl3+))) +(define-public emacs-ergoemacs-mode + (let ((commit "3ce23bba3cb50562693860f87f3528c471d603ba") + (revision "1")) + (package + (name "emacs-ergoemacs-mode") + (version (git-version "5.16.10.12" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ergoemacs/ergoemacs-mode.git") + (commit commit))) + (sha256 + (base32 + "1s3b9bridl78hh1mxmdk9nqlmqhibbaxk0a1cixmsf23s06w8w6l")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-undo-tree" ,emacs-undo-tree))) + (home-page "https://ergoemacs.github.io/") + (synopsis "Emacs mode based on common modern interface and ergonomics") + (description + "This package provides an efficient Emacs keybinding set based on +statistics of command frequency, and supports common shortcuts for open, +close, copy, cut, paste, undo, redo.") + (license license:gpl3+)))) + (define-public emacs-password-store (package (name "emacs-password-store") @@ -7550,3 +7726,220 @@ and can be consulted and modified.") (description "@code{anzu} provides a minor mode that displays the current match and total match information in the mode-line in various search modes.") (license license:gpl3+))) + +(define-public emacs-pg + (let ((commit "4f6516ec3946d95dcef49abb6703cc89ecb5183d")) + (package + (name "emacs-pg") + (version (git-version "0.1" "1" commit)) + (source (origin + (method git-fetch) + (uri (git-reference (url "https://github.com/cbbrowne/pg.el") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1zh7v4nnpzvbi8yj1ynlqlawk5bmlxi6s80b5f2y7hkdqb5q26k0")))) + (build-system emacs-build-system) + (home-page "https://github.com/cbbrowne/pg.el") + (synopsis "Emacs Lisp interface for PostgreSQL") + (description + "This package provides an Emacs Lisp interface for PostgreSQL.") + (license license:gpl3+)))) + +(define-public emacs-cl-generic + (package + (name "emacs-cl-generic") + (version "0.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/cl-generic-" + version ".el")) + (sha256 + (base32 + "0vb338bhjpsnrf60qgxny4z5rjrnifahnrv9axd4shay89d894zq")))) + (build-system emacs-build-system) + (home-page "https://elpa.gnu.org/packages/seq.html") + (synopsis + "Forward @code{cl-generic} compatibility for Emacs before version 25") + (description "This package provides a subset of the features of the +@code{cl-generic} package introduced in Emacs-25, for use on previous +@code{emacsen}.") + (license license:gpl3+))) + +(define-public emacs-finalize + (package + (name "emacs-finalize") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/skeeto/elisp-finalize/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "077fycy3i5f0kjw5z3rhf4kld5lbk2idz690nkwhkz04vppk4q4x")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-cl-generic" ,emacs-cl-generic))) + (home-page "https://github.com/skeeto/elisp-finalize") + (synopsis "Finalizers for Emacs Lisp") + (description + "This package will allows to immediately run a callback (a finalizer) +after its registered lisp object has been garbage collected. This allows for +extra resources, such as buffers and processes, to be cleaned up after the +object has been freed.") + (license license:unlicense))) + +(define-public emacs-emacsql + (package + (name "emacs-emacsql") + (version "2.0.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/skeeto/emacsql/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "04hfjdgl1zc7jysgjc7d7d3xqpr7q1q9gsmzffjd91ii3hpqjgx6")))) + (build-system emacs-build-system) + (arguments + `(#:modules ((guix build emacs-build-system) + (guix build utils) + (guix build emacs-utils) + (srfi srfi-26)) + #:phases + (modify-phases %standard-phases + (delete 'build) ;‘build-emacsql-sqlite’ compiles ‘*.el’ files. + (add-before 'install 'patch-elisp-shell-shebangs + (lambda _ + (substitute* (find-files "." "\\.el") + (("/bin/sh") (which "sh"))) + #t)) + (add-after 'patch-elisp-shell-shebangs 'setenv-shell + (lambda _ + (setenv "SHELL" "sh"))) + (add-after 'setenv-shell 'build-emacsql-sqlite + (lambda _ + (invoke "make" "binary" "CC=gcc"))) + (add-after 'build-emacsql-sqlite 'install-emacsql-sqlite + ;; This build phase installs emacs-emacsql binary. + (lambda* (#:key outputs #:allow-other-keys) + (install-file "sqlite/emacsql-sqlite" + (string-append (assoc-ref outputs "out") + "/bin")) + #t)) + (add-after 'install-emacsql-sqlite 'patch-emacsql-sqlite.el + ;; This build phase removes interactive prompts + ;; and makes sure Emacs look for binaries in the right places. + (lambda* (#:key outputs #:allow-other-keys) + (let ((file "emacsql-sqlite.el")) + (chmod file #o644) + (emacs-substitute-sexps file + ;; Avoid interactive prompts. + ("(defvar emacsql-sqlite-user-prompted" 't) + ;; Make sure Emacs looks for ‘GCC’ binary in the right place. + ("(executable-find" (which "gcc")) + ;; Make sure Emacs looks for ‘emacsql-sqlite’ binary + ;; in the right place. + ("(defvar emacsql-sqlite-executable" + (string-append (assoc-ref outputs "out") + "/bin/emacsql-sqlite")))))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (install-file "sqlite/emacsql-sqlite" + (string-append out "/bin")) + (for-each (cut install-file <> + (string-append out "/share/emacs/site-lisp/guix.d/" + "emacsql" "-" ,version)) + (find-files "." "\\.elc*$"))) + #t))))) + (inputs + `(("emacs-minimal" ,emacs-minimal) + ("mysql" ,mysql) + ("postgresql" ,postgresql))) + (propagated-inputs + `(("emacs-finalize" ,emacs-finalize) + ("emacs-pg" ,emacs-pg))) + (home-page "https://github.com/skeeto/emacsql") + (synopsis "Emacs high-level SQL database front-end") + (description "Any readable Lisp value can be stored as a value in EmacSQL, +including numbers, strings, symbols, lists, vectors, and closures. EmacSQL +has no concept of @code{TEXT} values; it's all just Lisp objects. The Lisp +object @code{nil} corresponds 1:1 with @code{NULL} in the database.") + (license license:gpl3+))) + +(define-public emacs-closql + (package + (name "emacs-closql") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/emacscollective/closql/archive/" + "v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0wa6r0kgbb7f19039p5f3di4dvrvxfgpd8bkam94fca7jvzj536c")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-emacsql" ,emacs-emacsql))) + (home-page "https://github.com/emacscollective/closql") + (synopsis "Store EIEIO objects using EmacSQL") + (description + "This package allows to store uniform EIEIO objects in an EmacSQL +database. SQLite is used as backend. This library imposes some restrictions +on what kind of objects can be stored; it isn't intended to store arbitrary +objects. All objects have to share a common superclass and subclasses cannot +add any additional instance slots.") + (license license:gpl3))) + +(define-public emacs-epkg + ;; The release version is to old for the current database scheme. + (let ((commit "432312b9583ed7b88ad9644fd1bf2183765a892e")) + (package + (name "emacs-epkg") + (version (git-version "3.0.0" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacscollective/epkg.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0d882kahn7a0vri7a9r15lvmfx1zn2hsga6jfcc6jv0hqbswlb2k")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-closql" ,emacs-closql) + ("emacs-dash" ,emacs-dash))) + (home-page "https://emacsmirror.net") + (synopsis "Browse the Emacsmirror package database") + (description "This package provides access to a local copy of the +Emacsmirror package database. It provides low-level functions for querying +the database and a @file{package.el} user interface for browsing the database. +Epkg itself is not a package manager. + +Getting a local copy: + +@example +git clone https://github.com/emacsmirror/epkgs.git ~/.emacs.d/epkgs +cd ~/.emacs.d/epkgs +git submodule init +git config --global url.https://github.com/.insteadOf git@@github.com: +git submodule update +@end example + +Some submodule may be missing. In this case Git will prompt for a GitHub user +name and password. To skip it press a @key{Return} key. + +You could get a Epkg package list by invoking @code{epkg-list-packages} in +Emacs.") + (license license:gpl3+)))) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index b0da0bb423..a502af9c09 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -398,7 +398,7 @@ Super Game Boy, BS-X Satellaview, and Sufami Turbo.") (define-public mgba (package (name "mgba") - (version "0.6.2") + (version "0.6.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/mgba-emu/mgba/archive/" @@ -406,7 +406,7 @@ Super Game Boy, BS-X Satellaview, and Sufami Turbo.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0x7a9i1jdic3haf5fkd7x16vwqpf4jqdiw56a5fc4gx4jhn9yhi2")) + "16hgs6r5iym3lp2cjcnv9955333976yc5sgy2kkxlsi005n91j1m")) (modules '((guix build utils))) (snippet ;; Make sure we don't use the bundled software. @@ -884,7 +884,8 @@ Rice Video plugin.") version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1x7wsjs5gx2iwx20p4cjcbf696zsjlh31qxmghwv0ifrq8x58s1b")))) + (base32 "1x7wsjs5gx2iwx20p4cjcbf696zsjlh31qxmghwv0ifrq8x58s1b")) + (patches (search-patches "mupen64plus-video-z64-glew-correct-path.patch")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -994,7 +995,7 @@ towards a working Mupen64Plus for casual users.") (define-public nestopia-ue (package (name "nestopia-ue") - (version "1.47") + (version "1.48") (source (origin (method url-fetch) (uri (string-append @@ -1003,43 +1004,35 @@ towards a working Mupen64Plus for casual users.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1dzrrjmvyqks64q5l5pfly80jb6qcsbj5b3dm40fijd5xnpbapci")) + "184y05z4k4a4m4022niy625kan0rklh8gcxyynxli1fss2sjjrpv")) (modules '((guix build utils))) (snippet '(begin ;; We don't need libretro for the GNU/Linux build. (delete-file-recursively "libretro") - ;; Use system zlib. - (delete-file-recursively "source/zlib") - (substitute* "source/core/NstZlib.cpp" - (("#include \"../zlib/zlib.h\"") "#include <zlib.h>")) #t)))) - (build-system gnu-build-system) + (build-system cmake-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("ao" ,ao) - ("glu" ,glu) ("gtk+" ,gtk+) ("libarchive" ,libarchive) - ("mesa" ,mesa) + ("libepoxy" ,libepoxy) ("sdl2" ,sdl2) ("zlib" ,zlib))) (arguments '(#:phases (modify-phases %standard-phases - ;; The Nestopia build system consists solely of a Makefile. - (delete 'configure) - (add-before 'build 'remove-xdg-desktop-menu-call - (lambda _ - (substitute* "Makefile" - (("xdg-desktop-menu install .*") "")))) - (add-before 'build 'remove-gdkwayland-include - (lambda _ - (substitute* "source/unix/gtkui/gtkui.h" - (("#include <gdk/gdkwayland\\.h>") ""))))) - #:make-flags (let ((out (assoc-ref %outputs "out"))) - (list "CC=gcc" "CXX=g++" (string-append "PREFIX=" out))) + ;; This fixes the file chooser crash that happens with GTK 3. + (add-after 'install 'wrap-program + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (nestopia (string-append out "/bin/nestopia")) + (gtk (assoc-ref inputs "gtk+")) + (gtk-share (string-append gtk "/share"))) + (wrap-program nestopia + `("XDG_DATA_DIRS" ":" prefix (,gtk-share))))))) ;; There are no tests. #:tests? #f)) (home-page "http://0ldsk00l.ca/nestopia/") diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index ee62eb5a8b..e6a29554f1 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -582,24 +582,19 @@ as well as pick-place files.") (sha256 (base32 "1r40kyx30wz31cwwlfvfh7fgqkxq3n8dxhswpi9qpf4r5h3l8wsn")) - (file-name (git-file-name name version)))) + (file-name (git-file-name name version)) + (snippet + ;; Remove bundled catch since we provide our own. + '(delete-file "libfive/test/catch.hpp")))) (build-system cmake-build-system) (arguments - `(#:tests? #f ; no "test" target + `(#:test-target "libfive-test" #:phases (modify-phases %standard-phases (add-after 'unpack 'remove-native-compilation (lambda _ (substitute* "CMakeLists.txt" (("-march=native") "")) - #t)) - (add-before 'build 'add-eigen-to-search-path - (lambda* (#:key inputs #:allow-other-keys) - ;; Allow things to find our own Eigen and Catch. - (let ((eigen (assoc-ref inputs "eigen"))) - (setenv "CPLUS_INCLUDE_PATH" - (string-append eigen "/include/eigen3:" - (getenv "CPLUS_INCLUDE_PATH"))) - #t)))))) + #t))))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm index dd0eaa5df8..bc4bbd876a 100644 --- a/gnu/packages/flashing-tools.scm +++ b/gnu/packages/flashing-tools.scm @@ -445,3 +445,35 @@ ME as far as possible (it only edits ME firmware image files).") ;; This is an Intel thing. (supported-systems '("x86_64-linux" "i686-linux")))) + +(define-public uefitool + (package + (name "uefitool") + (version "0.22.4") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/LongSoft/UEFITool/archive/" + version ".tar.gz")) + (sha256 + (base32 + "05jmhv7jpq08kqbd1477y1lgyjvcic3njrd0bmzdy7v7b7lnhl82")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'configure + (lambda _ + (invoke "qmake" "-makefile"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (install-file "UEFITool" (string-append (assoc-ref outputs "out") + "/bin")) + #t))))) + (inputs + `(("qtbase" ,qtbase))) + (home-page "https://github.com/LongSoft/UEFITool/") + (synopsis "UEFI image editor") + (description "@code{uefitool} is a graphical image file editor for +Unifinished Extensible Firmware Interface (UEFI) images.") + (license license:bsd-2))) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index d73c536d4c..3b7db9caef 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -298,7 +298,7 @@ files) into @file{.grf} and/or @file{.nfo} files.") (synopsis "2D game engine for Python") (description "The SGE Game Engine (\"SGE\", pronounced like \"Sage\") is a -general-purpose 2D game engine. It takes care of several details fro you so +general-purpose 2D game engine. It takes care of several details for you so you can focus on the game itself. This makes more rapid game development possible, and it also makes the SGE easy to learn.") (license license:lgpl3+))) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 5e4a179bd1..f1f76258f9 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -112,6 +112,7 @@ #:use-module (gnu packages gstreamer) #:use-module (gnu packages bash) #:use-module (gnu packages perl) + #:use-module (gnu packages perl-check) #:use-module (gnu packages qt) #:use-module (gnu packages compression) #:use-module (gnu packages pulseaudio) @@ -4623,15 +4624,16 @@ elements to achieve a simple goal in the most complex way possible.") (define-public pioneer (package (name "pioneer") - (version "20171001") + (version "20180203") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/pioneerspacesim/pioneer/" - "archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/pioneerspacesim/pioneer.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1nxhx22swfqq6lfvcnpfm31wig3sjv5pp0rslj79nbxc7nyihh8m")))) + "0hp2mf36kj2v93hka8m8lxw2qhmnjc62wjlpw7c7ix0r8xa01i6h")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -4866,3 +4868,56 @@ Strife, Chex Quest, and fan-created games like Harmony, Hacx and Freedoom.") (license:non-copyleft ; modified dumb "file://dumb/licence.txt" "Dumb license, explicitly GPL compatible."))))) + +(define-public fortune-mod + (package + (name "fortune-mod") + (version "2.4.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/shlomif/fortune-mod/" + "archive/" name "-" version ".tar.gz")) + (sha256 + (base32 + "1hnqpkassh7fwg2jgvybr8mw7vzfikbrhb5r22367ilfwxnl9yd2")))) + (build-system cmake-build-system) + (arguments + `(#:test-target "check" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-build-env + (lambda* (#:key inputs #:allow-other-keys) + (use-modules (guix build utils)) + (let* ((cmake-rules (assoc-ref inputs "cmake-rules"))) + (copy-file cmake-rules + (string-append "fortune-mod/cmake/" + (strip-store-file-name cmake-rules))) + (chdir "fortune-mod")))) + (add-after 'install 'fix-install-directory + ;; Move binary from "games/" to "bin/". + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (rename-file (string-append out "/games/fortune") + (string-append out "/bin/fortune")) + #t)))))) + (inputs `(("recode" ,recode))) + (native-inputs + `(("perl" ,perl) + ;; The following is only needed for tests. + ("perl-file-find-object" ,perl-file-find-object) + ("perl-test-differences" ,perl-test-differences) + ("perl-class-xsaccessor" ,perl-class-xsaccessor) + ("perl-io-all" ,perl-io-all) + ("perl-test-runvalgrind" ,perl-test-runvalgrind) + ("cmake-rules" + ,(origin + (method url-fetch) + (uri (string-append "https://bitbucket.org/shlomif/shlomif-cmake-modules/" + "raw/default/shlomif-cmake-modules/Shlomif_Common.cmake")) + (sha256 + (base32 "0kx9s1qqhhzprp1w3b67xmsns0n0v506bg5hgrshxaxpy6lqiwb2")))))) + (home-page "http://www.shlomifish.org/open-source/projects/fortune-mod/") + (synopsis "The Fortune Cookie program from BSD games") + (description "Fortune is a command-line utility which displays a random +quotation from a collection of quotes.") + (license license:bsd-4))) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 96caf851fa..4c9cdef7cf 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2455,7 +2455,7 @@ libxml to ease remote use of the RESTful API.") (define-public libsoup (package (name "libsoup") - (version "2.62.0") + (version "2.62.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/libsoup/" @@ -2463,7 +2463,7 @@ libxml to ease remote use of the RESTful API.") name "-" version ".tar.xz")) (sha256 (base32 - "1b5aff1igbsx1h4v3wmkffvzgiy8rscibqka7fmjf2lxs7l7lz5b")))) + "1mw3b3j4f4ln7hl03jd296rx78dy35hzlq005a21r6qg5sndsdzh")))) (build-system gnu-build-system) (outputs '("out" "doc")) (arguments @@ -2844,7 +2844,7 @@ output devices.") (define-public geoclue (package (name "geoclue") - (version "2.4.7") + (version "2.4.8") (source (origin (method url-fetch) @@ -2853,7 +2853,7 @@ output devices.") name "-" version ".tar.xz")) (sha256 (base32 - "19hfmr8fa1js8ynazdyjxlyrqpjn6m1719ay70ilga4rayxrcyyi")) + "08yg1r7m0n9hwyvcy769qkmkf8lslqwv69cjfffwnc3zm5km25qj")) (patches (search-patches "geoclue-config.patch")))) (build-system glib-or-gtk-build-system) (arguments @@ -4167,7 +4167,7 @@ a secret password store, an adblocker, and a modern UI.") (define-public epiphany (package (name "epiphany") - (version "3.24.4") + (version "3.28.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -4175,8 +4175,9 @@ a secret password store, an adblocker, and a modern UI.") name "-" version ".tar.xz")) (sha256 (base32 - "1jg59s98aljf603w24r5a3cr4fw6z88gc0warqy1946iprjgdw0m")))) - (build-system glib-or-gtk-build-system) + "0zvxrwlswxadq4zbr4f73ms141d08j0lhi6rzmj83j1s3gan88md")))) + + (build-system meson-build-system) (arguments ;; FIXME: tests run under Xvfb, but fail with: ;; /src/bookmarks/ephy-bookmarks/create: @@ -4184,18 +4185,21 @@ a secret password store, an adblocker, and a modern UI.") ;; subsystem ;; FAIL '(#:tests? #f - #:configure-flags '("CFLAGS=-std=gnu99"))) + #:glib-or-gtk? #t)) (propagated-inputs `(("dconf" ,dconf))) (native-inputs - `(("intltool" ,intltool) + `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database + ("glib:bin" ,glib "bin") ; for glib-mkenums + ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache + ("intltool" ,intltool) ("itstool" ,itstool) ("pkg-config" ,pkg-config) ("xmllint" ,libxml2))) (inputs `(("avahi" ,avahi) ("gcr" ,gcr) - ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files + ("gdk-pixbuf+svg" ,gdk-pixbuf+svg) ; for loading SVG files ("glib-networking" ,glib-networking) ("gnome-desktop" ,gnome-desktop) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) @@ -4204,6 +4208,7 @@ a secret password store, an adblocker, and a modern UI.") ("libnotify" ,libnotify) ("libsecret" ,libsecret) ("libxslt" ,libxslt) + ("nettle" ,nettle) ; for hogweed ("sqlite" ,sqlite) ("webkitgtk" ,webkitgtk))) (home-page "https://wiki.gnome.org/Apps/Web") @@ -6654,22 +6659,31 @@ is suitable as a default application in a Desktop environment.") (define-public xpad (package (name "xpad") - (version "4.8.0") + (version "5.0.0") (source (origin (method url-fetch) - (uri (string-append "https://launchpad.net/xpad/trunk/4.8.0/+download/" + (uri (string-append "https://launchpad.net/xpad/trunk/" + version "/+download/" name "-" version ".tar.bz2")) (sha256 (base32 - "17f915yyvfa2fsavq6wh0q0dfhib28b4k1gc0292b9xdlrvy7f22")))) + "02yikxg6z9bwla09ka001ppjlpbv5kbza3za9asazm5aiz376mkb")))) (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'run-autogen + (lambda _ + (system* "sh" "autogen.sh")))))) (native-inputs - `(("intltool" ,intltool) + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("gtk+:bin" ,gtk+ "bin") + ("intltool" ,intltool) ("pkg-config" ,pkg-config))) (inputs - `(("gtk+" ,gtk+) - ("gtksourceview" ,gtksourceview) + `(("gtksourceview" ,gtksourceview) ("libsm" ,libsm))) (home-page "https://wiki.gnome.org/Apps/Xpad") (synopsis "Virtual sticky note") diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index e0ce1032f7..485aa02c46 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Christopher Baines <mail@cbaines.net> +;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -691,3 +692,609 @@ HashiCorp Configuration Language}. HCL is designed to be a language for expressing configuration which is easy for both humans and machines to read.") (home-page "https://github.com/hashicorp/hcl") (license license:mpl2.0)))) + +(define-public go-golang-org-x-crypto-bcrypt + (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") + (revision "1")) + (package + (name "go-golang-org-x-crypto-bcrypt") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/crypto") + (commit commit))) + (file-name (string-append "go.googlesource.com-crypto-" + version "-checkout")) + (sha256 + (base32 + "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) + (build-system go-build-system) + (arguments + `(#:import-path "golang.org/x/crypto/bcrypt" + #:unpack-path "golang.org/x/crypto" + #:phases + (modify-phases %standard-phases + (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable + (lambda* (#:key outputs #:allow-other-keys) + (map (lambda (file) + (make-file-writable file)) + (find-files + (string-append (assoc-ref outputs "out") + "/src/golang.org/x/crypto/ed25519/testdata") + ".*\\.gz$")) + #t))))) + (synopsis "Bcrypt in Go") + (description "This package provides a Go implementation of the bcrypt +password hashing function.") + (home-page "https://go.googlesource.com/crypto/") + (license license:bsd-3)))) + +(define-public go-golang-org-x-crypto-blowfish + (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") + (revision "1")) + (package + (name "go-golang-org-x-crypto-blowfish") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/crypto") + (commit commit))) + (file-name (string-append "go.googlesource.com-crypto-" + version "-checkout")) + (sha256 + (base32 + "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) + (build-system go-build-system) + (arguments + `(#:import-path "golang.org/x/crypto/blowfish" + #:unpack-path "golang.org/x/crypto" + #:phases + (modify-phases %standard-phases + (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable + (lambda* (#:key outputs #:allow-other-keys) + (map (lambda (file) + (make-file-writable file)) + (find-files + (string-append (assoc-ref outputs "out") + "/src/golang.org/x/crypto/ed25519/testdata") + ".*\\.gz$")) + #t))))) + (synopsis "Blowfish in Go") + (description "This package provides a Go implementation of the Blowfish +symmetric-key block cipher.") + (home-page "https://go.googlesource.com/crypto/") + (license license:bsd-3)))) + +(define-public go-golang-org-x-crypto-pbkdf2 + (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") + (revision "1")) + (package + (name "go-golang-org-x-crypto-pbkdf2") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/crypto") + (commit commit))) + (file-name (string-append "go.googlesource.com-crypto-" + version "-checkout")) + (sha256 + (base32 + "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) + (build-system go-build-system) + (arguments + `(#:import-path "golang.org/x/crypto/pbkdf2" + #:unpack-path "golang.org/x/crypto" + #:phases + (modify-phases %standard-phases + (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable + (lambda* (#:key outputs #:allow-other-keys) + (map (lambda (file) + (make-file-writable file)) + (find-files + (string-append (assoc-ref outputs "out") + "/src/golang.org/x/crypto/ed25519/testdata") + ".*\\.gz$")) + #t))))) + (synopsis "PBKDF2 in Go") + (description "This package provides a Go implementation of the PBKDF2 key +derivation function.") + (home-page "https://go.googlesource.com/crypto/") + (license license:bsd-3)))) + +(define-public go-golang-org-x-crypto-tea + (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") + (revision "1")) + (package + (name "go-golang-org-x-crypto-tea") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/crypto") + (commit commit))) + (file-name (string-append "go.googlesource.com-crypto-" + version "-checkout")) + (sha256 + (base32 + "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) + (build-system go-build-system) + (arguments + `(#:import-path "golang.org/x/crypto/tea" + #:unpack-path "golang.org/x/crypto" + #:phases + (modify-phases %standard-phases + (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable + (lambda* (#:key outputs #:allow-other-keys) + (map (lambda (file) + (make-file-writable file)) + (find-files + (string-append (assoc-ref outputs "out") + "/src/golang.org/x/crypto/ed25519/testdata") + ".*\\.gz$")) + #t))))) + (synopsis "Tiny Encryption Algorithm (TEA) in Go") + (description "This packages a Go implementation of the Tiny Encryption +Algorithm (TEA) block cipher.") + (home-page "https://go.googlesource.com/crypto/") + (license license:bsd-3)))) + +(define-public go-golang-org-x-crypto-salsa20 + (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") + (revision "1")) + (package + (name "go-golang-org-x-crypto-salsa20") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/crypto") + (commit commit))) + (file-name (string-append "go.googlesource.com-crypto-" + version "-checkout")) + (sha256 + (base32 + "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) + (build-system go-build-system) + (arguments + `(#:import-path "golang.org/x/crypto/salsa20" + #:unpack-path "golang.org/x/crypto" + #:phases + (modify-phases %standard-phases + (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable + (lambda* (#:key outputs #:allow-other-keys) + (map (lambda (file) + (make-file-writable file)) + (find-files + (string-append (assoc-ref outputs "out") + "/src/golang.org/x/crypto/ed25519/testdata") + ".*\\.gz$")) + #t))))) + (synopsis "Salsa20 in Go") + (description "This packages provides a Go implementation of the Salsa20 +stream cipher.") + (home-page "https://go.googlesource.com/crypto/") + (license license:bsd-3)))) + +(define-public go-golang-org-x-crypto-cast5 + (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") + (revision "1")) + (package + (name "go-golang-org-x-crypto-cast5") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/crypto") + (commit commit))) + (file-name (string-append "go.googlesource.com-crypto-" + version "-checkout")) + (sha256 + (base32 + "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) + (build-system go-build-system) + (arguments + `(#:import-path "golang.org/x/crypto/cast5" + #:unpack-path "golang.org/x/crypto" + #:phases + (modify-phases %standard-phases + (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable + (lambda* (#:key outputs #:allow-other-keys) + (map (lambda (file) + (make-file-writable file)) + (find-files + (string-append (assoc-ref outputs "out") + "/src/golang.org/x/crypto/ed25519/testdata") + ".*\\.gz$")) + #t))))) + (synopsis "Cast5 in Go") + (description "This packages provides a Go implementation of the Cast5 +symmetric-key block cipher.") + (home-page "https://go.googlesource.com/crypto/") + (license license:bsd-3)))) + +(define-public go-golang-org-x-crypto-twofish + (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") + (revision "1")) + (package + (name "go-golang-org-x-crypto-twofish") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/crypto") + (commit commit))) + (file-name (string-append "go.googlesource.com-crypto-" + version "-checkout")) + (sha256 + (base32 + "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) + (build-system go-build-system) + (arguments + `(#:import-path "golang.org/x/crypto/twofish" + #:unpack-path "golang.org/x/crypto" + #:phases + (modify-phases %standard-phases + (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable + (lambda* (#:key outputs #:allow-other-keys) + (map (lambda (file) + (make-file-writable file)) + (find-files + (string-append (assoc-ref outputs "out") + "/src/golang.org/x/crypto/ed25519/testdata") + ".*\\.gz$")) + #t))))) + (synopsis "Twofish in Go") + (description "This packages provides a Go implementation of the Twofish +symmetric-key block cipher.") + (home-page "https://go.googlesource.com/crypto/") + (license license:bsd-3)))) + +(define-public go-golang-org-x-crypto-xtea + (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") + (revision "1")) + (package + (name "go-golang-org-x-crypto-xtea") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/crypto") + (commit commit))) + (file-name (string-append "go.googlesource.com-crypto-" + version "-checkout")) + (sha256 + (base32 + "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) + (build-system go-build-system) + (arguments + `(#:import-path "golang.org/x/crypto/xtea" + #:unpack-path "golang.org/x/crypto" + #:phases + (modify-phases %standard-phases + (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable + (lambda* (#:key outputs #:allow-other-keys) + (map (lambda (file) + (make-file-writable file)) + (find-files + (string-append (assoc-ref outputs "out") + "/src/golang.org/x/crypto/ed25519/testdata") + ".*\\.gz$")) + #t))))) + (synopsis "eXtended Tiny Encryption Algorithm (XTEA) in Go") + (description "This package provides a Go implementation of the eXtended +Tiny Encryption Algorithm (XTEA) block cipher.") + (home-page "https://go.googlesource.com/crypto/") + (license license:bsd-3)))) + +(define-public go-golang-org-x-net-ipv4 + (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6") + (revision "1")) + (package + (name "go-golang-org-x-net-ipv4") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/net") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03")))) + (build-system go-build-system) + (arguments + `(#:import-path "golang.org/x/net/ipv4" + #:unpack-path "golang.org/x/net")) + (synopsis "Go IPv4 support") + (description "This package provides @code{ipv4}, which implements IP-level +socket options for the Internet Protocol version 4.") + (home-page "https://go.googlesource.com/net") + (license license:bsd-3)))) + +(define-public go-golang-org-x-net-bpf + (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6") + (revision "1")) + (package + (name "go-golang-org-x-net-bpf") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/net") + (commit commit))) + (file-name (string-append "go.googlesource.com-net-" + version "-checkout")) + (sha256 + (base32 + "10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03")))) + (build-system go-build-system) + (arguments + `(#:import-path "golang.org/x/net/bpf" + #:unpack-path "golang.org/x/net")) + (synopsis "Berkeley Packet Filters (BPF) in Go") + (description "This packages provides a Go implementation of the Berkeley +Packet Filter (BPF) virtual machine.") + (home-page "https://go.googlesource.com/net/") + (license license:bsd-3)))) + +(define-public go-golang-org-x-net-context + (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6") + (revision "1")) + (package + (name "go-golang-org-x-net-context") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/net") + (commit commit))) + (file-name (string-append "go.googlesource.com-net-" + version "-checkout")) + (sha256 + (base32 + "10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03")))) + (build-system go-build-system) + (arguments + `(#:import-path "golang.org/x/net/context" + #:unpack-path "golang.org/x/net")) + (synopsis "Golang Context type") + (description "This packages provides @code{context}, which defines the +Context type, which carries deadlines, cancelation signals, and other +request-scoped values across API boundaries and between processes.") + (home-page "https://go.googlesource.com/net/") + (license license:bsd-3)))) + +(define-public go-golang-org-x-net-internal-iana + (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6") + (revision "1")) + (package + (name "go-golang-org-x-net-internal-iana") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/net") + (commit commit))) + (file-name (string-append "go.googlesource.com-net-" + version "-checkout")) + (sha256 + (base32 + "10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03")))) + (build-system go-build-system) + (arguments + `(#:import-path "golang.org/x/net/internal/iana" + #:unpack-path "golang.org/x/net")) + (synopsis "Go support for assigned numbers (IANA)") + (description "This packages provides @code{iana}, which provides protocol +number resources managed by the Internet Assigned Numbers Authority (IANA).") + (home-page "https://go.googlesource.com/net/") + (license license:bsd-3)))) + +(define-public go-golang-org-x-net-ipv6 + (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6") + (revision "1")) + (package + (name "go-golang-org-x-net-ipv6") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/net") + (commit commit))) + (file-name (string-append "go.googlesource.com-net-" + version "-checkout")) + (sha256 + (base32 + "10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03")))) + (build-system go-build-system) + (arguments + `(#:import-path "golang.org/x/net/ipv6" + #:unpack-path "golang.org/x/net")) + (synopsis "Go IPv6 support") + (description "This packages provides @code{ipv6}, which implements +IP-level socket options for the Internet Protocol version 6.") + (home-page "https://go.googlesource.com/net") + (license license:bsd-3)))) + +(define-public go-golang-org-x-net-proxy + (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6") + (revision "1")) + (package + (name "go-golang-org-x-net-proxy") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/net") + (commit commit))) + (file-name (string-append "go.googlesource.com-net-" + version "-checkout")) + (sha256 + (base32 + "10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03")))) + (build-system go-build-system) + (arguments + `(#:import-path "golang.org/x/net/proxy" + #:unpack-path "golang.org/x/net/")) + (synopsis "Go support for network proxies") + (description "This packages provides @code{proxy}, which provides support +for a variety of protocols to proxy network data.") + (home-page "https://go.googlesource.com/net") + (license license:bsd-3)))) + +(define-public go-golang-org-x-sys-unix + (let ((commit "83801418e1b59fb1880e363299581ee543af32ca") + (revision "1")) + (package + (name "go-golang-org-x-sys-unix") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/sys") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ilykaanvnzb27d42kmbr4i37hcn7hgqbx98z945gy63aa8dskji")))) + (build-system go-build-system) + (arguments + `(#:import-path "golang.org/x/sys/unix" + #:unpack-path "golang.org/x/sys" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-tests + (lambda _ + (pk (getcwd)) + (substitute* "src/golang.org/x/sys/unix/syscall_unix_test.go" + (("/usr/bin") "/tmp")) + #t))))) + (synopsis "Go support for low-level system interaction") + (description "This package provides @code{unix}, which offers Go support +for low-level interaction with the operating system.") + (home-page "https://go.googlesource.com/sys") + (license license:bsd-3)))) + +(define-public go-golang-org-x-text-transform + (let ((commit "e19ae1496984b1c655b8044a65c0300a3c878dd3") + (revision "1")) + (package + (name "go-golang-org-x-text-transform") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/text") + (commit commit))) + (file-name (string-append "go.googlesource.com-text-" + version "-checkout")) + (sha256 + (base32 + "1cvnnx8nwx5c7gr6ajs7sldhbqh52n7h6fsa3i21l2lhx6xrsh4w")))) + (build-system go-build-system) + (arguments + `(#:import-path "golang.org/x/text/transform" + #:unpack-path "golang.org/x/text")) + (synopsis "Go text transformation") + (description "This package provides @code{transform}, which provides +reader and writer wrappers that transform the bytes passing through. Example +transformations provided by other packages include normalization and conversion +between character sets.") + (home-page "https://go.googlesource.com/text") + (license license:bsd-3)))) + +(define-public go-golang-org-x-text-unicode-norm + (let ((commit "e19ae1496984b1c655b8044a65c0300a3c878dd3") + (revision "1")) + (package + (name "go-golang-org-x-text-unicode-norm") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/text") + (commit commit))) + (file-name (string-append "go.googlesource.com-text-" + version "-checkout")) + (sha256 + (base32 + "1cvnnx8nwx5c7gr6ajs7sldhbqh52n7h6fsa3i21l2lhx6xrsh4w")))) + (build-system go-build-system) + (arguments + `(#:import-path "golang.org/x/text/unicode/norm" + #:unpack-path "golang.org/x/text")) + (synopsis "Unicode normalization in Go") + (description "This package provides @code{norm}, which contains types and +functions for normalizing Unicode strings.") + (home-page "https://go.googlesource.com/text") + (license license:bsd-3)))) + +(define-public go-golang-org-x-time-rate + (let ((commit "6dc17368e09b0e8634d71cac8168d853e869a0c7") + (revision "1")) + (package + (name "go-golang-org-x-time-rate") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/time") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1fx4cf5fpdz00g3c7vxzy92hdcg0vh4yqw00qp5s52j72qixynbk")))) + (build-system go-build-system) + (arguments + `(#:import-path "golang.org/x/time/rate" + #:unpack-path "golang.org/x/time")) + (propagated-inputs + `(("go-golang-org-x-net-context" ,go-golang-org-x-net-context))) + (synopsis "Rate limiting in Go") + (description "This package provides @{rate}, which implements rate +limiting in Go.") + (home-page "https://godoc.org/golang.org/x/time/rate") + (license license:bsd-3)))) + +(define-public go-golang-org-x-crypto-ssh-terminal + (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") + (revision "1")) + (package + (name "go-golang-org-x-crypto-ssh-terminal") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/crypto") + (commit commit))) + (file-name (string-append "go.googlesource.com-crypto-" + version "-checkout")) + (sha256 + (base32 + "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) + (build-system go-build-system) + (inputs + `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix))) + (arguments + `(#:import-path "golang.org/x/crypto/ssh/terminal" + #:unpack-path "golang.org/x/crypto" + #:phases + (modify-phases %standard-phases + (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable + (lambda* (#:key outputs #:allow-other-keys) + (map (lambda (file) + (make-file-writable file)) + (find-files + (string-append (assoc-ref outputs "out") + "/src/golang.org/x/crypto/ed25519/testdata") + ".*\\.gz$")) + #t))))) + (synopsis "Terminal functions for Go") + (description "This package provides @{terminal}, which implements +support functions for dealing with terminals, as commonly found on UNIX +systems.") + (home-page "https://go.googlesource.com/crypto/") + (license license:bsd-3)))) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 58a6f7bc13..439170c007 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -79,14 +79,14 @@ (define-public blender (package (name "blender") - (version "2.79") + (version "2.79b") (source (origin (method url-fetch) (uri (string-append "https://download.blender.org/source/" "blender-" version ".tar.gz")) (sha256 (base32 - "16f84mdzkmwjmqahjj64kbyk4kagdj4mcr8qjazs1952d7kh7pm9")))) + "1g4kcdqmf67srzhi3hkdnr4z1ph4h9sza1pahz38mrj998q4r52c")))) (build-system cmake-build-system) (arguments (let ((python-version (version-major+minor (package-version python)))) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 40db937f2f..d9379b3bec 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -664,48 +664,46 @@ library.") (define-public mcron (package (name "mcron") - (version "1.1") + (version "1.1.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/mcron/mcron-" version ".tar.gz")) (sha256 (base32 - "1f547sqqfbp0k02sqk4ivwx8y9mx8l0rrx1c9rrj033av073h6xq")))) + "1i9mcp6r6my61zfiydsm3n6my41mwvl7dfala4q29qx0zn1ynlm4")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases (add-before 'check 'set-timezone (lambda* (#:key inputs #:allow-other-keys) - ;; 'tests/schedule.sh' expects to be running in UTC+1. + ;; 'tests/job-specifier.scm' expects to be running in + ;; UTC-2 or something. + ;; FIXME: This issue is being investigated upstream, for + ;; now we'll just skip the tests (see below): + ;; <https://lists.gnu.org/archive/html/bug-mcron/2018-04/msg00005.html>. (let ((tzdata (assoc-ref inputs "tzdata"))) (setenv "TZDIR" (string-append tzdata "/share/zoneinfo")) - (setenv "TZ" "UTC+1") + (setenv "TZ" "UTC-2") #t))) - (add-before 'check 'disable-schedule-test + (add-before 'check 'adjust-tests (lambda _ - ;; But! As it turns out, that test additionally relies - ;; on non-deterministic behavior; see - ;; <https://lists.gnu.org/archive/html/bug-mcron/2018-03/msg00001.html>. - (substitute* "tests/schedule.sh" - (("mkdir cron") "exit 77\n")) - #t)) - (add-after 'install 'wrap-programs - (lambda* (#:key outputs #:allow-other-keys) - ;; By default mcron doesn't have its own modules in the - ;; search path, so the 'mcron' command fails to start. - (let* ((output (assoc-ref outputs "out")) - (modules (string-append output - "/share/guile/site/2.2")) - (go (string-append output - "/lib/guile/2.2/site-ccache"))) - (wrap-program (string-append output "/bin/mcron") - `("GUILE_LOAD_PATH" ":" prefix - (,modules)) - `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,go))) - #t)))))) + (substitute* "tests/job-specifier.scm" + ;; (getpw) fails with "entry not found" in the build + ;; environment, so pass an argument. + (("\\(getpw\\)") + "(getpwnam (getuid))") + ;; The build environment lacks an entry for root in + ;; /etc/passwd. + (("\\(getpw 0\\)") + "(getpwnam \"nobody\")") + + ;; FIXME: Skip the 4 faulty tests (see above). + (("\\(test-equal \"next-year\"" all) + (string-append "(test-skip 4)\n" all))) + #t))))) (native-inputs `(("pkg-config" ,pkg-config) ("tzdata" ,tzdata-for-tests))) (inputs `(("ed" ,ed) ("which" ,which) ("guile" ,guile-2.2))) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 3802256ca1..d312fb79de 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -55,6 +55,7 @@ #:use-module (gnu packages maths) #:use-module (gnu packages mcrypt) #:use-module (gnu packages perl) + #:use-module (gnu packages photo) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages xml) @@ -709,26 +710,63 @@ supplies a generic doubly-linked list and some string functions.") (sha256 (base32 "12bz57asdcfsz3zr9i9nska0fb6h3z2aizy412qjqkixkginbz7v")) - (patches (search-patches "freeimage-CVE-2015-0852.patch" + (modules '((guix build utils))) + (snippet + '(begin + (for-each + (lambda (dir) + (delete-file-recursively (string-append "Source/" dir))) + '("LibJPEG" "LibJXR" "LibOpenJPEG" "LibPNG" "LibRawLite" + "LibWebP" "OpenEXR" "ZLib")))) + (patches (search-patches "freeimage-unbundle.patch" + "freeimage-CVE-2015-0852.patch" "freeimage-CVE-2016-5684.patch" "freeimage-fix-build-with-gcc-5.patch")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases - (delete 'configure) + ;; According to Fedora these files depend on private headers, but their + ;; presence is required for building, so we replace them with empty files. + (add-after 'unpack 'delete-unbuildable-files + (lambda _ + (for-each (lambda (file) + (delete-file file) + (close (open file O_CREAT))) + '("Source/FreeImage/PluginG3.cpp" + "Source/FreeImageToolkit/JPEGTransform.cpp")) + #t)) + ;; These scripts generate the Makefiles. + (replace 'configure + (lambda _ + (invoke "sh" "gensrclist.sh") + (invoke "sh" "genfipsrclist.sh"))) (add-before 'build 'patch-makefile (lambda* (#:key outputs #:allow-other-keys) (substitute* "Makefile.gnu" (("/usr") (assoc-ref outputs "out")) (("-o root -g root") "")) #t))) - #:make-flags '("CC=gcc") + #:make-flags + (list "CC=gcc" + ;; We need '-fpermissive' for Source/FreeImage.h. + ;; libjxr doesn't have a pkg-config file. + (string-append "CFLAGS+=-O2 -fPIC -fvisibility=hidden -fpermissive " + "-I" (assoc-ref %build-inputs "libjxr") "/include/jxrlib")) #:tests? #f)) ; no check target (native-inputs - `(("unzip" ,unzip))) - ;; Fails to build on MIPS due to assembly code in the source. - (supported-systems (delete "mips64el-linux" %supported-systems)) + `(("pkg-config" ,pkg-config) + ("unzip" ,unzip))) + (inputs + `(("libjpeg" ,libjpeg) + ("libjxr" ,libjxr) + ("libpng" ,libpng) + ("libraw" ,libraw) + ("libtiff" ,libtiff) + ("libwebp" ,libwebp) + ("openexr" ,openexr) + ("openjpeg" ,openjpeg) + ("zlib" ,zlib))) (synopsis "Library for handling popular graphics image formats") (description "FreeImage is a library for developers who would like to support popular diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 2b8ba7035d..4f882c3e6f 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3531,6 +3531,21 @@ transformations and analysis algorithms allow to easily assemble custom complex transformations and code analysis tools.") (license license:bsd-3))) +(define java-asm-bootstrap + (package + (inherit java-asm) + (name "java-asm-bootstrap") + (arguments + (substitute-keyword-arguments (package-arguments java-asm) + ((#:tests? _) #f))) + (native-inputs `()) + (propagated-inputs + `(("java-aqute-bndlib" ,java-aqute-bndlib-bootstrap) + ("java-aqute-libg" ,java-aqute-libg-bootstrap) + ,@(delete `("java-aqute-bndlib" ,java-aqute-bndlib) + (delete `("java-aqute-libg", java-aqute-libg) + (package-inputs java-asm))))))) + (define-public java-cglib (package (name "java-cglib") @@ -5645,6 +5660,15 @@ allowing the end user to plug in the desired logging framework at deployment time.") (license license:expat))) +(define java-slf4j-api-bootstrap + (package + (inherit java-slf4j-api) + (name "java-slf4j-api-bootstrap") + (inputs `()) + (arguments + (substitute-keyword-arguments (package-arguments java-slf4j-api) + ((#:tests? _ #f) #f))))) + (define-public java-slf4j-simple (package (name "java-slf4j-simple") @@ -6087,7 +6111,7 @@ import org.antlr.grammar.v2.ANTLRTreePrinter;")) (lambda _ (display (string-append "#!" (which "sh") "\n" - "java -cp " jar "/antlr3-3.1-3.1.jar:" + "java -cp " jar "/antlr3-3.1.jar:" (string-concatenate (find-files (assoc-ref inputs "stringtemplate") ".*\\.jar")) @@ -6886,6 +6910,15 @@ it manages project dependencies, gives diffs jars, and much more.") ("java-osgi-cmpn" ,java-osgi-cmpn) ("osgi" ,java-osgi-core))))) +(define java-aqute-libg-bootstrap + (package + (inherit java-aqute-libg) + (name "java-aqute-libg-bootstrap") + (inputs + `(("slf4j-bootstrap" ,java-slf4j-api-bootstrap) + ,@(delete `("slf4j" ,java-slf4j-api) + (package-inputs java-aqute-libg)))))) + (define-public java-aqute-bndlib (package (inherit java-aqute-bnd-annotation) @@ -6909,6 +6942,17 @@ it manages project dependencies, gives diffs jars, and much more.") ("promise" ,java-osgi-util-promise) ("osgi" ,java-osgi-core))))) +(define java-aqute-bndlib-bootstrap + (package + (inherit java-aqute-bndlib) + (name "java-aqute-bndlib-bootstrap") + (inputs + `(("slf4j-bootstrap" ,java-slf4j-api-bootstrap) + ("java-aqute-libg-bootstrap" ,java-aqute-libg-bootstrap) + ,@(delete `("slf4j" ,java-slf4j-api) + (delete `("java-aqute-libg" ,java-aqute-libg) + (package-inputs java-aqute-bndlib))))))) + (define-public java-ops4j-pax-tinybundles (package (name "java-ops4j-pax-tinybundles") diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 254cf899da..a3b3ab262e 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -16,7 +16,7 @@ ;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2016 John Darrington <jmd@gnu.org> ;;; Copyright © 2016, 2017, 2018 Marius Bakke <mbakke@fastmail.com> -;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org> +;;; Copyright © 2016, 2018 Rene Saavedra <pacoon@protonmail.com> ;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com> ;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is> ;;; Copyright © 2017, 2018 Leo Famulari <leo@famulari.name> @@ -391,8 +391,8 @@ It has been modified to remove all non-free binary blobs.") ;; supports qemu "virt" machine and possibly a large number of ARM boards. ;; See : https://wiki.debian.org/DebianKernel/ARMMP. -(define %linux-libre-version "4.16.1") -(define %linux-libre-hash "1zqbg7ivf79nzw0lw18bbld2wq16880k83526bwqh1nsydayp6k0") +(define %linux-libre-version "4.16.3") +(define %linux-libre-hash "1wmx0ph8nbwidlx1dh8bi4p97b84nif9ymv00mafnn6iykdfdin0") (define-public linux-libre (make-linux-libre %linux-libre-version @@ -400,8 +400,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.33") -(define %linux-libre-4.14-hash "0ps9whsxc20gw5ags18rgkwgy6fzg66by70g8xjds7nijpzgl69m") +(define %linux-libre-4.14-version "4.14.35") +(define %linux-libre-4.14-hash "0dfzc2290zks1a63zld8ac0xarc8gxwwh4wsr71y8mas7gfmyqzj") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version @@ -410,14 +410,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.93" - "0flmsh4xy7ymyzwm8y4x4id798mx6vy3d6ala7x1bq41hf00075p" + (make-linux-libre "4.9.95" + "06i756gbglxa2m4lib4p0fff5m2fm4s6f9aqc58i8lihnjqpkldk" %intel-compatible-systems #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.127" - "1av536sp6ancx0fy71wpmqv4r66pksrcjbnrcjggard6im4c8pjy" + (make-linux-libre "4.4.128" + "1aqz5skyz534bcpnn6w9madg6kadgyjjypah9dhmqf841rygb6rk" %intel-compatible-systems #:configuration-file kernel-config)) @@ -2108,6 +2108,7 @@ time.") "/etc/lvm") "--enable-udev_sync" "--enable-udev_rules" + "--enable-pkgconfig" ;; Make sure programs such as 'dmsetup' can ;; find libdevmapper.so. @@ -3816,7 +3817,7 @@ under OpenGL graphics workloads.") (define-public efivar (package (name "efivar") - (version "34") + (version "35") (source (origin (method url-fetch) (uri (string-append "https://github.com/rhinstaller/" name @@ -3824,7 +3825,7 @@ under OpenGL graphics workloads.") "-" version ".tar.bz2")) (sha256 (base32 - "09a31y6sl3b33myy42gl9k732k1f440ycd07l6ac5d5l53kk8zhv")))) + "153k2ifyl4giz5fkryxhz8z621diqjy7v25hfga4z94rs32ks0qy")))) (build-system gnu-build-system) (arguments `(;; Tests require a UEFI system and is not detected in the chroot. @@ -3849,7 +3850,7 @@ interface to the variable facility of UEFI boot firmware.") (define-public efibootmgr (package (name "efibootmgr") - (version "14") + (version "16") (source (origin (method url-fetch) (uri (string-append "https://github.com/rhinstaller/" name @@ -3857,26 +3858,23 @@ interface to the variable facility of UEFI boot firmware.") "-" version ".tar.bz2")) (sha256 (base32 - "1n3sydvpr6yl040hhf460k7mrxby7laqd9dqs6pq0js1hijc2zip")))) + "0pzn67vxxaf7jna4cd0i4kqm60h04kb21hckksv9z82q9gxra1wm")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; No tests. #:make-flags (list (string-append "prefix=" %output) (string-append "libdir=" %output "/lib") + ;; EFIDIR denotes a subdirectory relative to the + ;; EFI System Partition where the loader will be + ;; installed (known as OS_VENDOR in the code). + ;; GRUB overrides this, as such it's only used if + ;; nothing else is specified on the command line. + "EFIDIR=gnu" ;; Override CFLAGS to add efivar include directory. (string-append "CFLAGS=-O2 -g -flto -I" (assoc-ref %build-inputs "efivar") "/include/efivar")) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'branding - ;; Replace default loader path with something more familiar. - (lambda _ - (substitute* "src/efibootmgr.c" - (("EFI\\\\\\\\redhat") ; Matches 'EFI\\redhat'. - "EFI\\\\gnu")) - #t)) - (delete 'configure)))) + #:phases (modify-phases %standard-phases (delete 'configure)))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs @@ -4594,3 +4592,39 @@ emulates the behaviour of Gunnar Monell's older fbgrab utility.") restriction, permission handling and more. This package provides userspace interface to this kernel feature.") (license license:lgpl2.1))) + +(define-public mbpfan + (package + (name "mbpfan") + (version "2.0.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/dgraziotin/mbpfan/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0wifsws9icki95hhfh4zw1hmk07ddmkcz9mg5a9jr7q2kkrk01cx")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ; no tests + #:make-flags (let ((out (assoc-ref %outputs "out"))) + (list (string-append "DESTDIR=" out) + "CC=gcc")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-paths + (lambda _ + (substitute* "Makefile" + (("/usr") "")) + #t)) + (delete 'configure)))) ; There's no configure phase. + (home-page "https://github.com/dgraziotin/mbpfan") + (synopsis "Control fan speed on Macbooks") + (description + "mbpfan is a fan control daemon for Apple Macbooks. It uses input from +the @code{coretemp} module and sets the fan speed using the @code{applesmc} +module. It can be executed as a daemon or in the foreground with root +privileges.") + (license license:gpl3+))) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index bb6a1300e8..fb13ec1fdb 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -259,14 +259,14 @@ aliasing facilities to work just as they would on normal mail.") (define-public mutt (package (name "mutt") - (version "1.9.4") + (version "1.9.5") (source (origin (method url-fetch) (uri (string-append "https://bitbucket.org/mutt/mutt/downloads/" "mutt-" version ".tar.gz")) (sha256 (base32 - "1pxmw5yyizb9bqbai6lihv6zxmw0znjfb60zaldwh6hc6lkbzlgl")) + "0lsp72lm3cw490x7lhzia7h8f591bab2mr7qpscaj22fmrj7wqdz")) (patches (search-patches "mutt-store-references.patch")))) (build-system gnu-build-system) (inputs @@ -475,7 +475,7 @@ and corrections. It is based on a Bayesian filter.") (define-public offlineimap (package (name "offlineimap") - (version "7.1.5") + (version "7.2.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/OfflineIMAP/offlineimap/" @@ -483,7 +483,7 @@ and corrections. It is based on a Bayesian filter.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1qa3km3s3yhmpgzh76dnzwn22aa8fh39814zgnlyhs07l23ffa4f")))) + "1i7pzm1vrj98jcyn1ygsg1yp0gqlsssnc25451icvivysvdwdj5n")))) (build-system python-build-system) (native-inputs `(("asciidoc" ,asciidoc))) diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index 266c1e6518..3455a9c126 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -58,14 +58,14 @@ a flexible and convenient way.") (define-public man-db (package (name "man-db") - (version "2.8.2") + (version "2.8.3") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/man-db/man-db-" version ".tar.xz")) (sha256 (base32 - "0p0cvv5ykvyzq33qyfik11p2s0d2j75ans1avj9xv3c8vy3zzga5")))) + "1b641kcgjvyc41pj67dn4p0zvwlj1vx3l6nf7qdcc7kf6v5a2cjr")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index e93c0a4c88..b3205c7ae2 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -7,12 +7,13 @@ ;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is> ;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca> -;;; Copyright © 2016, 2017 Clément Lassieur <clement@lassieur.org> +;;; Copyright © 2016, 2017, 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com> ;;; Copyright © 2017 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 © 2018 Leo Famulari <leo@famulari.name> ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,6 +38,7 @@ #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (guix build-system glib-or-gtk) + #:use-module (guix build-system meson) #:use-module (guix build-system python) #:use-module (guix build-system perl) #:use-module (guix build-system cmake) @@ -200,31 +202,17 @@ identi.ca and status.net).") (define-public hexchat (package (name "hexchat") - (version "2.12.4") + (version "2.14.1") (source (origin (method url-fetch) (uri (string-append "https://dl.hexchat.net/hexchat/hexchat-" version ".tar.xz")) (sha256 (base32 - "0ficrx56knz5y297qb0x5y02339yvyv734z7kpcx1ixvb0qr2dgs")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Delete dangling symlinks to a non-existent ‘/usr’. - (with-directory-excursion "m4" - (for-each (lambda (f) (delete-file f)) - '("intltool.m4" "libtool.m4" "lt~obsolete.m4" - "ltoptions.m4" "ltsugar.m4" "ltversion.m4"))) - (delete-file-recursively "build-aux") - (delete-file "po/Makefile.in.in") - #t)))) - (build-system gnu-build-system) - (native-inputs `(("autoconf" ,autoconf) - ("autoconf-archive" ,autoconf-archive) - ("automake" ,automake) - ("intltool" ,intltool) - ("libtool" ,libtool) + "18h3l34zmazjlfx3irg7k7swppa62ad9ffbl0j3ry8p2xfyf8cmh")))) + (build-system meson-build-system) + (native-inputs `(("gettext" ,gettext-minimal) + ("perl" ,perl) ("pkg-config" ,pkg-config))) (inputs `(("dbus-glib" ,dbus-glib) ("dbus" ,dbus) @@ -233,6 +221,7 @@ identi.ca and status.net).") ("gtk" ,gtk+-2) ("libcanberra" ,libcanberra) ("libnotify" ,libnotify) + ("libproxy" ,libproxy) ("openssl" ,openssl) ;; Bindings for add-on scripts. @@ -240,16 +229,17 @@ identi.ca and status.net).") ("perl-xml-parser" ,perl-xml-parser) ("python-2" ,python-2))) (arguments - `(#:make-flags '("UPDATE_ICON_CACHE=true") ; Disable icon theme generation - #:phases + `(#:phases (modify-phases %standard-phases - ;; Release 2.12.4 wasn't properly bootstrapped. Later ones might be! - (add-before 'boostrap 'copy-intltool-makefile - (lambda* (#:key inputs #:allow-other-keys) - ;; This file is still required for autoreconf. - (copy-file (string-append (assoc-ref inputs "intltool") - "/share/intltool/Makefile.in.in") - "po/Makefile.in.in") + (add-after 'unpack 'skip-desktop-database-updates + (lambda _ + ;; The build scripts update icon and desktop file databases when + ;; DESTDIR is not set. We can't update these databases from + ;; within the build chroot, but we also don't set DESTDIR. So, we + ;; just skip this code. + (substitute* "meson_post_install.py" + (("if 'DESTDIR' not in os.environ:") + "if False:")) #t))))) (synopsis "Graphical IRC Client") (description @@ -495,14 +485,14 @@ simultaneously and therefore appear under the same nickname on IRC.") (define-public python-nbxmpp (package (name "python-nbxmpp") - (version "0.6.1") + (version "0.6.4") (source (origin (method url-fetch) (uri (pypi-uri "nbxmpp" version)) (sha256 (base32 - "0qvkiscy42nhzhccszi049ws8cnhpxgc13g8naq1rsa5x9zy163c")))) + "12rfmp613alh3mi8f94008sx7x1a8c1izs3icrvw7bf4gnf2pi31")))) (build-system python-build-system) (arguments `(#:tests? #f)) ; no tests @@ -520,7 +510,7 @@ was initially a fork of xmpppy, but uses non-blocking sockets.") (define-public gajim (package (name "gajim") - (version "0.16.9") + (version "1.0.1") (source (origin (method url-fetch) (uri (string-append "https://gajim.org/downloads/" @@ -528,36 +518,74 @@ was initially a fork of xmpppy, but uses non-blocking sockets.") "/gajim-" version ".tar.bz2")) (sha256 (base32 - "0v08zdvpqaig0wxpxn1l8rsj3wr3fqvnagn8cnvch17vfqv9gcr1")))) - (build-system gnu-build-system) + "16ynws10vhx6rhjjjmzw6iyb3hc19823xhx4gsb14hrc7l8vzd1c")))) + (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-after 'install 'wrap-program (lambda* (#:key outputs #:allow-other-keys) - ;; Make sure all Python scripts run with the correct PYTHONPATH. - (let ((out (assoc-ref outputs "out")) - (path (getenv "PYTHONPATH"))) - (for-each (lambda (name) - (let ((file (string-append out "/bin/" name))) - ;; Wrapping destroys identification of intended - ;; application, so we need to override "APP". - (substitute* file - (("APP=`basename \\$0`") - (string-append "APP=" name))) - (wrap-program file - `("PYTHONPATH" ":" prefix (,path))))) - '("gajim" "gajim-remote" "gajim-history-manager"))) + (let ((out (assoc-ref outputs "out"))) + (for-each + (lambda (name) + (let ((file (string-append out "/bin/" name)) + (gi-typelib-path (getenv "GI_TYPELIB_PATH"))) + (wrap-program file + `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))) + '("gajim" "gajim-remote" "gajim-history-manager"))) + #t)) + (add-before 'check 'remove-test-resolver + ;; This test requires network access. + (lambda _ + (substitute* "test/runtests.py" + (("'integration.test_resolver',") "")) + #t)) + (add-before 'check 'start-xserver + ;; Tests require a running X server. + (lambda* (#:key inputs #:allow-other-keys) + (let ((xorg-server (assoc-ref inputs "xorg-server")) + (display ":1")) + (setenv "DISPLAY" display) + (zero? (system (string-append xorg-server "/bin/Xvfb " + display " &")))))) + (add-after 'install 'install-icons + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (adwaita (string-append + (assoc-ref inputs "adwaita-icon-theme") + "/share/icons/Adwaita")) + (hicolor (string-append + (assoc-ref inputs "hicolor-icon-theme") + "/share/icons/hicolor")) + (icons (string-append + out "/lib/python" + ,(version-major+minor (package-version python)) + "/site-packages/gajim/data/icons"))) + (with-directory-excursion icons + (symlink adwaita "Adwaita") + (copy-recursively hicolor "hicolor"))) #t))))) (native-inputs - `(("intltool" ,intltool))) + `(("intltool" ,intltool) + ("xorg-server" ,xorg-server))) (inputs - `(("python2-axolotl" ,python2-axolotl) - ("python2-nbxmpp" ,python2-nbxmpp) - ("python2-pyopenssl" ,python2-pyopenssl) - ("python2-gnupg" ,python2-gnupg) - ("python2-pygtk" ,python2-pygtk) - ("python" ,python-2))) + `(("adwaita-icon-theme" ,adwaita-icon-theme) + ("gnome-keyring" ,gnome-keyring) + ("gtk+" ,gtk+) + ("gtkspell3" ,gtkspell3) + ("hicolor-icon-theme" ,hicolor-icon-theme) + ("libsecret" ,libsecret) + ("python-axolotl" ,python-axolotl) + ("python-dbus" ,python-dbus) + ("python-docutils" ,python-docutils) + ("python-gnupg" ,python-gnupg) + ("python-nbxmpp" ,python-nbxmpp) + ("python-pillow" ,python-pillow) + ("python-pyasn1" ,python-pyasn1) + ("python-pycairo" ,python-pycairo) + ("python-pygobject" ,python-pygobject) + ("python-pyopenssl" ,python-pyopenssl) + ("python-qrcode" ,python-qrcode))) (home-page "https://gajim.org/") (synopsis "Jabber (XMPP) client") (description "Gajim is a feature-rich and easy to use Jabber/XMPP client. diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index 9a3db21bae..22aef058f4 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -303,7 +303,7 @@ This package contains the binary.") (define-public mpg123 (package (name "mpg123") - (version "1.25.8") + (version "1.25.10") (source (origin (method url-fetch) (uri (list (string-append "mirror://sourceforge/mpg123/mpg123/" @@ -313,7 +313,7 @@ This package contains the binary.") version ".tar.bz2"))) (sha256 (base32 - "16s9z1xc5kv1p90g42vsr9m4gq3dwjsmrj873x4i8601mvpm3nkr")))) + "08vhp8lz7d9ybhxcmkq3adwfryhivfvp0745k4r9kgz4wap3f4vc")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--with-default-audio=pulse"))) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index ba06c2afb2..0e2acedf7f 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -208,7 +208,7 @@ terminal using ncurses.") (define-public ncmpcpp (package (name "ncmpcpp") - (version "0.8.1") + (version "0.8.2") (source (origin (method url-fetch) (uri @@ -216,7 +216,7 @@ terminal using ncurses.") version ".tar.bz2")) (sha256 (base32 - "1zw8d07b2bkssbsybg6jnmpq001w525viajrnz4jvfml3l55gyad")))) + "0m0mjb049sl62vx13h9waavysa30mk0rphacksnvf94n13la62v5")))) (build-system gnu-build-system) (inputs `(("libmpdclient" ,libmpdclient) ("boost" ,boost) diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm index ee427f84eb..e185a98359 100644 --- a/gnu/packages/multiprecision.scm +++ b/gnu/packages/multiprecision.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> +;;; Copyright © 2015, 2018 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> @@ -161,6 +161,33 @@ multiple-precision arithmetic.") (license lgpl2.1+) (home-page "https://perso.ens-lyon.fr/nathalie.revol/software.html"))) +(define-public irram + (package + (name "irram") + (version "2013_01") + (source + (origin + (method url-fetch) + (uri (string-append "http://irram.uni-trier.de/irram-files/iRRAM_" + version ".tar.bz2")) + (sha256 + (base32 "1cdmvb4hsa161rfdjqyhd9sb3fcr43p3a6nsj7cb4kn9f94qmjpj")))) + (build-system gnu-build-system) + (propagated-inputs `(("gmp" ,gmp) ; <mpfi.h> refers to both + ("mpfr" ,mpfr))) + (arguments + `(#:parallel-build? #f)) + (synopsis "C++ package for real arithmetic based on the Real-RAM concept") + (description + "@dfn{iRRAM} is a C++ package for error-free real arithmetic based on +the concept of a Real-RAM. Its capabilities range from ordinary arithmetic +over trigonometric functions to linear algebra and differential +equations. A program using iRRAM is coded in ordinary C++, but may use a +special class that behaves like real numbers without any +error. Additionally, iRRAM uses the concept of multi-valued functions.") + (license lgpl2.0+) + (home-page "http://irram.uni-trier.de/"))) + (define-public qd (package (name "qd") diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index be7aadf9ce..c8f2fd84b4 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2017 Nils Gillmann <ng0@n0.is> ;;; Copyright © 2017 Rodger Fox <thylakoid@openmailbox.org> ;;; Copyright © 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr> -;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com> +;;; Copyright © 2017, 2018 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 nee <nee.git@hidamari.blue> @@ -3853,19 +3853,15 @@ by The Echo Nest.") (define-public libmygpo-qt (package (name "libmygpo-qt") - (version "1.0.9") + (version "1.1.0") (source (origin (method url-fetch) (uri (string-append "http://stefan.derkits.at/files/" "libmygpo-qt/libmygpo-qt." version ".tar.gz")) (sha256 (base32 - "1wsgh2vjnd52rkvpncj1ycpbp84sj9hh12ija46b42z9mmqf2jm4")) - (patches - (search-patches "libmygpo-qt-fix-jsoncreatortest.patch")))) + "1kg18qrq2rsswgzhl65r3mlyx7kpqg4wwnbp4yiv6svvmadmlxl2")))) (build-system cmake-build-system) - (arguments - '(#:configure-flags '("-DBUILD_WITH_QT4=OFF"))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 7be19bc0a7..5cba694b6e 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -368,14 +368,14 @@ receiving NDP messages.") (define-public ethtool (package (name "ethtool") - (version "4.15") + (version "4.16") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/software/network/" name "/" name "-" version ".tar.xz")) (sha256 (base32 - "06pr3s7wg2pbvfbf7js61bgh3caff4qf50nqqk3cgz9z90rgvxvi")))) + "00ss07jc7p276d83f6jpafgwyc9yiribciyqcgx9j86v49kpm5py")))) (build-system gnu-build-system) (home-page "https://www.kernel.org/pub/software/network/ethtool/") (synopsis "Display or change Ethernet device settings") diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 1bff971e2d..7e35af5dfd 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2017 Roel Janssen <roel@gnu.org> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu> ;;; ;;; This file is part of GNU Guix. ;;; @@ -244,7 +245,8 @@ ("gettext" ,gettext-minimal) ("texinfo" ,texinfo) ("graphviz" ,graphviz) - ("help2man" ,help2man))) + ("help2man" ,help2man) + ("po4a" ,po4a))) (inputs `(("bzip2" ,bzip2) ("gzip" ,gzip) diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index f4518cfeb0..923122903e 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -457,37 +457,6 @@ winner of the 2015 Password Hashing Competition.") ;; files are CC0 only; see README.md and LICENSE for details. (license (list license:cc0 license:asl2.0)))) -(define-public python-bcrypt - (package - (name "python-bcrypt") - (version "3.1.4") - (source - (origin - (method url-fetch) - (uri (pypi-uri "bcrypt" version)) - (sha256 - (base32 - "13cyrnqwkhc70rs6dg65z4yrrr3dc42fhk11804fqmci9hvimvb7")))) - (build-system python-build-system) - (native-inputs - `(("python-pycparser" ,python-pycparser) - ("python-pytest" ,python-pytest))) - (propagated-inputs - `(("python-cffi" ,python-cffi) - ("python-six" ,python-six))) - (home-page "https://github.com/pyca/bcrypt/") - (synopsis - "Modern password hashing library") - (description - "Bcrypt is a Python module which provides a password hashing method based -on the Blowfish password hashing algorithm, as described in -@url{http://static.usenix.org/events/usenix99/provos.html,\"A Future-Adaptable -Password Scheme\"} by Niels Provos and David Mazieres.") - (license license:asl2.0))) - -(define-public python2-bcrypt - (package-with-python2 python-bcrypt)) - (define-public pass-git-helper (package (name "pass-git-helper") diff --git a/gnu/packages/patches/cool-retro-term-remove-non-free-fonts.patch b/gnu/packages/patches/cool-retro-term-remove-non-free-fonts.patch deleted file mode 100644 index 7a033df413..0000000000 --- a/gnu/packages/patches/cool-retro-term-remove-non-free-fonts.patch +++ /dev/null @@ -1,205 +0,0 @@ -From 96ceffdfdcedd3ae33c46b11357aa2518e0a6152 Mon Sep 17 00:00:00 2001 -From: Petter <petter@mykolab.ch> -Date: Thu, 27 Apr 2017 18:55:10 +0200 -Subject: [PATCH] Remove non-free fonts from settings menu - ---- a/app/qml/ApplicationSettings.qml -+++ b/app/qml/ApplicationSettings.qml -@@ -409,7 +409,7 @@ - obj_string: '{"ambientLight":0.16,"backgroundColor":"#000000","bloom":0.4,"brightness":0.5,"flickering":0.1,"contrast":0.85,"fontName":"TERMINUS_SCALED","fontColor":"#0ccc68","frameName":"SIMPLE_WHITE_FRAME","glowingLine":0.2,"horizontalSync":0.16,"jitter":0.18,"burnIn":0.45,"staticNoise":0.1,"rasterization":0,"screenCurvature":0.1,"windowOpacity":1,"chromaColor":0,"saturationColor":0,"rbgShift":0,"fontWidth":1.0,"useCustomCommand":false,"customCommand":""}' - builtin: true - } -- ListElement{ -+ /*ListElement{ - text: "Default Scanlines" - obj_string: '{"ambientLight":0.16,"backgroundColor":"#000000","bloom":0.4,"brightness":0.5,"flickering":0.1,"contrast":0.85,"fontName":"COMMODORE_PET","fontColor":"#00ff5b","frameName":"SIMPLE_WHITE_FRAME","glowingLine":0.2,"horizontalSync":0.14,"jitter":0.11,"burnIn":0.4,"staticNoise":0.05,"rasterization":1,"screenCurvature":0.1,"windowOpacity":1,"chromaColor":0,"saturationColor":0,"rbgShift":0,"fontWidth":1.0,"useCustomCommand":false,"customCommand":""}' - builtin: true -@@ -433,7 +433,7 @@ - text: "IBM Dos" - obj_string: '{"ambientLight":0.16,"backgroundColor":"#000000","bloom":0.4,"brightness":0.5,"flickering":0.07,"contrast":0.85,"fontName":"IBM_DOS","fontColor":"#ffffff","frameName":"SIMPLE_WHITE_FRAME","glowingLine":0.13,"horizontalSync":0,"jitter":0.16,"burnIn":0.3,"staticNoise":0.03,"rasterization":0,"screenCurvature":0.1,"windowOpacity":1,"chromaColor":1,"saturationColor":0,"rbgShift":0.35,"fontWidth":1.0,"useCustomCommand":false,"customCommand":""}' - builtin: true -- } -+ }*/ - ListElement{ - text: "IBM 3278" - obj_string: '{"ambientLight":0.1,"backgroundColor":"#000000","bloom":0.15,"brightness":0.5,"flickering":0,"contrast":0.85,"fontName":"IBM_3278","fontColor":"#0ccc68","frameName":"SIMPLE_WHITE_FRAME","glowingLine":0,"horizontalSync":0,"jitter":0,"burnIn":0.6,"staticNoise":0,"rasterization":0,"screenCurvature":0.1,"windowOpacity":1,"chromaColor":0,"saturationColor":0,"rbgShift":0,"fontWidth":1.0,"useCustomCommand":false,"customCommand":""}' -diff --git a/app/qml/FontPixels.qml b/app/qml/FontPixels.qml -index 6ff85da..6f0d0ba 100644 ---- a/app/qml/FontPixels.qml -+++ b/app/qml/FontPixels.qml -@@ -32,7 +32,7 @@ QtObject{ - property bool lowResolutionFont: true - - property ListModel fontlist: ListModel{ -- ListElement{ -+ /*ListElement{ - name: "COMMODORE_PET" - text: "Commodore PET (1977)" - source: "fonts/1977-commodore-pet/COMMODORE_PET.ttf" -@@ -40,7 +40,7 @@ QtObject{ - pixelSize: 8 - baseScaling: 4.0 - fontWidth: 0.8 -- } -+ }*/ - ListElement{ - name: "PROGGY_TINY" - text: "Proggy Tiny (Modern)" -@@ -68,7 +68,7 @@ QtObject{ - baseScaling: 3.0 - fontWidth: 1.0 - } -- ListElement{ -+ /*ListElement{ - name: "APPLE_II" - text: "Apple ][ (1977)" - source: "fonts/1977-apple2/PrintChar21.ttf" -@@ -76,8 +76,8 @@ QtObject{ - pixelSize: 8 - baseScaling: 4.0 - fontWidth: 0.9 -- } -- ListElement{ -+ }*/ -+ /*ListElement{ - name: "ATARI_400" - text: "Atari 400-800 (1979)" - source: "fonts/1979-atari-400-800/ATARI400800_original.TTF" -@@ -85,8 +85,8 @@ QtObject{ - pixelSize: 8 - baseScaling: 4.0 - fontWidth: 0.8 -- } -- ListElement{ -+ }*/ -+ /*ListElement{ - name: "COMMODORE_64" - text: "Commodore 64 (1982)" - source: "fonts/1982-commodore64/C64_Pro_Mono_v1.0-STYLE.ttf" -@@ -94,6 +94,6 @@ QtObject{ - pixelSize: 8 - baseScaling: 4.0 - fontWidth: 0.8 -- } -+ }*/ - } - } -diff --git a/app/qml/FontScanlines.qml b/app/qml/FontScanlines.qml -index eebf00b..410d7b6 100644 ---- a/app/qml/FontScanlines.qml -+++ b/app/qml/FontScanlines.qml -@@ -32,7 +32,7 @@ QtObject{ - property bool lowResolutionFont: true - - property ListModel fontlist: ListModel{ -- ListElement{ -+ /*ListElement{ - name: "COMMODORE_PET" - text: "Commodore PET (1977)" - source: "fonts/1977-commodore-pet/COMMODORE_PET.ttf" -@@ -40,7 +40,7 @@ QtObject{ - pixelSize: 8 - baseScaling: 4.0 - fontWidth: 0.7 -- } -+ }*/ - ListElement{ - name: "PROGGY_TINY" - text: "Proggy Tiny (Modern)" -@@ -68,7 +68,7 @@ QtObject{ - baseScaling: 3.0 - fontWidth: 1.0 - } -- ListElement{ -+ /*ListElement{ - name: "APPLE_II" - text: "Apple ][ (1977)" - source: "fonts/1977-apple2/PrintChar21.ttf" -@@ -76,8 +76,8 @@ QtObject{ - pixelSize: 8 - baseScaling: 4.0 - fontWidth: 0.8 -- } -- ListElement{ -+ }*/ -+ /*ListElement{ - name: "ATARI_400" - text: "Atari 400-800 (1979)" - source: "fonts/1979-atari-400-800/ATARI400800_original.TTF" -@@ -85,8 +85,8 @@ QtObject{ - pixelSize: 8 - baseScaling: 4.0 - fontWidth: 0.7 -- } -- ListElement{ -+ }*/ -+ /*ListElement{ - name: "COMMODORE_64" - text: "Commodore 64 (1982)" - source: "fonts/1982-commodore64/C64_Pro_Mono_v1.0-STYLE.ttf" -@@ -94,6 +94,6 @@ QtObject{ - pixelSize: 8 - baseScaling: 4.0 - fontWidth: 0.7 -- } -+ }*/ - } - } -diff --git a/app/qml/Fonts.qml b/app/qml/Fonts.qml -index ad20844..882808a 100644 ---- a/app/qml/Fonts.qml -+++ b/app/qml/Fonts.qml -@@ -80,7 +80,7 @@ - fontWidth: 1.0 - lowResolutionFont: true - } -- ListElement{ -+ /*ListElement{ - name: "COMMODORE_PET_SCALED" - text: "Commodore PET (1977)" - source: "fonts/1977-commodore-pet/COMMODORE_PET.ttf" -@@ -89,7 +89,7 @@ - baseScaling: 3.5 - fontWidth: 0.7 - lowResolutionFont: true -- } -+ }*/ - ListElement{ - name: "PROGGY_TINY_SCALED" - text: "Proggy Tiny (Modern)" -@@ -100,7 +100,7 @@ - fontWidth: 0.9 - lowResolutionFont: true - } -- ListElement{ -+ /*ListElement{ - name: "APPLE_II_SCALED" - text: "Apple ][ (1977)" - source: "fonts/1977-apple2/PrintChar21.ttf" -@@ -149,7 +149,7 @@ - baseScaling: 2.0 - fontWidth: 1.0 - lowResolutionFont: true -- } -+ }*/ - ListElement{ - name: "HERMIT" - text: "HD: Hermit (Modern)" -@@ -177,7 +177,7 @@ - fontWidth: 1.0 - lowResolutionFont: false - } -- ListElement{ -+ /*ListElement{ - name: "MONACO" - text: "HD: Monaco (Modern)" - source: "fonts/modern-monaco/monaco.ttf" -@@ -185,7 +185,7 @@ - pixelSize: 30 - fontWidth: 1.0 - lowResolutionFont: false -- } -+ }*/ - ListElement{ - name: "INCONSOLATA" - text: "HD: Inconsolata (Modern)" diff --git a/gnu/packages/patches/datamash-arm-tests.patch b/gnu/packages/patches/datamash-arm-tests.patch new file mode 100644 index 0000000000..a24c5320ad --- /dev/null +++ b/gnu/packages/patches/datamash-arm-tests.patch @@ -0,0 +1,71 @@ +See https://lists.gnu.org/archive/html/bug-datamash/2018-03/msg00003.html and +https://lists.gnu.org/archive/html/bug-datamash/2018-03/txt4DmvR7p6J9.txt + +From d446dba317aa067440d6312d955d523129949327 Mon Sep 17 00:00:00 2001 +From: Assaf Gordon <address@hidden> +Date: Thu, 22 Mar 2018 11:00:34 -0600 +Subject: [PATCH 1/2] tests: fix --format='%4000f' expected output + +Can be 1.000009... or 1.000008999, depending on representation. + +* tests/datamash-output-format.pl: Check only the first 5 digits. +--- + tests/datamash-output-format.pl | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/tests/datamash-output-format.pl b/tests/datamash-output-format.pl +index 52c68a2..ca99bb0 100755 +--- a/tests/datamash-output-format.pl ++++ b/tests/datamash-output-format.pl +@@ -98,12 +98,13 @@ my @Tests = + {OUT => "0" x 3999 . "1\n"}], + + # due to binary floating representation, some decimal point digits won't be +- # zero (e.g. 1.0000090000000000000000000000000523453254320000000...). +- # The OUT_SUBST replaces exactly 3994 digits (as expected from the format) ++ # zero (e.g. 1.0000090000000000000000000000000523453254320000000... or ++ # 1.000008999999...). ++ # The OUT_SUBST replaces exactly 3995 digits (as expected from the format) + # with an "X". + ['m2', '--format "%.4000f" sum 1', {IN_PIPE=>$in1}, +- {OUT => "1.000009X\n"}, +- {OUT_SUBST => 's/^(1\.000009)([0-9]{3994})$/\1X/'}], ++ {OUT => "1.00000X\n"}, ++ {OUT_SUBST => 's/^(1\.00000)([0-9]{3995})$/\1X/'}], + + ); + +-- +2.7.4 + + +From f4871963974a96d6e69cb80b9c2fac7ff0c1d472 Mon Sep 17 00:00:00 2001 +From: Assaf Gordon <address@hidden> +Date: Thu, 22 Mar 2018 11:18:13 -0600 +Subject: [PATCH 2/2] tests: disable --format="%a" test + +Valid output can differ (e.g. 0x8.000p-3 vs 0x1.000p+0). + +* tests/datamash-output-format.pl: Disable 'a1' test. +--- + tests/datamash-output-format.pl | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/tests/datamash-output-format.pl b/tests/datamash-output-format.pl +index ca99bb0..5e90ae0 100755 +--- a/tests/datamash-output-format.pl ++++ b/tests/datamash-output-format.pl +@@ -90,7 +90,9 @@ my @Tests = + ['e2', '--format "%.3e" sum 1', {IN_PIPE=>$in1}, {OUT=>"1.000e+00\n"}], + + # Test Custom formats: %a +- ['a1', '--format "%0.3a" sum 1', {IN_PIPE=>$in1}, {OUT=>"0x8.000p-3\n"}], ++ # Disable the test for now. Valid output can differ (e.g. 0x8.000p-3 and ++ # 0x1.000p0 ). ++ # ['a1', '--format "%0.3a" sum 1', {IN_PIPE=>$in1}, {OUT=>"0x8.000p-3\n"}], + + + # Custom formats can use lots of memory +-- +2.7.4 + diff --git a/gnu/packages/patches/freeimage-unbundle.patch b/gnu/packages/patches/freeimage-unbundle.patch new file mode 100644 index 0000000000..2727d9fbda --- /dev/null +++ b/gnu/packages/patches/freeimage-unbundle.patch @@ -0,0 +1,550 @@ +https://src.fedoraproject.org/cgit/rpms/freeimage.git/tree/FreeImage-3.17.0_unbundle.patch + +diff -rupN FreeImage/genfipsrclist.sh FreeImage-new/genfipsrclist.sh +--- FreeImage/genfipsrclist.sh 2015-02-20 10:52:16.000000000 +0100 ++++ FreeImage-new/genfipsrclist.sh 2015-09-05 02:13:52.041353305 +0200 +@@ -1,6 +1,6 @@ + #!/bin/sh + +-DIRLIST=". Source Source/Metadata Source/FreeImageToolkit Source/LibJPEG Source/LibPNG Source/LibTIFF4 Source/ZLib Source/LibOpenJPEG Source/OpenEXR Source/OpenEXR/Half Source/OpenEXR/Iex Source/OpenEXR/IlmImf Source/OpenEXR/IlmThread Source/OpenEXR/Imath Source/OpenEXR/IexMath Source/LibRawLite Source/LibRawLite/dcraw Source/LibRawLite/internal Source/LibRawLite/libraw Source/LibRawLite/src Source/LibWebP Source/LibJXR Source/LibJXR/common/include Source/LibJXR/image/sys Source/LibJXR/jxrgluelib Wrapper/FreeImagePlus" ++DIRLIST="Wrapper/FreeImagePlus" + + + echo "VER_MAJOR = 3" > fipMakefile.srcs +@@ -19,5 +19,6 @@ echo -n "INCLUDE =" >> fipMakefile.srcs + for DIR in $DIRLIST; do + echo -n " -I$DIR" >> fipMakefile.srcs + done ++echo -n " -IDist" >> fipMakefile.srcs + echo >> fipMakefile.srcs + +diff -rupN FreeImage/gensrclist.sh FreeImage-new/gensrclist.sh +--- FreeImage/gensrclist.sh 2015-02-20 10:51:50.000000000 +0100 ++++ FreeImage-new/gensrclist.sh 2015-09-05 02:13:52.041353305 +0200 +@@ -1,6 +1,6 @@ + #!/bin/sh + +-DIRLIST=". Source Source/Metadata Source/FreeImageToolkit Source/LibJPEG Source/LibPNG Source/LibTIFF4 Source/ZLib Source/LibOpenJPEG Source/OpenEXR Source/OpenEXR/Half Source/OpenEXR/Iex Source/OpenEXR/IlmImf Source/OpenEXR/IlmThread Source/OpenEXR/Imath Source/OpenEXR/IexMath Source/LibRawLite Source/LibRawLite/dcraw Source/LibRawLite/internal Source/LibRawLite/libraw Source/LibRawLite/src Source/LibWebP Source/LibJXR Source/LibJXR/common/include Source/LibJXR/image/sys Source/LibJXR/jxrgluelib" ++DIRLIST=". Source Source/Metadata Source/FreeImageToolkit" + + echo "VER_MAJOR = 3" > Makefile.srcs + echo "VER_MINOR = 17.0" >> Makefile.srcs +diff -rupN FreeImage/Makefile.fip FreeImage-new/Makefile.fip +--- FreeImage/Makefile.fip 2015-03-08 18:03:56.000000000 +0100 ++++ FreeImage-new/Makefile.fip 2015-09-05 02:14:09.212684028 +0200 +@@ -17,20 +17,22 @@ MODULES = $(SRCS:.c=.o) + MODULES := $(MODULES:.cpp=.o) + CFLAGS ?= -O3 -fPIC -fexceptions -fvisibility=hidden + # OpenJPEG +-CFLAGS += -DOPJ_STATIC ++override CFLAGS += -DOPJ_STATIC + # LibRaw +-CFLAGS += -DNO_LCMS ++override CFLAGS += -DNO_LCMS + # LibJXR +-CFLAGS += -DDISABLE_PERF_MEASUREMENT -D__ANSI__ +-CFLAGS += $(INCLUDE) ++override CFLAGS += -DDISABLE_PERF_MEASUREMENT -D__ANSI__ ++override CFLAGS += $(INCLUDE) + CXXFLAGS ?= -O3 -fPIC -fexceptions -fvisibility=hidden -Wno-ctor-dtor-privacy + # LibJXR +-CXXFLAGS += -D__ANSI__ +-CXXFLAGS += $(INCLUDE) ++override CXXFLAGS += -D__ANSI__ ++override CXXFLAGS += $(INCLUDE) ++LDFLAGS ?= ++override LDFLAGS += -LDist -lfreeimage-$(VER_MAJOR).$(VER_MINOR) + + ifeq ($(shell sh -c 'uname -m 2>/dev/null || echo not'),x86_64) +- CFLAGS += -fPIC +- CXXFLAGS += -fPIC ++ override CFLAGS += -fPIC ++ override CXXFLAGS += -fPIC + endif + + TARGET = freeimageplus +@@ -68,7 +70,7 @@ $(STATICLIB): $(MODULES) + $(AR) r $@ $(MODULES) + + $(SHAREDLIB): $(MODULES) +- $(CC) -s -shared -Wl,-soname,$(VERLIBNAME) $(LDFLAGS) -o $@ $(MODULES) $(LIBRARIES) ++ $(CC) -shared -Wl,-soname,$(VERLIBNAME) $(LDFLAGS) -o $@ $(MODULES) $(LIBRARIES) + + install: + install -d $(INCDIR) $(INSTALLDIR) +diff -rupN FreeImage/Makefile.gnu FreeImage-new/Makefile.gnu +--- FreeImage/Makefile.gnu 2015-03-08 18:04:00.000000000 +0100 ++++ FreeImage-new/Makefile.gnu 2015-09-05 02:14:04.810599259 +0200 +@@ -16,21 +16,11 @@ LIBRARIES = -lstdc++ + MODULES = $(SRCS:.c=.o) + MODULES := $(MODULES:.cpp=.o) + CFLAGS ?= -O3 -fPIC -fexceptions -fvisibility=hidden +-# OpenJPEG +-CFLAGS += -DOPJ_STATIC +-# LibRaw +-CFLAGS += -DNO_LCMS +-# LibJXR +-CFLAGS += -DDISABLE_PERF_MEASUREMENT -D__ANSI__ +-CFLAGS += $(INCLUDE) +-CXXFLAGS ?= -O3 -fPIC -fexceptions -fvisibility=hidden -Wno-ctor-dtor-privacy +-# LibJXR +-CXXFLAGS += -D__ANSI__ +-CXXFLAGS += $(INCLUDE) ++override CFLAGS += $(INCLUDE) -D__ANSI__ -I/usr/include/jxrlib $(shell pkg-config --cflags OpenEXR libopenjp2 libraw libpng libtiff-4 libwebp libwebpmux zlib) ++override LDFLAGS += -ljpeg -ljpegxr -ljxrglue $(shell pkg-config --libs OpenEXR libopenjp2 libraw libpng libtiff-4 libwebp libwebpmux zlib) + + ifeq ($(shell sh -c 'uname -m 2>/dev/null || echo not'),x86_64) +- CFLAGS += -fPIC +- CXXFLAGS += -fPIC ++ override CFLAGS += -fPIC + endif + + TARGET = freeimage +@@ -61,13 +51,13 @@ FreeImage: $(STATICLIB) $(SHAREDLIB) + $(CC) $(CFLAGS) -c $< -o $@ + + .cpp.o: +- $(CXX) $(CXXFLAGS) -c $< -o $@ ++ $(CXX) $(CFLAGS) -c $< -o $@ + + $(STATICLIB): $(MODULES) + $(AR) r $@ $(MODULES) + + $(SHAREDLIB): $(MODULES) +- $(CC) -s -shared -Wl,-soname,$(VERLIBNAME) $(LDFLAGS) -o $@ $(MODULES) $(LIBRARIES) ++ $(CC) -shared -Wl,-soname,$(VERLIBNAME) $(LDFLAGS) -o $@ $(MODULES) $(LIBRARIES) + + install: + install -d $(INCDIR) $(INSTALLDIR) +diff -rupN FreeImage/Source/FreeImage/J2KHelper.cpp FreeImage-new/Source/FreeImage/J2KHelper.cpp +--- FreeImage/Source/FreeImage/J2KHelper.cpp 2015-03-02 02:07:08.000000000 +0100 ++++ FreeImage-new/Source/FreeImage/J2KHelper.cpp 2015-09-05 02:13:52.042353324 +0200 +@@ -21,7 +21,7 @@ + + #include "FreeImage.h" + #include "Utilities.h" +-#include "../LibOpenJPEG/openjpeg.h" ++#include <openjpeg.h> + #include "J2KHelper.h" + + // -------------------------------------------------------------------------- +diff -rupN FreeImage/Source/FreeImage/Plugin.cpp FreeImage-new/Source/FreeImage/Plugin.cpp +--- FreeImage/Source/FreeImage/Plugin.cpp 2015-03-02 02:07:08.000000000 +0100 ++++ FreeImage-new/Source/FreeImage/Plugin.cpp 2015-09-05 02:13:52.042353324 +0200 +@@ -263,7 +263,12 @@ FreeImage_Initialise(BOOL load_local_plu + s_plugins->AddNode(InitDDS); + s_plugins->AddNode(InitGIF); + s_plugins->AddNode(InitHDR); +- s_plugins->AddNode(InitG3); ++/* The G3 fax format plugin is deliberately disabled in the Fedora build of ++ FreeImage as it requires that FreeImage uses a private copy of libtiff ++ which is a no no because of security reasons. */ ++#if 0 ++ s_plugins->AddNode(InitG3); ++#endif + s_plugins->AddNode(InitSGI); + s_plugins->AddNode(InitEXR); + s_plugins->AddNode(InitJ2K); +diff -rupN FreeImage/Source/FreeImage/PluginEXR.cpp FreeImage-new/Source/FreeImage/PluginEXR.cpp +--- FreeImage/Source/FreeImage/PluginEXR.cpp 2015-03-02 02:07:08.000000000 +0100 ++++ FreeImage-new/Source/FreeImage/PluginEXR.cpp 2015-09-05 02:13:52.042353324 +0200 +@@ -28,16 +28,16 @@ + #pragma warning (disable : 4800) // ImfVersion.h - 'const int' : forcing value to bool 'true' or 'false' (performance warning) + #endif + +-#include "../OpenEXR/IlmImf/ImfIO.h" +-#include "../OpenEXR/Iex/Iex.h" +-#include "../OpenEXR/IlmImf/ImfOutputFile.h" +-#include "../OpenEXR/IlmImf/ImfInputFile.h" +-#include "../OpenEXR/IlmImf/ImfRgbaFile.h" +-#include "../OpenEXR/IlmImf/ImfChannelList.h" +-#include "../OpenEXR/IlmImf/ImfRgba.h" +-#include "../OpenEXR/IlmImf/ImfArray.h" +-#include "../OpenEXR/IlmImf/ImfPreviewImage.h" +-#include "../OpenEXR/Half/half.h" ++#include <OpenEXR/ImfIO.h> ++#include <OpenEXR/Iex.h> ++#include <OpenEXR/ImfOutputFile.h> ++#include <OpenEXR/ImfInputFile.h> ++#include <OpenEXR/ImfRgbaFile.h> ++#include <OpenEXR/ImfChannelList.h> ++#include <OpenEXR/ImfRgba.h> ++#include <OpenEXR/ImfArray.h> ++#include <OpenEXR/ImfPreviewImage.h> ++#include <OpenEXR/half.h> + + + // ========================================================== +diff -rupN FreeImage/Source/FreeImage/PluginJ2K.cpp FreeImage-new/Source/FreeImage/PluginJ2K.cpp +--- FreeImage/Source/FreeImage/PluginJ2K.cpp 2015-03-02 02:07:08.000000000 +0100 ++++ FreeImage-new/Source/FreeImage/PluginJ2K.cpp 2015-09-05 02:13:52.043353343 +0200 +@@ -21,7 +21,7 @@ + + #include "FreeImage.h" + #include "Utilities.h" +-#include "../LibOpenJPEG/openjpeg.h" ++#include <openjpeg.h> + #include "J2KHelper.h" + + // ========================================================== +diff -rupN FreeImage/Source/FreeImage/PluginJP2.cpp FreeImage-new/Source/FreeImage/PluginJP2.cpp +--- FreeImage/Source/FreeImage/PluginJP2.cpp 2015-03-02 02:07:08.000000000 +0100 ++++ FreeImage-new/Source/FreeImage/PluginJP2.cpp 2015-09-05 02:13:52.043353343 +0200 +@@ -21,7 +21,7 @@ + + #include "FreeImage.h" + #include "Utilities.h" +-#include "../LibOpenJPEG/openjpeg.h" ++#include <openjpeg.h> + #include "J2KHelper.h" + + // ========================================================== +diff -rupN FreeImage/Source/FreeImage/PluginJPEG.cpp FreeImage-new/Source/FreeImage/PluginJPEG.cpp +--- FreeImage/Source/FreeImage/PluginJPEG.cpp 2015-03-02 02:07:08.000000000 +0100 ++++ FreeImage-new/Source/FreeImage/PluginJPEG.cpp 2015-09-05 02:13:52.043353343 +0200 +@@ -35,9 +35,9 @@ extern "C" { + #undef FAR + #include <setjmp.h> + +-#include "../LibJPEG/jinclude.h" +-#include "../LibJPEG/jpeglib.h" +-#include "../LibJPEG/jerror.h" ++#include <stdio.h> ++#include <jpeglib.h> ++#include <jerror.h> + } + + #include "FreeImage.h" +diff -rupN FreeImage/Source/FreeImage/PluginJXR.cpp FreeImage-new/Source/FreeImage/PluginJXR.cpp +--- FreeImage/Source/FreeImage/PluginJXR.cpp 2015-03-02 02:07:08.000000000 +0100 ++++ FreeImage-new/Source/FreeImage/PluginJXR.cpp 2015-09-05 02:13:52.043353343 +0200 +@@ -23,7 +23,7 @@ + #include "Utilities.h" + #include "../Metadata/FreeImageTag.h" + +-#include "../LibJXR/jxrgluelib/JXRGlue.h" ++#include <JXRGlue.h> + + // ========================================================== + // Plugin Interface +diff -rupN FreeImage/Source/FreeImage/PluginPNG.cpp FreeImage-new/Source/FreeImage/PluginPNG.cpp +--- FreeImage/Source/FreeImage/PluginPNG.cpp 2015-03-10 20:16:12.000000000 +0100 ++++ FreeImage-new/Source/FreeImage/PluginPNG.cpp 2015-09-05 02:13:52.044353363 +0200 +@@ -40,8 +40,8 @@ + + // ---------------------------------------------------------- + +-#include "../ZLib/zlib.h" +-#include "../LibPNG/png.h" ++#include <zlib.h> ++#include <png.h> + + // ---------------------------------------------------------- + +diff -rupN FreeImage/Source/FreeImage/PluginRAW.cpp FreeImage-new/Source/FreeImage/PluginRAW.cpp +--- FreeImage/Source/FreeImage/PluginRAW.cpp 2015-03-08 20:12:04.000000000 +0100 ++++ FreeImage-new/Source/FreeImage/PluginRAW.cpp 2015-09-05 02:13:52.044353363 +0200 +@@ -19,7 +19,7 @@ + // Use at your own risk! + // ========================================================== + +-#include "../LibRawLite/libraw/libraw.h" ++#include <libraw/libraw.h> + + #include "FreeImage.h" + #include "Utilities.h" +diff -rupN FreeImage/Source/FreeImage/PluginTIFF.cpp FreeImage-new/Source/FreeImage/PluginTIFF.cpp +--- FreeImage/Source/FreeImage/PluginTIFF.cpp 2015-03-02 02:07:08.000000000 +0100 ++++ FreeImage-new/Source/FreeImage/PluginTIFF.cpp 2015-09-05 02:13:52.044353363 +0200 +@@ -37,9 +37,9 @@ + + #include "FreeImage.h" + #include "Utilities.h" +-#include "../LibTIFF4/tiffiop.h" ++#include <tiffio.h> + #include "../Metadata/FreeImageTag.h" +-#include "../OpenEXR/Half/half.h" ++#include <OpenEXR/half.h> + + #include "FreeImageIO.h" + #include "PSDParser.h" +@@ -194,16 +194,6 @@ TIFFFdOpen(thandle_t handle, const char + return tif; + } + +-/** +-Open a TIFF file for reading or writing +-@param name +-@param mode +-*/ +-TIFF* +-TIFFOpen(const char* name, const char* mode) { +- return 0; +-} +- + // ---------------------------------------------------------- + // TIFF library FreeImage-specific routines. + // ---------------------------------------------------------- +diff -rupN FreeImage/Source/FreeImage/PluginWebP.cpp FreeImage-new/Source/FreeImage/PluginWebP.cpp +--- FreeImage/Source/FreeImage/PluginWebP.cpp 2015-03-02 02:07:08.000000000 +0100 ++++ FreeImage-new/Source/FreeImage/PluginWebP.cpp 2015-09-05 02:13:52.044353363 +0200 +@@ -24,10 +24,10 @@ + + #include "../Metadata/FreeImageTag.h" + +-#include "../LibWebP/src/webp/decode.h" +-#include "../LibWebP/src/webp/encode.h" +-#include "../LibWebP/src/enc/vp8enci.h" +-#include "../LibWebP/src/webp/mux.h" ++#include <webp/decode.h> ++#include <webp/encode.h> ++// #include "../LibWebP/src/enc/vp8enci.h" ++#include <webp/mux.h> + + // ========================================================== + // Plugin Interface +diff -rupN FreeImage/Source/FreeImage/ZLibInterface.cpp FreeImage-new/Source/FreeImage/ZLibInterface.cpp +--- FreeImage/Source/FreeImage/ZLibInterface.cpp 2015-03-02 02:07:10.000000000 +0100 ++++ FreeImage-new/Source/FreeImage/ZLibInterface.cpp 2015-09-05 02:13:52.044353363 +0200 +@@ -19,10 +19,9 @@ + // Use at your own risk! + // ========================================================== + +-#include "../ZLib/zlib.h" ++#include <zlib.h> + #include "FreeImage.h" + #include "Utilities.h" +-#include "../ZLib/zutil.h" /* must be the last header because of error C3163 in VS2008 (_vsnprintf defined in stdio.h) */ + + /** + Compresses a source buffer into a target buffer, using the ZLib library. +@@ -115,7 +114,7 @@ FreeImage_ZLibGZip(BYTE *target, DWORD t + return 0; + case Z_OK: { + // patch header, setup crc and length (stolen from mod_trace_output) +- BYTE *p = target + 8; *p++ = 2; *p = OS_CODE; // xflags, os_code ++ BYTE *p = target + 8; *p++ = 2; *p = 0x03; // xflags, os_code (unix) + crc = crc32(crc, source, source_size); + memcpy(target + 4 + dest_len, &crc, 4); + memcpy(target + 8 + dest_len, &source_size, 4); +diff -rupN FreeImage/Source/FreeImage.h FreeImage-new/Source/FreeImage.h +--- FreeImage/Source/FreeImage.h 2015-03-04 02:17:54.000000000 +0100 ++++ FreeImage-new/Source/FreeImage.h 2015-09-05 02:13:52.045353382 +0200 +@@ -155,8 +155,11 @@ typedef uint8_t BYTE; + typedef uint16_t WORD; + typedef uint32_t DWORD; + typedef int32_t LONG; ++// Disable these, they conflict with the (wrong) ones of libraw ++#if 0 + typedef int64_t INT64; + typedef uint64_t UINT64; ++#endif + #else + // MS is not C99 ISO compliant + typedef long BOOL; +@@ -410,7 +413,12 @@ FI_ENUM(FREE_IMAGE_FORMAT) { + FIF_DDS = 24, + FIF_GIF = 25, + FIF_HDR = 26, +- FIF_FAXG3 = 27, ++/* The G3 fax format plugin is deliberately disabled in the Fedora build of ++ FreeImage as it requires that FreeImage uses a private copy of libtiff ++ which is a no no because of security reasons. */ ++#if 0 ++ FIF_FAXG3 = 27, ++#endif + FIF_SGI = 28, + FIF_EXR = 29, + FIF_J2K = 30, +@@ -473,6 +481,10 @@ FI_ENUM(FREE_IMAGE_DITHER) { + FID_BAYER16x16 = 6 //! Bayer ordered dispersed dot dithering (order 4 dithering matrix) + }; + ++/* The FreeImage_JPEGTransform functions are deliberately disabled in the ++ Fedora build of FreeImage as they require that FreeImage uses a private copy ++ of libjpeg which is a no no because of security reasons. */ ++#if 0 + /** Lossless JPEG transformations + Constants used in FreeImage_JPEGTransform + */ +@@ -486,6 +498,7 @@ FI_ENUM(FREE_IMAGE_JPEG_OPERATION) { + FIJPEG_OP_ROTATE_180 = 6, //! 180-degree rotation + FIJPEG_OP_ROTATE_270 = 7 //! 270-degree clockwise (or 90 ccw) + }; ++#endif + + /** Tone mapping operators. + Constants used in FreeImage_ToneMapping. +@@ -1076,7 +1089,10 @@ DLL_API const char* DLL_CALLCONV FreeIma + // -------------------------------------------------------------------------- + // JPEG lossless transformation routines + // -------------------------------------------------------------------------- +- ++/* The FreeImage_JPEGTransform functions are deliberately disabled in the +++ Fedora build of FreeImage as they require that FreeImage uses a private copy +++ of libjpeg which is a no no because of security reasons. */ ++#if 0 + DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransform(const char *src_file, const char *dst_file, FREE_IMAGE_JPEG_OPERATION operation, BOOL perfect FI_DEFAULT(TRUE)); + DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransformU(const wchar_t *src_file, const wchar_t *dst_file, FREE_IMAGE_JPEG_OPERATION operation, BOOL perfect FI_DEFAULT(TRUE)); + DLL_API BOOL DLL_CALLCONV FreeImage_JPEGCrop(const char *src_file, const char *dst_file, int left, int top, int right, int bottom); +@@ -1085,6 +1101,7 @@ DLL_API BOOL DLL_CALLCONV FreeImage_JPEG + DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransformCombined(const char *src_file, const char *dst_file, FREE_IMAGE_JPEG_OPERATION operation, int* left, int* top, int* right, int* bottom, BOOL perfect FI_DEFAULT(TRUE)); + DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransformCombinedU(const wchar_t *src_file, const wchar_t *dst_file, FREE_IMAGE_JPEG_OPERATION operation, int* left, int* top, int* right, int* bottom, BOOL perfect FI_DEFAULT(TRUE)); + DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransformCombinedFromMemory(FIMEMORY* src_stream, FIMEMORY* dst_stream, FREE_IMAGE_JPEG_OPERATION operation, int* left, int* top, int* right, int* bottom, BOOL perfect FI_DEFAULT(TRUE)); ++#endif + + + // -------------------------------------------------------------------------- +diff -rupN FreeImage/Source/FreeImageToolkit/JPEGTransform.cpp FreeImage-new/Source/FreeImageToolkit/JPEGTransform.cpp +--- FreeImage/Source/FreeImageToolkit/JPEGTransform.cpp 2015-03-02 02:07:10.000000000 +0100 ++++ FreeImage-new/Source/FreeImageToolkit/JPEGTransform.cpp 2015-09-05 02:13:52.045353382 +0200 +@@ -26,10 +26,10 @@ extern "C" { + #undef FAR + #include <setjmp.h> + +-#include "../LibJPEG/jinclude.h" +-#include "../LibJPEG/jpeglib.h" +-#include "../LibJPEG/jerror.h" +-#include "../LibJPEG/transupp.h" ++#include <jinclude.h> ++#include <jpeglib.h> ++#include <jerror.h> ++#include <transupp.h> + } + + #include "FreeImage.h" +diff -rupN FreeImage/Source/Metadata/TagConversion.cpp FreeImage-new/Source/Metadata/TagConversion.cpp +--- FreeImage/Source/Metadata/TagConversion.cpp 2015-03-02 02:07:10.000000000 +0100 ++++ FreeImage-new/Source/Metadata/TagConversion.cpp 2015-09-05 02:13:52.045353382 +0200 +@@ -30,6 +30,11 @@ + + #define MAX_TEXT_EXTENT 512 + ++// These were in FreeImage.h, but are moved here to avoid conflicts (see note in FreeImage.h) ++typedef int64_t INT64; ++typedef uint64_t UINT64; ++ ++ + /** + Convert a tag to a C string + */ +diff -rupN FreeImage/Source/Metadata/XTIFF.cpp FreeImage-new/Source/Metadata/XTIFF.cpp +--- FreeImage/Source/Metadata/XTIFF.cpp 2015-03-02 02:07:10.000000000 +0100 ++++ FreeImage-new/Source/Metadata/XTIFF.cpp 2015-09-05 02:13:52.045353382 +0200 +@@ -29,13 +29,18 @@ + #pragma warning (disable : 4786) // identifier was truncated to 'number' characters + #endif + +-#include "../LibTIFF4/tiffiop.h" ++#include <tiffio.h> + + #include "FreeImage.h" + #include "Utilities.h" + #include "FreeImageTag.h" + #include "FIRational.h" + ++extern "C" ++{ ++ int _TIFFDataSize(TIFFDataType type); ++} ++ + // ---------------------------------------------------------- + // Extended TIFF Directory GEO Tag Support + // ---------------------------------------------------------- +@@ -224,6 +229,33 @@ tiff_write_geotiff_profile(TIFF *tif, FI + // TIFF EXIF tag reading & writing + // ---------------------------------------------------------- + ++static uint32 exif_tag_ids[] = { ++ EXIFTAG_EXPOSURETIME, EXIFTAG_FNUMBER, EXIFTAG_EXPOSUREPROGRAM, ++ EXIFTAG_SPECTRALSENSITIVITY, EXIFTAG_ISOSPEEDRATINGS, EXIFTAG_OECF, ++ EXIFTAG_EXIFVERSION, EXIFTAG_DATETIMEORIGINAL, EXIFTAG_DATETIMEDIGITIZED, ++ EXIFTAG_COMPONENTSCONFIGURATION, EXIFTAG_COMPRESSEDBITSPERPIXEL, ++ EXIFTAG_SHUTTERSPEEDVALUE, EXIFTAG_APERTUREVALUE, ++ EXIFTAG_BRIGHTNESSVALUE, EXIFTAG_EXPOSUREBIASVALUE, ++ EXIFTAG_MAXAPERTUREVALUE, EXIFTAG_SUBJECTDISTANCE, EXIFTAG_METERINGMODE, ++ EXIFTAG_LIGHTSOURCE, EXIFTAG_FLASH, EXIFTAG_FOCALLENGTH, ++ EXIFTAG_SUBJECTAREA, EXIFTAG_MAKERNOTE, EXIFTAG_USERCOMMENT, ++ EXIFTAG_SUBSECTIME, EXIFTAG_SUBSECTIMEORIGINAL, ++ EXIFTAG_SUBSECTIMEDIGITIZED, EXIFTAG_FLASHPIXVERSION, EXIFTAG_COLORSPACE, ++ EXIFTAG_PIXELXDIMENSION, EXIFTAG_PIXELYDIMENSION, ++ EXIFTAG_RELATEDSOUNDFILE, EXIFTAG_FLASHENERGY, ++ EXIFTAG_SPATIALFREQUENCYRESPONSE, EXIFTAG_FOCALPLANEXRESOLUTION, ++ EXIFTAG_FOCALPLANEYRESOLUTION, EXIFTAG_FOCALPLANERESOLUTIONUNIT, ++ EXIFTAG_SUBJECTLOCATION, EXIFTAG_EXPOSUREINDEX, EXIFTAG_SENSINGMETHOD, ++ EXIFTAG_FILESOURCE, EXIFTAG_SCENETYPE, EXIFTAG_CFAPATTERN, ++ EXIFTAG_CUSTOMRENDERED, EXIFTAG_EXPOSUREMODE, EXIFTAG_WHITEBALANCE, ++ EXIFTAG_DIGITALZOOMRATIO, EXIFTAG_FOCALLENGTHIN35MMFILM, ++ EXIFTAG_SCENECAPTURETYPE, EXIFTAG_GAINCONTROL, EXIFTAG_CONTRAST, ++ EXIFTAG_SATURATION, EXIFTAG_SHARPNESS, EXIFTAG_DEVICESETTINGDESCRIPTION, ++ EXIFTAG_SUBJECTDISTANCERANGE, EXIFTAG_GAINCONTROL, EXIFTAG_GAINCONTROL, ++ EXIFTAG_IMAGEUNIQUEID ++}; ++static int nExifTags = sizeof(exif_tag_ids) / sizeof(exif_tag_ids[0]); ++ + /** + Read a single Exif tag + +@@ -575,45 +607,11 @@ tiff_read_exif_tags(TIFF *tif, TagLib::M + + // loop over all Core Directory Tags + // ### uses private data, but there is no other way ++ // -> Fedora: Best we can do without private headers is to hard-code a list of known EXIF tags and read those + if(md_model == TagLib::EXIF_MAIN) { +- const TIFFDirectory *td = &tif->tif_dir; +- +- uint32 lastTag = 0; //<- used to prevent reading some tags twice (as stored in tif_fieldinfo) +- +- for (int fi = 0, nfi = (int)tif->tif_nfields; nfi > 0; nfi--, fi++) { +- const TIFFField *fld = tif->tif_fields[fi]; +- +- const uint32 tag_id = TIFFFieldTag(fld); +- +- if(tag_id == lastTag) { +- continue; +- } +- +- // test if tag value is set +- // (lifted directly from LibTiff _TIFFWriteDirectory) +- +- if( fld->field_bit == FIELD_CUSTOM ) { +- int is_set = FALSE; +- +- for(int ci = 0; ci < td->td_customValueCount; ci++ ) { +- is_set |= (td->td_customValues[ci].info == fld); +- } +- +- if( !is_set ) { +- continue; +- } +- +- } else if(!TIFFFieldSet(tif, fld->field_bit)) { +- continue; +- } +- +- // process *all* other tags (some will be ignored) +- +- tiff_read_exif_tag(tif, tag_id, dib, md_model); +- +- lastTag = tag_id; ++ for (int i = 0; i < nExifTags; ++i) { ++ tiff_read_exif_tag(tif, exif_tag_ids[i], dib, md_model); + } +- + } + + return TRUE; +@@ -723,10 +721,9 @@ tiff_write_exif_tags(TIFF *tif, TagLib:: + + TagLib& tag_lib = TagLib::instance(); + +- for (int fi = 0, nfi = (int)tif->tif_nfields; nfi > 0; nfi--, fi++) { +- const TIFFField *fld = tif->tif_fields[fi]; +- +- const uint32 tag_id = TIFFFieldTag(fld); ++ for (int fi = 0; fi < nExifTags; fi++) { ++ const uint32 tag_id = exif_tag_ids[fi]; ++ const TIFFField *fld = TIFFFieldWithTag(tif, tag_id); + + if(skip_write_field(tif, tag_id)) { + // skip tags that are already handled by the LibTIFF writing process diff --git a/gnu/packages/patches/htop-fix-process-tree.patch b/gnu/packages/patches/htop-fix-process-tree.patch deleted file mode 100644 index d8e5e2ccac..0000000000 --- a/gnu/packages/patches/htop-fix-process-tree.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 2971a187551e062ffefdab965f55377b36cd94eb Mon Sep 17 00:00:00 2001 -From: Tobias Geerinckx-Rice <me@tobias.gr> -Date: Wed, 21 Feb 2018 06:00:50 +0100 -Subject: [PATCH] Fix process tree -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This manually reverts: - - commit 584a9bceab948590dabd189d234a86e6bf4ec3f4 - Author: wangqr <wangqr@wangqr.tk> - Date: Fri Sep 1 21:27:24 2017 +0800 - - Find roots when constructing process tree, fix #587 - -which breaks the process tree (‘t’) view in at least some cases. -I will investigate further... ---- - ProcessList.c | 63 +++++++++++++++++------------------------------------------ - 1 file changed, 18 insertions(+), 45 deletions(-) - -diff --git a/ProcessList.c b/ProcessList.c -index 48b2d95..225253d 100644 ---- a/ProcessList.c -+++ b/ProcessList.c -@@ -213,51 +213,24 @@ void ProcessList_sort(ProcessList* this) { - // Restore settings - this->settings->sortKey = sortKey; - this->settings->direction = direction; -- int vsize = Vector_size(this->processes); -- // Find all processes whose parent is not visible -- int size; -- while ((size = Vector_size(this->processes))) { -- int i; -- for (i = 0; i < size; i++) { -- Process* process = (Process*)(Vector_get(this->processes, i)); -- // Immediately consume not shown processes -- if (!process->show) { -- process = (Process*)(Vector_take(this->processes, i)); -- process->indent = 0; -- Vector_add(this->processes2, process); -- ProcessList_buildTree(this, process->pid, 0, 0, direction, false); -- break; -- } -- pid_t ppid = process->tgid == process->pid ? process->ppid : process->tgid; -- // Bisect the process vector to find parent -- int l = 0, r = size; -- // If PID corresponds with PPID (e.g. "kernel_task" (PID:0, PPID:0) -- // on Mac OS X 10.11.6) cancel bisecting and regard this process as -- // root. -- if (process->pid == ppid) -- r = 0; -- while (l < r) { -- int c = (l + r) / 2; -- pid_t pid = ((Process*)(Vector_get(this->processes, c)))->pid; -- if (ppid == pid) { -- break; -- } else if (ppid < pid) { -- r = c; -- } else { -- l = c + 1; -- } -- } -- // If parent not found, then construct the tree with this root -- if (l >= r) { -- process = (Process*)(Vector_take(this->processes, i)); -- process->indent = 0; -- Vector_add(this->processes2, process); -- ProcessList_buildTree(this, process->pid, 0, 0, direction, process->showChildren); -- break; -- } -- } -- // There should be no loop in the process tree -- assert(i < size); -+ -+ // Take PID 1 as root and add to the new listing -+ int vsize = Vector_size(this->processes); -+ Process* init = (Process*) (Vector_take(this->processes, 0)); -+ if (!init) return; -+ // This assertion crashes on hardened kernels. -+ // I wonder how well tree view works on those systems. -+ // assert(init->pid == 1); -+ init->indent = 0; -+ Vector_add(this->processes2, init); -+ // Recursively empty list -+ ProcessList_buildTree(this, init->pid, 0, 0, direction, true); -+ // Add leftovers -+ while (Vector_size(this->processes)) { -+ Process* p = (Process*) (Vector_take(this->processes, 0)); -+ p->indent = 0; -+ Vector_add(this->processes2, p); -+ ProcessList_buildTree(this, p->pid, 0, 0, direction, p->showChildren); - } - assert(Vector_size(this->processes2) == vsize); (void)vsize; - assert(Vector_size(this->processes) == 0); --- -2.16.2 - diff --git a/gnu/packages/patches/libmygpo-qt-fix-jsoncreatortest.patch b/gnu/packages/patches/libmygpo-qt-fix-jsoncreatortest.patch deleted file mode 100644 index c457d592cc..0000000000 --- a/gnu/packages/patches/libmygpo-qt-fix-jsoncreatortest.patch +++ /dev/null @@ -1,41 +0,0 @@ -From ebe2323727f8d646590245b0bf06dbc92b5808d6 Mon Sep 17 00:00:00 2001 -From: Golubev Alexander <fatzer2@gmail.com> -Date: Tue, 20 Sep 2016 15:33:30 +0400 -Subject: [PATCH] JsonCreatorTest failed due to extra space - -JsonCreatorTest failed with next message: -``` -********* Start testing of mygpo::JsonCreatorTest ********* -Config: Using QTest library 4.8.6, Qt 4.8.6 -PASS : mygpo::JsonCreatorTest::initTestCase() -PASS : mygpo::JsonCreatorTest::testAddRemoveSubsToJSON() -PASS : mygpo::JsonCreatorTest::testSaveSettingsToJSON() -FAIL! : mygpo::JsonCreatorTest::testEpisodeActionListToJSON() Compared values are not the same - Actual (outString2): [{"action":"download","device":"device1","episode":"http://episode.url","podcast":"http://podcast.url","timestamp":"1998-01-01T00:01:02"},{"action":"delete","device":"device3","episode":"http://episode2.url","podcast":"http://podcast2.url","timestamp":"1920-01-01T12:01:02"},{"action":"new","device":"foodev","episode":"http://www.podtrac.com","podcast":"http://leo.am","timestamp":"1998-01-01T00:01:02"},{"action":"play","device":"foodev","episode":"http://www.podtrac.com","podcast":"http://leo.am","timestamp":"1920-01-01T12:01:02"},{"action":"play","device":"foodev","episode":"http://www.podtrac.com","podcast":"http://leo.am","position":123,"started":10,"timestamp":"1998-01-01T00:01:02","total":321},{"action":"play","device":"foodev","episode":"http://www.podtrac.com","podcast":"http://leo.am","position":10,"timestamp":"1998-01-01T00:01:02"}] - Expected (expected2): [{"action":"download","device":"device1","episode":"http://episode.url","podcast":"http: - Loc: [/var/tmp/portage/media-libs/libmygpo-qt-1.0.9-r1/work/libmygpo-qt-1.0.9/tests/JsonCreatorTest.cpp(138)] -PASS : mygpo::JsonCreatorTest::testRenameDeviceStringToJSON() -PASS : mygpo::JsonCreatorTest::testDeviceSynchronizationListsToJSON() -PASS : mygpo::JsonCreatorTest::cleanupTestCase() -Totals: 6 passed, 1 failed, 0 skipped -********* Finished testing of mygpo::JsonCreatorTest ********* -``` - -This was caused by extra space in the expected string. ---- - tests/JsonCreatorTest.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tests/JsonCreatorTest.cpp b/tests/JsonCreatorTest.cpp -index b15b006..feb03d5 100644 ---- a/tests/JsonCreatorTest.cpp -+++ b/tests/JsonCreatorTest.cpp -@@ -133,7 +133,7 @@ void JsonCreatorTest::testEpisodeActionListToJSON() - - output = JsonCreator::episodeActionListToJSON(episodeActions); - QString outString2 = QString::fromLatin1( output ).replace( QLatin1String(" "), QLatin1String("") ); -- QString expected2( QLatin1String( "[{\"action\":\"download\",\"device\":\"device1\",\"episode\":\"http://episode.url\",\"podcast\":\"http://podcast.url\",\"timestamp\":\"1998-01-01T00:01:02\"},{\"action\":\"delete\",\"device\":\"device3\",\"episode\":\"http://episode2.url\",\"podcast\":\"http://podcast2.url\",\"timestamp\":\"1920-01-01T12:01:02\"},{\"action\":\"new\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"timestamp\":\"1998-01-01T00:01:02\"},{\"action\":\"play\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"timestamp\":\"1920-01-01T12:01:02\" },{\"action\":\"play\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"position\":123,\"started\":10,\"timestamp\":\"1998-01-01T00:01:02\",\"total\":321},{\"action\":\"play\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"position\":10,\"timestamp\":\"1998-01-01T00:01:02\"}]" ) ); -+ QString expected2( QLatin1String( "[{\"action\":\"download\",\"device\":\"device1\",\"episode\":\"http://episode.url\",\"podcast\":\"http://podcast.url\",\"timestamp\":\"1998-01-01T00:01:02\"},{\"action\":\"delete\",\"device\":\"device3\",\"episode\":\"http://episode2.url\",\"podcast\":\"http://podcast2.url\",\"timestamp\":\"1920-01-01T12:01:02\"},{\"action\":\"new\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"timestamp\":\"1998-01-01T00:01:02\"},{\"action\":\"play\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"timestamp\":\"1920-01-01T12:01:02\"},{\"action\":\"play\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"position\":123,\"started\":10,\"timestamp\":\"1998-01-01T00:01:02\",\"total\":321},{\"action\":\"play\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"position\":10,\"timestamp\":\"1998-01-01T00:01:02\"}]" ) ); - - QCOMPARE(outString2, expected2 ); - } diff --git a/gnu/packages/patches/mupen64plus-video-z64-glew-correct-path.patch b/gnu/packages/patches/mupen64plus-video-z64-glew-correct-path.patch new file mode 100644 index 0000000000..c3fcfbbd0e --- /dev/null +++ b/gnu/packages/patches/mupen64plus-video-z64-glew-correct-path.patch @@ -0,0 +1,36 @@ +From 21507b3600c616bca7049004eb518cf11f45f299 Mon Sep 17 00:00:00 2001 +From: "Anthony J. Bentley" <anthony@cathet.us> +Date: Sun, 7 Jun 2015 02:41:28 -0600 +Subject: [PATCH] Correct the path to the GLEW header. + +--- + src/glshader.cpp | 2 +- + src/rgl.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/glshader.cpp b/src/glshader.cpp +index 4729945..a8947ea 100644 +--- a/src/glshader.cpp ++++ b/src/glshader.cpp +@@ -23,7 +23,7 @@ + #include <stdio.h> + #include <string.h> + #include "rgl_assert.h" +-#include <glew.h> ++#include <GL/glew.h> + #if defined(__MACOSX__) + #include <OpenGL/gl.h> + #include <OpenGL/glext.h> +diff --git a/src/rgl.h b/src/rgl.h +index c15f93f..1748406 100644 +--- a/src/rgl.h ++++ b/src/rgl.h +@@ -26,7 +26,7 @@ + #include "rgl_assert.h" + #include "rdp.h" + +-#include <glew.h> ++#include <GL/glew.h> + #if defined(__MACOSX__) + #include <OpenGL/gl.h> + #elif defined(__MACOS__) diff --git a/gnu/packages/patches/qemu-CVE-2018-7550.patch b/gnu/packages/patches/qemu-CVE-2018-7550.patch new file mode 100644 index 0000000000..43f111e206 --- /dev/null +++ b/gnu/packages/patches/qemu-CVE-2018-7550.patch @@ -0,0 +1,66 @@ +Fix CVE-2018-7550: + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7550 + +Patch copied from upstream source repository: + +https://git.qemu.org/?p=qemu.git;a=patch;h=2a8fcd119eb7c6bb3837fc3669eb1b2dfb31daf8 + +From 2a8fcd119eb7c6bb3837fc3669eb1b2dfb31daf8 Mon Sep 17 00:00:00 2001 +From: Jack Schwartz <jack.schwartz@oracle.com> +Date: Thu, 21 Dec 2017 09:25:15 -0800 +Subject: [PATCH] multiboot: bss_end_addr can be zero + +The multiboot spec (https://www.gnu.org/software/grub/manual/multiboot/), +section 3.1.3, allows for bss_end_addr to be zero. + +A zero bss_end_addr signifies there is no .bss section. + +Suggested-by: Daniel Kiper <daniel.kiper@oracle.com> +Signed-off-by: Jack Schwartz <jack.schwartz@oracle.com> +Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com> +Reviewed-by: Prasad J Pandit <pjp@fedoraproject.org> +Signed-off-by: Kevin Wolf <kwolf@redhat.com> +--- + hw/i386/multiboot.c | 18 ++++++++++-------- + 1 file changed, 10 insertions(+), 8 deletions(-) + +diff --git a/hw/i386/multiboot.c b/hw/i386/multiboot.c +index 46d9c68bf5..bb8d8e4629 100644 +--- a/hw/i386/multiboot.c ++++ b/hw/i386/multiboot.c +@@ -233,12 +233,6 @@ int load_multiboot(FWCfgState *fw_cfg, + mh_entry_addr = ldl_p(header+i+28); + + if (mh_load_end_addr) { +- if (mh_bss_end_addr < mh_load_addr) { +- fprintf(stderr, "invalid mh_bss_end_addr address\n"); +- exit(1); +- } +- mb_kernel_size = mh_bss_end_addr - mh_load_addr; +- + if (mh_load_end_addr < mh_load_addr) { + fprintf(stderr, "invalid mh_load_end_addr address\n"); + exit(1); +@@ -249,8 +243,16 @@ int load_multiboot(FWCfgState *fw_cfg, + fprintf(stderr, "invalid kernel_file_size\n"); + exit(1); + } +- mb_kernel_size = kernel_file_size - mb_kernel_text_offset; +- mb_load_size = mb_kernel_size; ++ mb_load_size = kernel_file_size - mb_kernel_text_offset; ++ } ++ if (mh_bss_end_addr) { ++ if (mh_bss_end_addr < (mh_load_addr + mb_load_size)) { ++ fprintf(stderr, "invalid mh_bss_end_addr address\n"); ++ exit(1); ++ } ++ mb_kernel_size = mh_bss_end_addr - mh_load_addr; ++ } else { ++ mb_kernel_size = mb_load_size; + } + + /* Valid if mh_flags sets MULTIBOOT_HEADER_HAS_VBE. +-- +2.17.0 + diff --git a/gnu/packages/patches/sharutils-CVE-2018-1000097.patch b/gnu/packages/patches/sharutils-CVE-2018-1000097.patch new file mode 100644 index 0000000000..8d58218184 --- /dev/null +++ b/gnu/packages/patches/sharutils-CVE-2018-1000097.patch @@ -0,0 +1,21 @@ +Fix CVE-2018-1000097: + +https://security-tracker.debian.org/tracker/CVE-2018-1000097 +https://nvd.nist.gov/vuln/detail/CVE-2018-1000097 + +Patch taken from upstream bug report: +https://lists.gnu.org/archive/html/bug-gnu-utils/2018-02/msg00005.html + +diff --git a/src/unshar.c b/src/unshar.c +index 80bc3a9..0fc3773 100644 +--- a/src/unshar.c ++++ b/src/unshar.c +@@ -240,7 +240,7 @@ find_archive (char const * name, FILE * file, off_t start) + off_t position = ftello (file); + + /* Read next line, fail if no more and no previous process. */ +- if (!fgets (rw_buffer, BUFSIZ, file)) ++ if (!fgets (rw_buffer, rw_base_size, file)) + { + if (!start) + error (0, 0, _("Found no shell commands in %s"), name); diff --git a/gnu/packages/perl-check.scm b/gnu/packages/perl-check.scm index 1fd725f654..832efc2b78 100644 --- a/gnu/packages/perl-check.scm +++ b/gnu/packages/perl-check.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2017 Petter <petter@mykolab.ch> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> +;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,6 +32,7 @@ (define-module (gnu packages perl-check) #:use-module (guix licenses) #:use-module (gnu packages) + #:use-module (gnu packages valgrind) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system perl) @@ -1001,6 +1003,33 @@ reported, and the tests skipped.") (description "Test::Roo provides composable, reusable tests with roles.") (license asl2.0))) +(define-public perl-test-runvalgrind + (package + (name "perl-test-runvalgrind") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-RunValgrind-" + version + ".tar.gz")) + (sha256 + (base32 + "0cfndkn2k9pcx290wcblwmrwh1ybs0grxjlsrp8fbqqbmmjpb53h")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build))) + (propagated-inputs + `(("perl-path-tiny" ,perl-path-tiny) + ("perl-test-trap" ,perl-test-trap) + ("valgrind" ,valgrind))) + (home-page "http://search.cpan.org/dist/Test-RunValgrind/") + (synopsis "Tests that an external program is valgrind-clean") + (description "Test::RunValgind checks weather Valgrind does not detect +errors (such as memory leaks) in an arbitrary binary executable.") + (license x11))) + (define-public perl-test-script (package (name "perl-test-script") diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 7ef6714540..c3609dfd58 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -13,12 +13,13 @@ ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2017 Raoul J.P. Bonnal <ilpuccio.febo@gmail.com> -;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> +;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -43,8 +44,10 @@ #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (guix build-system perl) + #:use-module (guix utils) ;substitute-keyword-arguments for perl-5.26.2 #:use-module (gnu packages base) #:use-module (gnu packages compression) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages perl-check) #:use-module (gnu packages perl-web) #:use-module (gnu packages pkg-config)) @@ -59,6 +62,7 @@ (package (name "perl") (version "5.26.1") + (replacement perl/fixed) (source (origin (method url-fetch) (uri (string-append "mirror://cpan/src/5.0/perl-" @@ -156,6 +160,39 @@ (home-page "http://www.perl.org/") (license gpl1+))) ; or "Artistic" +;; Fixes CVE-2018-6797, CVE-2018-6798, and CVE-2018-6913. +;; See <https://metacpan.org/changes/release/SHAY/perl-5.26.2>. +(define-public perl-5.26.2 + (package + (inherit perl) + (version "5.26.2") + (source (origin + (inherit (package-source perl)) + (uri (string-append "mirror://cpan/src/5.0/perl-" + version ".tar.gz")) + (sha256 + (base32 + "03gpnxx1g6hvlh0v4aqx00580h787sfywp1vlvw64q2xcbm9qbsp")))))) + +;; When grafting perl, complications arise when the replacement perl has a +;; different version number than the original. So, here we create a version +;; of perl-5.26.2 that thinks it is version 5.26.1. See +;; <https://bugs.gnu.org/31210> and <https://bugs.gnu.org/31216>. +(define perl/fixed + (package + (inherit perl-5.26.2) + (version "5.26.1") + (arguments + (substitute-keyword-arguments (package-arguments perl-5.26.2) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'revert-perl-subversion + (lambda _ + (substitute* "patchlevel.h" + (("^#define PERL_SUBVERSION 2") + "#define PERL_SUBVERSION 1")) + #t)))))))) + (define-public perl-algorithm-c3 (package (name "perl-algorithm-c3") @@ -3502,6 +3539,33 @@ provided base directory and can return files (and/or directories if desired) matching a regular expression.") (home-page "http://search.cpan.org/~dopacki/File-List//"))) +(define-public perl-file-readbackwards + (package + (name "perl-file-readbackwards") + (version "1.05") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/U/UR/URI/File-ReadBackwards-" + version + ".tar.gz")) + (sha256 + (base32 + "0vldy5q0zyf1cwzwb1gv14f8vg2f21bw96b8wvkw6z2hhypn3cl2")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/File-ReadBackwards/") + (synopsis "Read a file backwards by lines") + (description "This module reads a file backwards line by line. It is +simple to use, memory efficient and fast. It supports both an object and a +tied handle interface. + +It is intended for processing log and other similar text files which typically +have their newest entries appended to them. By default files are assumed to +be plain text and have a line ending appropriate to the OS. But you can set +the input record separator string on a per file basis.") + (license perl-license))) + (define-public perl-file-remove (package (name "perl-file-remove") @@ -4057,6 +4121,32 @@ This document describes how to use Inline with the C programming language. It also goes a bit into Perl C internals.") (license (package-license perl)))) +(define-public perl-io-all + (package + (name "perl-io-all") + (version "0.87") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/F/FR/FREW/IO-All-" + version + ".tar.gz")) + (sha256 + (base32 + "0nsd9knlbd7if2v6zwj4q978axq0w5hk8ymp61z14a821hjivqjl")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-file-mimeinfo" ,perl-file-mimeinfo) + ("perl-file-readbackwards" ,perl-file-readbackwards))) + (home-page "http://search.cpan.org/dist/IO-All/") + (synopsis "@code{IO::All} to Larry Wall!") + (description "@code{IO::All} combines all of the best Perl IO modules into +a single nifty object oriented interface to greatly simplify your everyday +Perl IO idioms. It exports a single function called io, which returns a new +@code{IO::All} object. And that object can do it all!") + (license perl-license))) + (define-public perl-io-captureoutput (package (name "perl-io-captureoutput") diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index e60af0bd36..437acd305d 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -109,14 +109,14 @@ data as produced by digital cameras.") (define-public libgphoto2 (package (name "libgphoto2") - (version "2.5.16") + (version "2.5.17") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gphoto/libgphoto/" version "/libgphoto2-" version ".tar.bz2")) (sha256 (base32 - "01i95av28d0szyvx6l2gjv039r3205wjwjr91nfimq132rnl2mz7")))) + "0mdmjb8a07g37bb5q69h11sixw0w6y5g3kbii9z97yhklgq68x21")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs @@ -140,14 +140,14 @@ from digital cameras.") (define-public gphoto2 (package (name "gphoto2") - (version "2.5.15") + (version "2.5.17") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gphoto/gphoto/" version "/gphoto2-" version ".tar.bz2")) (sha256 (base32 - "0xsa12k5fz49v8y4h3zahzr427a3ylxaf0k7hybrkp43g4i1lmxf")))) + "0kslwclyyzvnxjw3gdzhlagj7l5f8lba833ipr9s0s0c4hwi0mxa")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/pure.scm b/gnu/packages/pure.scm index b0fd93b39b..39c1d6089f 100644 --- a/gnu/packages/pure.scm +++ b/gnu/packages/pure.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,7 +32,7 @@ (define-public pure (package (name "pure") - (version "0.67") + (version "0.68") (source (origin (method url-fetch) @@ -40,7 +41,7 @@ "pure-" version ".tar.gz")) (sha256 (base32 - "1hlx5dx6n70rbg668yc97yj4jbnrv0dpfw3l9b0ffmcgr76f6ba4")))) + "0px6x5ivcdbbp2pz5n1r1cwg1syadklhjw8piqhl63n91i4r7iyb")))) (build-system gnu-build-system) (arguments `(#:make-flags (list (string-append "LDFLAGS=-Wl,-rpath=" diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index fb8575cb78..69b6ffd3f4 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org> ;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au> +;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -48,6 +49,37 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (srfi srfi-1)) +(define-public python-bcrypt + (package + (name "python-bcrypt") + (version "3.1.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "bcrypt" version)) + (sha256 + (base32 + "13cyrnqwkhc70rs6dg65z4yrrr3dc42fhk11804fqmci9hvimvb7")))) + (build-system python-build-system) + (native-inputs + `(("python-pycparser" ,python-pycparser) + ("python-pytest" ,python-pytest))) + (propagated-inputs + `(("python-cffi" ,python-cffi) + ("python-six" ,python-six))) + (home-page "https://github.com/pyca/bcrypt/") + (synopsis + "Modern password hashing library") + (description + "Bcrypt is a Python module which provides a password hashing method based +on the Blowfish password hashing algorithm, as described in +@url{http://static.usenix.org/events/usenix99/provos.html,\"A Future-Adaptable +Password Scheme\"} by Niels Provos and David Mazieres.") + (license license:asl2.0))) + +(define-public python2-bcrypt + (package-with-python2 python-bcrypt)) + (define-public python-passlib (package (name "python-passlib") @@ -122,21 +154,18 @@ John the Ripper).") (define-public python-paramiko (package (name "python-paramiko") - (version "2.1.5") + (version "2.4.1") (source (origin (method url-fetch) (uri (pypi-uri "paramiko" version)) (sha256 (base32 - "1pf0zxzhgyy4avby3ajg5hp18b0d8iirbkdfw53z0h6w611bp0wk")))) + "1wx4s95i2cdh8hhi1c3jb8lzk71jifa3z9wjfsx905y7lrsngqrk")))) (build-system python-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - (zero? (system* "python" "test.py"))))))) + `(;; FIXME: Tests require many unpackaged libraries, see dev-requirements.txt. + #:tests? #f)) (propagated-inputs `(("python-pyasn1" ,python-pyasn1) ("python-cryptography" ,python-cryptography))) @@ -762,3 +791,30 @@ in userspace) (define-public python2-pycryptodome (package-with-python2 python-pycryptodome)) + +(define-public python-m2crypto + (package + (name "python-m2crypto") + (version "0.29.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "M2Crypto" version)) + (sha256 + (base32 "1h16gpilrnlzc0iyj1mnd1iqh8wchzjsxjqw9n344glimg2s5zm0")))) + (build-system python-build-system) + (inputs `(("openssl" ,openssl))) + (propagated-inputs `(("python-typing" ,python-typing))) + (home-page "https://gitlab.com/m2crypto/m2crypto") + (synopsis "Python crypto and TLS toolkit") + (description "@code{M2Crypto} is a complete Python wrapper for OpenSSL +featuring RSA, DSA, DH, EC, HMACs, message digests, symmetric ciphers +(including AES); TLS functionality to implement clients and servers; HTTPS +extensions to Python's httplib, urllib, and xmlrpclib; unforgeable HMAC'ing +AuthCookies for web session management; FTP/TLS client and server; S/MIME; +M2Crypto can also be used to provide TLS for Twisted. Smartcards supported +through the Engine interface.") + (license license:expat))) + +(define-public python2-m2crypto + (package-with-python2 python-m2crypto)) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 58c5566f42..d15ad92a56 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -23,6 +23,7 @@ ;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org> ;;; Copyright © 2017 Mark Meyer <mark@ofosos.org> +;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -2486,3 +2487,24 @@ layouts.") (define-public python2-pastescript (package-with-python2 python-pastescript)) + +(define-public python2-urlgrabber + (package + (name "python2-urlgrabber") + (version "3.10.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "urlgrabber" version)) + (sha256 + (base32 "0w1h7hlsq406bxfy2pn4i9bd003bwl0q9b7p03z3g6yl0d21ddq5")))) + (build-system python-build-system) + (arguments `(#:python ,python-2)) ; urlgrabber supports python2 only + (home-page "http://urlgrabber.baseurl.org") + (synopsis "High-level cross protocol url-grabber") + (description "@code{urlgrabber} is Python2 library that unifies access to +files available on web, FTP or locally. It supports HTTP, FTP and file:// +protocols, it supports features like HTTP keep-alive, reget, throttling and +more.") + (license license:lgpl2.1+))) + diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 630396c43f..e342d62a03 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -50,6 +50,7 @@ ;;; Copyright © 2018 Vijayalakshmi Vedantham <vijimay12@gmail.com> ;;; Copyright © 2018 Mathieu Lirzin <mthl@gnu.org> ;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com> +;;; Copyright © 2016, 2018 Tomáš Čech <sleep_walker@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -102,7 +103,6 @@ #:use-module (gnu packages networking) #:use-module (gnu packages ncurses) #:use-module (gnu packages openstack) - #:use-module (gnu packages password-utils) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -6342,7 +6342,7 @@ specification.") (define-public python-pretend (package (name "python-pretend") - (version "1.0.8") + (version "1.0.9") (source (origin (method url-fetch) @@ -6350,7 +6350,7 @@ specification.") "pretend/pretend-" version ".tar.gz")) (sha256 (base32 - "0r5r7ygz9m6d2bklflbl84cqhjkc2q12xgis8268ygjh30g2q3wk")))) + "040vm94lcbscg5p81g1icmwwwa2jm7wrd1ybmxnv1sz8rl8bh3n9")))) (build-system python-build-system) (home-page "https://github.com/alex/pretend") (synopsis "Library for stubbing in Python") @@ -13251,3 +13251,21 @@ working with iterables.") (description "Pybtex is a BibTeX-compatible bibliography processor written in Python. You can simply type pybtex instead of bibtex.") (license license:expat))) + +(define-public python-onetimepass + (package + (name "python-onetimepass") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "onetimepass" version)) + (sha256 + (base32 "09vagxgbq78wvq4xbikmn2hpqqsa2i96kqsmphf7dqynfv0dlsd5")))) + (build-system python-build-system) + (inputs `(("python-six" ,python-six))) + (home-page "https://github.com/tadeck/onetimepass/") + (synopsis "One-time password library") + (description "Python one-time password library for HMAC-based (HOTP) and +time-based (TOTP) passwords.") + (license license:expat))) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 04e6a38e24..b139d2bc8c 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Quiliro <quiliro@fsfla.org> -;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; ;;; This file is part of GNU Guix. @@ -1022,7 +1022,7 @@ interacting with serial ports from within Qt."))) (define-public qtserialbus (package (inherit qtsvg) (name "qtserialbus") - (version "5.9.4") + (version "5.9.5") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1031,7 +1031,7 @@ interacting with serial ports from within Qt."))) version ".tar.xz")) (sha256 (base32 - "1i6b7w9z30mzzi0dcmrxx1scpzpnnw2fag1igvrnzvw1jwp414ff")))) + "0gz5xsskv02yy078yffxyn8rdlklf4rsgnqrziyz5ywxwdh96gn5")))) (inputs `(("qtbase" ,qtbase) ("qtserialport" ,qtserialport))) @@ -1281,7 +1281,7 @@ and mobile applications targeting TV-like form factors."))) (define-public qtscxml (package (inherit qtsvg) (name "qtscxml") - (version "5.9.4") + (version "5.9.5") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1290,7 +1290,7 @@ and mobile applications targeting TV-like form factors."))) version ".tar.xz")) (sha256 (base32 - "0x8bjp9jzib4kfn7rbricw4qr259qqsdbrz0dw39453s2m7cbv0x")) + "0knp328cinawz6xbhf9wd6h6gbwp74rb5cpmlr8gv3g5a7fjlsh1")) (modules '((guix build utils))) (snippet '(begin @@ -1397,7 +1397,7 @@ selecting one of the charts themes.") (define-public qtdatavis3d (package (inherit qtsvg) (name "qtdatavis3d") - (version "5.9.4") + (version "5.9.5") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1406,7 +1406,7 @@ selecting one of the charts themes.") version ".tar.xz")) (sha256 (base32 - "1ggwfnqf17mp5dkfr82q1qrimkb6wv3304vl8mjv1nq0zisckhjv")))) + "0i1zd7lcakhicfpqj7dlw8hzk8x5i4ddk1427jhxcpja48l4jxy5")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f))) ; TODO: Enable the tests diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 67dc6badfe..98bb5bd110 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -1617,13 +1617,13 @@ irb's last-word approach.") (define-public ruby-instantiator (package (name "ruby-instantiator") - (version "0.0.6") + (version "0.0.7") (source (origin (method url-fetch) (uri (rubygems-uri "instantiator" version)) (sha256 (base32 - "0mfmqhg9xrv9i8i1kmphf15ywddhivyh2z3ccl0xjw8qy54zr21i")))) + "0w07w3gkyqr7m0vz5h13vm8b411660qywjm2xxxgdjv4wb3fazbr")))) (build-system ruby-build-system) (arguments `(#:phases @@ -2998,13 +2998,13 @@ multibyte strings, internationalization, time zones, and testing.") (define-public ruby-crass (package (name "ruby-crass") - (version "1.0.3") + (version "1.0.4") (source (origin (method url-fetch) (uri (rubygems-uri "crass" version)) (sha256 (base32 - "1czijxlagzpzwchr2ldrgfi7kywg08idjpq37ndcmwh4fmz72c4l")))) + "0bpxzy6gjw9ggjynlxschbfsgmx8lv3zw1azkjvnb8b9i895dqfi")))) (build-system ruby-build-system) (native-inputs `(("bundler" ,bundler) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 70140579b6..0a9d5bb382 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2017, 2018 Nikolai Merinov <nikolai.merinov@member.fsf.org> ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018 Danny Milosavljevic <dannym+a@scratchpost.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -46,6 +47,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) #:use-module (guix download) + #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module ((guix build utils) #:select (alist-replace)) @@ -150,38 +152,23 @@ in turn be used to build the final Rust.") (modules '((guix build utils))) (snippet '(begin (delete-file-recursively "src/llvm") #t)))) -(define-public rust-1.23 +(define-public rust-1.19 (package (name "rust") - (version "1.23.0") - (source (rust-source version "14fb8vhjzsxlbi6yrn1r6fl5dlbdd1m92dn5zj5gmzfwf4w9ar3l")) - (build-system gnu-build-system) - (native-inputs - `(("bison" ,bison) ; For the tests - ("cmake" ,cmake) - ("flex" ,flex) ; For the tests - ("gdb" ,gdb) ; For the tests - ("git" ,git) - ("procps" ,procps) ; For the tests - ("python-2" ,python-2) - ("rustc-bootstrap" ,rust-bootstrap) - ("cargo-bootstrap" ,rust-bootstrap "cargo") - ("pkg-config" ,pkg-config) ; For "cargo" - ("which" ,which))) - (inputs - `(("jemalloc" ,jemalloc-4.5.0) - ("llvm" ,llvm-3.9.1) - ("openssl" ,openssl) - ("libcurl" ,curl))) ; For "cargo" - (outputs '("out" "doc" "cargo")) + (version "1.19.0") + (source (rust-source version "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm")) + (outputs '("out" "cargo")) (arguments `(#:imported-modules ,%cargo-build-system-modules ;for `generate-checksums' #:phases (modify-phases %standard-phases (add-after 'unpack 'set-env - (lambda _ + (lambda* (#:key inputs #:allow-other-keys) + ;; Disable test for cross compilation support. + (setenv "CFG_DISABLE_CROSS_TESTS" "1") (setenv "SHELL" (which "sh")) (setenv "CONFIG_SHELL" (which "sh")) + (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc")) ;; guix llvm-3.9.1 package installs only shared libraries (setenv "LLVM_LINK_SHARED" "1") #t)) @@ -199,20 +186,17 @@ in turn be used to build the final Rust.") "#[ignore]\nfn connect_timeout_unroutable")) ;; <https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00222.html> (substitute* "src/libstd/sys/unix/process/process_common.rs" - (("fn test_process_mask") "#[ignore]\nfn test_process_mask")) + (("fn test_process_mask") "#[allow(unused_attributes)] + #[ignore] + fn test_process_mask")) ;; Our ld-wrapper cannot process non-UTF8 bytes in LIBRARY_PATH. ;; <https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00193.html> (delete-file-recursively "src/test/run-make/linker-output-non-utf8") + (substitute* "src/librustc_back/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")) #t))) - (add-after 'patch-tests 'fix-mtime-bug - (lambda* _ - (substitute* "src/build_helper/lib.rs" - ;; Bug in Rust code. - ;; Current implementation assume that if dst not exist then it's mtime - ;; is 0, but in same time "src" have 0 mtime in guix build! - (("let threshold = mtime\\(dst\\);") - "if !dst.exists() {\nreturn false\n}\n let threshold = mtime(dst);")) - #t)) (add-after 'patch-source-shebangs 'patch-cargo-checksums (lambda* _ (substitute* "src/Cargo.lock" @@ -230,20 +214,187 @@ in turn be used to build the final Rust.") (find-files "src/vendor" ".cargo-checksum.json")) #t)) (replace 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (doc (assoc-ref outputs "doc")) - (gcc (assoc-ref inputs "gcc")) - (gdb (assoc-ref inputs "gdb")) - (binutils (assoc-ref inputs "binutils")) - (python (assoc-ref inputs "python-2")) - (rustc (assoc-ref inputs "rustc-bootstrap")) - (cargo (assoc-ref inputs "cargo-bootstrap")) - (llvm (assoc-ref inputs "llvm")) - (jemalloc (assoc-ref inputs "jemalloc"))) - (call-with-output-file "config.toml" - (lambda (port) - (display (string-append " + (const #t)) + (replace 'check + (const #t)) + (replace 'install + (const #t))))) + (build-system gnu-build-system) + (native-inputs + `(("bison" ,bison) ; For the tests + ("cmake" ,cmake) + ("flex" ,flex) ; For the tests + ("gdb" ,gdb) ; For the tests + ("git" ,git) + ("procps" ,procps) ; For the tests + ("python-2" ,python-2) + ("rustc-bootstrap" ,rust-bootstrap) + ("cargo-bootstrap" ,rust-bootstrap "cargo") + ("pkg-config" ,pkg-config) ; For "cargo" + ("which" ,which))) + (inputs + `(("jemalloc" ,jemalloc-4.5.0) + ("llvm" ,llvm-3.9.1) + ("openssl" ,openssl) + ("libcurl" ,curl))) ; For "cargo" + ;; rustc invokes gcc, so we need to set its search paths accordingly. + (native-search-paths (package-native-search-paths gcc)) + (synopsis "Compiler for the Rust progamming language") + (description "Rust is a systems programming language that provides memory +safety and thread safety guarantees.") + (home-page "https://www.rust-lang.org") + ;; Dual licensed. + (license (list license:asl2.0 license:expat)))) + +(define (rust-bootstrapped-package base-rust version checksum) + "Bootstrap rust VERSION with source checksum CHECKSUM using BASE-RUST." + (package + (inherit base-rust) + (version version) + (source + (rust-source version checksum)) + (native-inputs + (alist-replace "cargo-bootstrap" (list base-rust "cargo") + (alist-replace "rustc-bootstrap" (list base-rust) + (package-native-inputs base-rust)))))) + +(define-public mrustc + (let ((commit "4f98e4322ef7aabd3bbef8cd93c0980cd6eeeed1") + (revision "1") + (rustc-version "1.19.0")) + (package + (name "mrustc") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/thepowersgang/mrustc.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1hk1x2iv64il5g2n3z06d6h219hnxg1w84lj7vi1lydqa65qk92p")))) + (outputs '("out" "cargo")) + (build-system gnu-build-system) + (inputs + `(("llvm" ,llvm-3.9.1))) + (native-inputs + `(("bison" ,bison) + ("flex" ,flex) + ;; Required for the libstd sources. + ("rustc" + ,(rust-source "1.19.0" "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm")))) + (arguments + `(#:tests? #f + #:make-flags (list (string-append "LLVM_CONFIG=" + (assoc-ref %build-inputs "llvm") + "/bin/llvm-config")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'unpack-target-compiler + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "minicargo.mk" + ;; Don't try to build LLVM. + (("^[$][(]LLVM_CONFIG[)]:") "xxx:") + ;; Build for the correct target architecture. + (("^RUSTC_TARGET := x86_64-unknown-linux-gnu") + (string-append "RUSTC_TARGET := " + ,(or (%current-target-system) + (nix-system->gnu-triplet + (%current-system)))))) + (invoke "tar" "xf" (assoc-ref inputs "rustc")) + (chdir "rustc-1.19.0-src") + (invoke "patch" "-p0" "../rust_src.patch") + (chdir "..") + #t)) + (delete 'configure) + (add-after 'build 'build-minicargo + (lambda _ + (for-each (lambda (target) + (invoke "make" "-f" "minicargo.mk" target)) + '("output/libstd.hir" "output/libpanic_unwind.hir" + "output/libproc_macro.hir" "output/libtest.hir")) + ;; Technically the above already does it - but we want to be clear. + (invoke "make" "-C" "tools/minicargo"))) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (tools-bin (string-append out "/tools/bin")) + (cargo-out (assoc-ref outputs "cargo")) + (cargo-bin (string-append cargo-out "/bin")) + (lib (string-append out "/lib")) + (lib/rust (string-append lib "/mrust")) + (gcc (assoc-ref inputs "gcc"))) + ;; These files are not reproducible. + (for-each delete-file (find-files "output" "\\.txt$")) + (mkdir-p lib) + (copy-recursively "output" lib/rust) + (mkdir-p bin) + (mkdir-p tools-bin) + (install-file "bin/mrustc" bin) + ;; minicargo uses relative paths to resolve mrustc. + (install-file "tools/bin/minicargo" tools-bin) + (install-file "tools/bin/minicargo" cargo-bin) + #t)))))) + (synopsis "Compiler for the Rust progamming language") + (description "Rust is a systems programming language that provides memory +safety and thread safety guarantees.") + (home-page "https://github.com/thepowersgang/mrustc") + ;; Dual licensed. + (license (list license:asl2.0 license:expat))))) + +(define-public rust-1.23 + (package + (inherit rust-1.19) + (name "rust") + (version "1.23.0") + (source (rust-source version "14fb8vhjzsxlbi6yrn1r6fl5dlbdd1m92dn5zj5gmzfwf4w9ar3l")) + (outputs '("out" "doc" "cargo")) + (arguments + (substitute-keyword-arguments (package-arguments rust-1.19) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'dont-build-native + (lambda _ + ;; XXX: Revisit this when we use gcc 6. + (substitute* "src/binaryen/CMakeLists.txt" + (("ADD_COMPILE_FLAG\\(\\\"-march=native\\\"\\)") "")) + #t)) + (add-after 'patch-tests 'patch-cargo-tests + (lambda _ + (substitute* "src/tools/cargo/tests/build.rs" + (("/usr/bin/env") (which "env")) + ;; Guix llvm is compiled without asmjs-unknown-emscripten. + (("fn wasm32_final_outputs") "#[ignore]\nfn wasm32_final_outputs")) + (substitute* "src/tools/cargo/tests/death.rs" + ;; This is stuck when built in container. + (("fn ctrl_c_kills_everyone") "#[ignore]\nfn ctrl_c_kills_everyone")) + #t)) + (add-after 'patch-cargo-tests 'fix-mtime-bug + (lambda* _ + (substitute* "src/build_helper/lib.rs" + ;; Bug in Rust code. + ;; Current implementation assume that if dst not exist then it's mtime + ;; is 0, but in same time "src" have 0 mtime in guix build! + (("let threshold = mtime\\(dst\\);") + "if !dst.exists() {\nreturn false\n}\n let threshold = mtime(dst);")) + #t)) + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc")) + (gcc (assoc-ref inputs "gcc")) + (gdb (assoc-ref inputs "gdb")) + (binutils (assoc-ref inputs "binutils")) + (python (assoc-ref inputs "python-2")) + (rustc (assoc-ref inputs "rustc-bootstrap")) + (cargo (assoc-ref inputs "cargo-bootstrap")) + (llvm (assoc-ref inputs "llvm")) + (jemalloc (assoc-ref inputs "jemalloc"))) + (call-with-output-file "config.toml" + (lambda (port) + (display (string-append " [llvm] [build] cargo = \"" cargo "/bin/cargo" "\" @@ -289,7 +440,8 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" (invoke "./x.py" "build" "src/tools/cargo"))) (replace 'check (lambda* _ - (invoke "./x.py" "test"))) + (invoke "./x.py" "test") + (invoke "./x.py" "test" "src/tools/cargo"))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (invoke "./x.py" "install") @@ -308,29 +460,63 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" (wrap-program (string-append out "/bin/rustc") `("PATH" ":" prefix (,(string-append ld-wrapper "/bin"))) `("LIBRARY_PATH" ":" suffix (,(string-append libc "/lib")))) - #t)))))) - ;; rustc invokes gcc, so we need to set its search paths accordingly. - (native-search-paths (package-native-search-paths gcc)) - (synopsis "Compiler for the Rust progamming language") - (description "Rust is a systems programming language that provides memory -safety and thread safety guarantees.") - (home-page "https://www.rust-lang.org") - ;; Dual licensed. - (license (list license:asl2.0 license:expat)))) + #t))))))))) + +(define-public rust-1.24 + (let ((base-rust + (rust-bootstrapped-package rust-1.23 "1.24.1" + "1vv10x2h9kq7fxh2v01damdq8pvlp5acyh1kzcda9sfjx12kv99y"))) + (package + (inherit base-rust) + (arguments + (substitute-keyword-arguments (package-arguments base-rust) + ((#:phases phases) + `(modify-phases ,phases + (replace 'patch-tests + (lambda* (#:key inputs #:allow-other-keys) + (let ((bash (assoc-ref inputs "bash"))) + (substitute* "src/libstd/process.rs" + ;; The newline is intentional. + ;; There's a line length "tidy" check in Rust which would + ;; fail otherwise. + (("\"/bin/sh\"") (string-append "\n\"" bash "/bin/sh\""))) + (substitute* "src/libstd/net/tcp.rs" + ;; There is no network in build environment + (("fn connect_timeout_unroutable") + "#[ignore]\nfn connect_timeout_unroutable")) + ;; <https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00222.html> + (substitute* "src/libstd/sys/unix/process/process_common.rs" + (("fn test_process_mask") "#[allow(unused_attributes)] + #[ignore] + fn test_process_mask")) + ;; Our ld-wrapper cannot process non-UTF8 bytes in LIBRARY_PATH. + ;; <https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00193.html> + (delete-file-recursively "src/test/run-make/linker-output-non-utf8") + (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")) + #t))) + (delete 'fix-mtime-bug)))))))) (define-public rust - (let ((base-rust rust-1.23)) + (let ((base-rust rust-1.24)) (package (inherit base-rust) - (version "1.24.1") + (version "1.25.0") (source (rust-source version - "1vv10x2h9kq7fxh2v01damdq8pvlp5acyh1kzcda9sfjx12kv99y")) + "0baxjr99311lvwdq0s38bipbnj72pn6fgbk6lcq7j555xq53mxpf")) (native-inputs (alist-replace "cargo-bootstrap" (list base-rust "cargo") (alist-replace "rustc-bootstrap" (list base-rust) (package-native-inputs base-rust)))) (arguments (substitute-keyword-arguments (package-arguments base-rust) - ((#:phases phases) `(modify-phases ,phases - (delete 'fix-mtime-bug)))))))) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'patch-cargo-tests 'patch-cargo-index-update + (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"))))))))))) diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index dca2e166f5..13b904a6c5 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -150,14 +150,14 @@ anywhere.") (define-public samba (package (name "samba") - (version "4.7.6") + (version "4.7.7") (source (origin (method url-fetch) (uri (string-append "https://download.samba.org/pub/samba/stable/" "samba-" version ".tar.gz")) (sha256 (base32 - "0vkxqp3wh7bpn1fd45lznmrpn2ma1fq75yq28vi08rggr07y7v8y")))) + "0c81x2ncnvz3mi6fjj81clm1mh049d3ip3fj031l44qclxpx3yi9")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm index 73dec67d15..77afe2a11e 100644 --- a/gnu/packages/serialization.scm +++ b/gnu/packages/serialization.scm @@ -368,14 +368,14 @@ However, “Memory efficiency” and “Speed” have not been primary goals.") (define-public python-ruamel.yaml (package (name "python-ruamel.yaml") - (version "0.15.35") + (version "0.15.37") (source (origin (method url-fetch) (uri (pypi-uri "ruamel.yaml" version)) (sha256 (base32 - "0xggyfaj6vprggahf7cq8kp9j79rb7hn8ndk3bxj2sxvwhhliiwd")))) + "0629xzlwbddfwp8lkjz3mpvxhml9kx17cfs8aydzg55idzcl562h")))) (build-system python-build-system) (native-inputs `(("python-pytest" ,python-pytest))) @@ -420,7 +420,7 @@ to generate and parse. The two primary functions are @code{cbor.loads} and (define-public flatbuffers (package (name "flatbuffers") - (version "1.8.0") + (version "1.9.0") (source (origin (method url-fetch) @@ -428,7 +428,7 @@ to generate and parse. The two primary functions are @code{cbor.loads} and version ".tar.gz")) (sha256 (base32 - "0blc978wc5h91662vai24xj92c3bx56y6hzid90qva7il302jl64")))) + "1qs7sa9q4q6hs12yp875lvrv6393178qcmqs1ziwmjk088g4k9aw")))) (build-system cmake-build-system) (arguments '(#:build-type "Release" diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index 4a0d46c4a3..5527e8ab79 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -358,14 +358,14 @@ ksh, and tcsh.") (define-public xonsh (package (name "xonsh") - (version "0.6.0") + (version "0.6.1") (source (origin (method url-fetch) (uri (pypi-uri "xonsh" version)) (sha256 (base32 - "1ikd1xg4iyjqp51y8g8n6c4y39bgx85xnb4bdd3zibkqac3lrahr")) + "09rrfcwpirbxmjjqnsbyn7lwm1wyn41z5zhkbnv57i5hcgs72kx6")) (modules '((guix build utils))) (snippet `(begin @@ -576,7 +576,7 @@ The OpenBSD Korn Shell is a cleaned up and enhanced ksh.") (define-public loksh (package (name "loksh") - (version "6.2") + (version "6.3") (source (origin (method url-fetch) @@ -585,7 +585,7 @@ The OpenBSD Korn Shell is a cleaned up and enhanced ksh.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "16mgxby77wgjg1ybp4fb9cvi7a4a387xmfivdxnhphg0vhyr8qd3")))) + "0i1b60g1p19s5cnzz0nmjzjnxywm9szzyp1rcwfcx3gmzvrwr2sc")))) (build-system gnu-build-system) (inputs `(("libbsd" ,libbsd))) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 81c38b441e..5069ef7c5d 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -466,14 +466,14 @@ also flexible enough to handle most nonstandard requirements.") (define-public r-matrix (package (name "r-matrix") - (version "1.2-13") + (version "1.2-14") (source (origin (method url-fetch) (uri (cran-uri "Matrix" version)) (sha256 (base32 - "1j4fyn2r3ds51hrxch738gn7d9qvpi4b01n0rxzw5jpv28rnpyvx")))) + "15hknim84nj3f54vkchca5ac0c3ip15v1by18k5parmn8wsl19j9")))) (properties `((upstream-name . "Matrix"))) (build-system r-build-system) (propagated-inputs @@ -1331,13 +1331,13 @@ syntax that can be converted to XHTML or other formats.") (define-public r-yaml (package (name "r-yaml") - (version "2.1.17") + (version "2.1.18") (source (origin (method url-fetch) (uri (cran-uri "yaml" version)) (sha256 (base32 - "10y6wnv2v8k396far29haqv2s82p4zm04rrsxk183wg19gb51was")))) + "15m4q5krfqg0avvqg9i2g6ns4757lk6zbyrwbx5c5bgh51glvd8v")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/yaml/") (synopsis "Methods to convert R data to YAML and back") @@ -1904,14 +1904,14 @@ chain.") (define-public r-ade4 (package (name "r-ade4") - (version "1.7-10") + (version "1.7-11") (source (origin (method url-fetch) (uri (cran-uri "ade4" version)) (sha256 (base32 - "0zk81x0yn30gbyc0jpzyw1nxd08ccihl6vyk0ijvj3aw3nr5flc6")))) + "0wm54wcpn87rdh6vyw04cr8vgba899y6jsl61f22bmlvx6d7kkac")))) (build-system r-build-system) (propagated-inputs `(("r-mass" ,r-mass))) @@ -2377,14 +2377,14 @@ were originally a part of the r-devtools package.") (define-public r-hms (package (name "r-hms") - (version "0.4.1") + (version "0.4.2") (source (origin (method url-fetch) (uri (cran-uri "hms" version)) (sha256 (base32 - "0vr7k3a7k52a5yf67bwzl88lkjz09v1avw5axdk1y9v3nz33zl2h")))) + "1g6hslk3z0xga38r71irxq802wskg6nv804mp8y9f7i2wfrj0y55")))) (build-system r-build-system) (propagated-inputs `(("r-rlang" ,r-rlang) @@ -2734,6 +2734,18 @@ engine (version 3.8.8.2) is included.") "0l7qi45jxlf898n0jazabnam1yyczvqfdknd00bdirhhiplpd1sc")))) (properties `((upstream-name . "RCurl"))) (build-system r-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'respect-CURL_CA_BUNDLE + (lambda _ + (substitute* "R/options.S" + (("\\.els = rev\\(merge\\(list\\(\\.\\.\\.\\), \\.opts\\)\\)" m) + (string-append "\ +certs = Sys.getenv(\"CURL_CA_BUNDLE\") +if (certs != \"\") { .opts = merge.list(.opts, list(cainfo=certs)) } +" m))) + #t))))) (inputs `(("libcurl" ,curl))) (propagated-inputs @@ -5363,14 +5375,14 @@ is supported.") (define-public r-lubridate (package (name "r-lubridate") - (version "1.7.3") + (version "1.7.4") (source (origin (method url-fetch) (uri (cran-uri "lubridate" version)) (sha256 (base32 - "1pzkqfiahnsdm3zx46asgn8fw43vlxvbh7r4cn70c7ffmxabzzrc")))) + "14a823il77w3wmmnzr89vwrqp50y56dh5raycnaw6c8nv5xsh32i")))) (build-system r-build-system) (propagated-inputs `(("r-rcpp" ,r-rcpp) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 5868bdbad9..93390df946 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -23,7 +23,8 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) - #:use-module (guix licenses)) + #:use-module (guix licenses) + #:use-module (gnu packages golang)) (define-public syncthing (package @@ -908,302 +909,6 @@ libraries are in the same directory.") (home-page (package-home-page go-golang-org-x-crypto-bcrypt)) (license (package-license go-golang-org-x-crypto-bcrypt)))) -(define-public go-golang-org-x-crypto-bcrypt - (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") - (revision "1")) - (package - (name "go-golang-org-x-crypto-bcrypt") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://go.googlesource.com/crypto") - (commit commit))) - (file-name (string-append "go.googlesource.com-crypto-" - version "-checkout")) - (sha256 - (base32 - "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) - (build-system go-build-system) - (arguments - `(#:import-path "golang.org/x/crypto/bcrypt" - #:unpack-path "golang.org/x/crypto" - #:phases - (modify-phases %standard-phases - (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable - (lambda* (#:key outputs #:allow-other-keys) - (map (lambda (file) - (make-file-writable file)) - (find-files - (string-append (assoc-ref outputs "out") - "/src/golang.org/x/crypto/ed25519/testdata") - ".*\\.gz$")) - #t))))) - (synopsis "Bcrypt in Go") - (description "This package provides a Go implementation of the bcrypt -password hashing function.") - (home-page "https://go.googlesource.com/crypto/") - (license bsd-3)))) - -(define-public go-golang-org-x-crypto-blowfish - (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") - (revision "1")) - (package - (name "go-golang-org-x-crypto-blowfish") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://go.googlesource.com/crypto") - (commit commit))) - (file-name (string-append "go.googlesource.com-crypto-" - version "-checkout")) - (sha256 - (base32 - "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) - (build-system go-build-system) - (arguments - `(#:import-path "golang.org/x/crypto/blowfish" - #:unpack-path "golang.org/x/crypto" - #:phases - (modify-phases %standard-phases - (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable - (lambda* (#:key outputs #:allow-other-keys) - (map (lambda (file) - (make-file-writable file)) - (find-files - (string-append (assoc-ref outputs "out") - "/src/golang.org/x/crypto/ed25519/testdata") - ".*\\.gz$")) - #t))))) - (synopsis "Blowfish in Go") - (description "This package provides a Go implementation of the Blowfish -symmetric-key block cipher.") - (home-page "https://go.googlesource.com/crypto/") - (license bsd-3)))) - -(define-public go-golang-org-x-crypto-pbkdf2 - (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") - (revision "1")) - (package - (name "go-golang-org-x-crypto-pbkdf2") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://go.googlesource.com/crypto") - (commit commit))) - (file-name (string-append "go.googlesource.com-crypto-" - version "-checkout")) - (sha256 - (base32 - "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) - (build-system go-build-system) - (arguments - `(#:import-path "golang.org/x/crypto/pbkdf2" - #:unpack-path "golang.org/x/crypto" - #:phases - (modify-phases %standard-phases - (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable - (lambda* (#:key outputs #:allow-other-keys) - (map (lambda (file) - (make-file-writable file)) - (find-files - (string-append (assoc-ref outputs "out") - "/src/golang.org/x/crypto/ed25519/testdata") - ".*\\.gz$")) - #t))))) - (synopsis "PBKDF2 in Go") - (description "This package provides a Go implementation of the PBKDF2 key -derivation function.") - (home-page "https://go.googlesource.com/crypto/") - (license bsd-3)))) - -(define-public go-golang-org-x-crypto-tea - (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") - (revision "1")) - (package - (name "go-golang-org-x-crypto-tea") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://go.googlesource.com/crypto") - (commit commit))) - (file-name (string-append "go.googlesource.com-crypto-" - version "-checkout")) - (sha256 - (base32 - "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) - (build-system go-build-system) - (arguments - `(#:import-path "golang.org/x/crypto/tea" - #:unpack-path "golang.org/x/crypto" - #:phases - (modify-phases %standard-phases - (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable - (lambda* (#:key outputs #:allow-other-keys) - (map (lambda (file) - (make-file-writable file)) - (find-files - (string-append (assoc-ref outputs "out") - "/src/golang.org/x/crypto/ed25519/testdata") - ".*\\.gz$")) - #t))))) - (synopsis "Tiny Encryption Algorithm (TEA) in Go") - (description "This packages a Go implementation of the Tiny Encryption -Algorithm (TEA) block cipher.") - (home-page "https://go.googlesource.com/crypto/") - (license bsd-3)))) - -(define-public go-golang-org-x-crypto-salsa20 - (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") - (revision "1")) - (package - (name "go-golang-org-x-crypto-salsa20") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://go.googlesource.com/crypto") - (commit commit))) - (file-name (string-append "go.googlesource.com-crypto-" - version "-checkout")) - (sha256 - (base32 - "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) - (build-system go-build-system) - (arguments - `(#:import-path "golang.org/x/crypto/salsa20" - #:unpack-path "golang.org/x/crypto" - #:phases - (modify-phases %standard-phases - (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable - (lambda* (#:key outputs #:allow-other-keys) - (map (lambda (file) - (make-file-writable file)) - (find-files - (string-append (assoc-ref outputs "out") - "/src/golang.org/x/crypto/ed25519/testdata") - ".*\\.gz$")) - #t))))) - (synopsis "Salsa20 in Go") - (description "This packages provides a Go implementation of the Salsa20 -stream cipher.") - (home-page "https://go.googlesource.com/crypto/") - (license bsd-3)))) - -(define-public go-golang-org-x-crypto-cast5 - (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") - (revision "1")) - (package - (name "go-golang-org-x-crypto-cast5") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://go.googlesource.com/crypto") - (commit commit))) - (file-name (string-append "go.googlesource.com-crypto-" - version "-checkout")) - (sha256 - (base32 - "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) - (build-system go-build-system) - (arguments - `(#:import-path "golang.org/x/crypto/cast5" - #:unpack-path "golang.org/x/crypto" - #:phases - (modify-phases %standard-phases - (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable - (lambda* (#:key outputs #:allow-other-keys) - (map (lambda (file) - (make-file-writable file)) - (find-files - (string-append (assoc-ref outputs "out") - "/src/golang.org/x/crypto/ed25519/testdata") - ".*\\.gz$")) - #t))))) - (synopsis "Cast5 in Go") - (description "This packages provides a Go implementation of the Cast5 -symmetric-key block cipher.") - (home-page "https://go.googlesource.com/crypto/") - (license bsd-3)))) - -(define-public go-golang-org-x-crypto-twofish - (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") - (revision "1")) - (package - (name "go-golang-org-x-crypto-twofish") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://go.googlesource.com/crypto") - (commit commit))) - (file-name (string-append "go.googlesource.com-crypto-" - version "-checkout")) - (sha256 - (base32 - "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) - (build-system go-build-system) - (arguments - `(#:import-path "golang.org/x/crypto/twofish" - #:unpack-path "golang.org/x/crypto" - #:phases - (modify-phases %standard-phases - (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable - (lambda* (#:key outputs #:allow-other-keys) - (map (lambda (file) - (make-file-writable file)) - (find-files - (string-append (assoc-ref outputs "out") - "/src/golang.org/x/crypto/ed25519/testdata") - ".*\\.gz$")) - #t))))) - (synopsis "Twofish in Go") - (description "This packages provides a Go implementation of the Twofish -symmetric-key block cipher.") - (home-page "https://go.googlesource.com/crypto/") - (license bsd-3)))) - -(define-public go-golang-org-x-crypto-xtea - (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") - (revision "1")) - (package - (name "go-golang-org-x-crypto-xtea") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://go.googlesource.com/crypto") - (commit commit))) - (file-name (string-append "go.googlesource.com-crypto-" - version "-checkout")) - (sha256 - (base32 - "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) - (build-system go-build-system) - (arguments - `(#:import-path "golang.org/x/crypto/xtea" - #:unpack-path "golang.org/x/crypto" - #:phases - (modify-phases %standard-phases - (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable - (lambda* (#:key outputs #:allow-other-keys) - (map (lambda (file) - (make-file-writable file)) - (find-files - (string-append (assoc-ref outputs "out") - "/src/golang.org/x/crypto/ed25519/testdata") - ".*\\.gz$")) - #t))))) - (synopsis "eXtended Tiny Encryption Algorithm (XTEA) in Go") - (description "This package provides a Go implementation of the eXtended -Tiny Encryption Algorithm (XTEA) block cipher.") - (home-page "https://go.googlesource.com/crypto/") - (license bsd-3)))) - (define* (go-golang-org-x-net-union #:optional (packages (list go-golang-org-x-net-ipv4 go-golang-org-x-net-bpf @@ -1234,195 +939,6 @@ Tiny Encryption Algorithm (XTEA) block cipher.") (home-page (package-home-page go-golang-org-x-net-ipv4)) (license (package-license go-golang-org-x-net-ipv4)))) -(define-public go-golang-org-x-net-ipv4 - (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6") - (revision "1")) - (package - (name "go-golang-org-x-net-ipv4") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://go.googlesource.com/net") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03")))) - (build-system go-build-system) - (arguments - `(#:import-path "golang.org/x/net/ipv4" - #:unpack-path "golang.org/x/net")) - (synopsis "Go IPv4 support") - (description "This package provides @code{ipv4}, which implements IP-level -socket options for the Internet Protocol version 4.") - (home-page "https://go.googlesource.com/net") - (license bsd-3)))) - -(define-public go-golang-org-x-net-bpf - (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6") - (revision "1")) - (package - (name "go-golang-org-x-net-bpf") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://go.googlesource.com/net") - (commit commit))) - (file-name (string-append "go.googlesource.com-net-" - version "-checkout")) - (sha256 - (base32 - "10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03")))) - (build-system go-build-system) - (arguments - `(#:import-path "golang.org/x/net/bpf" - #:unpack-path "golang.org/x/net")) - (synopsis "Berkeley Packet Filters (BPF) in Go") - (description "This packages provides a Go implementation of the Berkeley -Packet Filter (BPF) virtual machine.") - (home-page "https://go.googlesource.com/net/") - (license bsd-3)))) - -(define-public go-golang-org-x-net-context - (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6") - (revision "1")) - (package - (name "go-golang-org-x-net-context") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://go.googlesource.com/net") - (commit commit))) - (file-name (string-append "go.googlesource.com-net-" - version "-checkout")) - (sha256 - (base32 - "10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03")))) - (build-system go-build-system) - (arguments - `(#:import-path "golang.org/x/net/context" - #:unpack-path "golang.org/x/net")) - (synopsis "Golang Context type") - (description "This packages provides @code{context}, which defines the -Context type, which carries deadlines, cancelation signals, and other -request-scoped values across API boundaries and between processes.") - (home-page "https://go.googlesource.com/net/") - (license bsd-3)))) - -(define-public go-golang-org-x-net-internal-iana - (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6") - (revision "1")) - (package - (name "go-golang-org-x-net-internal-iana") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://go.googlesource.com/net") - (commit commit))) - (file-name (string-append "go.googlesource.com-net-" - version "-checkout")) - (sha256 - (base32 - "10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03")))) - (build-system go-build-system) - (arguments - `(#:import-path "golang.org/x/net/internal/iana" - #:unpack-path "golang.org/x/net")) - (synopsis "Go support for assigned numbers (IANA)") - (description "This packages provides @code{iana}, which provides protocol -number resources managed by the Internet Assigned Numbers Authority (IANA).") - (home-page "https://go.googlesource.com/net/") - (license bsd-3)))) - -(define-public go-golang-org-x-net-ipv6 - (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6") - (revision "1")) - (package - (name "go-golang-org-x-net-ipv6") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://go.googlesource.com/net") - (commit commit))) - (file-name (string-append "go.googlesource.com-net-" - version "-checkout")) - (sha256 - (base32 - "10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03")))) - (build-system go-build-system) - (arguments - `(#:import-path "golang.org/x/net/ipv6" - #:unpack-path "golang.org/x/net")) - (synopsis "Go IPv6 support") - (description "This packages provides @code{ipv6}, which implements -IP-level socket options for the Internet Protocol version 6.") - (home-page "https://go.googlesource.com/net") - (license bsd-3)))) - -(define-public go-golang-org-x-net-proxy - (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6") - (revision "1")) - (package - (name "go-golang-org-x-net-proxy") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://go.googlesource.com/net") - (commit commit))) - (file-name (string-append "go.googlesource.com-net-" - version "-checkout")) - (sha256 - (base32 - "10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03")))) - (build-system go-build-system) - (arguments - `(#:import-path "golang.org/x/net/proxy" - #:unpack-path "golang.org/x/net/")) - (synopsis "Go support for network proxies") - (description "This packages provides @code{proxy}, which provides support -for a variety of protocols to proxy network data.") - (home-page "https://go.googlesource.com/net") - (license bsd-3)))) - -(define-public go-golang-org-x-sys-unix - (let ((commit "83801418e1b59fb1880e363299581ee543af32ca") - (revision "1")) - (package - (name "go-golang-org-x-sys-unix") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://go.googlesource.com/sys") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0ilykaanvnzb27d42kmbr4i37hcn7hgqbx98z945gy63aa8dskji")))) - (build-system go-build-system) - (arguments - `(#:import-path "golang.org/x/sys/unix" - #:unpack-path "golang.org/x/sys" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-tests - (lambda _ - (pk (getcwd)) - (substitute* "src/golang.org/x/sys/unix/syscall_unix_test.go" - (("/usr/bin") "/tmp")) - #t))))) - (synopsis "Go support for low-level system interaction") - (description "This package provides @code{unix}, which offers Go support -for low-level interaction with the operating system.") - (home-page "https://go.googlesource.com/sys") - (license bsd-3)))) - (define* (go-golang-org-x-text-union #:optional (packages (list go-golang-org-x-text-transform go-golang-org-x-text-unicode-norm))) @@ -1449,60 +965,6 @@ for low-level interaction with the operating system.") (home-page (package-home-page go-golang-org-x-text-transform)) (license (package-license go-golang-org-x-text-transform)))) -(define-public go-golang-org-x-text-transform - (let ((commit "e19ae1496984b1c655b8044a65c0300a3c878dd3") - (revision "1")) - (package - (name "go-golang-org-x-text-transform") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://go.googlesource.com/text") - (commit commit))) - (file-name (string-append "go.googlesource.com-text-" - version "-checkout")) - (sha256 - (base32 - "1cvnnx8nwx5c7gr6ajs7sldhbqh52n7h6fsa3i21l2lhx6xrsh4w")))) - (build-system go-build-system) - (arguments - `(#:import-path "golang.org/x/text/transform" - #:unpack-path "golang.org/x/text")) - (synopsis "Go text transformation") - (description "This package provides @code{transform}, which provides -reader and writer wrappers that transform the bytes passing through. Example -transformations provided by other packages include normalization and conversion -between character sets.") - (home-page "https://go.googlesource.com/text") - (license bsd-3)))) - -(define-public go-golang-org-x-text-unicode-norm - (let ((commit "e19ae1496984b1c655b8044a65c0300a3c878dd3") - (revision "1")) - (package - (name "go-golang-org-x-text-unicode-norm") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://go.googlesource.com/text") - (commit commit))) - (file-name (string-append "go.googlesource.com-text-" - version "-checkout")) - (sha256 - (base32 - "1cvnnx8nwx5c7gr6ajs7sldhbqh52n7h6fsa3i21l2lhx6xrsh4w")))) - (build-system go-build-system) - (arguments - `(#:import-path "golang.org/x/text/unicode/norm" - #:unpack-path "golang.org/x/text")) - (synopsis "Unicode normalization in Go") - (description "This package provides @code{norm}, which contains types and -functions for normalizing Unicode strings.") - (home-page "https://go.googlesource.com/text") - (license bsd-3)))) - (define-public go-github-com-audriusbutkevicius-pfilter (let ((commit "9dca34a5b530bfc9843fa8aa2ff08ff9821032cb") (revision "2")) @@ -1578,33 +1040,6 @@ error handling primitives in Go.") (home-page "https://github.com/pkg/errors") (license bsd-2)))) -(define-public go-golang-org-x-time-rate - (let ((commit "6dc17368e09b0e8634d71cac8168d853e869a0c7") - (revision "1")) - (package - (name "go-golang-org-x-time-rate") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://go.googlesource.com/time") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1fx4cf5fpdz00g3c7vxzy92hdcg0vh4yqw00qp5s52j72qixynbk")))) - (build-system go-build-system) - (arguments - `(#:import-path "golang.org/x/time/rate" - #:unpack-path "golang.org/x/time")) - (propagated-inputs - `(("go-golang-org-x-net-context" ,go-golang-org-x-net-context))) - (synopsis "Rate limiting in Go") - (description "This package provides @{rate}, which implements rate -limiting in Go.") - (home-page "https://godoc.org/golang.org/x/time/rate") - (license bsd-3)))) - (define-public go-github-com-petermattis-goid (let ((commit "3db12ebb2a599ba4a96bea1c17b61c2f78a40e02") (revision "0")) diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 48c5f1f979..399a633269 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -441,11 +441,11 @@ embedded kernel situations.") (license license:expat))) (define-public cool-retro-term - (let ((commit "e48719fa44e5307df71dbd0fad234f8a6a53f863") + (let ((commit "dd799cf5c0eda92cf44f3938c0c2dcae5651a99e") (revision "1")) (package (name "cool-retro-term") - (version (string-append "1.0.0-" revision "." (string-take commit 7))) + (version (string-append "1.0.1-" revision "." (string-take commit 7))) (source (origin (method git-fetch) (file-name (string-append name "-" version "-checkout")) @@ -454,35 +454,111 @@ embedded kernel situations.") (commit commit) (recursive? #t))) (sha256 - (base32 "1sgqbirninkvgwchr35zgn5vzqvsmrf3cp7lqady1xgrawb8lsz3")) + (base32 "08mrvj8zk9ck15q90ipjzza1acnnsjhprv2rxg8yyck0xl9p40jd")) (patches - (search-patches "cool-retro-term-remove-non-free-fonts.patch" - "cool-retro-term-fix-array-size.patch" + (search-patches "cool-retro-term-fix-array-size.patch" "cool-retro-term-dont-check-uninit-member.patch" "cool-retro-term-memory-leak-1.patch")) - (modules '((guix build utils))) + (modules '((guix build utils) + (srfi srfi-1) + (srfi srfi-26) + (ice-9 rdelim) + (ice-9 regex))) (snippet - '(begin + '(let* ((fonts '(;"1971-ibm-3278" ; BSD 3-clause + ;"1975-knight-tv" ; GPL + "1977-apple2" ; Non-Free + "1977-commodore-pet" ; Non-Free + "1979-atari-400-800" ; Non-Free + "1982-commodore64" ; Non-Free + "1985-atari-st" ; ? + "1985-ibm-pc-vga" ; Unclear + ;"modern-fixedsys-excelsior" ; Redistributable + ;"modern-hermit" ; SIL + ;"modern-inconsolata"; SIL + ;"modern-pro-font-win-tweaked" ; X11 + ;"modern-proggy-tiny"; X11 + ;"modern-terminus" ; SIL + "modern-monaco")) ; Apple Non-Free + (name-rx (make-regexp " *name: *\"([^\"]*)\"")) + (source-rx (make-regexp " *source: \"fonts/([^/]*)[^\"]*\"")) + (fontname-rx (make-regexp "\"fontName\":\"([^\"]*).*")) + (names + ;; Gather font names from all Fonts*.qml files. + ;; These will be used to remove items from the + ;; default profiles. + (fold + (lambda (font-file names) + (call-with-input-file font-file + (lambda (port) + (let loop ((name #f) (names names)) + (let ((line (read-line port))) + (cond + ((eof-object? line) (pk 'names names)) + ((regexp-exec name-rx line) + => (lambda (m) + (loop (match:substring m 1) names))) + ((regexp-exec source-rx line) + => (lambda (m) + (let ((font (match:substring m 1))) + (if (member font fonts) + (loop #f (lset-adjoin string=? + names name)) + (loop #f names))))) + (else (loop name names)))))))) + '() (find-files "app/qml" "Font.*\\.qml")))) + ;; Remove the font files themselves (for-each (lambda (font) (delete-file-recursively - (string-append "app/qml/fonts/" font)) - (substitute* '("app/qml/resources.qrc") - (((string-append "<file>fonts/" font ".*")) - ""))) - '(;;"1971-ibm-3278" ; BSD 3-clause - "1977-apple2" ; Non-Free - "1977-commodore-pet" ; Non-Free - "1979-atari-400-800" ; Non-Free - "1982-commodore64" ; Non-Free - "1985-atari-st" ; ? - "1985-ibm-pc-vga" ; Unclear - ;;"modern-fixedsys-excelsior" ; Redistributable - ;;"modern-hermit" ; SIL - ;;"modern-inconsolata" ; SIL - ;;"modern-pro-font-win-tweaked" ; X11 - ;;"modern-proggy-tiny" ; X11 - ;;"modern-terminus" ; SIL - "modern-monaco")) ; Apple non-free + (string-append "app/qml/fonts/" font))) + fonts) + ;; Remove mention of those fonts in the source + (substitute* "app/qml/resources.qrc" + (((string-append " *<file>fonts/(" + (string-join fonts "|") + ").*")) + "")) + (for-each + (lambda (file) + (let ((start-rx (make-regexp " *ListElement\\{")) + (end-rx (make-regexp " *\\}"))) + (with-atomic-file-replacement file + (lambda (in out) + (let loop ((line-buffer '()) + (hold? #f) + (discard? #f)) + (let ((line (read-line in 'concat))) + (cond + ((eof-object? line) #t) ;done + ((regexp-exec start-rx line) + (loop (cons line line-buffer) #t #f)) + ((or (regexp-exec source-rx line) + (regexp-exec fontname-rx line)) + => (lambda (m) + (let ((font-or-name (match:substring m 1))) + (if (or (member font-or-name fonts) + (member font-or-name names)) + (loop '() #f #t) + (loop (cons line line-buffer) + hold? #f))))) + ((regexp-exec end-rx line) + (unless discard? + (for-each (cut display <> out) + (reverse line-buffer)) + (display line out)) + (loop '() #f #f)) + (hold? (loop (cons line line-buffer) + hold? discard?)) + (discard? (loop line-buffer #f #t)) + (else (display line out) + (loop '() #f #f))))))))) + '("app/qml/FontPixels.qml" + "app/qml/FontScanlines.qml" + "app/qml/Fonts.qml" + "app/qml/ApplicationSettings.qml")) + ;; Final substitution for default scanline and pixel fonts + (substitute* "app/qml/ApplicationSettings.qml" + (("COMMODORE_PET") "PROGGY_TINY")) #t)))) (build-system gnu-build-system) (inputs @@ -495,46 +571,37 @@ embedded kernel situations.") (modify-phases %standard-phases (replace 'configure (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (share (string-append out "/share"))) + (let ((out (assoc-ref outputs "out"))) (substitute* '("qmltermwidget/qmltermwidget.pro") (("INSTALL_DIR = \\$\\$\\[QT_INSTALL_QML\\]") (string-append "INSTALL_DIR = " out "/lib/qt5/qml"))) - (substitute* '("app/app.pro") - (("target.path \\+= /usr") - (string-append "target.path += " out)) - (("icon32.path = /usr/share") - (string-append "icon32.path = " share)) - (("icon64.path = /usr/share") - (string-append "icon64.path = " share)) - (("icon128.path = /usr/share") - (string-append "icon128.path = " share)) - (("icon256.path = /usr/share") - (string-append "icon256.path = " share))) - (zero? (system* "qmake"))))) - (add-before 'install 'fix-Makefiles - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out"))) - (substitute* '("Makefile") - (("\\$\\(INSTALL_ROOT\\)/usr") out))))) + (substitute* '("cool-retro-term.pro" "app/app.pro") + (("/usr") out)) + (invoke "qmake")))) (add-after 'install 'wrap-executable (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (qml "/lib/qt5/qml")) + (let ((out (assoc-ref outputs "out")) + (qml "/lib/qt5/qml")) (wrap-program (string-append out "/bin/cool-retro-term") `("QML2_IMPORT_PATH" ":" prefix (,(string-append out qml) - ,(string-append - (assoc-ref inputs "qtdeclarative") qml) - ,(string-append - (assoc-ref inputs "qtgraphicaleffects") qml) - ,(string-append - (assoc-ref inputs "qtquickcontrols") qml))))))) + ,@(map (lambda (i) + (string-append (assoc-ref inputs i) qml)) + '("qtdeclarative" + "qtgraphicaleffects" + "qtquickcontrols"))))) + #t))) (add-after 'install 'add-alternate-name (lambda* (#:key outputs #:allow-other-keys) - (let* ((bin (string-append (assoc-ref outputs "out") "/bin"))) + (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) (symlink (string-append bin "/cool-retro-term") - (string-append bin "/crt")))))))) + (string-append bin "/crt"))))) + (add-after 'install 'install-man + (lambda* (#:key outputs #:allow-other-keys) + (let ((mandir (string-append (assoc-ref outputs "out") + "/share/man/man1"))) + (install-file "packaging/debian/cool-retro-term.1" mandir) + #t)))))) (synopsis "Terminal emulator") (description "Cool-retro-term (crt) is a terminal emulator which mimics the look and diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm index bcaf35bf2d..109a24bf62 100644 --- a/gnu/packages/texinfo.scm +++ b/gnu/packages/texinfo.scm @@ -26,9 +26,8 @@ #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages compression) - #:use-module (gnu packages perl) - #:use-module (gnu packages linux) - #:use-module (gnu packages ncurses)) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages perl)) (define-public texinfo (package diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index fbd2498b66..06e8e47323 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 José Miguel Sánchez García <jmi2k@openmailbox.org> ;;; Copyright © 2016 Carlo Zancanaro <carlo@zancanaro.id.au> -;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org> +;;; Copyright © 2017, 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2017 Feng Shu <tumashu@163.com> ;;; Copyright © 2017 Nils Gillmann <ng0@n0.is> ;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.org> @@ -38,9 +38,11 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages libbsd) + #:use-module (gnu packages libreoffice) #:use-module (gnu packages lua) #:use-module (gnu packages ncurses) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages qt) #:use-module (gnu packages regex) #:use-module (gnu packages ruby) #:use-module (gnu packages terminals) @@ -98,64 +100,60 @@ based command language.") license:expat)))) ; lexers and libutf.[ch] (define-public kakoune - (let ((commit "125c8b7e80995732e0d8c87b82040025748f1b4f") - (revision "1")) - (package - (name "kakoune") - (version (string-append "0.0.0-" revision "." (string-take commit 7))) - (source - (origin - (file-name (string-append "kakoune-" version "-checkout")) - (method git-fetch) - (uri (git-reference - (url "https://github.com/mawww/kakoune.git") - (commit commit))) - (sha256 - (base32 - "19qs99l8r9p1vi5pxxx9an22fvi7xx40qw3jh2cnh2mbacawvdyb")))) - (build-system gnu-build-system) - (arguments - `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-source - (lambda _ - ;; kakoune uses confstr with _CS_PATH to find out where to find - ;; a posix shell, but this doesn't work in the build - ;; environment. This substitution just replaces that result - ;; with the "sh" path. - (substitute* "src/shell_manager.cc" - (("if \\(m_shell.empty\\(\\)\\)" line) - (string-append "m_shell = \"" (which "sh") - "\";\n " line))) - #t)) - (delete 'configure) - ;; kakoune requires us to be in the src/ directory to build - (add-before 'build 'chdir - (lambda _ (chdir "src") #t)) - (add-before 'check 'fix-test-permissions - (lambda _ - ;; Out git downloader doesn't give us write permissions, but - ;; without them the tests fail. - (zero? (system* "chmod" "-R" "u+w" "../test"))))))) - (native-inputs `(("asciidoc" ,asciidoc) - ("ruby" ,ruby))) - (inputs `(("ncurses" ,ncurses) - ("boost" ,boost))) - (synopsis "Vim-inspired code editor") - (description - "Kakoune is a code editor heavily inspired by Vim, as such most of its + (package + (name "kakoune") + (version "2018.04.13") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/mawww/kakoune/" + "releases/download/v" version "/" + name "-" version ".tar.bz2")) + (sha256 + (base32 + "1kkzs5nrjxzd1jq7a4k7qfb5kg05871z0r3d9c0yhz9shf6wz36d")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-source + (lambda _ + ;; kakoune uses confstr with _CS_PATH to find out where to find + ;; a posix shell, but this doesn't work in the build + ;; environment. This substitution just replaces that result + ;; with the "sh" path. + (substitute* "src/shell_manager.cc" + (("if \\(m_shell.empty\\(\\)\\)" line) + (string-append "m_shell = \"" (which "sh") + "\";\n " line))) + #t)) + (delete 'configure) ; no configure script + ;; kakoune requires us to be in the src/ directory to build + (add-before 'build 'chdir + (lambda _ (chdir "src") #t))))) + (native-inputs + `(("asciidoc" ,asciidoc) + ("pkg-config" ,pkg-config) + ("ruby" ,ruby))) + (inputs + `(("ncurses" ,ncurses) + ("boost" ,boost))) + (synopsis "Vim-inspired code editor") + (description + "Kakoune is a code editor heavily inspired by Vim, as such most of its commands are similar to Vi's ones, and it shares Vi's \"keystrokes as a text editing language\" model. Kakoune has a strong focus on interactivity, most commands provide immediate and incremental results, while still being competitive (as in keystroke count) with Vim.") - (home-page "http://kakoune.org/") - (license license:unlicense)))) + (home-page "http://kakoune.org/") + (license license:unlicense))) (define-public joe (package (name "joe") - (version "4.4") + (version "4.6") (source (origin (method url-fetch) @@ -164,7 +162,7 @@ competitive (as in keystroke count) with Vim.") "joe-" version ".tar.gz")) (sha256 (base32 - "0y898r1xlrv75m00y598rvwwsricabplyh80wawsqafapcl4hw55")))) + "1pmr598xxxm9j9dl93kq4dv36zyw0q2dh6d7x07hf134y9hhlnj9")))) (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses))) (home-page "http://joe-editor.sourceforge.net/") @@ -292,3 +290,55 @@ Wordstar-, EMACS-, Pico, Nedit or vi-like key bindings. e3 can be used on compatible. This is a portable version of the mg maintained by the OpenBSD team.") (license license:public-domain))) + +(define-public ghostwriter + (package + (name "ghostwriter") + (version "1.6.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wereturtle/ghostwriter.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ihdr4xk0j83q83xknbikxb7yf9qhlkgvc89w33lhj090cv376gd")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("qttools" ,qttools))) ;for lrelease + (inputs + `(("hunspell" ,hunspell) + ("qtbase" ,qtbase) + ("qtmultimedia" ,qtmultimedia) + ("qtsvg" ,qtsvg) + ("qtwebkit" ,qtwebkit))) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (invoke "qmake" (string-append "PREFIX=" out))))) + (add-after 'configure 'create-translations + (lambda _ + ;; `lrelease` will not overwrite, so delete existing .qm files + (for-each delete-file (find-files "translations" ".*\\.qm")) + (apply invoke "lrelease" (find-files "translations" ".*\\.ts")))) + ;; Ensure that icons are found at runtime. + (add-after 'install 'wrap-executable + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/ghostwriter") + `("QT_PLUGIN_PATH" ":" prefix + ,(map (lambda (label) + (string-append (assoc-ref inputs label) + "/lib/qt5/plugins/")) + '("qtsvg" "qtmultimedia")))))))))) + (home-page "https://wereturtle.github.io/ghostwriter/") + (synopsis "Write without distractions") + (description + "@code{ghostwriter} provides a relaxing, distraction-free writing +environment with Markdown markup.") + (license license:gpl3+))) ;icons/* under CC-BY-SA3 diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 73e84b7f8c..ada2088c4c 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -695,10 +695,32 @@ arithmetic in Perl.") ;; At your option either gpl1+ or the Artistic License (license license:perl-license))) +(define-public perl-crypt-openssl-guess + (package + (name "perl-crypt-openssl-guess") + (version "0.11") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/A/AK/AKIYM/Crypt-OpenSSL-Guess-" + version ".tar.gz")) + (sha256 + (base32 + "0rvi9l4ljcbhwwvspq019nfq2h2v746dk355h2nwnlmqikiihsxa")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Crypt-OpenSSL-Guess/") + (synopsis "Guess the OpenSSL include path") + (description + "The Crypt::OpenSSL::Guess Perl module provides helpers to guess the +correct OpenSSL include path. It is intended for use in your +@file{Makefile.PL}.") + (license license:perl-license))) + (define-public perl-crypt-openssl-random (package (name "perl-crypt-openssl-random") - (version "0.11") + (version "0.13") (source (origin (method url-fetch) @@ -708,9 +730,12 @@ arithmetic in Perl.") ".tar.gz")) (sha256 (base32 - "0yjcabkibrkafywvdkmd1xpi6br48skyk3l15ni176wvlg38335v")))) + "0vmvrb3shrzjzri3qn524dzdasbq8zhhbpc1vmq8sx68n4jhizb0")))) (build-system perl-build-system) - (inputs `(("openssl" ,openssl))) + (native-inputs + `(("perl-crypt-openssl-guess" ,perl-crypt-openssl-guess))) + (inputs + `(("openssl" ,openssl))) (arguments perl-crypt-arguments) (home-page "http://search.cpan.org/dist/Crypt-OpenSSL-Random") diff --git a/gnu/packages/tmux.scm b/gnu/packages/tmux.scm index 4456e73bc8..1bc947844a 100644 --- a/gnu/packages/tmux.scm +++ b/gnu/packages/tmux.scm @@ -34,7 +34,7 @@ (define-public tmux (package (name "tmux") - (version "2.6") + (version "2.7") (source (origin (method url-fetch) (uri (string-append @@ -42,7 +42,7 @@ version "/tmux-" version ".tar.gz")) (sha256 (base32 - "1s6pgk63ar1swpvhs8r5fk26vav3ybsf2ll7d705hysdm5qd2z5i")))) + "0lnlhnafvi5700afr69g6gr62pblnd440jj0hxdbrxhk0c87vvcx")))) (build-system gnu-build-system) (inputs `(("libevent" ,libevent) diff --git a/gnu/packages/upnp.scm b/gnu/packages/upnp.scm index 7db6b5eec5..3385d80fbc 100644 --- a/gnu/packages/upnp.scm +++ b/gnu/packages/upnp.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in> ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> -;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,14 +29,14 @@ (define-public miniupnpc (package (name "miniupnpc") - (version "2.0.20180406") + (version "2.0.20180410") (source (origin (method url-fetch) (uri (string-append "https://miniupnp.tuxfamily.org/files/" name "-" version ".tar.gz")) (sha256 - (base32 "15i9lyj72wr15b3kpcqsf97mr2hajkpwvf0lz9ps9r568yyjcwlc")))) + (base32 "08vs9012bahdwid4nsf3mi2kawcq1hvz7lzpdmiynxcbpip6sk0f")))) (build-system gnu-build-system) (native-inputs `(("python" ,python-2))) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 79ac7221fa..ef891a8b17 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -90,6 +90,7 @@ #:use-module (gnu packages sdl) #:use-module (gnu packages swig) #:use-module (gnu packages tcl) + #:use-module (gnu packages textutils) #:use-module (gnu packages time) #:use-module (gnu packages tls) #:use-module (gnu packages) @@ -1073,7 +1074,7 @@ following features: (define-public subversion (package (name "subversion") - (version "1.8.19") + (version "1.10.0") (source (origin (method url-fetch) (uri @@ -1084,7 +1085,7 @@ following features: "subversion-" version ".tar.bz2"))) (sha256 (base32 - "1gp6426gkdza6ni2whgifjcmjb4nq34ljy07yxkrhlarvfq6ks2n")))) + "115mlvmf663w16mc3xyypnaizq401vbypc56hl2ylzc3pcx3zwic")))) (build-system gnu-build-system) (arguments '(#:phases @@ -1100,6 +1101,11 @@ following features: (substitute* "libtool" (("\\\\`ls") (string-append "\\`" coreutils "/bin/ls"))) #t))) + (add-before 'build 'patch-test-sh + (lambda _ + (substitute* "subversion/tests/libsvn_repos/repos-test.c" + (("#!/bin/sh") (string-append "#!" (which "sh")))) + #t)) (add-after 'install 'install-perl-bindings (lambda* (#:key outputs #:allow-other-keys) ;; Follow the instructions from 'subversion/bindings/swig/INSTALL'. @@ -1126,10 +1132,12 @@ following features: (inputs `(("apr" ,apr) ("apr-util" ,apr-util) + ("lz4" ,lz4) ("serf" ,serf) ("perl" ,perl) - ("python" ,python-2) ; incompatible with Python 3 (print syntax) + ("python" ,python-wrapper) ("sqlite" ,sqlite) + ("utf8proc" ,utf8proc) ("zlib" ,zlib))) (home-page "https://subversion.apache.org/") (synopsis "Revision control system") diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index affbc543c6..ad7e12079a 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1162,7 +1162,7 @@ access to mpv's powerful playback capabilities.") (define-public youtube-dl (package (name "youtube-dl") - (version "2018.03.14") + (version "2018.04.16") (source (origin (method url-fetch) (uri (string-append "https://yt-dl.org/downloads/" @@ -1170,7 +1170,7 @@ access to mpv's powerful playback capabilities.") version ".tar.gz")) (sha256 (base32 - "0j8j797gqc29fd5ra3cjvwkp8dgvigdydsj0zzjs05zccfqrj9lh")))) + "046zg8pww2xg1yibh7c1a8jcg8f1znr4hsz1l1da03djcp6na99d")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion @@ -1280,7 +1280,7 @@ other site that youtube-dl supports.") (define-public you-get (package (name "you-get") - (version "0.4.1040") + (version "0.4.1060") (source (origin (method url-fetch) (uri (string-append @@ -1289,7 +1289,7 @@ other site that youtube-dl supports.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0257p9bn426rv0cjk2j5hsx6cg7dz5gpjwlqq0sy1axa47phis46")))) + "1pq7c2ay42aan7ykpmddzh6ylq0qsq8a27pk68m5imaxi6abbwsz")))) (build-system python-build-system) (inputs `(("ffmpeg" ,ffmpeg))) ; for multi-part and >=1080p videos diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 761aab4071..0b373b1407 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -93,7 +93,8 @@ (sha256 (base32 "11l6cs6mib16rgdrnqrhkqs033fjik316gkgfz3asbmxz38lalca")) - (patches (search-patches "qemu-glibc-2.27.patch")))) + (patches (search-patches "qemu-glibc-2.27.patch" + "qemu-CVE-2018-7550.patch")))) (build-system gnu-build-system) (arguments '(;; Running tests in parallel can occasionally lead to failures, like: diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index 6c929d326d..a5ecd0b546 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -130,7 +130,7 @@ features including, tables, builtin image display, bookmarks, SSL and more.") (define-public lynx (package (name "lynx") - (version "2.8.9dev.16") + (version "2.8.9dev.17") (source (origin (method url-fetch) (uri (string-append @@ -138,7 +138,7 @@ features including, tables, builtin image display, bookmarks, SSL and more.") "/lynx" version ".tar.bz2")) (sha256 (base32 - "1j0vx871ghkm7fgrafnvd2ml3ywcl8d3gyhq02fhfb851c88lc84")))) + "1lvfsnrw5mmwrmn1m76q9mx287xwm3h5lg8sv7bcqilc0ywi2f54")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("perl" ,perl))) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index b8785ce861..88c3b4aa1c 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -186,14 +186,14 @@ Interface} specification.") (name "nginx") ;; Consider updating the nginx-documentation package if the nginx package is ;; updated. - (version "1.13.11") + (version "1.14.0") (source (origin (method url-fetch) (uri (string-append "https://nginx.org/download/nginx-" version ".tar.gz")) (sha256 (base32 - "01bgld6pv9sms9bsmx863yqw2hnivxhn91xs6imqklj48sbrqy9m")))) + "1d9c0avfpbwvzyg53b59ks8shpnrxnbnshcd7ziizflsyv5vw5ax")))) (build-system gnu-build-system) (inputs `(("openssl" ,openssl) ("pcre" ,pcre) diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index 086a158cc4..cb852243b1 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -55,14 +55,14 @@ (define-public webkitgtk (package (name "webkitgtk") - (version "2.20.0") + (version "2.20.1") (source (origin (method url-fetch) (uri (string-append "https://www.webkitgtk.org/releases/" name "-" version ".tar.xz")) (sha256 (base32 - "0g0an3pc2yz13gzpaysfgch2yp510gw1qcpk0xr8m6mx43vl1xjp")))) + "0nc9dj05dbk31ciip08b3rdsfja7ckc5mgagrj030fafza2k5r23")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; no tests diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index 81bc45ca75..13772cd9a8 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -221,7 +221,7 @@ integrate Windows applications into your desktop.") (define-public wine-staging-patchset-data (package (name "wine-staging-patchset-data") - (version "3.5") + (version "3.6") (source (origin (method url-fetch) @@ -230,7 +230,7 @@ integrate Windows applications into your desktop.") (file-name (string-append name "-" version ".zip")) (sha256 (base32 - "1d95gzzfx87vvj85mrzv2lgg6w0m917dccja02g6vids28kf9g30")))) + "1q5mgq7lk3sh82im65g51yk110ci9afl5wgqs2q6i8qd2nj5pv7d")))) (build-system trivial-build-system) (native-inputs `(("bash" ,bash) @@ -277,7 +277,7 @@ integrate Windows applications into your desktop.") (file-name (string-append name "-" version ".tar.xz")) (sha256 (base32 - "0hr1syfhnpvcm84gmms1i26k68hakcgw4m6dvckmbbvw7ca0c8pl")))) + "0p4h0ynb5yf8rx5badpxg7b6vsrqdqafwszn5qm0shv0kb3jsl3q")))) (inputs `(("autoconf" ,autoconf) ; for autoreconf ("gtk+" ,gtk+) ("libva" ,libva) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index f8899a4bdd..0b5e0848c1 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -343,7 +343,7 @@ prompt.") (define-public i3lock-color (package (name "i3lock-color") - (version "2.10.1c") + (version "2.11-c") (source (origin (method url-fetch) @@ -352,22 +352,23 @@ prompt.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "119xvdm4r6irqk0mar80hx6s8ydw26y35h7712rd7nbg7pb7i053")))) + "0zh7il2y6dmzym3w6r9xii5dma8pjjjlq4dm5iby7m3gvplj4q9p")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ;no tests included (inputs - `(("xcb-util-image" ,xcb-util-image) - ("xcb-util" ,xcb-util) + `(("cairo" ,cairo) + ("libev" ,libev) + ("libjpeg" ,libjpeg-turbo) ("libxcb" ,libxcb) - ("linux-pam" ,linux-pam) ("libxkbcommon" ,libxkbcommon) - ("libev" ,libev) - ("cairo" ,cairo))) + ("linux-pam" ,linux-pam) + ("xcb-util" ,xcb-util) + ("xcb-util-image" ,xcb-util-image))) (native-inputs - `(("pkg-config" ,pkg-config) - ("autoconf" ,autoconf) - ("automake" ,automake))) + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("pkg-config" ,pkg-config))) (home-page "https://github.com/PandorasFox/i3lock-color") (synopsis "Screen locker with color configuration support") (description @@ -499,15 +500,18 @@ tiled on several screens.") (define-public xmobar (package (name "xmobar") - (version "0.25") + (version "0.26") (source (origin (method url-fetch) (uri (string-append "mirror://hackage/package/xmobar/" name "-" version ".tar.gz")) (sha256 (base32 - "0382r4vzqkz76jlp2069rdbwf4gh1a22r9w4rkphcn5qflw0dlb6")))) + "19g40vqj3cs94i27f66194k7d5cazrv1lx54bz9kc0qy2npxjzgz")))) (build-system haskell-build-system) + (native-inputs + `(("ghc-hspec" ,ghc-hspec) + ("hspec-discover" ,hspec-discover))) (inputs `(("ghc-hinotify" ,ghc-hinotify) ("ghc-http" ,ghc-http) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 7a9b64baf6..7486d8f29d 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -983,7 +983,7 @@ color temperature should be set to match the lamps in your room.") (define-public xscreensaver (package (name "xscreensaver") - (version "5.38") + (version "5.39") (source (origin (method url-fetch) @@ -992,7 +992,7 @@ color temperature should be set to match the lamps in your room.") version ".tar.gz")) (sha256 (base32 - "1f58h5rgjbxr4hh40m6zkpkzbzg68l7nqzjwal0b17yysafbmsf6")))) + "09i47h4hdgwxyqgrsnshl4l5dv5mrsp37h705cc22lwby601ikj8")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no check target diff --git a/gnu/packages/xfig.scm b/gnu/packages/xfig.scm index 3bb839f6e4..86fbd9159b 100644 --- a/gnu/packages/xfig.scm +++ b/gnu/packages/xfig.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch> -;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,7 +32,7 @@ (define-public xfig (package (name "xfig") - (version "3.2.6a") + (version "3.2.7") (source (origin (method url-fetch) @@ -40,7 +40,7 @@ name "-" version ".tar.xz")) (sha256 (base32 - "0z1636w27hvgjpq98z40k8h535b4x2xr2whkvr7bibaa89fynym8")))) + "0anlrr68knr401j7z76k6hx33w16l02dzb7szdkrc4rb2gj1rs2z")))) (build-system gnu-build-system) (native-inputs ;; For tests. diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 3eee32479c..8491faf881 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -824,7 +824,7 @@ the form of functions.") (define-public pugixml (package (name "pugixml") - (version "1.8.1") + (version "1.9") (source (origin (method url-fetch) @@ -832,13 +832,13 @@ the form of functions.") version "/pugixml-" version ".tar.gz")) (sha256 (base32 - "0fcgggry5x5bn0zhb09ij9hb0p45nb0sv0d9fw3cm1cf62hp9n80")))) + "19nv3zhik3djp4blc4vrjwrl8dfhzmal8b21sq7y907nhddx6mni")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DCMAKE_CXX_FLAGS=-shared -fPIC" "-DCMAKE_C_FLAGS=-shared -fPIC") #:tests? #f)) ; no tests - (home-page "http://pugixml.org") + (home-page "https://pugixml.org") (synopsis "Light-weight, simple and fast XML parser for C++ with XPath support") (description "pugixml is a C++ XML processing library, which consists of a DOM-like diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 5d5f0cbdde..0d9ec32a47 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5726,7 +5726,7 @@ to answer a question. Xmessage can also exit after a specified time.") (define-public xterm (package (name "xterm") - (version "331") + (version "332") (source (origin (method url-fetch) (uri (list @@ -5736,7 +5736,7 @@ to answer a question. Xmessage can also exit after a specified time.") name "-" version ".tgz"))) (sha256 (base32 - "047gk58hvj64974sg259ss5gixj7pac6halmjfz4cc6r1yimds4s")))) + "0zdjiik4ravc3zld5c9i2ndrvazjmwiwbgl2c21348762wki2jsx")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--enable-wide-chars" "--enable-load-vt-fonts" |