diff options
44 files changed, 1033 insertions, 231 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 54c099b5e3..1d49c1a17f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -14,6 +14,7 @@ # Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> # Copyright © 2017 Clément Lassieur <clement@lassieur.org> # Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> +# Copyright © 2017 Gábor Boskovits <boskovits@gmail.com> # # This file is part of GNU Guix. # @@ -501,6 +502,7 @@ dist_patch_DATA = \ %D%/packages/patches/aegis-test-fixup-1.patch \ %D%/packages/patches/aegis-test-fixup-2.patch \ %D%/packages/patches/agg-am_c_prototype.patch \ + %D%/packages/patches/ansible-wrap-program-hack.patch \ %D%/packages/patches/antiword-CVE-2014-8123.patch \ %D%/packages/patches/apr-skip-getservbyname-test.patch \ %D%/packages/patches/aspell-default-dict-dir.patch \ @@ -935,6 +937,7 @@ dist_patch_DATA = \ %D%/packages/patches/qemu-CVE-2017-9524.patch \ %D%/packages/patches/qt4-ldflags.patch \ %D%/packages/patches/qtscript-disable-tests.patch \ + %D%/packages/patches/quagga-reproducible-build.patch \ %D%/packages/patches/quickswitch-fix-dmenu-check.patch \ %D%/packages/patches/rapicorn-isnan.patch \ %D%/packages/patches/raptor2-heap-overflow.patch \ @@ -956,7 +959,6 @@ dist_patch_DATA = \ %D%/packages/patches/rxvt-unicode-escape-sequences.patch \ %D%/packages/patches/scheme48-tests.patch \ %D%/packages/patches/scotch-test-threading.patch \ - %D%/packages/patches/screen-fix-info-syntax-error.patch \ %D%/packages/patches/sdl-libx11-1.6.patch \ %D%/packages/patches/seq24-rename-mutex.patch \ %D%/packages/patches/slim-session.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index b9d68fc244..b1f0e6093e 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1366,7 +1366,8 @@ of supported upstream metrics systems simultaneously.") (uri (pypi-uri "ansible" version)) (sha256 (base32 - "1xdr82fy8gahxh3586wm5k1bxksys7yl1f2n24shrk8gf99qyjyd")))) + "1xdr82fy8gahxh3586wm5k1bxksys7yl1f2n24shrk8gf99qyjyd")) + (patches (search-patches "ansible-wrap-program-hack.patch")))) (build-system python-build-system) (native-inputs `(("python2-pycrypto" ,python2-pycrypto) @@ -2223,6 +2224,7 @@ make it a perfect utility on modern distros.") (method url-fetch) (uri (string-append "https://github.com/01org/thermal_daemon/archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "14klz9fnvi9jdlaqwrp61xa5nh051n8ykrs1fh1wxd7j66qf2fn6")))) (build-system gnu-build-system) @@ -2262,4 +2264,6 @@ make it a perfect utility on modern distros.") (synopsis "CPU scaling for thermal management") (description "The Linux Thermal Daemon helps monitor and control temperature on systems running the Linux kernel.") + ;; arm and aarch64 don't have cpuid.h + (supported-systems '("i686-linux" "x86_64-linux")) (license license:gpl2+))) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index f5509dab10..132013b57a 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -121,7 +121,7 @@ programs for the manipulation and analysis of astronomical data.") (define-public stellarium (package (name "stellarium") - (version "0.15.2") + (version "0.16.0") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/stellarium/" @@ -129,10 +129,11 @@ programs for the manipulation and analysis of astronomical data.") version "/stellarium-" version ".tar.gz")) (sha256 (base32 - "19nxj482g1hh9qicgskpcgy61pri254jgxnkd10icxbnza4c0hv9")))) + "1krxj51lix096xbz64lys166a8zdwhill5vvs7dlxdn14amc8d98")))) (build-system cmake-build-system) (inputs `(("qtbase" ,qtbase) + ("qtlocation" ,qtlocation) ("qtmultimedia" ,qtmultimedia) ("qtscript" ,qtscript) ("qtserialport" ,qtserialport) @@ -145,13 +146,10 @@ programs for the manipulation and analysis of astronomical data.") (arguments `(#:test-target "tests" #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-version-check + (add-after 'unpack 'patch-tests (lambda _ - ;; Previously-deprecated cmake variable vanished in - ;; Qt 5.9. - ;; See <https://bugreports.qt.io/browse/QTBUG-60936>. - (substitute* "CMakeLists.txt" - (("Qt5Core_VERSION_STRING") "Qt5Core_VERSION")) + (substitute* "src/tests/testStelSphereGeometry.cpp" + (("Vec3d v[(]0[)]") "Vec3d v(0.0)")) #t)) (add-before 'check 'set-offscreen-display (lambda _ diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index a0474002b7..79a87dc8bf 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -264,7 +264,7 @@ maintained upstream.") (define-public aria2 (package (name "aria2") - (version "1.31.0") + (version "1.32.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/tatsuhiro-t/aria2/" @@ -272,7 +272,7 @@ maintained upstream.") name "-" version ".tar.xz")) (sha256 (base32 - "131zh75fqw9a1j0igl8gx3lwmhhbicdmp2p387r0cd5j928631bv")))) + "0l6whbbcw1qijlczlfqi3mhba3zki0ybjb2prrgncp8km6a92vjl")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list "--enable-libaria2" diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm index df12bf8a32..062c29b66d 100644 --- a/gnu/packages/dictionaries.scm +++ b/gnu/packages/dictionaries.scm @@ -209,7 +209,7 @@ It comes with a German-English dictionary with approximately 270,000 entries.") (define-public translate-shell (package (name "translate-shell") - (version "0.9.6.3") + (version "0.9.6.4") (source (origin (method url-fetch) @@ -217,7 +217,7 @@ It comes with a German-English dictionary with approximately 270,000 entries.") version ".tar.gz")) (sha256 (base32 - "13rjq9v3ykk5c0i5daybpnqnyg09cbcgjzykx49h2h5hvspixvi5")) + "1fg6nf1plvgimc57fsdr9rcjbf7jvmk5jrlj5ya509vpdcdgvj2s")) (file-name (string-append name "-" version ".tar.gz")))) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index ecb6fed6aa..cfebe772f2 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -27,6 +27,7 @@ ;;; Copyright © 2017 Feng Shu <tumashu@163.com> ;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com> +;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1139,6 +1140,30 @@ writing input files for TeX, LaTeX, ConTeXt, Texinfo, and docTeX using Emacs or XEmacs.") (license license:gpl3+))) +(define-public emacs-autothemer + (package + (name "emacs-autothemer") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/sebastiansturm/autothemer/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0rd28r9wfrbll212am4ih9hrvypx785aff76va2cbfxdwm9kixsa")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash))) + (home-page "https://github.com/sebastiansturm/autothemer") + (synopsis "Conveniently create Emacs themes") + (description + "Autothemer provides a thin layer on top of @code{deftheme} and +@code{custom-theme-set-faces} that creates a new custom color theme, based on +a set of simplified face specifications and a user-supplied color palette") + (license license:gpl3+))) + (define-public emacs-calfw (package (name "emacs-calfw") @@ -1157,8 +1182,8 @@ or XEmacs.") (home-page "https://github.com/kiwanami/emacs-calfw/") (synopsis "Calendar framework for Emacs") (description - "This package displays a calendar view with various shedule data in -the Emacs buffer.") + "This package displays a calendar view with various schedule data in the +Emacs buffer.") (license license:gpl3+))) (define-public emacs-direnv @@ -3059,14 +3084,21 @@ E-Prime forbids the use of the \"to be\" form to strengthen your writing.") (lambda* (#:key inputs #:allow-other-keys) (substitute* "Makeconf" (("SHELL = /bin/sh") - (string-append "SHELL = " (which "sh"))))))))) + (string-append "SHELL = " (which "sh")))))) + ;; FIXME: the texlive-union insists on regenerating fonts. It stores + ;; them in HOME, so it needs to be writeable. + (add-before 'build 'set-HOME + (lambda _ (setenv "HOME" "/tmp") #t))))) (inputs `(("emacs" ,emacs-minimal) ("r-minimal" ,r-minimal))) (native-inputs `(("perl" ,perl) ("texinfo" ,texinfo) - ("texlive" ,texlive))) + ("texlive" ,(texlive-union (list texlive-latex-natbib + texlive-latex-seminar + texlive-latex-hyperref + texlive-tex-texinfo))))) (home-page "http://ess.r-project.org/") (synopsis "Emacs mode for statistical analysis programs") (description "Emacs Speaks Statistics (ESS) is an add-on package for GNU @@ -4965,10 +4997,11 @@ displays results pretty-printed in XML or JSON with @code{restclient-mode}") "-f" "ert-run-tests-batch-and-exit"))))))) (home-page "https://github.com/justbur/emacs-which-key") (synopsis "Display available key bindings in popup") - (description "@code{emacs-which-key} is a minor mode for Emacs that -displays the key bindings following your currently entered incomplete command -(a prefix) in a popup. For example, after enabling the minor mode if you -enter C-x and wait for the default of 1 second, the minibuffer will expand -with all of the available key bindings that follow C-x (or as many as space -allows given your settings).") + (description + "@code{emacs-which-key} is a minor mode for Emacs that displays the key +bindings following your currently entered incomplete command (a prefix) in a +popup. For example, after enabling the minor mode if you enter C-x and wait +for the default of 1 second, the minibuffer will expand with all of the +available key bindings that follow C-x (or as many as space allows given your +settings).") (license license:gpl3+))) diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index 9106eec4ab..1da248001e 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2017 David Craven <david@craven.ch> +;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -275,13 +276,15 @@ use of coreboot.") (("^ACTIVE_PLATFORM[ ]*=.*$") "ACTIVE_PLATFORM = OvmfPkg/OvmfPkgIa32.dsc\n")) (zero? (system* "build")))) - (add-after 'build 'build-x64 - (lambda _ - (substitute* "Conf/target.txt" - (("^TARGET_ARCH[ ]*=.*$") "TARGET_ARCH = X64\n") - (("^ACTIVE_PLATFORM[ ]*=.*$") - "ACTIVE_PLATFORM = OvmfPkg/OvmfPkgX64.dsc\n")) - (zero? (system* "build")))) + ,@(if (string=? "x86_64-linux" (%current-system)) + '(add-after 'build 'build-x64 + (lambda _ + (substitute* "Conf/target.txt" + (("^TARGET_ARCH[ ]*=.*$") "TARGET_ARCH = X64\n") + (("^ACTIVE_PLATFORM[ ]*=.*$") + "ACTIVE_PLATFORM = OvmfPkg/OvmfPkgX64.dsc\n")) + (zero? (system* "build")))) + '()) (delete 'build) (replace 'install (lambda* (#:key outputs #:allow-other-keys) @@ -290,8 +293,10 @@ use of coreboot.") (mkdir-p fmw) (copy-file "Build/OvmfIa32/RELEASE_GCC49/FV/OVMF.fd" (string-append fmw "/ovmf_ia32.bin")) - (copy-file "Build/OvmfX64/RELEASE_GCC49/FV/OVMF.fd" - (string-append fmw "/ovmf_x64.bin"))) + ,@(if (string=? "x86_64-linux" (%current-system)) + '((copy-file "Build/OvmfX64/RELEASE_GCC49/FV/OVMF.fd" + (string-append fmw "/ovmf_x64.bin"))) + '())) #t))))) (supported-systems '("x86_64-linux" "i686-linux")) (home-page "http://www.tianocore.org") diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index b8b110c9aa..67f6c55017 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -342,7 +342,7 @@ levels.") (version "2017.06.09") (source (origin (method url-fetch) - (uri (string-append "mirror://savannah/xsge/xsge-" + (uri (string-append "mirror://savannah/xsge/xsge/xsge-" version ".tar.gz")) (sha256 (base32 diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 322611858d..0442a98bf7 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4589,7 +4589,7 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.") (define-public evolution-data-server (package (name "evolution-data-server") - (version "3.24.2") + (version "3.24.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -4597,7 +4597,7 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.") name "-" version ".tar.xz")) (sha256 (base32 - "1ywqy939n27v3kchlnyxs6ikhjxmlasv6f08ap4bldgr121vkfx9")))) + "1jj1q81bl3r0c8rnsfqi83igqlprzdcjim1fvygbyfy7b8gigqqk")))) (build-system cmake-build-system) (arguments '(;; XXX FIXME: 11/85 tests are failing. @@ -5708,7 +5708,7 @@ existing databases over the internet.") (define-public gnome-tweak-tool (package (name "gnome-tweak-tool") - (version "3.24.0") + (version "3.24.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gnome-tweak-tool/" @@ -5718,7 +5718,7 @@ existing databases over the internet.") (search-patch "gnome-tweak-tool-search-paths.patch"))) (sha256 (base32 - "000ygz9wgnv8pimb6rwbjfm12vbx4138pwkq36ci0k6v827282wk")))) + "0rgmm7n6jwc5hz64sprm4jxnky62hw839a7r18rn1mj884vnn8hr")))) (build-system glib-or-gtk-build-system) (arguments `(#:configure-flags '("--localstatedir=/tmp" diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index d4d52ee6d0..8b6069ec63 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -82,6 +82,7 @@ Daemon and possibly more in the future.") (define-public libgcrypt (package (name "libgcrypt") + (replacement libgcrypt-1.7.8) (version "1.7.7") (source (origin (method url-fetch) @@ -115,8 +116,22 @@ generation.") (properties '((ftp-server . "ftp.gnupg.org") (ftp-directory . "/gcrypt/libgcrypt"))))) +(define libgcrypt-1.7.8 + (package + (inherit libgcrypt) + (replacement #f) + (version "1.7.8") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-" + version ".tar.bz2")) + (sha256 + (base32 + "16f1rsv4y4w2pk1il2jbcqggsb6mrlfva5vayd205fp68zm7d0ll")))))) + (define-public libgcrypt-1.5 (package (inherit libgcrypt) + (replacement #f) (version "1.5.6") (source (origin diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 37adc3bbd6..db32b988ed 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -505,7 +505,16 @@ standards.") (mozilla-patch "icecat-bug-1339826-pt2.patch" "44b2fe592a90" "1v8mz3b40dp6l5qrgha4yibmrnx80pxsvdll6ky1k937yhbzjk4a") (mozilla-patch "icecat-CVE-2017-5470-pt19.patch" "f68e0d98a22a" "063z4a7gyhzy85fc2j2yr7kmk2zf7v875hjw4485civazydysw4j") (mozilla-patch "icecat-bug-1353625.patch" "c41f37d913e2" "1s997c1hj4ywnlfbhvi1y96vd6bxl74wcrb0nly611h51h8xnyxm") - (mozilla-patch "icecat-CVE-2017-5470-pt20.patch" "38273203b827" "12p9r4spdp09d6ic9sqspvdr50lmc1p86ydz2fxdifb1f95njhx0"))) + (mozilla-patch "icecat-CVE-2017-5470-pt20.patch" "38273203b827" "12p9r4spdp09d6ic9sqspvdr50lmc1p86ydz2fxdifb1f95njhx0") + (mozilla-patch "icecat-bug-1357022.patch" "5bd51bc3f587" "0z5drxpfjvb7s43qgcr404h8ckchgakwwwi4nxpx2i653w22a743") + (mozilla-patch "icecat-bug-1318845.patch" "512efd480dac" "13cmqap795ayh6gh3b5bc6002pz0wp92qngs7fh5qqklc7a0gkzv") + (mozilla-patch "icecat-bug-1371586.patch" "d0c92199b9ed" "0qmsm7d4h6ysx3an247kpx9qpksfms7hrjgpdrghdbxla1hc4nc9") + (mozilla-patch "icecat-bug-1364513.patch" "88e9c2137640" "1mh4l745q1wlabn9sz47n0vy3h7c66fcay2b9dwa16iqwvh3lpiw") + (mozilla-patch "icecat-bug-1366203.patch" "08dd87b6bb8f" "15bfwfwwd978mlcpk1d6m7506k8c2y402md7wzf6piabxl5kk6cf") + (mozilla-patch "icecat-bug-1368576.patch" "5a51a9ef8149" "0j0f9j0pryv3ik4bizhv8s6rr4dl1mjm01c23msayr0vbnpcagcs") + (mozilla-patch "icecat-bug-1369913.patch" "f47eaebc0c5c" "1b52xm3awpigasaz0hk5b13l7v4ry9vrawf571lzy2wwhphs4nxx") + (mozilla-patch "icecat-bug-1371424.patch" "40ce248a8c15" "1b722fiifr999ga0991cg5mlhidcnvf3zx2aiq5zjaabqn0f4dzk") + (mozilla-patch "icecat-bug-1372112.patch" "0c8359ac6718" "1w0v2p5jnhzvcsx8h1bglwjhp5y5bg1g8pzpvjw7pg1wlq2frccr"))) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/hexedit.scm b/gnu/packages/hexedit.scm index d2aaec306b..8ddc0ffd4f 100644 --- a/gnu/packages/hexedit.scm +++ b/gnu/packages/hexedit.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org> +;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,6 +21,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (gnu packages) + #:use-module (gnu packages compression) #:use-module (gnu packages ncurses) #:use-module (guix download) #:use-module (guix build-system gnu)) @@ -44,3 +46,28 @@ file can be a device as the file is read a piece at a time. You can modify the file and search through it.") (home-page "http://rigaux.org/hexedit.html") (license license:gpl2+))) + +(define-public ht + (package + (name "ht") + (version "2.1.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://sourceforge.net/projects/hte/files/ht-source/" + name "-" version ".tar.bz2")) + (sha256 + (base32 + "0w2xnw3z9ws9qrdpb80q55h6ynhh3aziixcfn45x91bzrbifix9i")))) + (build-system gnu-build-system) + (inputs + `(("lzo" ,lzo) + ("ncurses" ,ncurses))) + (synopsis "Viewer, editor, and analyzer for executable binaries") + (description + "ht is a terminal-based program to view, edit, and analyze any file, but +with a special focus on executable binaries. Its goal is to combine the +low-level functionality of a debugger with the usability of an @dfn{Integrated +Development Environment} (IDE).") + (home-page "http://hte.sourceforge.net/") + (license license:gpl2))) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index e81ee40d38..e074dab46d 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -1839,8 +1839,8 @@ IcedTea build harness.") "10baak8v0hnwz2hr33bavshm7y49mmn9zsyyms1dwjz45p5ymhy0")) ("tools-reader-src" ,(submodule "tools.reader/archive/tools.reader-" - "0.10.0" - "09i3lzbhr608h76mhdjm3932gg9xi8sflscla3c5f0v1nkc28cnr")))) + "1.0.0" + "1lafblmmj4hkg0aqrf19qkdw9wdcsh3qxmn6cbkmnzbhffpyv2lv")))) (home-page "https://clojure.org/") (synopsis "Lisp dialect running on the JVM") (description "Clojure is a dynamic, general-purpose programming language, diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 8fe71d5b5d..a25de39ed8 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -30,6 +30,7 @@ #:use-module (gnu packages acl) #:use-module (gnu packages admin) #:use-module (gnu packages attr) + #:use-module (gnu packages base) #:use-module (gnu packages boost) #:use-module (gnu packages bison) #:use-module (gnu packages boost) @@ -51,12 +52,14 @@ #:use-module (gnu packages linux) #:use-module (gnu packages mp3) #:use-module (gnu packages pdf) + #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages polkit) #:use-module (gnu packages python) #:use-module (gnu packages qt) #:use-module (gnu packages textutils) + #:use-module (gnu packages tls) #:use-module (gnu packages version-control) #:use-module (gnu packages video) #:use-module (gnu packages web) @@ -3027,3 +3030,389 @@ script engines.") (define kinit-bootstrap ((package-input-rewriting `((,kdbusaddons . ,kdbusaddons-bootstrap))) kinit)) + + +;; Tier 4 +;; +;; Tier 4 frameworks can be mostly ignored by application programmers; this +;; tier consists of plugins acting behind the scenes to provide additional +;; functionality or platform integration to existing frameworks (including +;; Qt). + +(define-public kde-frameworkintegration + (package + (name "kde-frameworkintegration") + (version "5.34.0") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://kde/stable/frameworks/" + (version-major+minor version) "/" + "frameworkintegration-" version ".tar.xz")) + (sha256 + (base32 + "0hq1r2znjzy0wzm3nsclqmih1aia5300bsf87a2l4919q0ildb20")))) + (build-system cmake-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("pkg-config" ,pkg-config))) + ;; TODO: Optional packages not yet in Guix: packagekitqt5, AppStreamQt + (inputs + `(("kconfig" ,kconfig) + ("kconfigwidgets" ,kconfigwidgets) + ("kcoreaddons" ,kcoreaddons) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kitemviews" ,kitemviews) + ("knewstuff" ,knewstuff) + ("knotificantions" ,knotifications) + ("kpackage" ,kpackage) + ("kwidgetsaddons" ,kwidgetsaddons) + ("qtbase" ,qtbase) + ("qtx11extras" ,qtx11extras))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'check-setup + (lambda _ + (setenv "HOME" (getcwd)) + ;; Make Qt render "offscreen", required for tests + (setenv "QT_QPA_PLATFORM" "offscreen") + #t))))) + (home-page "https://community.kde.org/Frameworks") + (synopsis "KDE Frameworks 5 workspace and cross-framework integration plugins") + (description "Framework Integration is a set of plugins responsible for +better integration of Qt applications when running on a KDE Plasma +workspace.") + ;; This package is distributed under either LGPL2 or LGPL3, but some + ;; files are explicitly LGPL2+. + (license (list license:lgpl2.0 license:lgpl3 license:lgpl2.0+)) + (properties `((upstream-name . "frameworkintegration"))))) + + +;; Porting Aids +;; +;; Porting Aids frameworks provide code and utilities to ease the transition +;; from kdelibs 4 to KDE Frameworks 5. Code should aim to port away from this +;; framework, new projects should avoid using these libraries. + +(define-public kdelibs4support + (package + (name "kdelibs4support") + (version "5.34.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://kde/stable/frameworks/" + (version-major+minor version) "/portingAids/" + name "-" version ".tar.xz")) + (sha256 + (base32 "0q9jjsjcvc43va4yvfay2xi40vb95lnqhgzavpqcndzjihixwmi0")))) + (build-system cmake-build-system) + (native-inputs + `(("dbus" ,dbus) + ("docbook-xml" ,docbook-xml-4.4) ; optional + ("extra-cmake-modules" ,extra-cmake-modules) + ("perl", perl) + ("perl-uri" ,perl-uri) + ("pkg-config" ,pkg-config) + ("shared-mime-info" ,shared-mime-info) + ("kjobwidgets" ,kjobwidgets) ;; required for running the tests + ("strace" ,strace) + ("tzdata" ,tzdata))) + (propagated-inputs + ;; These are required to be installed along with this package, see + ;; lib64/cmake/KF5KDELibs4Support/KF5KDELibs4SupportConfig.cmake + `(("karchive" ,karchive) + ("kauth" ,kauth) + ("kconfigwidgets" ,kconfigwidgets) + ("kcoreaddons" ,kcoreaddons) + ("kcrash" ,kcrash) + ("kdbusaddons" ,kdbusaddons) + ("kdesignerplugin" ,kdesignerplugin) + ("kdoctools" ,kdoctools) + ("kemoticons" ,kemoticons) + ("kguiaddons" ,kguiaddons) + ("kiconthemes" ,kiconthemes) + ("kinit" ,kinit) + ("kitemmodels" ,kitemmodels) + ("knotifications" ,knotifications) + ("kparts" ,kparts) + ("ktextwidgets" ,ktextwidgets) + ("kunitconversion", kunitconversion) + ("kwindowsystem" ,kwindowsystem) + ("qtbase" ,qtbase))) + (inputs + `(("kcompletion" ,kcompletion) + ("kconfig" ,kconfig) + ("kconfigwidgets" ,kconfigwidgets) + ("kded" ,kded) + ("kdesignerplugin" ,kdesignerplugin) + ("kdoctools" ,kdoctools) + ("kglobalaccel" ,kglobalaccel) + ("kguiaddons" ,kguiaddons) + ("ki18n" ,ki18n) + ("kio" ,kio) + ("kservice" ,kservice) + ("kwidgetsaddons" ,kwidgetsaddons) + ("kxmlgui" ,kxmlgui) + ("libsm", libsm) + ("networkmanager-qt", networkmanager-qt) + ("openssl", openssl) + ("qtsvg" ,qtsvg) + ("qttools" ,qttools) + ("qtx11extras" ,qtx11extras))) + ;; FIXME: Use GuixSD ca-bundle.crt in etc/xdg/ksslcalist and + ;; share/kf5/kssl/ca-bundle.crt + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'make-cmake-to-find-docbook + (lambda _ + (substitute* "cmake/FindDocBookXML4.cmake" + (("^.*xml/docbook/schema/dtd.*$") + "xml/dtd/docbook\n")) + #t)) + (delete 'check) + (add-after 'install 'check-post-install + (lambda* (#:key inputs tests? #:allow-other-keys) + (setenv "HOME" (getcwd)) + (setenv "TZDIR" ; KDateTimeTestsome needs TZDIR + (string-append (assoc-ref inputs "tzdata") + "/share/zoneinfo")) + ;; Make Qt render "offscreen", required for tests + (setenv "QT_QPA_PLATFORM" "offscreen") + ;; enable debug output + (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; enable debug output + (setenv "DBUS_FATAL_WARNINGS" "0") + ;; TODO: Make this tests pass (also see + ;; https://bugs.kde.org/381098) + (zero? (system* "dbus-launch" "ctest" "." + "-E" "kmimetypetest|kstandarddirstest"))))))) + (home-page "https://community.kde.org/Frameworks") + (synopsis "KDE Frameworks 5 porting aid from KDELibs4") + (description "This framework provides code and utilities to ease the +transition from kdelibs 4 to KDE Frameworks 5. This includes CMake macros and +C++ classes whose functionality has been replaced by code in CMake, Qt and +other frameworks. + +Code should aim to port away from this framework eventually. The API +documentation of the classes in this framework and the notes at +http://community.kde.org/Frameworks/Porting_Notes should help with this.") + ;; Most files are distributed under LGPL2+, but the package includes code + ;; under a variety of licenses. + (license (list license:lgpl2.1+ license:lgpl2.0 license:lgpl2.0+ + license:gpl2 license:gpl2+ + license:expat license:bsd-2 license:bsd-3 + license:public-domain)))) + +(define-public khtml + (package + (name "khtml") + (version "5.34.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://kde/stable/frameworks/" + (version-major+minor version) "/portingAids/" + name "-" version ".tar.xz")) + (sha256 + (base32 "0j490jfnz8pbfl1i11wj514nw0skpnxr2fvi9pqpfql9lfhsanxv")))) + (build-system cmake-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("perl", perl))) + (inputs + `(("giflib" ,giflib) + ("karchive" ,karchive) + ("kcodecs" ,kcodecs) + ("kglobalaccel" ,kglobalaccel) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kio" ,kio) + ("kjs" ,kjs) + ("knotifications" ,knotifications) + ("kparts" ,kparts) + ("ktextwidgets" ,ktextwidgets) + ("kwallet", kwallet) + ("kwidgetsaddons" ,kwidgetsaddons) + ("kwindowsystem" ,kwindowsystem) + ("kxmlgui" ,kxmlgui) + ("libjpeg", libjpeg) + ("libpng", libpng) + ("openssl", openssl) + ("phonon", phonon) + ("qtbase" ,qtbase) + ("qtx11extras" ,qtx11extras) + ("sonnet" ,sonnet))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'check-setup + (lambda _ + ;; Make Qt render "offscreen", required for tests + (setenv "QT_QPA_PLATFORM" "offscreen") + #t))))) + (home-page "https://community.kde.org/Frameworks") + (synopsis "KDE Frameworks 5 HTML widget and component") + (description "KHTML is a web rendering engine, based on the KParts +technology and using KJS for JavaScript support.") + ;; Most files are distributed under LGPL2+, but the package includes code + ;; under a variety of licenses. + (license (list license:lgpl2.0+ license:lgpl2.1+ + license:gpl2 license:gpl3+ + license:expat license:bsd-2 license:bsd-3)))) + +(define-public kjs + (package + (name "kjs") + (version "5.34.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://kde/stable/frameworks/" + (version-major+minor version) "/portingAids/" + name "-" version ".tar.xz")) + (sha256 + (base32 "18b7k1hi73iqn06c1ryy9lcmvscr9d08q7n1wwkrn0l2xmy05xsq")))) + (build-system cmake-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("kdoctools" ,kdoctools) + ("perl" ,perl) + ("pkg-config" ,pkg-config))) + (inputs + `(("pcre" ,pcre) + ("qtbase" ,qtbase))) + (home-page "https://community.kde.org/Frameworks") + (synopsis "KDE Frameworks 5 support for Javascript scripting in Qt +applications") + (description "Add-on library to Qt which adds JavaScript scripting +support.") + ;; Most files are distributed under LGPL2+, but the package also includes + ;; code under a variety of licenses. + (license (list license:lgpl2.1+ + license:bsd-2 license:bsd-3 + (license:non-copyleft "file://src/kjs/dtoa.cpp"))))) + +(define-public kjsembed + (package + (name "kjsembed") + (version "5.34.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://kde/stable/frameworks/" + (version-major+minor version) "/portingAids/" + name "-" version ".tar.xz")) + (sha256 + (base32 "17w8i370pqks1fj3pcziz7j014chnc6yi7md7w2p4xprw54pbmbk")))) + (build-system cmake-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("kdoctools" ,kdoctools) + ("qttools" ,qttools))) + (inputs + `(("ki18n" ,ki18n) + ("kjs" ,kjs) + ("qtbase" ,qtbase) + ("qtsvg" ,qtsvg))) + (home-page "https://community.kde.org/Frameworks") + (synopsis "KDE Frameworks 5 embedded Javascript engine for Qt") + (description "KJSEmbed provides a method of binding Javascript objects to +QObjects, so you can script your applications.") + (license license:lgpl2.1+))) + +(define-public kmediaplayer + (package + (name "kmediaplayer") + (version "5.34.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://kde/stable/frameworks/" + (version-major+minor version) "/portingAids/" + name "-" version ".tar.xz")) + (sha256 + (base32 "1mq87qf86sdvwhas4w7rspd221qp4x9kds4nd0lpldiay4483k86")))) + (build-system cmake-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("kdoctools" ,kdoctools) + ("qttools" ,qttools))) + (inputs + `(("kcompletion" ,kcompletion) + ("kcoreaddons" ,kcoreaddons) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kio" ,kio) + ("kparts" ,kparts) + ("kwidgetsaddons" ,kwidgetsaddons) + ("kxmlgui" ,kxmlgui) + ("qtbase" ,qtbase))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'check-setup + (lambda _ + ;; Make Qt render "offscreen", required for tests + (setenv "QT_QPA_PLATFORM" "offscreen") + #t))))) + (home-page "https://community.kde.org/Frameworks") + (synopsis "KDE Frameworks 5 plugin interface for media player features") + (description "KMediaPlayer builds on the KParts framework to provide a +common interface for KParts that can play media files. + +This framework is a porting aid. It is not recommended for new projects, and +existing projects that use it are advised to port away from it, and use plain +KParts instead.") + (license license:expat))) + +(define-public kross + (package + (name "kross") + (version "5.34.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://kde/stable/frameworks/" + (version-major+minor version) "/portingAids/" + name "-" version ".tar.xz")) + (sha256 + (base32 "092qz8vyiialv9fvk4wvn8mrfhz5i5hnbq0xnz6nvi1pk3db6bxq")))) + (build-system cmake-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("kdoctools" ,kdoctools) + ("qttools" ,qttools))) + (inputs + `(("kcompletion" ,kcompletion) + ("kcoreaddons" ,kcoreaddons) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kparts" ,kparts) + ("kwidgetsaddons" ,kwidgetsaddons) + ("kxmlgui" ,kxmlgui) + ("qtbase" ,qtbase) + ("qtscript" ,qtscript))) + (home-page "https://community.kde.org/Frameworks") + (synopsis "KDE Frameworks 5 solution for application scripting") + (description "Kross is a scripting bridge for the KDE Development Platform +used to embed scripting functionality into an application. It supports +QtScript as a scripting interpreter backend. + +Kross provides an abstract API to provide scripting functionality in a +interpreter-independent way. The application that uses Kross should not need +to know anything about the scripting language being used. The core of Kross +provides the framework to deal transparently with interpreter-backends and +offers abstract functionality to deal with scripts.") + ;; Most files are distributed under LGPL2+, but the package includes code + ;; under a variety of licenses. + (license (list license:lgpl2.0+ license:lgpl2.1+ + license:lgpl2.0 license:gpl3+)))) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 73e376fdd3..9031d727ef 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -26,6 +26,7 @@ ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017 nee <nee-git@hidamari.blue> +;;; Copyright © 2017 Dave Love <fx@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -98,6 +99,8 @@ #:use-module (gnu packages xml) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg) + #:use-module (gnu packages groff) + #:use-module (gnu packages selinux) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system python) @@ -360,56 +363,26 @@ It has been modified to remove all non-free binary blobs.") (define %intel-compatible-systems '("x86_64-linux" "i686-linux")) -(define %linux-libre-version "4.11.6") -(define %linux-libre-hash "0xay0m2a4la8aqc8ai8zqfh1c1i6sjgh0dywm7nis0g1gqirwrds") +(define %linux-libre-version "4.11.7") +(define %linux-libre-hash "0kliwdz4qqjz13pywhavxg19cy1mf6d1f52f6kgapc331309vad9") (define-public linux-libre (make-linux-libre %linux-libre-version %linux-libre-hash %intel-compatible-systems - #:configuration-file kernel-config - #:patches - (list %boot-logo-patch - (origin - (method url-fetch) - (uri "\ -https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/patch/?id=167ec8235f978d7af78c73e9490dae1af3fee67f") - (file-name "linux-libre-4.11-CVE-2017-1000364.patch") - (sha256 - (base32 - "0hv3lxjgpssvsldkydg5q7znnzxv5ncpzrk6g11q01k3gkl0q689")))))) + #:configuration-file kernel-config)) (define-public linux-libre-4.9 - (make-linux-libre "4.9.33" - "1dam6vqymhlx1vsl0lzxphamiifgyf97snxg18b2czqq402nz094" + (make-linux-libre "4.9.34" + "00jm3338kvhfj850lg3mvk680fmfw34mvwaq41lvxgb1z2xqqlz1" %intel-compatible-systems - #:configuration-file kernel-config - #:patches - (list %boot-logo-patch - (origin - (method url-fetch) - (uri "\ -https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/patch/?id=37c40b6777f0bc8a63f616479c469b371097f333") - (file-name "linux-libre-4.9-CVE-2017-1000364.patch") - (sha256 - (base32 - "0zhnh8ysiqldxlnd50bjrxagzx29kc8nlajdrikii2x2ibkbfb4i")))))) + #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.73" - "144ssqw1dr86z4cgl797pq5rggfibsxqk7wmfbl6j92l1cj6yjrz" + (make-linux-libre "4.4.74" + "04x2ki3s2jsjkkk6bld0rd9rsk8qqvrfsxawxzfa26mkq6pv87r2" %intel-compatible-systems - #:configuration-file kernel-config - #:patches - (list %boot-logo-patch - (origin - (method url-fetch) - (uri "\ -https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/patch/?id=87422f5b9b4f43efef4eaf37d7d040aed96500cb") - (file-name "linux-libre-4.4-CVE-2017-1000364.patch") - (sha256 - (base32 - "137p1cpiwlbvw4x12w1l23iy593xmdry60kd7j9kk690r9arfagw")))))) + #:configuration-file kernel-config)) (define-public linux-libre-4.1 (make-linux-libre "4.1.41" @@ -422,17 +395,7 @@ https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/patch %linux-libre-hash '("armhf-linux") #:defconfig "multi_v7_defconfig" - #:extra-version "arm-generic" - #:patches - (list %boot-logo-patch - (origin - (method url-fetch) - (uri "\ -https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/patch/?id=167ec8235f978d7af78c73e9490dae1af3fee67f") - (file-name "linux-libre-4.11-CVE-2017-1000364.patch") - (sha256 - (base32 - "0hv3lxjgpssvsldkydg5q7znnzxv5ncpzrk6g11q01k3gkl0q689")))))) + #:extra-version "arm-generic")) ;;; @@ -4176,3 +4139,28 @@ NexGen, Rise, and SiS CPUs.") to data over the Media Transfer Protocol (MTP). Unprivileged users can mount the MTP device as a filesystem.") (license license:gpl3))) + +(define-public procenv + (package + (name "procenv") + (version "0.49") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/jamesodhunt/procenv/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0brzf6185hb76imw107cl21c8lzwiywkxi3jknihrk86bvvicd0d")))) + (build-system gnu-build-system) + (arguments `(#:configure-flags '("--disable-silent-rules"))) + (inputs `(("expat" ,expat) ("libcap" ,libcap) ("check" ,check) + ("groff" ,groff) ; for tests + ("libselinux" ,libselinux))) + (synopsis "Utility to show process environment") + (description "Procenv is a command-line tool that displays as much detail about +itself and its environment as possible. It can be used as a test +tool, to understand the type of environment a process runs in, and for +comparing system environments.") + (home-page "http://github.com/jamesodhunt/procenv/") + (license license:gpl3+))) diff --git a/gnu/packages/lirc.scm b/gnu/packages/lirc.scm index d4c2d18ccc..cd9e06d394 100644 --- a/gnu/packages/lirc.scm +++ b/gnu/packages/lirc.scm @@ -48,6 +48,13 @@ '(#:configure-flags '("--localstatedir=/var") #:phases (modify-phases %standard-phases + (add-after 'unpack 'disable-kernel-sniffing + (lambda _ + ;; Correct the faulty assumption that systemd support should be + ;; hard-wired when a build host's /proc/version contains "Ubuntu". + (substitute* "configure" + (("kernelversion=.*") "kernelversion=irrelevant\n")) + #t)) (add-after 'unpack 'patch-lirc-make-devinput (lambda* (#:key inputs #:allow-other-keys) ;; 'lirc-make-devinput' script assumes that linux headers diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 019b556c9c..7ab9829196 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1085,7 +1085,7 @@ facilities for checking incoming mail.") (define-public dovecot (package (name "dovecot") - (version "2.2.30.2") + (version "2.2.31") (source (origin (method url-fetch) @@ -1093,7 +1093,7 @@ facilities for checking incoming mail.") (version-major+minor version) "/" name "-" version ".tar.gz")) (sha256 (base32 - "17hqhzfqlk08d20x9rwi0lyvy13pc0x8sr1zcg89vapf3jfagnzk")))) + "18bnwgn6hshbmr79g21sngkrmydji6bzb948a3b2i0bl0w4y8jq3")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index e7205655c3..20eef00123 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -428,7 +428,7 @@ large scale eigenvalue problems.") (define-public lapack (package (name "lapack") - (version "3.5.0") + (version "3.7.1") (source (origin (method url-fetch) @@ -436,14 +436,24 @@ large scale eigenvalue problems.") version ".tgz")) (sha256 (base32 - "0lk3f97i9imqascnlf6wr5mjpyxqcdj73pgj97dj2mgvyg9z1n4s")))) + "0yavf6m9l78pwlnk5g61cg8x28mr30j0g8gkai0jrdqfjjmf3whs")))) (build-system cmake-build-system) (home-page "http://www.netlib.org/lapack/") (inputs `(("fortran" ,gfortran) ("python" ,python-2))) (arguments - `(#:configure-flags '("-DBUILD_SHARED_LIBS:BOOL=YES" - "-DLAPACKE=ON") + `(#:configure-flags (list + ;; Install to PREFIX/lib (the default is + ;; PREFIX/lib64). + (string-append "-DCMAKE_INSTALL_LIBDIR=" + (assoc-ref %outputs "out") + "/lib") + + "-DBUILD_SHARED_LIBS:BOOL=YES" + "-DLAPACKE=ON" + + ;; Build the 'LAPACKE_clatms' functions. + "-DLAPACKE_WITH_TMG=ON") #:phases (alist-cons-before 'check 'patch-python (lambda* (#:key inputs #:allow-other-keys) @@ -1872,6 +1882,7 @@ YACC = bison -pscotchyy -y -b y '("COMMON_FILE_COMPRESS_GZ" "COMMON_PTHREAD" "COMMON_RANDOM_FIXED_SEED" + "INTSIZE64" ;use 'long' instead of 'int' ;; Prevents symbolc clashes with libesmumps "SCOTCH_RENAME" ;; XXX: Causes invalid frees in superlu-dist tests diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm index e711148c7c..3fcf5f0fa4 100644 --- a/gnu/packages/mes.scm +++ b/gnu/packages/mes.scm @@ -34,14 +34,14 @@ (define-public nyacc (package (name "nyacc") - (version "0.79.4") + (version "0.80.3") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/nyacc/" name "-" version ".tar.gz")) (sha256 (base32 - "14rhr9nv1022r7m94agb3299y0k093aq1ps22zgii3aa7cf9h1w4")))) + "0sdvkahnz6k9i4kf1i1ljl20220n3wk3gy6zmz0ggbbdgg4mfka0")))) (build-system gnu-build-system) (native-inputs `(("guile" ,guile-2.2))) @@ -54,25 +54,24 @@ extensive examples, including parsers for the Javascript and C99 languages.") (license (list gpl3+ lgpl3+)))) (define-public mes - (let ((commit "7fdca75d2188b28df806b34ec92627d57aafa9ae") - (revision "0") - (triplet "i686-unknown-linux-gnu") - (version "0.7")) + (let ((triplet "i686-unknown-linux-gnu")) (package (name "mes") - (version (string-append version "-" revision "." (string-take commit 7))) + (version "0.8") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.com/janneke/mes") - (commit commit))) - (file-name (string-append name "-" version)) + (method url-fetch) + (uri (string-append "https://gitlab.com/janneke/mes" + "/repository/archive.tar.gz?ref=v" + version)) + (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0fvzr1ai2rmi46zdi5b2bdjb6s8ip78mkmsk02yxl46rajmp2pb1")))) + (base32 + "1igmrks20ci6l5c0jx2bn4swf0w8jy5inhg61cwld9d7hwanmdnj")))) (build-system gnu-build-system) (supported-systems '("i686-linux" "x86_64-linux")) (propagated-inputs - `(("nyacc" ,nyacc))) + `(("mescc-tools" ,mescc-tools) + ("nyacc" ,nyacc))) (native-inputs `(("guile" ,guile-2.2) ,@(if (string-prefix? "x86_64-linux" (or (%current-target-system) @@ -100,3 +99,32 @@ consists of a mutual self-hosting [close to Guile-] Scheme interpreter prototype in C and a Nyacc-based C compiler in [Guile] Scheme.") (home-page "https://gitlab.com/janneke/mes") (license gpl3+)))) + +(define-public mescc-tools + (package + (name "mescc-tools") + (version "0.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/oriansj/MESCC_Tools/archive/Release_" + version + ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1lzi9sqv41269isn7in70q2hhh087n4v97zr5i2qzz69j2lkr3xb")))) + (build-system gnu-build-system) + (supported-systems '("i686-linux" "x86_64-linux")) + (arguments + `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:test-target "test" + #:phases (modify-phases %standard-phases + (delete 'configure)))) + (synopsis "Tools for the full source bootstrapping process") + (description + "Mescc-tools is a collection of tools for use in a full source +bootstrapping process. Currently consists of the M0 macro assembler and the +hex2 linker.") + (home-page "https://github.com/oriansj/MESCC_Tools") + (license gpl3+))) diff --git a/gnu/packages/moe.scm b/gnu/packages/moe.scm index 12929b327a..67e5b02390 100644 --- a/gnu/packages/moe.scm +++ b/gnu/packages/moe.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org> +;;; Copyright © 2014, 2015, 2017 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. @@ -28,7 +28,7 @@ (define-public moe (package (name "moe") - (version "1.8") + (version "1.9") (source (origin (method url-fetch) @@ -36,7 +36,7 @@ version ".tar.lz")) (sha256 (base32 - "0mv4pg38p0dq88xmxxv08rykn7vv4x7gskmdk7nfp3vx37r4xzvy")))) + "1wsfzy0iia0c89wnx1ilzw54wqcmlp2nz8mkpvc393z0zagrx48q")))) (build-system gnu-build-system) (native-inputs `(("lzip" ,lzip))) (inputs `(("ncurses" ,ncurses))) diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index 78c2b2f73b..8a3a5809c7 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -290,14 +290,14 @@ This package contains the binary.") (define-public mpg123 (package (name "mpg123") - (version "1.23.8") + (version "1.25.0") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/mpg123/mpg123/" version "/mpg123-" version ".tar.bz2")) (sha256 (base32 - "13ngfzk84k4ks7ymanmq8f6707yrybra5h0mk3ir6mdnxk4068yy")))) + "0j2fyb984cwvhn8kicf87y39bhjsg43p14aj893hzq25n0fkwbjm")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--with-default-audio=pulse"))) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 06a2c8be6e..d4b9a3d129 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> +;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -51,6 +52,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages databases) + #:use-module (gnu packages dejagnu) #:use-module (gnu packages flex) #:use-module (gnu packages gettext) #:use-module (gnu packages gnupg) @@ -64,6 +66,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages readline) #:use-module (gnu packages textutils) #:use-module (gnu packages tls) #:use-module (gnu packages valgrind) @@ -1308,3 +1311,79 @@ transparently have a connection established to another address (e.g., a UNIX socket on a different system). This is similar to 'ssh -L' functionality, but does not use SSH and requires a pre-shared symmetric key.") (license license:bsd-2))) + +(define-public quagga + (package + (name "quagga") + (version "1.2.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://savannah/quagga/quagga-" + version ".tar.gz")) + (sha256 + (base32 + "1kgvcr9cfgys5asvb5lh5h95silkr624apqm5x68xva19xfvmpda")) + (patches + (search-patches "quagga-reproducible-build.patch")))) + (build-system gnu-build-system) + (native-inputs `(("pkg-config",pkg-config) + ("perl",perl) + ("dejagnu",dejagnu))) + (inputs `(("readline",readline) + ("c-ares",c-ares))) + (synopsis "Routing Software Suite") + (description "Quagga is a routing software suite, providing implementations +of OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4 for Unix platforms. + +The Quagga architecture consists of a core daemon, @command{zebra}, which +acts as an abstraction layer to the underlying Unix kernel and presents the +Zserv API over a Unix or TCP stream to Quagga clients. It is these Zserv +clients which typically implement a routing protocol and communicate routing +updates to the zebra daemon.") + (home-page "http://www.nongnu.org/quagga/") + (license license:gpl2+))) + +(define-public thc-ipv6 + (package + (name "thc-ipv6") + (version "3.2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/vanhauser-thc/thc-ipv6/" + "archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0yh2lpsazmm0pgbmh0dx023w6fss1kdfyr4cq7yw0fac8vkw32d3")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:tests? #f ; No test suite. + #:phases + (modify-phases %standard-phases + (delete 'configure) ; No ./configure script. + (add-before 'build 'patch-paths + (lambda _ + (substitute* "Makefile" + (("/bin/echo") "echo")) + #t)) + (add-after 'install 'install-more-docs + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/thc-ipv6/doc"))) + (install-file "README" doc) + (install-file "HOWTO-INJECT" doc) + #t)))))) + ;; TODO Add libnetfilter-queue once packaged. + (inputs + `(("libpcap" ,libpcap) + ("openssl" ,openssl) + ("perl" ,perl))) + (home-page "https://github.com/vanhauser-thc/thc-ipv6") + (synopsis "IPv6 security research toolkit") + (description "The THC IPv6 Toolkit provides command-line tools and a library +for researching IPv6 implementations and deployments. It requires Linux 2.6 or +newer and only works on Ethernet network interfaces.") + ;; AGPL 3 with exception for linking with OpenSSL. See the 'LICENSE' file in + ;; the source distribution for more information. + (license license:agpl3))) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 69bd928833..d4415fc501 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -40,14 +40,14 @@ (define-public node (package (name "node") - (version "7.10.0") + (version "8.1.2") (source (origin (method url-fetch) (uri (string-append "http://nodejs.org/dist/v" version "/node-v" version ".tar.gz")) (sha256 (base32 - "00vdmb0z8b2sd547bkksgy9dfq5gi5xfd9b3f0rc4ngvpzl3z164")) + "0l92gar1pivzaiwffiiiz2f2m5k39sl5fphlfnvy0ml9hrjb65yp")) ;; https://github.com/nodejs/node/pull/9077 (patches (search-patches "node-9077.patch")))) (build-system gnu-build-system) @@ -83,10 +83,18 @@ ((" \\$\\(MAKE\\) jslint") "") ((" \\$\\(MAKE\\) cpplint\n") "")) + ;; FIXME: This test seems to depends on files that are not + ;; available in the bundled v8. See + ;; https://github.com/nodejs/node/issues/13344 + (for-each delete-file + '("test/addons-napi/test_general/testInstanceOf.js")) ;; FIXME: These tests fail in the build container, but they don't ;; seem to be indicative of real problems in practice. (for-each delete-file - '("test/parallel/test-dgram-membership.js" + '("test/async-hooks/test-ttywrap.readstream.js" + "test/parallel/test-util-inspect.js" + "test/parallel/test-v8-serdes.js" + "test/parallel/test-dgram-membership.js" "test/parallel/test-cluster-master-error.js" "test/parallel/test-cluster-master-kill.js" "test/parallel/test-npm-install.js" diff --git a/gnu/packages/patches/ansible-wrap-program-hack.patch b/gnu/packages/patches/ansible-wrap-program-hack.patch new file mode 100644 index 0000000000..c2e1028392 --- /dev/null +++ b/gnu/packages/patches/ansible-wrap-program-hack.patch @@ -0,0 +1,22 @@ +Ansible changes its behaviour depending on the name of the script that it is +called as. Make it deal with guix' .real wrapper scripts. + +FIXME: Remove once wrapping ansible works properly. +See http://lists.gnu.org/archive/html/bug-guix/2017-05/msg00015.html. +--- ansible-2.3.0.0/bin/ansible 2017-04-12 16:08:05.000000000 +0200 ++++ ansible-2.3.0.0-fixed/bin/ansible 2017-05-21 20:11:18.720872385 +0200 +@@ -75,7 +75,13 @@ + # sometimes add that + target = target[:-1] + +- if len(target) > 1: ++ if target[-1] == "real" and target[0].startswith('.'): ++ target = target[:-1] ++ target[0] = target[0][1:] ++ if len(target) > 1 and target[1] != "real" : ++ sub = target[1] ++ myclass = "%sCLI" % sub.capitalize() ++ elif len(target) > 2 and target[2] == "real" : + sub = target[1] + myclass = "%sCLI" % sub.capitalize() + elif target[0] == 'ansible': diff --git a/gnu/packages/patches/quagga-reproducible-build.patch b/gnu/packages/patches/quagga-reproducible-build.patch new file mode 100644 index 0000000000..80efe4bf62 --- /dev/null +++ b/gnu/packages/patches/quagga-reproducible-build.patch @@ -0,0 +1,22 @@ +Make sure, that vtysh_cmd.c is deterministically generated. + +--- a/vtysh/extract.pl.in 2017-03-10 13:55:06.000000000 +0100 ++++ b/vtysh/extract.pl.in 2017-06-24 00:51:56.460000000 +0200 +@@ -214,7 +214,7 @@ + } + + # Output DEFSH +-foreach (keys %live) { ++foreach (sort keys %live) { + my ($proto); + my ($key); + $key = $live{$_}; +@@ -229,7 +229,7 @@ + { + EOF + +-foreach (keys %odefun) { ++foreach (sort keys %odefun) { + my ($node, $str) = (split (/,/)); + $cmd = $ocmd{$_}; + $cmd =~ s/_cmd/_cmd_vtysh/; diff --git a/gnu/packages/patches/screen-fix-info-syntax-error.patch b/gnu/packages/patches/screen-fix-info-syntax-error.patch deleted file mode 100644 index 6ee9091daa..0000000000 --- a/gnu/packages/patches/screen-fix-info-syntax-error.patch +++ /dev/null @@ -1,47 +0,0 @@ -Fix errors when building the info manual: - -[...] -./screen.texinfo:5799: unknown command `suse' -./screen.texinfo:5800: unknown command `deuxchevaux' -make[2]: *** [Makefile:31: screen.info] Error 1 -[...] - -Patch copied from upstream source repository: - -http://git.savannah.gnu.org/cgit/screen.git/commit/?id=a7d2f9e6ecfa794dd0bd3dbeaf6780c88a6f3152 - -From a7d2f9e6ecfa794dd0bd3dbeaf6780c88a6f3152 Mon Sep 17 00:00:00 2001 -From: Andreas Stieger <astieger@suse.com> -Date: Tue, 28 Feb 2017 19:23:01 +0100 -Subject: [PATCH] fix texinfo syntax errors - -thanks to Andreas Stieger <astieger@suse.com> ---- - src/doc/screen.texinfo | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/doc/screen.texinfo b/src/doc/screen.texinfo -index bc4cbae..aadad33 100644 ---- a/doc/screen.texinfo -+++ b/doc/screen.texinfo -@@ -5795,7 +5795,7 @@ and Alexander Naumov <alexander_naumov@@opensuse.org>. - Contributors @* - ============ - --@example -+@verbatim - Thomas Renninger <treen@suse.com>, - Axel Beckert <abe@deuxchevaux.org>, - Ken Beal <kbeal@@amber.ssd.csd.harris.com>, -@@ -5826,7 +5826,7 @@ Contributors @* - Jason Merrill <jason@@jarthur.Claremont.EDU>, - Johannes Zellner <johannes@@zellner.org>, - Pablo Averbuj <pablo@@averbuj.com>. --@end example -+@end verbatim - - @noindent - Version @* --- -cgit v1.0-41-gc330 - diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 5ccaa38eea..dce02a7b57 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -76,6 +76,7 @@ (define-public poppler (package (name "poppler") + (replacement poppler-0.56.0) (version "0.52.0") (source (origin (method url-fetch) @@ -129,15 +130,27 @@ (license license:gpl2+) (home-page "https://poppler.freedesktop.org/"))) -(define-public poppler-qt4 +(define poppler-0.56.0 (package (inherit poppler) + (version "0.56.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://poppler.freedesktop.org/poppler-" + version ".tar.xz")) + (sha256 + (base32 + "0wviayidfv2ix2ql0d4nl9r1ia6qi5kc1nybd9vjx27dk7gvm7c6")))))) + +(define-public poppler-qt4 + (package/inherit poppler (name "poppler-qt4") (inputs `(("qt-4" ,qt-4) ,@(package-inputs poppler))) (synopsis "Qt4 frontend for the Poppler PDF rendering library"))) (define-public poppler-qt5 - (package (inherit poppler) + (package/inherit poppler (name "poppler-qt5") (inputs `(("qtbase" ,qtbase) ,@(package-inputs poppler))) diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 3effc181d3..1811e8ad3e 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -386,6 +386,8 @@ photographic equipment.") developer. It manages your digital negatives in a database, lets you view them through a zoomable lighttable and enables you to develop raw images and enhance them.") + ;; see src/is_supported_platform.h for supported platforms + (supported-systems '("i686-linux" "x86_64-linux" "aarch64-linux")) (license license:gpl3+))) (define-public hugin diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index ef7b92bd48..34cab7a041 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -6036,7 +6036,19 @@ of the structure, dynamics, and functions of complex networks.") (build-system python-build-system) (arguments ;; TODO: Package missing test dependencies. - '(#:tests? #f)) + '(#:tests? #f + #:phases + (modify-phases %standard-phases + ;; For cluster execution Snakemake will call Python. Since there is + ;; no suitable PYTHONPATH set, cluster execution will fail. We fix + ;; this by calling the snakemake wrapper instead. + (add-after 'unpack 'call-wrapper-not-wrapped-snakemake + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "snakemake/executors.py" + (("\\{sys.executable\\} -m snakemake") + (string-append (assoc-ref outputs "out") + "/bin/snakemake"))) + #t))))) (propagated-inputs `(("python-wrapt" ,python-wrapt) ("python-requests" ,python-requests))) diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index bcb715327c..dae00732af 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015, 2016 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net> ;;; Copyright © 2017 John Darrington <jmd@gnu.org> @@ -181,7 +181,7 @@ "0w5ib5vsidihb4hb6fma3sp596ykr8izagm57axvgd6lqzwicsjg")))))))) ;; Fails to build on MIPS, see <http://bugs.gnu.org/18221>. - (supported-systems (delete "mips64el-linux" %supported-systems)) + (supported-systems '("x86_64-linux" "i686-linux" "armhf-linux")) (home-page "https://www.gnu.org/software/mit-scheme/") (synopsis "A Scheme implementation with integrated editor and debugger") diff --git a/gnu/packages/screen.scm b/gnu/packages/screen.scm index 49584662b1..af0079be20 100644 --- a/gnu/packages/screen.scm +++ b/gnu/packages/screen.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org> +;;; Copyright © 2015, 2017 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> @@ -37,14 +37,13 @@ (define-public screen (package (name "screen") - (version "4.5.1") + (version "4.6.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/screen/screen-" version ".tar.gz")) - (patches (search-patches "screen-fix-info-syntax-error.patch")) (sha256 - (base32 "0bbv16gpxrh64sn4bvjy3qjy7jsxjlqlilyysin02fwnvla23nwp")))) + (base32 "1m7yd2bs1i623kk27nfy3qa2mgjp5qjqxwj5qz21r51ycmmp0cwl")))) (build-system gnu-build-system) (native-inputs `(("makeinfo" ,texinfo))) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 832b8dc7c5..41c0668151 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015 Vicente Vera Parra <vicentemvp@gmail.com> ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl> ;;; Copyright © 2016 Roel Janssen <roel@gnu.org> ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> @@ -3768,37 +3768,26 @@ from within R.") (define-public r-spams (package (name "r-spams") - (version "2.5-svn2014-07-04") + (version "2.6-2017-03-22") (source (origin (method url-fetch) - (uri (string-append "https://gforge.inria.fr/frs/download.php/33815/" + (uri (string-append "https://gforge.inria.fr/frs/download.php/36615/" "spams-R-v" version ".tar.gz")) (sha256 (base32 - "1k459jg9a334slkw31w63l4d39xszjzsng7dv5j1mp78zifz7hvx")))) + "13z2293jixf1r9g8dyy856xrhvpjr2ln2n9smn6644126r9hmhkx")))) (build-system r-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-after 'unpack 'chdir (lambda _ (chdir "spams") #t)) - ;; Since R 3.3.0 including R headers inside of an extern "C" block - ;; causes C headers to be included, which results in a lot of - ;; duplicate definitions. This can be avoided by defining - ;; NO_C_HEADERS before including the R headers. - (add-after 'chdir 'patch-use-of-R-headers + ;; Don't tune for the building machine + (add-after 'chdir 'no-mtune (lambda _ - (substitute* "src/spams.cpp" - (("#include <R.h>" line) - (string-append "#define NO_C_HEADERS\n" line))) - #t)) - ;; This looks like a syntax error. - (add-after 'chdir 'patch-isnan - (lambda _ - (substitute* '"src/spams/linalg/linalg.h" - (("if isnan\\(lambda\\) \\{") - "if (isnan(lambda)) {")) + (substitute* "src/Makevars" + (("-mtune=native") "")) #t))))) (propagated-inputs `(("r-lattice" ,r-lattice) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index eb69547a1c..f4b6596e9d 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -735,11 +735,14 @@ book).") (and (zero? (system* "luatex" "-ini" "-interaction=batchmode" "-output-directory=build" "unpack.ins")) - ;; LaTeX and XeTeX require e-TeX, which is enabled only in - ;; extended mode (activated with a leading asterisk). We - ;; should not use luatex here, because that would make the - ;; generated format files incompatible with any other TeX - ;; engine. + (zero? (system* "tex" "-ini" "-interaction=batchmode" + "-output-directory=web2c" + "tex.ini")) + ;; LaTeX, pdfetex/pdftex, and XeTeX require e-TeX, which + ;; is enabled only in extended mode (activated with a + ;; leading asterisk). We should not use luatex here, + ;; because that would make the generated format files + ;; incompatible with any other TeX engine. ;; FIXME: XeTeX fails to build because neither ;; \XeTeXuseglyphmetrics nor \XeTeXdashbreakstate are @@ -751,7 +754,8 @@ book).") "-translate-file=cp227.tcx" (string-append "*" format ".ini")))) '("latex" ;"xetex" - )) + "pdflatex" + "pdfetex")) (every (lambda (format) (zero? (system* "luatex" "-ini" "-interaction=batchmode" @@ -772,6 +776,10 @@ book).") (find-files "build" ".*")) (for-each (cut install-file <> web2c) (find-files "web2c" ".*")) + ;; pdftex is really just the same as pdfetex, but since it + ;; doesn't have its own format file, we need to copy it. + (copy-file "web2c/pdfetex.fmt" + (string-append web2c "/pdftex.fmt")) #t)))))) (native-inputs `(("texlive-bin" ,texlive-bin) @@ -934,7 +942,7 @@ verbatim source).") (revision %texlive-revision))) (sha256 (base32 - "1q5l0x3jsy74v0zq4c9g0x0rb9jfzf7cbhdzkbchyydv49iav802")))))) + "0gi4qv6378nl84s8n1yx3hjqvv7r4lza7hpbymbl5rzwgw8qrnyb")))))) (home-page "http://www.ctan.org/pkg/latex-graphics") (synopsis "LaTeX standard graphics bundle") (description @@ -1446,6 +1454,131 @@ distribution.") (description "This is a very limited subset of the TeX Live distribution. It includes little more than the required set of LaTeX packages."))) +(define-public texlive-latex-natbib + (package + (name "texlive-latex-natbib") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (texlive-ref "latex" "natbib")) + (sha256 + (base32 + "0aqliq0nwblxyrzhwhv77pnmk7qh2y3prgq7z7qhwcbgz5kisld7")))) + (build-system texlive-build-system) + (arguments '(#:tex-directory "latex/natbib")) + (home-page "http://www.ctan.org/pkg/natbib") + (synopsis "Flexible bibliography support") + (description + "This bundle provides a package that implements both author-year and +numbered references, as well as much detailed of support for other +bibliography use. Also provided are versions of the standard BibTeX styles +that are compatible with @code{natbib}: @code{plainnat}, @code{unsrtnat}, +@code{abbrnat}. The bibliography styles produced by @code{custom-bib} are +designed from the start to be compatible with @code{natbib}.") + (license license:lppl))) + +(define-public texlive-latex-seminar + (package + (name "texlive-latex-seminar") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (svn-reference + (url (string-append "svn://www.tug.org/texlive/tags/" + %texlive-tag "/Master/texmf-dist/" + "/tex/latex/seminar")) + (revision %texlive-revision))) + (sha256 + (base32 + "0y4i651b75y6006n03x8n86bsqvjsailvvz9bhzy51dzsznqidq0")))) + (build-system texlive-build-system) + (arguments '(#:tex-directory "latex/seminar")) + (home-page "http://www.ctan.org/pkg/seminar") + (synopsis "Make overhead slides") + ;; TODO: This package may need fancybox and xcomment at runtime. + (description + "This package provides a class that produces overhead +slides (transparencies), with many facilities. Seminar is not nowadays +reckoned a good basis for a presentation — users are advised to use more +recent classes such as powerdot or beamer, both of which are tuned to +21st-century presentation styles.") + (license license:lppl1.2+))) + +(define-public texlive-latex-hyperref + (package + (name "texlive-latex-hyperref") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (texlive-ref "latex" "hyperref")) + (sha256 + (base32 + "03arf3xvz1jsbvlpgc5qxbxbl9wmk8k09cn6b8gv9pzgpjy4vx4j")))) + (build-system texlive-build-system) + (arguments + '(#:tex-directory "latex/hyperref" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-hluatex.def + (lambda _ + ;; This depends on hluatex.dtx, which does not exist and is + ;; nowhere to be found in the sources of the TeX Live + ;; distribution. + (substitute* "hyperref.ins" + (("\\\\file\\{hluatex.def\\}.*") "")) + #t))))) + ;; The package depends on the kvoptions, ltxcmds, and refcount packages, + ;; which are part of the oberdiek bundle. + (inputs + `(("texlive-latex-oberdiek" ,texlive-latex-oberdiek))) + (home-page "http://www.ctan.org/pkg/hyperref") + (synopsis "Extensive support for hypertext in LaTeX") + (description + "The @code{hyperref} package is used to handle cross-referencing commands +in LaTeX to produce hypertext links in the document. The package provides +backends for the @code{\\special} set defined for HyperTeX DVI processors; for +embedded @code{pdfmark} commands for processing by Acrobat +Distiller (@code{dvips} and Y&Y's @code{dvipsone}); for Y&Y's @code{dviwindo}; +for PDF control within pdfTeX and @code{dvipdfm}; for TeX4ht; and for VTeX's +pdf and HTML backends. The package is distributed with the @code{backref} and +@code{nameref} packages, which make use of the facilities of @code{hyperref}.") + (license license:lppl1.3+))) + +(define-public texlive-tex-texinfo + (package + (name "texlive-tex-texinfo") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (svn-reference + (url (string-append "svn://www.tug.org/texlive/tags/" + %texlive-tag "/Master/texmf-dist/" + "/tex/texinfo")) + (revision %texlive-revision))) + (sha256 + (base32 + "09zj2w3lx0y6i2syfjjgizahf86z301dw8p37ln6syfhqhzqdz46")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let ((target (string-append (assoc-ref %outputs "out") + "/share/texmf-dist/tex/texinfo"))) + (mkdir-p target) + (copy-recursively (assoc-ref %build-inputs "source") target) + #t)))) + (home-page "http://www.ctan.org/pkg/texinfo") + (synopsis "TeX macros to handle Texinfo files") + (description + "Texinfo is the preferred format for documentation in the GNU project; +the format may be used to produce online or printed output from a single +source. The Texinfo macros may be used to produce printable output using TeX; +other programs in the distribution offer online interactive use (with +hypertext linkages in some cases).") + (license license:gpl3+))) + (define texlive-texmf (package (name "texlive-texmf") diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 32f09db751..816fb9dbea 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -2001,7 +2001,8 @@ of modern, widely supported codecs.") `(("nasm" ,nasm) ("python" ,python))) (arguments - '(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) + '(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")) + "CC=gcc") #:test-target "test" #:phases (modify-phases %standard-phases ;; no configure script diff --git a/gnu/packages/wdiff.scm b/gnu/packages/wdiff.scm index 1dcdb8ba36..20fc0bc06f 100644 --- a/gnu/packages/wdiff.scm +++ b/gnu/packages/wdiff.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> +;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -39,18 +40,16 @@ "0sxgg0ms5lhi4aqqvz1rj4s77yi9wymfm3l3gbjfd1qchy66kzrl")))) (build-system gnu-build-system) (arguments - `(#:phases (alist-cons-before - 'check 'fix-sh - (lambda _ - (substitute* "tests/testsuite" - (("#! /bin/sh") - (string-append "#!" (which "sh"))))) - %standard-phases))) - (inputs `(("screen" ,screen) - ("which" ,which) - - ;; For some reason wdiff.info gets rebuilt. - ("texinfo" ,texinfo))) + `(#:phases (modify-phases %standard-phases + (add-before 'check 'fix-sh + (lambda _ + (substitute* "tests/testsuite" + (("#! /bin/sh") + (string-append "#!" (which "sh"))))))))) + (native-inputs + `(("which" ,which) + ;; For some reason wdiff.info gets rebuilt. + ("texinfo" ,texinfo))) (home-page "https://www.gnu.org/software/wdiff/") (synopsis "Word difference finder") (description diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index 63dba8a8bc..fa745a1711 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -55,14 +55,14 @@ (define-public wine (package (name "wine") - (version "2.10") + (version "2.11") (source (origin (method url-fetch) (uri (string-append "https://dl.winehq.org/wine/source/2.x" "/wine-" version ".tar.xz")) (sha256 (base32 - "0ygiaayi2mv6jl450d03i4x2gd2bg3mwk3s2pxas87g8sbzzg3a8")))) + "0g6cwjyqwc660w33453aklh3hpc0b8rrb88dryn23ah6wannvagg")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("gettext" ,gettext-minimal) @@ -104,8 +104,7 @@ ("unixodbc" ,unixodbc) ("zlib" ,zlib))) (arguments - `(;; The 64-bit build of Wine is reportedly less useful or even usable, - ;; so force a 32-bit build (under the assumption that this package is + `(;; Force a 32-bit build (under the assumption that this package is ;; being used on an IA32-compatible architecture.) #:system "i686-linux" diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index d7d1372dd2..101909b1e4 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -159,13 +159,15 @@ storage system.") `(("pkg-config" ,pkg-config) ("intltool" ,intltool))) (propagated-inputs - `(("gtk+-2" ,gtk+-2) ; required by libxfce4ui-1.pc - ("gtk+-3" ,gtk+) ; required by libxfce4ui-2.pc + `(("gtk+-3" ,gtk+) ; required by libxfce4ui-2.pc ;; libxfce4kbd-private-2.pc refers to all these. ("libxfce4util" ,libxfce4util) ("xfconf" ,xfconf))) (inputs `(("libsm" ,libsm) ("libice" ,libice) + ;; FIXME: required by libxfce4ui-1.pc, so should be propagated, + ;; but will lead to a conflict with gtk+. + ("gtk+-2" ,gtk+-2) ("startup-notification" ,startup-notification))) (home-page "http://www.xfce.org/") (synopsis "Widgets library for Xfce") @@ -221,6 +223,8 @@ development.") `(("pkg-config" ,pkg-config) ("intltool" ,intltool) ("glib:bin" ,glib "bin"))) + (inputs + `(("gtk+" ,gtk+-2))) (propagated-inputs `(("libxfce4ui" ,libxfce4ui))) ; required by garcon-gtk2-1.pc (home-page "http://www.xfce.org/") @@ -452,6 +456,7 @@ per window.") ("intltool" ,intltool))) (inputs `(("garcon" ,garcon) + ("gtk+" ,gtk+-2) ("libxfce4ui" ,libxfce4ui))) (home-page "http://www.xfce.org/") (synopsis "Xfce application finder") @@ -698,8 +703,17 @@ on your desktop.") (version (package-version xfce4-session)) (source #f) (build-system trivial-build-system) - (arguments '(#:builder (mkdir %output))) - (propagated-inputs + (arguments + '(#:modules ((guix build union)) + #:builder + (begin + (use-modules (ice-9 match) + (guix build union)) + (match %build-inputs + (((names . directories) ...) + (union-build (assoc-ref %outputs "out") + directories)))))) + (inputs `(("exo" ,exo) ("garcon" ,garcon) ("gnome-icon-theme" ,gnome-icon-theme) @@ -750,6 +764,7 @@ system resources, while still being visually appealing and user friendly.") ("intltool" ,intltool))) (inputs `(("lbxrandr" ,libxrandr) + ("gtk+" ,gtk+-2) ("upower" ,upower) ("libnotify" ,libnotify) ("libxfce4ui" ,libxfce4ui))) @@ -783,6 +798,7 @@ inhibit interface which allows applications to prevent automatic sleep.") ("pkg-config" ,pkg-config))) (inputs `(("desktop-file-utils" ,desktop-file-utils) + ("gtk+" ,gtk+-2) ("libexif" ,libexif) ("libxfce4ui" ,libxfce4ui) ("librsvg" ,librsvg) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 910857d121..278410f4ce 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> +;;; Copyright © 2014, 2015, 2017 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr> @@ -2849,7 +2849,8 @@ X server.") (string-prefix? "x86_64-" system))) %supported-systems)) (arguments - '(#:phases (modify-phases %standard-phases + '(#:configure-flags '("--with-default-accel=uxa") + #:phases (modify-phases %standard-phases (add-after 'unpack 'bootstrap (lambda _ (zero? (system* "autoreconf" "-vfi"))))))) diff --git a/gnu/system.scm b/gnu/system.scm index 580159a946..31f9320023 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -490,6 +490,7 @@ explicitly appear in OS." lsof ;for Guix's 'list-runtime-roots' pciutils usbutils util-linux inetutils isc-dhcp + shadow ;for 'passwd' ;; wireless-tools is deprecated in favor of iw, but it's still what ;; many people are familiar with, so keep it around. diff --git a/guix/import/cran.scm b/guix/import/cran.scm index 8d963a7475..056a7dcc7c 100644 --- a/guix/import/cran.scm +++ b/guix/import/cran.scm @@ -69,7 +69,7 @@ ("BSD_2_clause + file LICENSE" 'bsd-2) ("BSD_3_clause" 'bsd-3) ("BSD_3_clause + file LICENSE" 'bsd-3) - ("GPL" (list 'gpl2+ 'gpl3+)) + ("GPL" '(list gpl2+ gpl3+)) ("GPL (>= 2)" 'gpl2+) ("GPL (>= 3)" 'gpl3+) ("GPL-2" 'gpl2) diff --git a/guix/profiles.scm b/guix/profiles.scm index dcb5186c7a..056406e303 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -96,6 +96,7 @@ manifest-transaction-install-entry manifest-transaction-remove-pattern manifest-transaction-null? + manifest-transaction-removal-candidate? manifest-perform-transaction manifest-transaction-effects @@ -564,6 +565,12 @@ remove software." (($ <manifest-transaction> () ()) #t) (($ <manifest-transaction> _ _) #f))) +(define (manifest-transaction-removal-candidate? entry transaction) + "Return true if ENTRY is a candidate for removal in TRANSACTION." + (any (lambda (pattern) + ((entry-predicate pattern) entry)) + (manifest-transaction-remove transaction))) + (define (manifest-transaction-effects manifest transaction) "Compute the effect of applying TRANSACTION to MANIFEST. Return 4 values: the list of packages that would be removed, installed, upgraded, or downgraded diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index 1f835ca5a5..58da3113a0 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -294,7 +294,11 @@ of relevance scores." (output (manifest-entry-output old))) transaction))) - (match entry + (match (if (manifest-transaction-removal-candidate? entry transaction) + 'dismiss + entry) + ('dismiss + transaction) (($ <manifest-entry> name version output (? string? path)) (match (vhash-assoc name (find-newest-available-packages)) ((_ candidate-version pkg . rest) @@ -492,7 +496,7 @@ Install, remove, or upgrade packages in a single transaction.\n")) (alist-cons 'do-not-upgrade arg result) result) arg-handler)))) - (option '("roll-back") #f #f + (option '("roll-back" "rollback") #f #f (lambda (opt name arg result arg-handler) (values (alist-cons 'roll-back? #t result) #f))) @@ -875,11 +879,11 @@ processed, #f otherwise." #:dry-run? dry-run?))))) opts) - ;; Then, process normal package installation/removal/upgrade. + ;; Then, process normal package removal/installation/upgrade. (let* ((manifest (profile-manifest profile)) - (step1 (options->installable opts manifest - (manifest-transaction))) - (step2 (options->removable opts manifest step1)) + (step1 (options->removable opts manifest + (manifest-transaction))) + (step2 (options->installable opts manifest step1)) (step3 (manifest-transaction (inherit step2) (install (map transform-entry diff --git a/tests/guix-package.sh b/tests/guix-package.sh index 5ecb33193f..99952f130c 100644 --- a/tests/guix-package.sh +++ b/tests/guix-package.sh @@ -279,8 +279,27 @@ guix package --bootstrap --install-from-file="$module_dir/package.scm" test "`guix package -A super-non-portable-emacs`" = "" test "`guix package -s super-non-portable-emacs | grep ^systems:`" = "systems: " +# Don't upgrade packages marked for removal: <http://bugs.gnu.org/27262>. +guix package --bootstrap -p "$profile" -i guile-bootstrap + +cat > "$module_dir/foo.scm"<<EOF +(define-module (foo) + #:use-module (guix) + #:use-module (gnu packages bootstrap)) + +(define-public x + (package (inherit %bootstrap-guile) (version "42"))) +EOF + +guix package --bootstrap -p "$profile" -r guile-bootstrap -u guile +test ! -f "$profile/bin/guile" +guix package --bootstrap -p "$profile" --roll-back +test -f "$profile/bin/guile" +rm "$profile-2-link" + unset GUIX_PACKAGE_PATH + # Using 'GUIX_BUILD_OPTIONS'. available="`guix package -A | sort`" GUIX_BUILD_OPTIONS="--dry-run --no-grafts" diff --git a/tests/profiles.scm b/tests/profiles.scm index f731807e8c..469dde2652 100644 --- a/tests/profiles.scm +++ b/tests/profiles.scm @@ -197,6 +197,13 @@ (test-assert "manifest-transaction-null?" (manifest-transaction-null? (manifest-transaction))) +(test-assert "manifest-transaction-removal-candidate?" + (let ((m (manifest (list guile-2.0.9))) + (t (manifest-transaction + (remove (list (manifest-pattern (name "guile"))))))) + (and (manifest-transaction-removal-candidate? guile-2.0.9 t) + (not (manifest-transaction-removal-candidate? glibc t))))) + (test-assertm "profile-derivation" (mlet* %store-monad ((entry -> (package->manifest-entry %bootstrap-guile)) |