diff options
Diffstat (limited to 'gnu')
227 files changed, 6437 insertions, 3748 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 0096010f14..65b62e2e58 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -283,8 +283,11 @@ GNU_SYSTEM_MODULES = \ %D%/packages/kawa.scm \ %D%/packages/kde.scm \ %D%/packages/kde-frameworks.scm \ + %D%/packages/kde-internet.scm \ %D%/packages/kde-multimedia.scm \ + %D%/packages/kde-pim.scm \ %D%/packages/kde-plasma.scm \ + %D%/packages/kde-systemtools.scm \ %D%/packages/kde-utils.scm \ %D%/packages/kerberos.scm \ %D%/packages/key-mon.scm \ @@ -707,6 +710,9 @@ dist_patch_DATA = \ %D%/packages/patches/aegisub-icu59-include-unistr.patch \ %D%/packages/patches/aegisub-boost68.patch \ %D%/packages/patches/agg-am_c_prototype.patch \ + %D%/packages/patches/akonadi-paths.patch \ + %D%/packages/patches/akonadi-Revert-Make-installation-properly-relocatabl.patch \ + %D%/packages/patches/akonadi-timestamps.patch \ %D%/packages/patches/allegro-mesa-18.2.5-and-later.patch \ %D%/packages/patches/amule-crypto-6.patch \ %D%/packages/patches/antiword-CVE-2014-8123.patch \ @@ -716,7 +722,6 @@ dist_patch_DATA = \ %D%/packages/patches/apr-skip-getservbyname-test.patch \ %D%/packages/patches/arm-trusted-firmware-disable-hdcp.patch \ %D%/packages/patches/aspell-default-dict-dir.patch \ - %D%/packages/patches/aspell-gcc-compat.patch \ %D%/packages/patches/ath9k-htc-firmware-binutils.patch \ %D%/packages/patches/ath9k-htc-firmware-gcc.patch \ %D%/packages/patches/ath9k-htc-firmware-objcopy.patch \ @@ -745,8 +750,10 @@ dist_patch_DATA = \ %D%/packages/patches/azr3.patch \ %D%/packages/patches/bash-reproducible-linux-pgrp-pipe.patch \ %D%/packages/patches/bash-completion-directories.patch \ + %D%/packages/patches/bash-linux-pgrp-pipe.patch \ %D%/packages/patches/bastet-change-source-of-unordered_set.patch \ %D%/packages/patches/bazaar-CVE-2017-14176.patch \ + %D%/packages/patches/bc-fix-cross-compilation.patch \ %D%/packages/patches/beignet-correct-file-names.patch \ %D%/packages/patches/benchmark-unbundle-googletest.patch \ %D%/packages/patches/biber-fix-encoding-write.patch \ @@ -767,6 +774,7 @@ dist_patch_DATA = \ %D%/packages/patches/ceph-disable-cpu-optimizations.patch \ %D%/packages/patches/ceph-volume-respect-PATH.patch \ %D%/packages/patches/chmlib-inttypes.patch \ + %D%/packages/patches/choqok-Fix-building-under-Qt-5.13.patch \ %D%/packages/patches/clamav-config-llvm-libs.patch \ %D%/packages/patches/clamav-system-tomsfastmath.patch \ %D%/packages/patches/clang-3.5-libc-search-path.patch \ @@ -792,12 +800,15 @@ dist_patch_DATA = \ %D%/packages/patches/csvkit-fix-tests.patch \ %D%/packages/patches/clucene-contribs-lib.patch \ %D%/packages/patches/cube-nocheck.patch \ + %D%/packages/patches/curl-use-ssl-cert-env.patch \ %D%/packages/patches/cursynth-wave-rand.patch \ %D%/packages/patches/cvs-CVE-2017-12836.patch \ + %D%/packages/patches/cyrus-sasl-ac-try-run-fix.patch \ %D%/packages/patches/darkice-workaround-fpermissive-error.patch \ %D%/packages/patches/dbus-helper-search-path.patch \ %D%/packages/patches/dbus-c++-gcc-compat.patch \ %D%/packages/patches/dbus-c++-threading-mutex.patch \ + %D%/packages/patches/dconf-meson-0.52.patch \ %D%/packages/patches/debops-constants-for-external-program-names.patch \ %D%/packages/patches/debops-debops-defaults-fall-back-to-less.patch \ %D%/packages/patches/deja-dup-use-ref-keyword-for-iter.patch \ @@ -813,6 +824,7 @@ dist_patch_DATA = \ %D%/packages/patches/docker-use-fewer-modprobes.patch \ %D%/packages/patches/dovecot-trees-support-dovecot-2.3.patch \ %D%/packages/patches/doxygen-test.patch \ + %D%/packages/patches/doxygen-1.8.17-runtests.patch \ %D%/packages/patches/dstat-fix-crash-when-specifying-delay.patch \ %D%/packages/patches/dstat-skip-devices-without-io.patch \ %D%/packages/patches/dvd+rw-tools-add-include.patch \ @@ -839,6 +851,7 @@ dist_patch_DATA = \ %D%/packages/patches/eudev-rules-directory.patch \ %D%/packages/patches/evilwm-lost-focus-bug.patch \ %D%/packages/patches/evolution-data-server-locales.patch \ + %D%/packages/patches/evolution-data-server-libical-compat.patch \ %D%/packages/patches/exiv2-CVE-2017-14860.patch \ %D%/packages/patches/exiv2-CVE-2017-14859-14862-14864.patch \ %D%/packages/patches/extundelete-e2fsprogs-1.44.patch \ @@ -852,16 +865,12 @@ dist_patch_DATA = \ %D%/packages/patches/fbreader-curl-7.62.patch \ %D%/packages/patches/fifo-map-fix-flags-for-gcc.patch \ %D%/packages/patches/fifo-map-remove-catch.hpp.patch \ - %D%/packages/patches/file-CVE-2018-10360.patch \ - %D%/packages/patches/findutils-gnulib-libio.patch \ %D%/packages/patches/findutils-localstatedir.patch \ - %D%/packages/patches/findutils-makedev.patch \ - %D%/packages/patches/findutils-test-xargs.patch \ + %D%/packages/patches/findutils-test-rwlock-threads.patch \ %D%/packages/patches/flann-cmake-3.11.patch \ %D%/packages/patches/flint-ldconfig.patch \ %D%/packages/patches/foomatic-filters-CVE-2015-8327.patch \ %D%/packages/patches/foomatic-filters-CVE-2015-8560.patch \ - %D%/packages/patches/fribidi-CVE-2019-18397.patch \ %D%/packages/patches/freeimage-unbundle.patch \ %D%/packages/patches/fuse-overlapping-headers.patch \ %D%/packages/patches/gawk-shell.patch \ @@ -910,10 +919,10 @@ dist_patch_DATA = \ %D%/packages/patches/ghc-monad-par-fix-tests.patch \ %D%/packages/patches/ghc-pandoc-fix-html-tests.patch \ %D%/packages/patches/ghc-pandoc-fix-latex-test.patch \ + %D%/packages/patches/ghostscript-CVE-2019-14869.patch \ %D%/packages/patches/ghostscript-no-header-id.patch \ %D%/packages/patches/ghostscript-no-header-uuid.patch \ %D%/packages/patches/ghostscript-no-header-creationdate.patch \ - %D%/packages/patches/giflib-make-reallocarray-private.patch \ %D%/packages/patches/glib-tests-timer.patch \ %D%/packages/patches/glibc-CVE-2015-5180.patch \ %D%/packages/patches/glibc-CVE-2015-7547.patch \ @@ -927,6 +936,7 @@ dist_patch_DATA = \ %D%/packages/patches/glibc-CVE-2018-11237.patch \ %D%/packages/patches/glibc-CVE-2019-7309.patch \ %D%/packages/patches/glibc-CVE-2019-9169.patch \ + %D%/packages/patches/glibc-CVE-2019-19126.patch \ %D%/packages/patches/glibc-allow-kernel-2.6.32.patch \ %D%/packages/patches/glibc-boot-2.16.0.patch \ %D%/packages/patches/glibc-boot-2.2.5.patch \ @@ -964,7 +974,6 @@ dist_patch_DATA = \ %D%/packages/patches/grep-timing-sensitive-test.patch \ %D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \ %D%/packages/patches/grub-efi-fat-serial-number.patch \ - %D%/packages/patches/gsl-test-i686.patch \ %D%/packages/patches/gspell-dash-test.patch \ %D%/packages/patches/guile-1.8-cpp-4.5.patch \ %D%/packages/patches/guile-2.2-default-utf8.patch \ @@ -977,6 +986,7 @@ dist_patch_DATA = \ %D%/packages/patches/guile-relocatable.patch \ %D%/packages/patches/guile-rsvg-pkgconfig.patch \ %D%/packages/patches/guile-emacs-fix-configure.patch \ + %D%/packages/patches/guile-sqlite3-fix-cross-compilation.patch \ %D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \ %D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch \ %D%/packages/patches/gtk2-theme-paths.patch \ @@ -1064,6 +1074,7 @@ dist_patch_DATA = \ %D%/packages/patches/kodi-increase-test-timeout.patch \ %D%/packages/patches/kodi-set-libcurl-ssl-parameters.patch \ %D%/packages/patches/kodi-skip-test-449.patch \ + %D%/packages/patches/konversation-Fix-build-with-Qt-5.11.patch \ %D%/packages/patches/laby-make-install.patch \ %D%/packages/patches/lcalc-default-parameters-1.patch \ %D%/packages/patches/lcalc-default-parameters-2.patch \ @@ -1092,8 +1103,6 @@ dist_patch_DATA = \ %D%/packages/patches/libgnome-encoding.patch \ %D%/packages/patches/libgnomeui-utf8.patch \ %D%/packages/patches/libgpg-error-gawk-compat.patch \ - %D%/packages/patches/libffi-3.2.1-complex-alpha.patch \ - %D%/packages/patches/libjpeg-turbo-CVE-2019-2201.patch \ %D%/packages/patches/libjxr-fix-function-signature.patch \ %D%/packages/patches/libjxr-fix-typos.patch \ %D%/packages/patches/libotr-test-auth-fix.patch \ @@ -1155,7 +1164,6 @@ dist_patch_DATA = \ %D%/packages/patches/luminance-hdr-qt-printer.patch \ %D%/packages/patches/lvm2-static-link.patch \ %D%/packages/patches/lxsession-use-gapplication.patch \ - %D%/packages/patches/make-glibc-compat.patch \ %D%/packages/patches/make-impure-dirs.patch \ %D%/packages/patches/mariadb-client-test-32bit.patch \ %D%/packages/patches/mars-install.patch \ @@ -1187,7 +1195,6 @@ dist_patch_DATA = \ %D%/packages/patches/mozjs38-tracelogger.patch \ %D%/packages/patches/mozjs38-version-detection.patch \ %D%/packages/patches/mrrescue-support-love-11.patch \ - %D%/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch \ %D%/packages/patches/mtools-mformat-uninitialized.patch \ %D%/packages/patches/mumps-build-parallelism.patch \ %D%/packages/patches/mumps-shared-libseq.patch \ @@ -1249,6 +1256,7 @@ dist_patch_DATA = \ %D%/packages/patches/p7zip-CVE-2017-17969.patch \ %D%/packages/patches/p7zip-remove-unused-code.patch \ %D%/packages/patches/pam-mount-luks2-support.patch \ + %D%/packages/patches/pango-skip-libthai-test.patch \ %D%/packages/patches/sdl-pango-api_additions.patch \ %D%/packages/patches/sdl-pango-blit_overflow.patch \ %D%/packages/patches/sdl-pango-fillrect_crash.patch \ @@ -1313,12 +1321,11 @@ dist_patch_DATA = \ %D%/packages/patches/python-3-deterministic-build-info.patch \ %D%/packages/patches/python-3-search-paths.patch \ %D%/packages/patches/python-3-fix-tests.patch \ - %D%/packages/patches/python-3.8-search-paths.patch \ %D%/packages/patches/python-3.8-fix-tests.patch \ %D%/packages/patches/python-CVE-2018-14647.patch \ %D%/packages/patches/python-axolotl-AES-fix.patch \ %D%/packages/patches/python-cairocffi-dlopen-path.patch \ - %D%/packages/patches/python-cffi-x87-stack-clean.patch \ + %D%/packages/patches/python-cross-compile.patch \ %D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \ %D%/packages/patches/python-configobj-setuptools.patch \ %D%/packages/patches/python-faker-fix-build-32bit.patch \ @@ -1404,7 +1411,6 @@ dist_patch_DATA = \ %D%/packages/patches/superlu-dist-awpm-grid.patch \ %D%/packages/patches/superlu-dist-scotchmetis.patch \ %D%/packages/patches/supertux-unbundle-squirrel.patch \ - %D%/packages/patches/swig-guile-gc.patch \ %D%/packages/patches/swish-e-search.patch \ %D%/packages/patches/swish-e-format-security.patch \ %D%/packages/patches/symmetrica-bruch.patch \ @@ -1419,12 +1425,11 @@ dist_patch_DATA = \ %D%/packages/patches/tar-skip-unreliable-tests.patch \ %D%/packages/patches/tcc-boot-0.9.27.patch \ %D%/packages/patches/tclxml-3.2-install.patch \ + %D%/packages/patches/tcl-fix-cross-compilation.patch \ %D%/packages/patches/tcsh-fix-autotest.patch \ - %D%/packages/patches/tcsh-fix-out-of-bounds-read.patch \ %D%/packages/patches/teensy-loader-cli-help.patch \ %D%/packages/patches/texinfo-5-perl-compat.patch \ - %D%/packages/patches/texlive-bin-CVE-2018-17407.patch \ - %D%/packages/patches/texlive-bin-luatex-poppler-compat.patch \ + %D%/packages/patches/texlive-bin-poppler-0.83.patch \ %D%/packages/patches/telegram-purple-adjust-test.patch \ %D%/packages/patches/texi2html-document-encoding.patch \ %D%/packages/patches/texi2html-i18n.patch \ @@ -1463,6 +1468,7 @@ dist_patch_DATA = \ %D%/packages/patches/vboot-utils-fix-format-load-address.patch \ %D%/packages/patches/vboot-utils-fix-tests-show-contents.patch \ %D%/packages/patches/vboot-utils-skip-test-workbuf.patch \ + %D%/packages/patches/vigra-python-compat.patch \ %D%/packages/patches/vinagre-newer-freerdp.patch \ %D%/packages/patches/vinagre-newer-rdp-parameters.patch \ %D%/packages/patches/virglrenderer-CVE-2017-6386.patch \ @@ -1474,6 +1480,7 @@ dist_patch_DATA = \ %D%/packages/patches/vte-CVE-2012-2738-pt1.patch \ %D%/packages/patches/vte-CVE-2012-2738-pt2.patch \ %D%/packages/patches/weasyprint-library-paths.patch \ + %D%/packages/patches/webkitgtk-icu-65.patch \ %D%/packages/patches/websocketpp-fix-for-boost-1.70.patch \ %D%/packages/patches/wicd-bitrate-none-fix.patch \ %D%/packages/patches/wicd-get-selected-profile-fix.patch \ diff --git a/gnu/packages/abiword.scm b/gnu/packages/abiword.scm index 2b65a02242..9cfd12a1e6 100644 --- a/gnu/packages/abiword.scm +++ b/gnu/packages/abiword.scm @@ -95,7 +95,7 @@ ("libchamplain" ,libchamplain) ("libglade" ,libglade) ("libgsf" ,libgsf) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("librsvg" ,librsvg) ("libxml2" ,libxml2) diff --git a/gnu/packages/acl.scm b/gnu/packages/acl.scm index 0131adcac4..bcab125164 100644 --- a/gnu/packages/acl.scm +++ b/gnu/packages/acl.scm @@ -48,6 +48,7 @@ (arguments `(#:modules ((ice-9 ftw) ,@%gnu-build-system-modules) + #:configure-flags '("--disable-static") #:phases (modify-phases %standard-phases ;; XXX After repacking the sources the timestamps are reset to the diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 26e2693431..878d9ad307 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -29,7 +29,7 @@ ;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net> -;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> +;;; Copyright © 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; ;;; This file is part of GNU Guix. @@ -211,10 +211,10 @@ and provides a \"top-like\" mode (monitoring).") `(("pkg-config" ,pkg-config) ;; This is the Guile we use as a cross-compiler... - ("guile" ,guile-2.2/bug-fix))) + ("guile" ,guile-2.2))) (inputs ;; ... and this is the one that appears in shebangs when cross-compiling. - `(("guile" ,guile-2.2/bug-fix) ;for <https://bugs.gnu.org/37757> + `(("guile" ,guile-2.2) ;for <https://bugs.gnu.org/37757> ;; The 'shepherd' command uses Readline when used interactively. It's ;; an unusual use case though, so we don't propagate it. @@ -521,13 +521,17 @@ login, passwd, su, groupadd, and useradd.") `(#:phases (modify-phases %standard-phases (replace 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) + (lambda* (#:key inputs outputs target #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (man8 (string-append out "/share/man/man8")) (sbin (string-append out "/sbin")) (shadow (assoc-ref inputs "shadow")) (login (string-append shadow "/bin/login"))) (substitute* "Makefile" + ,@(if (%current-target-system) + '((("CC=.*$") + (string-append "CC=" target "-gcc\n"))) + '()) (("^SBINDIR.*") (string-append "SBINDIR = " out "/sbin\n")) @@ -1713,12 +1717,12 @@ characters can be replaced as well, as can UTF-8 characters.") (build-system gnu-build-system) (inputs `(("ntfs-3g" ,ntfs-3g) - ("util-linux" ,util-linux) + ("util-linux" ,util-linux "lib") ("openssl" ,openssl) ;; FIXME: add reiserfs. ("zlib" ,zlib) ("e2fsprogs" ,e2fsprogs) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("ncurses" ,ncurses))) (home-page "https://www.cgsecurity.org/wiki/TestDisk") (synopsis "Data recovery tool") @@ -3557,6 +3561,7 @@ tcpdump and snoop.") ("lvm2" ,lvm2) ("openssl" ,openssl) ("pcre" ,pcre) + ("libmount" ,util-linux "lib") ("util-linux" ,util-linux))) (arguments `(#:configure-flags diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index f4d427334f..d3e4dfbd86 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017, 2019 Eric Bavier <bavier@member.fsf.org> +;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -404,7 +405,7 @@ precision.") ("gsl" ,gsl) ("lapack" ,lapack) ("libao" ,ao) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libsamplerate" ,libsamplerate) ("libx11" ,libx11) @@ -682,15 +683,23 @@ binary.") (uri (string-append "mirror://gnu/bc/bc-" version ".tar.gz")) (sha256 (base32 - "0amh9ik44jfg66csyvf4zz1l878c4755kjndq9j0270akflgrbb2")))) + "0amh9ik44jfg66csyvf4zz1l878c4755kjndq9j0270akflgrbb2")) + (patches (search-patches "bc-fix-cross-compilation.patch")))) (build-system gnu-build-system) (native-inputs - `(("ed" ,ed) + `(("automake" ,automake) + ("autoconf" ,autoconf) + ("ed" ,ed) ("flex" ,flex) ("texinfo" ,texinfo))) (arguments '(#:configure-flags - (list "--with-readline"))) + (list "--with-readline") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'autogen + (lambda _ + (invoke "autoreconf" "-vif")))))) (home-page "https://www.gnu.org/software/bc/") (synopsis "Arbitrary precision numeric processing language") (description diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm index 30dd8925a4..62a5466ed0 100644 --- a/gnu/packages/android.scm +++ b/gnu/packages/android.scm @@ -835,7 +835,7 @@ script that you can put anywhere in your path.") (install-file "abootimg" bin) #t)))))) (inputs - `(("libblkid" ,util-linux))) + `(("libblkid" ,util-linux "lib"))) (home-page "https://ac100.grandou.net/abootimg") (synopsis "Tool for manipulating Android Boot Images") (description "This package provides a tool for manipulating old Android diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm index 08bf4eb1de..0357ac1190 100644 --- a/gnu/packages/animation.scm +++ b/gnu/packages/animation.scm @@ -112,7 +112,7 @@ C++ @dfn{Standard Template Library} (STL).") `(("boost" ,boost) ("ffmpeg" ,ffmpeg) ("libdv" ,libdv) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libmng" ,libmng) ("zlib" ,zlib))) diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index c88b8a25a2..0b9f0de9de 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016 John Darrington <jmd@gnu.org> ;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il> @@ -39,7 +39,7 @@ (define-public aspell (package (name "aspell") - (version "0.60.6.1") + (version "0.60.8") (source (origin (method url-fetch) @@ -47,9 +47,8 @@ version ".tar.gz")) (sha256 (base32 - "1qgn5psfyhbrnap275xjfrzppf5a83fb67gpql0kfqv37al869gm")) - (patches (search-patches "aspell-default-dict-dir.patch" - "aspell-gcc-compat.patch")))) + "1wi60ankalmh8ds7nplz434jd7j94gdvbahdwsr539rlad8pxdzr")) + (patches (search-patches "aspell-default-dict-dir.patch")))) (build-system gnu-build-system) (arguments `(#:phases @@ -66,14 +65,6 @@ (("\"filter-path(.*)DICT_DIR" _ middle) (string-append "\"filter-path" middle "\"" libdir "\""))) - #t))) - (add-after 'install 'wrap-aspell - (lambda* (#:key outputs #:allow-other-keys) - (let ((bin/aspell (string-append (assoc-ref outputs "out") - "/bin/aspell"))) - (wrap-program bin/aspell - '("ASPELL_CONF" "" = - ("${ASPELL_CONF:-\"dict-dir ${GUIX_PROFILE:-$HOME/.guix-profile}/lib/aspell\"}"))) #t)))))) (inputs `(("perl" ,perl))) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 3bb236fde9..2ac41e17a0 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -132,7 +132,7 @@ header.") (inputs `(("cfitsio" ,cfitsio) ("gsl" ,gsl) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libtiff" ,libtiff) ("wcslib" ,wcslib) ("zlib" ,zlib))) @@ -218,7 +218,7 @@ objects.") `(("glu" ,glu) ("glew" ,glew) ("libtheora" ,libtheora) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ;; maybe required? ("mesa" ,mesa) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 7b46e2cb6f..fbb2d90979 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1581,7 +1581,7 @@ especially for creating reverb effects. It supports impulse responses with 1, ;; uuid.h is included in the JACK type headers ;; db.h is included in the libjack metadata headers (propagated-inputs - `(("libuuid" ,util-linux) + `(("libuuid" ,util-linux "lib") ("bdb" ,bdb))) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm index ceb70dfee7..98f31f6bca 100644 --- a/gnu/packages/autotools.scm +++ b/gnu/packages/autotools.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2017, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2019 Pierre-Moana Levesque <pierre.moana.levesque@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -354,21 +355,22 @@ Makefile, simplifying the entire process for the developer.") ;; XXX: There are test failures on mips64el-linux starting from 2.4.4: ;; <http://hydra.gnu.org/build/181662>. - #:tests? ,(not (string-prefix? "mips64" - (or (%current-target-system) + ;; Also, do not run tests when cross compiling + #:tests? ,(not (or (%current-target-system) + (string-prefix? "mips64" (%current-system)))) #:phases (modify-phases %standard-phases (add-before 'check 'pre-check - (lambda* (#:key inputs #:allow-other-keys) + (lambda* (#:key inputs native-inputs #:allow-other-keys) ;; Run the test suite in parallel, if possible. (setenv "TESTSUITEFLAGS" (string-append "-j" (number->string (parallel-job-count)))) ;; Patch references to /bin/sh. - (let ((bash (assoc-ref inputs "bash"))) + (let ((bash (assoc-ref (or native-inputs inputs) "bash"))) (substitute* "tests/testsuite" (("/bin/sh") (string-append bash "/bin/sh"))) diff --git a/gnu/packages/avahi.scm b/gnu/packages/avahi.scm index ba609cf12e..8a01272486 100644 --- a/gnu/packages/avahi.scm +++ b/gnu/packages/avahi.scm @@ -35,7 +35,6 @@ (package (name "avahi") (version "0.7") - (replacement avahi/fixed) (home-page "https://avahi.org") (source (origin (method url-fetch) @@ -44,7 +43,10 @@ (sha256 (base32 "0128n7jlshw4bpx0vg8lwj8qwdisjxi7mvniwfafgnkzzrfrpaap")) - (patches (search-patches "avahi-localstatedir.patch")))) + (patches (search-patches "avahi-localstatedir.patch" + "avahi-CVE-2018-1000845.patch")))) + ;; Hide a duplicate of the CVE fixed above. + (properties `((lint-hidden-cve . ("CVE-2017-6519")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--with-distro=none" @@ -75,17 +77,6 @@ network. It is an implementation of the mDNS (for \"Multicast DNS\") and DNS-SD (for \"DNS-Based Service Discovery\") protocols.") (license lgpl2.1+))) -(define avahi/fixed - (package - (inherit avahi) - (source (origin - (inherit (package-source avahi)) - (patches - (append (search-patches "avahi-CVE-2018-1000845.patch") - (origin-patches (package-source avahi)))))) - ;; Hide a duplicate of the CVE fixed above. - (properties `((lint-hidden-cve . ("CVE-2017-6519")))))) - (define-public nss-mdns (package (name "nss-mdns") diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 0549e94d70..84a65b8492 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -199,18 +200,18 @@ backups (called chunks) to allow easy burning to CD/DVD.") (define-public libarchive (package (name "libarchive") - (version "3.4.0") + (version "3.4.1") (source (origin (method url-fetch) (uri (list (string-append "https://libarchive.org/downloads/libarchive-" - version ".tar.gz") + version ".tar.xz") (string-append "https://github.com/libarchive/libarchive" "/releases/download/v" version "/libarchive-" - version ".tar.gz"))) + version ".tar.xz"))) (sha256 (base32 - "0pl25mmz1b1cnwf35kxmygyy9g7z7hslxbx329a9yx8csh7dahw6")))) + "1xs2c3fsss1g2a6yzip98j9bl93pxd3gqwr4ivh2fc6c10py115v")))) (build-system gnu-build-system) (inputs `(("bzip2" ,bzip2) @@ -230,24 +231,34 @@ backups (called chunks) to allow easy burning to CD/DVD.") (("/bin/pwd") (which "pwd"))) #t)) (replace 'check - (lambda _ - ;; XXX: The test_owner_parse, test_read_disk, and - ;; test_write_disk_lookup tests expect user 'root' to exist, but - ;; the chroot's /etc/passwd doesn't have it. Turn off those tests. - ;; - ;; XXX: Adjust test that fails with zstd 1.4.1 because the default - ;; options compresses two bytes better than this test expects. - ;; https://github.com/libarchive/libarchive/issues/1226 - (substitute* "libarchive/test/test_write_filter_zstd.c" - (("compression-level\", \"6\"") - "compression-level\", \"7\"")) - - ;; The tests allow one to disable tests matching a globbing pattern. - (invoke "make" "libarchive_test" "bsdcpio_test" "bsdtar_test") - ;; XXX: This glob disables too much. - (invoke "./libarchive_test" "^test_*_disk*") - (invoke "./bsdcpio_test" "^test_owner_parse") - (invoke "./bsdtar_test"))) + (lambda* (#:key (tests? #t) #:allow-other-keys) + (if tests? + ;; XXX: The test_owner_parse, test_read_disk, and + ;; test_write_disk_lookup tests expect user 'root' to + ;; exist, but the chroot's /etc/passwd doesn't have + ;; it. Turn off those tests. + ;; + ;; XXX: Adjust test that fails with zstd 1.4.1 + ;; because the default options compresses two bytes + ;; better than this test expects. + ;; https://github.com/libarchive/libarchive/issues/1226 + (begin + (substitute* "libarchive/test/test_write_filter_zstd.c" + (("compression-level\", \"6\"") + "compression-level\", \"7\"")) + + ;; The tests allow one to disable tests matching a globbing pattern. + (invoke "make" + "libarchive_test" + "bsdcpio_test" + "bsdtar_test") + + ;; XXX: This glob disables too much. + (invoke "./libarchive_test" "^test_*_disk*") + (invoke "./bsdcpio_test" "^test_owner_parse") + (invoke "./bsdtar_test")) + ;; Tests may be disabled if cross-compiling. + (format #t "Test suite not run.~%")))) (add-after 'install 'add--L-in-libarchive-pc (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index e8150708c0..45f6cf79ba 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2014, 2015, 2016, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014 Alex Kost <alezost@gmail.com> ;;; Copyright © 2014, 2015 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> -;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016, 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org> @@ -92,14 +92,14 @@ command-line arguments, multiple languages, and so on.") (define-public grep (package (name "grep") - (version "3.3") + (version "3.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/grep/grep-" version ".tar.xz")) (sha256 (base32 - "055mqp6vrd0brkygmygb2673qwz409a7kyp1mzbfy6cn94f58q5r")) + "1yy33kiwrxrwj2nxa4fg15bvmwyghqbs8qwkdvy5phm784f7brjq")) (patches (search-patches "grep-timing-sensitive-test.patch")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) ;some of the tests require it @@ -133,14 +133,14 @@ including, for example, recursive directory searching.") (define-public sed (package (name "sed") - (version "4.7") + (version "4.8") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/sed/sed-" version - ".tar.xz")) + ".tar.gz")) (sha256 (base32 - "0smxcx66vx29djzb542nxcynl7qnzxqa5032ibazi7x2s267d198")))) + "0alqagh0nliymz23kfjg6g9w3cr086k0sfni56gi8fhzqwa3xksk")))) (build-system gnu-build-system) (synopsis "Stream editor") (native-inputs @@ -253,40 +253,29 @@ interactive means to merge two files.") (define-public findutils (package (name "findutils") - (version "4.6.0") + (version "4.7.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/findutils/findutils-" - version ".tar.gz")) + version ".tar.xz")) (sha256 (base32 - "178nn4dl7wbcw499czikirnkniwnx36argdnqgz4ik9i6zvwkm6y")) - (patches (search-patches - "findutils-gnulib-libio.patch" - "findutils-localstatedir.patch" - "findutils-makedev.patch" - "findutils-test-xargs.patch")) - (modules '((guix build utils))) - (snippet - '(begin - ;; The gnulib test-lock test is prone to writer starvation - ;; with our glibc@2.25, which prefers readers, so disable it. - ;; The gnulib commit b20e8afb0b2 should fix this once - ;; incorporated here. - (substitute* "tests/Makefile.in" - (("test-lock\\$\\(EXEEXT\\) ") "")) - #t)))) + "16kqz9yz98dasmj70jwf5py7jk558w96w0vgp3zf9xsqk3gzpzn5")) + (patches (search-patches "findutils-localstatedir.patch" + "findutils-test-rwlock-threads.patch")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list ;; Tell 'updatedb' to write to /var. - "--localstatedir=/var" - - ;; Work around cross-compilation failure. See - ;; <http://savannah.gnu.org/bugs/?27299#comment1>. - ,@(if (%current-target-system) - '("gl_cv_func_wcwidth_works=yes") - '())))) + "--localstatedir=/var") + #:phases (modify-phases %standard-phases + (add-before 'check 'adjust-test-shebangs + (lambda _ + (substitute* '("tests/xargs/verbose-quote.sh" + "tests/find/exec-plus-last-file.sh") + (("#!/bin/sh") + (string-append "#!" (which "sh")))) + #t))))) (synopsis "Operating on files matching given criteria") (description "Findutils supplies the basic file directory searching utilities of the @@ -371,31 +360,27 @@ functionality beyond that which is outlined in the POSIX standard.") (define-public gnu-make (package (name "make") - (version "4.2.1") + (version "4.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/make/make-" version - ".tar.bz2")) + ".tar.gz")) (sha256 (base32 - "12f5zzyq2w56g95nni65hc0g5p7154033y2f3qmjvd016szn5qnn")) - (patches (search-patches "make-impure-dirs.patch" - "make-glibc-compat.patch")))) + "06cfqzpqsvdnsxbysl5p2fgdgxgl9y4p7scpnrfa8z2zgkjdspz0")) + (patches (search-patches "make-impure-dirs.patch")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) ; to detect Guile - (inputs `(("guile" ,guile-2.0))) + (inputs `(("guile" ,guile-3.0))) (outputs '("out" "debug")) (arguments - '(;; Work around faulty glob detection with glibc 2.27. See - ;; <https://lists.nongnu.org/archive/html/bug-make/2017-11/msg00027.html>. - #:configure-flags '("make_cv_sys_gnu_glob=yes") - #:phases + '(#:phases (modify-phases %standard-phases (add-before 'build 'set-default-shell (lambda* (#:key inputs #:allow-other-keys) ;; Change the default shell from /bin/sh. (let ((bash (assoc-ref inputs "bash"))) - (substitute* "job.c" + (substitute* "src/job.c" (("default_shell =.*$") (format #f "default_shell = \"~a/bin/sh\";\n" bash))) @@ -414,14 +399,14 @@ change. GNU make offers many powerful extensions over the standard utility.") (define-public binutils (package (name "binutils") - (version "2.32") + (version "2.33.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/binutils/binutils-" version ".tar.bz2")) (sha256 (base32 - "0b8767nyal1bc4cyzg5h9iis8kpkln1i3wkamig75cifj1fb2f6y")) + "1cmd0riv37bqy9mwbg6n3523qgr8b3bbm5kwj19sjrasl4yq9d0c")) (patches (search-patches "binutils-loongson-workaround.patch")))) (build-system gnu-build-system) @@ -567,13 +552,13 @@ the store.") ;; version 2.28, GNU/Hurd used a different glibc branch. (package (name "glibc") - (version "2.29") + (version "2.30") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz")) (sha256 (base32 - "0jzh58728flfh939a8k9pi1zdyalfzlxmwra7k0rzji5gvavivpk")) + "1bxqpg91d02qnaz837a5kamm0f43pr1il4r9pknygywsar713i72")) (snippet ;; Disable 'ldconfig' and /etc/ld.so.cache. The latter is ;; required on LFS distros to avoid loading the distro's libc.so @@ -585,9 +570,7 @@ the store.") #t)) (modules '((guix build utils))) (patches (search-patches "glibc-ldd-x86_64.patch" - "glibc-CVE-2019-7309.patch" - "glibc-CVE-2019-9169.patch" - "glibc-2.29-git-updates.patch" + "glibc-CVE-2019-19126.patch" "glibc-hidden-visibility-ldconfig.patch" "glibc-versioned-locpath.patch" "glibc-allow-kernel-2.6.32.patch" @@ -819,6 +802,26 @@ with the Linux kernel.") ;; Below are old libc versions, which we use mostly to build locale data in ;; the old format (which the new libc cannot cope with.) +(define-public glibc-2.29 + (package + (inherit glibc) + (version "2.29") + (source (origin + (inherit (package-source glibc)) + (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz")) + (sha256 + (base32 + "0jzh58728flfh939a8k9pi1zdyalfzlxmwra7k0rzji5gvavivpk")) + (patches (search-patches "glibc-ldd-x86_64.patch" + "glibc-CVE-2019-7309.patch" + "glibc-CVE-2019-9169.patch" + "glibc-2.29-git-updates.patch" + "glibc-hidden-visibility-ldconfig.patch" + "glibc-versioned-locpath.patch" + "glibc-allow-kernel-2.6.32.patch" + "glibc-reinstate-prlimit64-fallback.patch" + "glibc-supported-locales.patch")))))) + (define-public glibc-2.28 (package (inherit glibc) @@ -1271,26 +1274,7 @@ and daylight-saving rules.") ;;; package. (define-public tzdata-for-tests (hidden-package - (package - (inherit tzdata) - (version "2019b") - (source (origin - (method url-fetch) - (uri (string-append - "https://data.iana.org/time-zones/releases/tzdata" - version ".tar.gz")) - (sha256 - (base32 - "0r0clnlslwm15m1c61dinf1fi9ffgl6aipng7i7yryfwj0n0kn85")))) - (inputs - `(("tzcode" ,(origin - (method url-fetch) - (uri (string-append - "https://data.iana.org/time-zones/releases/tzcode" - version ".tar.gz")) - (sha256 - (base32 - "0vbmswvv3li25s31shyllq5v24449lxnrki9hr043nipjd09sirf"))))))))) + (package/inherit tzdata))) (define-public libiconv (package diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm index 3af13a612a..88005f4618 100644 --- a/gnu/packages/bash.scm +++ b/gnu/packages/bash.scm @@ -69,7 +69,11 @@ (4 "021gqqvgydixkrmqss64b6srfdlkvnx88lyfzpxfrn5d6bc7li0l") (5 "0xl2kyzm84nlyklrqzkn73ixabhzfhn9x91lzcmis89cppclvxav") (6 "0844749ixk1z60437nkznzms1f0nzh9an62kj7sny6r0zyk2k1fn") - (7 "16xg37gp1b8zlj5969w8mcrparwqlcbj9695vn3qhgb7wdz1xd0p"))) + (7 "16xg37gp1b8zlj5969w8mcrparwqlcbj9695vn3qhgb7wdz1xd0p") + (8 "1qyp19krjh8zxvb0jgwmyjz40djslwcf4xi7kc1ab0iaca44bipf") + (9 "00yrjjqd95s81b21qq3ba1y7h879q8jaajlkjggc6grhcwbs4g7d") + (10 "04ca5bjv456v538mkspzvn4xb2zdphh31r4fpvfm9p5my0jw7yyn") + (11 "1sklyixvsv8993kxzs0jigacpdchjrq7jv5xpdx7kbqyp4rf6k9c"))) (define (download-patches store count) "Download COUNT Bash patches into store. Return a list of @@ -116,7 +120,8 @@ number/base32-hash tuples, directly usable in the 'patch-series' form." (base32 "0kgvfwqdcd90waczf4gx39xnrxzijhjrzyzv7s8v4w31qqm0za5l")) (patch-flags '("-p0")) - (patches %patch-series-5.0))) + (patches (cons (search-patch "bash-linux-pgrp-pipe.patch") + %patch-series-5.0)))) (version (string-append version "." (number->string (length %patch-series-5.0)))) (build-system gnu-build-system) diff --git a/gnu/packages/bison.scm b/gnu/packages/bison.scm index 12f19b785e..92ab80e9bf 100644 --- a/gnu/packages/bison.scm +++ b/gnu/packages/bison.scm @@ -31,7 +31,7 @@ (define-public bison (package (name "bison") - (version "3.4.1") + (version "3.5.1") (source (origin (method url-fetch) @@ -39,7 +39,7 @@ version ".tar.xz")) (sha256 (base32 - "03c2pmq3bs0drdislnz6gm1rwz3n4pb2rz9navyxydppxg2rl597")))) + "1l2d59xwlkmmm6vsskw6vsrk75ql9fvld57681g2v6khv5xhjziy")))) (build-system gnu-build-system) (arguments '(;; Building in parallel on many-core systems may cause an error such as diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm index 0a2a5c5c01..16a08bde44 100644 --- a/gnu/packages/boost.scm +++ b/gnu/packages/boost.scm @@ -10,7 +10,9 @@ ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org> +;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> +;;; Copyright © 2019, 2020 Giacomo Leidi <goodoldpaul@autistici.org> +;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,66 +42,113 @@ #:use-module (gnu packages icu4c) #:use-module (gnu packages perl) #:use-module (gnu packages python) - #:use-module (gnu packages shells)) + #:use-module (gnu packages shells) + #:use-module (srfi srfi-1)) + +(define (version-with-underscores version) + (string-map (lambda (x) (if (eq? x #\.) #\_ x)) version)) + +(define (boost-patch name version hash) + (origin + (method url-fetch) + (uri (string-append "https://www.boost.org/patches/" + (version-with-underscores version) "/" name)) + (file-name (string-append "boost-" name)) + (sha256 (base32 hash)))) (define-public boost (package (name "boost") - (version "1.70.0") + (version "1.72.0") (source (origin (method url-fetch) - (uri (let ((version-with-underscores - (string-map (lambda (x) (if (eq? x #\.) #\_ x)) version))) - (list (string-append "mirror://sourceforge/boost/boost/" version - "/boost_" version-with-underscores ".tar.bz2") - (string-append "https://dl.bintray.com/boostorg/release/" - version "/source/boost_" - version-with-underscores ".tar.bz2")))) + (uri (string-append "https://dl.bintray.com/boostorg/release/" + version "/source/boost_" + (version-with-underscores version) ".tar.bz2")) + (patches + (list (boost-patch + ;; 1.72.0 was released with a faulty coroutine submodule: + ;; <https://github.com/boostorg/coroutine/issues/46>. + "0001-revert-cease-dependence-on-range.patch" version + "1zcqxzh56m1s635wqwk15j3zcs2gmjvjy2f0hid7i78s4pgm0yfs"))) (sha256 (base32 - "0y47nc7w0arwgj4x1phadxbvl7wyfcgknbz5kv8lzpl98wsyh2j3")))) + "08h7cv61fd0lzb4z50xanfqn0pdgvizjrpd1kcdgj725pisb5jar")))) (build-system gnu-build-system) (inputs `(("icu4c" ,icu4c) ("zlib" ,zlib))) (native-inputs `(("perl" ,perl) - ("python" ,python-2) + ,@(if (%current-target-system) + '() + `(("python" ,python-wrapper))) ("tcsh" ,tcsh))) (arguments - `(#:tests? #f + `(#:imported-modules ((guix build python-build-system) + ,@%gnu-build-system-modules) + #:modules (((guix build python-build-system) #:select (python-version)) + ,@%gnu-build-system-modules) + #:tests? #f #:make-flags (list "threading=multi" "link=shared" - ;; XXX: Disable installation of Boosts modular CMake config scripts - ;; which conflicts in 1.70.0 with the ones provided by CMake. - ;; See <https://bugs.gnu.org/36721>. - "--no-cmake-config" - ;; Set the RUNPATH to $libdir so that the libs find each other. (string-append "linkflags=-Wl,-rpath=" - (assoc-ref %outputs "out") "/lib")) + (assoc-ref %outputs "out") "/lib") + ,@(if (%current-target-system) + `("--user-config=user-config.jam" + ;; Python is not supported when cross-compiling. + "--without-python" + "binary-format=elf" + "target-os=linux" + ,@(cond + ((string-prefix? "arm" (%current-target-system)) + '("abi=aapcs" + "address-model=32" + "architecture=arm")) + ((string-prefix? "aarch64" (%current-target-system)) + '("abi=aapcs" + "address-model=64" + "architecture=arm")) + (else '()))) + '())) #:phases (modify-phases %standard-phases (delete 'bootstrap) (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) (let ((icu (assoc-ref inputs "icu4c")) + (python (assoc-ref inputs "python")) (out (assoc-ref outputs "out"))) (substitute* '("libs/config/configure" "libs/spirit/classic/phoenix/test/runtest.sh" - "tools/build/src/engine/execunix.c" - "tools/build/src/engine/Jambase" - "tools/build/src/engine/jambase.c") + "tools/build/src/engine/execunix.cpp" + "tools/build/src/engine/Jambase") (("/bin/sh") (which "sh"))) (setenv "SHELL" (which "sh")) (setenv "CONFIG_SHELL" (which "sh")) + ,@(if (%current-target-system) + `((call-with-output-file "user-config.jam" + (lambda (port) + (format port + "using gcc : cross : ~a-c++ ;" + ,(%current-target-system))))) + '()) + (invoke "./bootstrap.sh" (string-append "--prefix=" out) ;; Auto-detection looks for ICU only in traditional ;; install locations. (string-append "--with-icu=" icu) + ;; Ditto for Python. + ,@(if (%current-target-system) + '() + `((string-append "--with-python-root=" python) + (string-append "--with-python=" python "/bin/python") + (string-append "--with-python-version=" + (python-version python)))) "--with-toolset=gcc")))) (replace 'build (lambda* (#:key make-flags #:allow-other-keys) @@ -109,17 +158,27 @@ (replace 'install (lambda* (#:key make-flags #:allow-other-keys) (apply invoke "./b2" "install" make-flags))) - (add-after 'install 'provide-libboost_python - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; Boost can build support for both Python 2 and Python 3 since - ;; version 1.67.0, and suffixes each library with the Python - ;; version. Many consumers only check for libboost_python - ;; however, so we provide it here as suggested in - ;; <https://github.com/boostorg/python/issues/203>. - (with-directory-excursion (string-append out "/lib") - (symlink "libboost_python27.so" "libboost_python.so")) - #t)))))) + ,@(if (%current-target-system) + '() + '((add-after 'install 'provide-libboost_python + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (python-version (python-version + (assoc-ref inputs "python"))) + (libboost_pythonNN.so + (string-append "libboost_python" + (string-join (string-split + python-version #\.) + "") + ".so"))) + (with-directory-excursion (string-append out "/lib") + (symlink libboost_pythonNN.so "libboost_python.so") + ;; Some packages only look for the major version. + (symlink libboost_pythonNN.so + (string-append "libboost_python" + (string-take python-version 1) + ".so"))) + #t)))))))) (home-page "https://www.boost.org") (synopsis "Peer-reviewed portable C++ source libraries") @@ -129,54 +188,16 @@ across a broad spectrum of applications.") (license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt" "Some components have other similar licences.")))) -;; TODO: Merge with 'Boost' in the next rebuild cycle. -(define-public boost-with-python3 +(define-public boost-with-python2 (package (inherit boost) - (name "boost-python3") + (name "boost-python2") (native-inputs - `(("perl" ,perl) - ("python" ,python) - ("tcsh" ,tcsh))) - (arguments (substitute-keyword-arguments (package-arguments boost) - ((#:phases phases) - `(modify-phases ,phases - (replace 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((icu (assoc-ref inputs "icu4c")) - (python (assoc-ref inputs "python")) - (out (assoc-ref outputs "out"))) - (substitute* '("libs/config/configure" - "libs/spirit/classic/phoenix/test/runtest.sh" - "tools/build/src/engine/execunix.c" - "tools/build/src/engine/Jambase" - "tools/build/src/engine/jambase.c") - (("/bin/sh") (which "sh"))) - - (setenv "SHELL" (which "sh")) - (setenv "CONFIG_SHELL" (which "sh")) + `(("python" ,python-2) + ,@(alist-delete "python" (package-native-inputs boost)))))) - (substitute* "tools/build/src/tools/python.jam" - (("include/python\\$\\(version\\)") - "include/python$(version)m")) - - (invoke "./bootstrap.sh" - (string-append "--prefix=" out) - ;; Auto-detection looks for dependencies only - ;; in traditional install locations. - (string-append "--with-icu=" icu) - (string-append "--with-python=" python "/bin/python3") - (string-append "--with-python-root=" python) - "--with-python-version=3.7" - "--with-toolset=gcc")))) - (replace 'provide-libboost_python - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (with-directory-excursion (string-append out "/lib") - (symlink "libboost_python37.so" "libboost_python.so") - ;; Some packages also look for libboost_python3.so - (symlink "libboost_python37.so" "libboost_python3.so")) - #t))))))))) +(define-public boost-with-python3 + (deprecated-package "boost-with-python3" boost)) (define-public boost-static (package diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 63a88dd7ec..e3d27874e8 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -306,7 +306,7 @@ menu to select one of the installed operating systems.") ("perl" ,perl) ("python-2" ,python-2))) (inputs - `(("libuuid" ,util-linux) + `(("libuuid" ,util-linux "lib") ("mtools" ,mtools))) (arguments `(#:parallel-build? #f @@ -902,7 +902,7 @@ to Novena upstream, does not load u-boot.img from the first partition.") ("libyaml" ,libyaml) ("openssl" ,openssl) ("openssl:static" ,openssl "static") - ("util-linux" ,util-linux))) + ("util-linux" ,util-linux "lib"))) (home-page "https://dev.chromium.org/chromium-os/chromiumos-design-docs/verified-boot") (synopsis "ChromiumOS verified boot utilities") diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 342f5f59cd..cfbcc0f318 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -168,7 +168,7 @@ files and generates build instructions for the Ninja build system.") (define-public meson (package (name "meson") - (version "0.50.1") + (version "0.53.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/mesonbuild/meson/" @@ -176,7 +176,7 @@ files and generates build instructions for the Ninja build system.") version ".tar.gz")) (sha256 (base32 - "1k2fw5qk4mqjcb4j5dhp8xfn0caqphb11yh8zkw7v9w01kb5d3zn")))) + "011v84ijdnmbdgpzslaa6qiq7p2jh52sqzb0q6iaq6vhx8za66zc")))) (build-system python-build-system) (arguments `(;; FIXME: Tests require many additional inputs, a fix for the RUNPATH diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm index 5e7ac66260..060e4d18ad 100644 --- a/gnu/packages/calendar.scm +++ b/gnu/packages/calendar.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com> ;;; Copyright © 2016 Stefan Reichoer <stefan@xsteve.at> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com ;;; ;;; This file is part of GNU Guix. ;;; @@ -50,7 +51,7 @@ (define-public libical (package (name "libical") - (version "3.0.6") + (version "3.0.7") (source (origin (method url-fetch) (uri (string-append @@ -58,7 +59,22 @@ version "/libical-" version ".tar.gz")) (sha256 (base32 - "15sdmh8w4vszd7jhv9fdpd48anpkniq2k1jw7siy9v1jnz1232jw")))) + "1z33wzaazbd7drl6qbh1750whd78xl2cg0gjnxyya9m83vgndgha")) + (patches + ;; Add a patch slated for 3.0.8 which preserves backwards- + ;; compatibility in the icalattach_new_from_data() function, + ;; which accidentally changed in 3.0.7 and could break some uses. + ;; https://gitlab.gnome.org/GNOME/evolution-data-server/issues/185 + ;; http://lists.infradead.org/pipermail/libical-devel/2020-January/000907.html + (list (origin + (method url-fetch) + (uri (string-append + "https://github.com/libical/libical/commit/" + "ae394010c889e4c185160da5e81527849f9de350.patch")) + (file-name "libical-3.0.7-preserve-icalattach-api.patch") + (sha256 + (base32 + "0v8qcxn8a6sh78grzxd61j9478928dx38l5mf8mkdrbxv47vmvvp"))))))) (build-system cmake-build-system) (arguments '(#:tests? #f ; test suite appears broken @@ -67,7 +83,8 @@ (modify-phases %standard-phases (add-before 'configure 'patch-paths (lambda* (#:key inputs #:allow-other-keys) - ;; FIXME: This should be patched to use TZDIR so we can drop + ;; TODO: libical 3.1.0 supports using TZDIR instead of a hard-coded + ;; zoneinfo database. When that is released we can drop ;; the tzdata dependency. (let ((tzdata (assoc-ref inputs "tzdata"))) (substitute* "src/libical/icaltz-util.c" diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index b6bdf33eef..64aa38d785 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -459,7 +459,7 @@ capacity is user-selectable.") ("eudev" ,eudev) ("fontconfig" ,fontconfig) ("libexif" ,libexif) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("ffmpeg" ,ffmpeg-3.4))) (native-inputs `(("pkg-config" ,pkg-config) diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm index 18be845eec..864fe5def1 100644 --- a/gnu/packages/certs.scm +++ b/gnu/packages/certs.scm @@ -76,7 +76,7 @@ (define-public nss-certs (package (name "nss-certs") - (version "3.48") + (version "3.49.1") (source (origin (method url-fetch) (uri (let ((version-with-underscores @@ -87,7 +87,7 @@ "nss-" version ".tar.gz"))) (sha256 (base32 - "1b7qs1q7jqhw9dvkdznanzhc5dyq4bwx0biywszy3qx4hqm8571z")))) + "0vh23g16ldvnsrn2dnvdl2i133kizi660r7ilb00vfq2kvj45anr")))) (build-system gnu-build-system) (outputs '("out")) (native-inputs diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index f9eb350ff4..749bcc7831 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -64,6 +64,7 @@ #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages time) + #:use-module (gnu packages xml) #:use-module (guix utils) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) @@ -642,26 +643,20 @@ doctest.") (define-public python-mock (package (name "python-mock") - (version "2.0.0") + (version "3.0.5") (source (origin (method url-fetch) (uri (pypi-uri "mock" version)) (sha256 (base32 - "1flbpksir5sqrvq2z0dp8sl4bzbadg21sj4d42w3klpdfvgvcn5i")))) + "1hrp6j0yrx2xzylfv02qa8kph661m6yq4p0mc8fnimch9j4psrc3")))) (propagated-inputs - `(("python-pbr" ,python-pbr-minimal) - ("python-six" ,python-six))) + `(("python-six" ,python-six))) (build-system python-build-system) - (native-inputs - `(("python-unittest2" ,python-unittest2))) (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - (zero? (system* "unit2"))))))) + ;; FIXME: Tests require "pytest", which depends on this package. + '(#:tests? #f)) (home-page "https://github.com/testing-cabal/mock") (synopsis "Python mocking and patching library for testing") (description @@ -769,35 +764,40 @@ standard library.") (define-public python-pytest (package (name "python-pytest") - (version "4.4.2") + (version "5.3.5") (source (origin (method url-fetch) (uri (pypi-uri "pytest" version)) (sha256 (base32 - "18w38kjnffdcrlbw6ny6dksgxai6x9bxpjs2m6klqmb8hfzjkcb2")))) + "139i9cjhrv5aici3skq8iihvfb3lq0d8xb5j7qycr2hlk8cfjpqd")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ - (invoke "pytest" "-vv" "-k" - (string-append - ;; These tests involve the /usr directory, and fails. - "not test_remove_dir_prefix" - " and not test_argcomplete" - ;; This test tries to override PYTHONPATH, and - ;; subsequently fails to locate the test libraries. - " and not test_collection"))))))) + (lambda* (#:key (tests? #t) #:allow-other-keys) + (if tests? + (invoke "pytest" "-vv" "-k" + (string-append + ;; These tests involve the /usr directory, and fails. + "not test_remove_dir_prefix" + " and not test_argcomplete" + ;; This test tries to override PYTHONPATH, and + ;; subsequently fails to locate the test libraries. + " and not test_collection")) + (format #t "test suite not run~%")) + #t))))) (propagated-inputs `(("python-atomicwrites" ,python-atomicwrites) ("python-attrs" ,python-attrs-bootstrap) ("python-more-itertools" ,python-more-itertools) + ("python-packaging" ,python-packaging-bootstrap) ("python-pluggy" ,python-pluggy) ("python-py" ,python-py) - ("python-six" ,python-six-bootstrap))) + ("python-six" ,python-six-bootstrap) + ("python-wcwidth" ,python-wcwidth))) (native-inputs `(;; Tests need the "regular" bash since 'bash-final' lacks `compgen`. ("bash" ,bash) @@ -805,7 +805,8 @@ standard library.") ("python-nose" ,python-nose) ("python-mock" ,python-mock) ("python-pytest" ,python-pytest-bootstrap) - ("python-setuptools-scm" ,python-setuptools-scm))) + ("python-setuptools-scm" ,python-setuptools-scm) + ("python-xmlschema" ,python-xmlschema))) (home-page "https://docs.pytest.org/en/latest/") (synopsis "Python testing library") (description @@ -815,15 +816,41 @@ and many external plugins.") (license license:expat) (properties `((python2-variant . ,(delay python2-pytest)))))) +;; Pytest 4.x are the last versions that support Python 2. (define-public python2-pytest - (let ((pytest (package-with-python2 - (strip-python2-variant python-pytest)))) - (package - (inherit pytest) - (propagated-inputs - `(("python2-funcsigs" ,python2-funcsigs) - ("python2-pathlib2" ,python2-pathlib2) - ,@(package-propagated-inputs pytest)))))) + (package + (inherit (strip-python2-variant python-pytest)) + (name "python2-pytest") + (version "4.6.9") + (source (origin + (method url-fetch) + (uri (pypi-uri "pytest" version)) + (sha256 + (base32 + "0fgkmpc31nzy97fxfrkqbzycigdwxwwmninx3qhkzp81migggs0r")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2 + ,@(package-arguments python-pytest))) + (propagated-inputs + `(("python-atomicwrites" ,python2-atomicwrites) + ("python-attrs" ,python2-attrs-bootstrap) + ("python-funcsigs" ,python2-funcsigs) + ("python-importlib-metadata" ,python2-importlib-metadata-bootstrap) + ("python-more-itertools" ,python2-more-itertools) + ("python-packaging" ,python2-packaging-bootstrap) + ("python-pathlib2" ,python2-pathlib2) + ("python-pluggy" ,python2-pluggy) + ("python-py" ,python2-py) + ("python-six" ,python2-six-bootstrap) + ("python-wcwidth" ,python2-wcwidth))) + (native-inputs + `(("bash" ,bash) ;tests require 'compgen' + ("python-hypothesis" ,python2-hypothesis) + ("python-nose" ,python2-nose) + ("python-mock" ,python2-mock) + ("python-pytest" ,python2-pytest-bootstrap) + ("python-setuptools-scm" ,python2-setuptools-scm))))) (define-public python-pytest-bootstrap (package @@ -834,24 +861,37 @@ and many external plugins.") (properties `((python2-variant . ,(delay python2-pytest-bootstrap)))))) (define-public python2-pytest-bootstrap - (let ((pytest (package-with-python2 - (strip-python2-variant python-pytest-bootstrap)))) - (package (inherit pytest) - (propagated-inputs - `(("python2-funcsigs" ,python2-funcsigs-bootstrap) - ("python2-pathlib2" ,python2-pathlib2-bootstrap) - ,@(package-propagated-inputs pytest)))))) + (hidden-package + (package/inherit + python2-pytest + (name "python2-pytest-bootstrap") + (arguments + (substitute-keyword-arguments (package-arguments python2-pytest) + ((#:tests? _ #f) #f))) + (native-inputs + `(("python-setuptools-scm" ,python2-setuptools-scm))) + (propagated-inputs + `(("python-atomicwrites" ,python2-atomicwrites) + ("python-attrs" ,python2-attrs-bootstrap) + ("python-funcsigs" ,python2-funcsigs-bootstrap) + ("python-importlib-metadata" ,python2-importlib-metadata-bootstrap) + ("python-more-itertools" ,python2-more-itertools) + ("python-packaging" ,python2-packaging-bootstrap) + ("python-pathlib2" ,python2-pathlib2-bootstrap) + ("python-pluggy" ,python2-pluggy-bootstrap) + ("python-py" ,python2-py) + ("python-wcwidth" ,python2-wcwidth)))))) (define-public python-pytest-cov (package (name "python-pytest-cov") - (version "2.6.1") + (version "2.8.1") (source (origin (method url-fetch) (uri (pypi-uri "pytest-cov" version)) (sha256 - (base32 "0cyxbbghx2l4p60w10k00j1j74q1ngfiffr0pxn73ababjr69dha")))) + (base32 "0avzlk9p4nc44k7lpx9109dybq71xqnggxb9f4hp0l64pbc44ryc")))) (build-system python-build-system) (arguments `(#:phases @@ -880,18 +920,28 @@ supports coverage of subprocesses.") (define-public python-pytest-runner (package (name "python-pytest-runner") - (version "4.4") + (version "5.2") (source (origin (method url-fetch) (uri (pypi-uri "pytest-runner" version)) (sha256 (base32 - "1x0d9n40lsiphblbs61rdc0d5r31f6vh0vcahqdv0mffakbnrb80")))) + "0awll1bva5zy8cspsxcpv7pjcrdf5c6pf56nqn4f74vvmlzfgiwn")))) (build-system python-build-system) + (arguments + '(;; FIXME: The test suite requires 'python-flake8' and 'python-black', + ;; but that introduces a circular dependency. + #:tests? #f + #:phases (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "pytest" "-vv") + (format #t "test suite not run~%")) + #t))))) (native-inputs - `(("python-pytest" ,python-pytest-bootstrap) - ("python-setuptools-scm" ,python-setuptools-scm))) + `(("python-setuptools-scm" ,python-setuptools-scm))) (home-page "https://github.com/pytest-dev/pytest-runner") (synopsis "Invoke py.test as a distutils command") (description @@ -1348,14 +1398,14 @@ have failed since the last commit or what tests are currently failing."))) (define-public python-coverage (package (name "python-coverage") - (version "4.5.3") + (version "5.0.3") (source (origin (method url-fetch) (uri (pypi-uri "coverage" version)) (sha256 (base32 - "02f6m073qdispn96rc616hg0rnmw1pgqzw3bgxwiwza4zf9hirlx")))) + "1vrg8panqw79pswg52ygbrff3wdnxarrd9qz6c64ah0c4h2cmbvp")))) (build-system python-build-system) (arguments ;; FIXME: 95 tests failed, 539 passed, 6 skipped, 2 errors. @@ -1616,20 +1666,20 @@ instantly.") (define-public python-hypothesis (package (name "python-hypothesis") - (version "4.18.3") + (version "5.4.1") (source (origin (method url-fetch) (uri (pypi-uri "hypothesis" version)) (sha256 (base32 - "0a35nwqyjnm4cphi43xracqpkws0ip61mndvqb1iqq7gkva83lb1")))) + "0zn09bn6hadk4vxl6jy8bkjr5fz8mrhin3z46w7pq5qgbaycr89p")))) (build-system python-build-system) - (native-inputs - `(("python-flake8" ,python-flake8) - ("python-pytest" ,python-pytest-bootstrap))) + (arguments + ;; XXX: Tests are not distributed with the PyPI archive. + '(#:tests? #f)) (propagated-inputs `(("python-attrs" ,python-attrs-bootstrap) - ("python-coverage" ,python-coverage))) + ("python-sortedcontainers" ,python-sortedcontainers))) (synopsis "Library for property based testing") (description "Hypothesis is a library for testing your Python code against a much larger range of examples than you would ever want to write by hand. It’s @@ -1639,10 +1689,18 @@ seamlessly into your existing Python unit testing work flow.") (license license:mpl2.0) (properties `((python2-variant . ,(delay python2-hypothesis)))))) +;; This is the last version of Hypothesis that supports Python 2. (define-public python2-hypothesis (let ((hypothesis (package-with-python2 (strip-python2-variant python-hypothesis)))) (package (inherit hypothesis) + (version "4.57.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "hypothesis" version)) + (sha256 + (base32 + "183gpxbfcdhdqzlahkji5a71n6lmvgqsbkcb0ihqad51n2j6jhrw")))) (propagated-inputs `(("python2-enum34" ,python2-enum34) ,@(package-propagated-inputs hypothesis)))))) @@ -2169,13 +2227,13 @@ create data based on random numbers and yet remain repeatable.") (define-public python-freezegun (package (name "python-freezegun") - (version "0.3.12") + (version "0.3.14") (source (origin (method url-fetch) (uri (pypi-uri "freezegun" version)) (sha256 - (base32 "1rx57v8ryjncjimg8hys9kx1r3rknvwcl4y340g20jn0sf69qk9a")))) + (base32 "0al75mk829j1izxi760b7yjnknjihyfhp2mvi5qiyrxb9cpxwqk2")))) (build-system python-build-system) (native-inputs `(("python-mock" ,python-mock) @@ -2342,6 +2400,12 @@ portable to just about any platform.") (let ((out (assoc-ref outputs "out"))) (setenv "CC" "gcc") (setenv "PREFIX" out) + + ;; XXX: Without this flag, the CLOCK_REALTIME test hangs + ;; indefinitely. See README.packagers for more information. + ;; Try removing this for future versions of libfaketime. + (setenv "FAKETIME_COMPILE_CFLAGS" "-DFORCE_MONOTONIC_FIX") + #t))) (add-before 'check 'pre-check (lambda _ @@ -2483,3 +2547,16 @@ system. The code under test requires no modification to work with pyfakefs.") (define-public python2-pyfakefs (package-with-python2 python-pyfakefs)) + +;; This minimal variant is used to avoid a circular dependency between +;; python2-importlib-metadata, which requires pyfakefs for its tests, and +;; python2-pytest, which requires python2-importlib-metadata. +(define-public python2-pyfakefs-bootstrap + (hidden-package + (package + (inherit python2-pyfakefs) + (name "python2-pyfakefs-bootstrap") + (native-inputs '()) + (arguments + `(#:python ,python-2 + #:tests? #f))))) diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index 3330f91dfc..d08363a8dc 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -77,7 +77,7 @@ (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses) - ("libuuid" ,util-linux) + ("libuuid" ,util-linux "lib") ("libx11" ,libx11) ("xorg-rgb" ,xorg-rgb) ("nanopass" ,nanopass) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index 2d2827ffee..cc4340bbc6 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -5,10 +5,11 @@ ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2017, 2018, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2019 Pierre-Moana Levesque <pierre.moana.levesque@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,6 +33,7 @@ #:use-module (guix utils) #:use-module (guix deprecation) #:use-module (guix build-system gnu) + #:use-module (guix build-system cmake) #:use-module (guix build-system emacs) #:use-module (gnu packages) #:use-module (gnu packages backup) @@ -41,17 +43,74 @@ #:use-module (gnu packages file) #:use-module (gnu packages libevent) #:use-module (gnu packages ncurses) + #:use-module (gnu packages serialization) #:use-module (gnu packages sphinx) #:use-module (gnu packages texinfo) #:use-module (gnu packages xml) + #:use-module (ice-9 match) #:use-module (srfi srfi-1)) -;;; This minimal variant of CMake does not include the documentation. It is -;;; used by the cmake-build-system. -(define-public cmake-minimal +;;; Build phases shared between 'cmake-bootstrap' and the later variants +;;; that use cmake-build-system. +(define %common-build-phases + `((add-after 'unpack 'split-package + ;; Remove files that have been packaged in other package recipes. + (lambda _ + (delete-file "Auxiliary/cmake-mode.el") + (substitute* "Auxiliary/CMakeLists.txt" + ((".*cmake-mode.el.*") "")) + #t)) + (add-after 'unpack 'use-system-libarchive + ;; 'Source/cm_get_date.c' includes archive_getdate.c wholesale, + ;; so it needs to be available along with the header file. + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (let ((libarchive-source (assoc-ref (or native-inputs inputs) + "libarchive:source")) + ;; XXX: We can not use ,(package-version libarchive) here due to + ;; a cyclic module reference at the top-level. + (libarchive-version "3.4.1") + (files-to-unpack '("libarchive/archive_getdate.c" + "libarchive/archive_getdate.h"))) + (mkdir-p "Utilities/cmlibarchive") + (apply invoke "tar" "-xvf" libarchive-source + "--strip-components=1" + "-C" "Utilities/cmlibarchive" + (map (lambda (file) + (string-append "libarchive-" libarchive-version + "/" file)) + files-to-unpack)) + #t))) + (add-before 'configure 'patch-bin-sh + (lambda _ + ;; Replace "/bin/sh" by the right path in... a lot of + ;; files. + (substitute* + '("Modules/CompilerId/Xcode-3.pbxproj.in" + "Modules/Internal/CPack/CPack.RuntimeScript.in" + "Source/cmGlobalXCodeGenerator.cxx" + "Source/cmLocalUnixMakefileGenerator3.cxx" + "Source/cmExecProgramCommand.cxx" + "Utilities/Release/release_cmake.cmake" + "Tests/CMakeLists.txt" + "Tests/RunCMake/File_Generate/RunCMakeTest.cmake") + (("/bin/sh") (which "sh"))) + #t)))) + +(define %common-disabled-tests + '(;; This test copies libgcc_s.so.1 from GCC and tries to modify its RPATH, + ;; but does not cope with the file being read-only. + "BundleUtilities" + ;; This test requires network access. + "CTestTestUpload" + ;; This test requires 'ldconfig' which is not available in Guix. + "RunCMake.install")) + +;;; The "bootstrap" CMake. It is used to build 'cmake-minimal' below, as well +;;; as any dependencies that need cmake-build-system. +(define-public cmake-bootstrap (package - (name "cmake-minimal") - (version "3.15.1") + (name "cmake-bootstrap") + (version "3.16.3") (source (origin (method url-fetch) (uri (string-append "https://www.cmake.org/files/v" @@ -59,23 +118,32 @@ "/cmake-" version ".tar.gz")) (sha256 (base32 - "1xyprly3sf4wi0n1x79k4n22yxm6pb7fv70gqr9lvc7qv14cbphq")) - (modules '((guix build utils))) + "0s06wrp0jnw2l4yq94skj53hwnz7lqrmhh96sq7w7njkkggickz5")) + (modules '((guix build utils) + (ice-9 ftw))) (snippet '(begin - ;; Drop bundled software. (with-directory-excursion "Utilities" + ;; CMake bundles its dependencies below "Utilities" with a + ;; "cm" prefix in the directory name. Delete those to ensure + ;; the system libraries are used. (for-each delete-file-recursively - '("cmbzip2" - ;; "cmcompress" - "cmcurl" - "cmexpat" - ;; "cmjsoncpp" - ;; "cmlibarchive" - "cmliblzma" - ;; "cmlibuv" - "cmzlib")) - #t))))) + (scandir + "." + (lambda (file) + (and (string-prefix? "cm" file) + (eq? 'directory (stat:type (stat file))) + + ;; These inputs are required to bootstrap + ;; the initial build system. They are + ;; deleted in 'cmake-minimal' below. + ;; TODO: Consider building jsoncpp with + ;; Meson instead, once meson-build-system + ;; learns cross-compilation. + (not (string=? "cmjsoncpp" file)) + (not (string=? "cmlibuv" file))))))) + #t)) + (patches (search-patches "cmake-curl-certificates.patch")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -86,7 +154,7 @@ (string-append "--parallel=" parallel-job-count) (string-append "--prefix=" out) "--system-libs" - "--no-system-jsoncpp" ; FIXME: Circular dependency. + "--no-system-jsoncpp" ;; By default, the man pages and other docs land ;; in PREFIX/man and PREFIX/doc, but we want them ;; in share/{man,doc}. Note that unlike @@ -95,14 +163,18 @@ ;; to --mandir and --docdir. "--mandir=share/man" ,(string-append "--docdir=share/doc/cmake-" - (version-major+minor version)))) + (version-major+minor version)) + + ;; By default CMake is built without any optimizations. Use + ;; the recommended Release target for a ~2.5x speedup. + "--" "-DCMAKE_BUILD_TYPE=Release")) #:make-flags (let ((skipped-tests - (list "BundleUtilities" ; This test fails on Guix. + (list ,@%common-disabled-tests "CTestTestSubdir" ; This test fails to build 2 of the 3 tests. - ;; These tests requires network access. - "CTestCoverageCollectGCOV" - "CTestTestUpload"))) + ;; This test fails when ARGS (below) is in use, see + ;; <https://gitlab.kitware.com/cmake/cmake/issues/17165>. + "CTestCoverageCollectGCOV"))) (list (string-append ;; These arguments apply for the tests only. @@ -111,29 +183,7 @@ " --exclude-regex ^\\(" (string-join skipped-tests "\\|") "\\)$"))) #:phases (modify-phases %standard-phases - (add-after 'unpack 'split-package - ;; Remove files that have been packaged in other package recipes. - (lambda _ - (delete-file "Auxiliary/cmake-mode.el") - (substitute* "Auxiliary/CMakeLists.txt" - ((".*cmake-mode.el.*") "")) - #t)) - (add-before 'configure 'patch-bin-sh - (lambda _ - ;; Replace "/bin/sh" by the right path in... a lot of - ;; files. - (substitute* - '("Modules/CompilerId/Xcode-3.pbxproj.in" - "Modules/CPack.RuntimeScript.in" - "Source/cmGlobalXCodeGenerator.cxx" - "Source/cmLocalUnixMakefileGenerator3.cxx" - "Source/cmExecProgramCommand.cxx" - "Utilities/Release/release_cmake.cmake" - "Utilities/cmlibarchive/libarchive/archive_write_set_format_shar.c" - "Tests/CMakeLists.txt" - "Tests/RunCMake/File_Generate/RunCMakeTest.cmake") - (("/bin/sh") (which "sh"))) - #t)) + ,@%common-build-phases (add-before 'configure 'set-paths (lambda _ ;; Help cmake's bootstrap process to find system libraries @@ -146,20 +196,33 @@ (replace 'configure (lambda* (#:key (configure-flags '()) #:allow-other-keys) (apply invoke "./configure" configure-flags)))))) + (native-inputs + `(("libarchive:source" ,(package-source libarchive)))) (inputs `(("bzip2" ,bzip2) - ("curl" ,curl) + ("curl" ,curl-minimal) ("expat" ,expat) ("file" ,file) ("libarchive" ,libarchive) ("libuv" ,libuv) - ("ncurses" ,ncurses) ; required for ccmake + ("ncurses" ,ncurses) ;required for ccmake ("rhash" ,rhash) ("zlib" ,zlib))) (native-search-paths (list (search-path-specification (variable "CMAKE_PREFIX_PATH") - (files '(""))))) + (files '(""))) + ;; "cmake-curl-certificates.patch" changes CMake to honor 'SSL_CERT_DIR' + ;; and 'SSL_CERT_FILE', hence these search path entries. + (search-path-specification + (variable "SSL_CERT_DIR") + (separator #f) ;single entry + (files '("etc/ssl/certs"))) + (search-path-specification + (variable "SSL_CERT_FILE") + (file-type 'regular) + (separator #f) ;single entry + (files '("etc/ssl/certs/ca-certificates.crt"))))) (home-page "https://cmake.org/") (synopsis "Cross-platform build system") (description @@ -169,23 +232,86 @@ and compiler independent configuration files. CMake generates native makefiles and workspaces that can be used in the compiler environment of your choice.") (properties '((hidden? . #t))) (license (list license:bsd-3 ; cmake - license:bsd-4 ; cmcompress - license:bsd-2 ; cmlibarchive license:expat ; cmjsoncpp is dual MIT/public domain license:public-domain)))) ; cmlibarchive/archive_getdate.c +;;; This minimal variant of CMake does not include the documentation. It is +;;; used by the cmake-build-system. +(define-public cmake-minimal + (package + (inherit cmake-bootstrap) + (name "cmake-minimal") + (source (origin + (inherit (package-source cmake-bootstrap)) + (snippet + (match (origin-snippet (package-source cmake-bootstrap)) + ((begin exp ...) + ;; Now we can delete the remaining software bundles. + (append '(begin + (for-each delete-file-recursively + '("Utilities/cmjsoncpp" + "Utilities/cmlibuv"))) + exp)))))) + (inputs + `(("curl" ,curl) + ("jsoncpp" ,jsoncpp) + ,@(alist-delete "curl" (package-inputs cmake-bootstrap)))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + (list "-DCMAKE_USE_SYSTEM_LIBRARIES=ON" + (string-append "-DCMAKE_DOC_DIR=share/doc/cmake-" + ,(version-major+minor (package-version + cmake-bootstrap)))) + + ;; This is the CMake used in cmake-build-system. Ensure compiler + ;; optimizations are enabled to save size and CPU cycles. + #:build-type "Release" + #:phases + (modify-phases %standard-phases + ,@%common-build-phases + (replace 'check + (lambda* (#:key tests? parallel-tests? #:allow-other-keys) + (let ((skipped-tests (list ,@%common-disabled-tests + ;; This test requires the bundled libuv. + "BootstrapTest"))) + (if tests? + (begin + (invoke "ctest" "-j" (if parallel-tests? + (number->string (parallel-job-count)) + "1") + "--exclude-regex" + (string-append "^(" (string-join skipped-tests "|") ")$"))) + (format #t "test suite not run~%")) + #t)))) + ,@(if (%current-target-system) + '() + `(#:cmake ,cmake-bootstrap)))))) + +;;; The "user-facing" CMake, now with manuals and HTML documentation. (define-public cmake (package (inherit cmake-minimal) (name "cmake") (arguments (substitute-keyword-arguments (package-arguments cmake-minimal) - ((#:configure-flags configure-flags ''()) - `(append ,configure-flags - ;; Extra configure flags used to generate the documentation. - '("--sphinx-info" - "--sphinx-man" - "--sphinx-html"))) + ;; Use cmake-minimal this time. + ((#:cmake _ #f) + (if (%current-target-system) + cmake-minimal-cross + cmake-minimal)) + + ;; Enable debugging information for convenience. + ((#:build-type _ #f) "RelWithDebInfo") + + ((#:configure-flags flags ''()) + `(append (list "-DSPHINX_INFO=ON" "-DSPHINX_MAN=ON" "-DSPHINX_HTML=ON" + (string-append "-DCMAKE_DOC_DIR=share/doc/cmake-" + ,(version-major+minor (package-version + cmake-minimal))) + "-DCMAKE_INFO_DIR=share/info" + "-DCMAKE_MAN_DIR=share/man") + ,flags)) ((#:phases phases) `(modify-phases ,phases (add-after 'install 'move-html-doc @@ -208,45 +334,13 @@ and workspaces that can be used in the compiler environment of your choice.") (outputs '("out" "doc")) (properties (alist-delete 'hidden? (package-properties cmake-minimal))))) -(define-public cmake-3.15.5 - ;; CMake 3.15.5 fixes some issues, but declare another version to - ;; avoid triggering the rebuild of all CMake-based packages. - ;; See <https://issues.guix.gnu.org/issue/38060>. - ;; - ;; Furthermore, this variant fixes X.509 certificate lookup: - ;; <https://issues.guix.gnu.org/issue/37371>. +(define-public cmake-minimal-cross (package - (inherit cmake) - (version "3.15.5") - (source (origin - (inherit (package-source cmake)) - (uri (string-append "https://www.cmake.org/files/v" - (version-major+minor version) - "/cmake-" version ".tar.gz")) - (sha256 - (base32 - "1d5y8d92axcc6rfqlsxamayfs3fc1vdby91hn5mx1kn02ppprpgv")) - (patches - (append (search-patches "cmake-curl-certificates.patch") - (origin-patches (package-source cmake)))))) - - (native-search-paths - ;; "cmake-curl-certificates.patch" changes CMake to honor 'SSL_CERT_DIR' - ;; and 'SSL_CERT_FILE', hence these search path entries. - (append (list (search-path-specification - (variable "SSL_CERT_DIR") - (separator #f) ;single entry - (files '("etc/ssl/certs"))) - (search-path-specification - (variable "SSL_CERT_FILE") - (file-type 'regular) - (separator #f) ;single entry - (files '("etc/ssl/certs/ca-certificates.crt")))) - (package-native-search-paths cmake))))) - -;; This was cmake@3.15.1 plus "cmake-curl-certificates.patch". -(define-deprecated cmake/fixed cmake-3.15.5) -(export cmake/fixed) + (inherit cmake-minimal) + (name "cmake-minimal-cross") + (native-search-paths '()) + (search-paths + (package-native-search-paths cmake-minimal)))) (define-public emacs-cmake-mode (package diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index 6af1d413b8..87ad84140f 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -30,6 +30,7 @@ (define-module (gnu packages code) #:use-module (guix packages) + #:use-module (guix utils) #:use-module (guix download) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) @@ -659,9 +660,24 @@ the C, C++, C++/CLI, Objective‑C, C#, and Java programming languages.") ;; overrides this to be in PREFIX/doc. Fix this. (substitute* "doc/Makefile.in" (("^docdir = .*$") "docdir = @docdir@\n")) + #t)) + (add-after 'unpack 'fix-configure + (lambda* (#:key inputs native-inputs #:allow-other-keys) + ;; Replace outdated config.sub and config.guess: + (with-directory-excursion "config" + (for-each (lambda (file) + (install-file + (string-append (assoc-ref + (or native-inputs inputs) "automake") + "/share/automake-" + ,(version-major+minor + (package-version automake)) + "/" file) ".")) + '("config.sub" "config.guess"))) #t))))) (native-inputs - `(("texinfo" ,texinfo))) + `(("texinfo" ,texinfo) + ("automake" ,automake))) ; For up to date 'config.guess' and 'config.sub'. (synopsis "Code reformatter") (description "Indent is a program that makes source code easier to read by diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 42d1132fba..ced13eb075 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1408,6 +1408,11 @@ exec " gcc "/bin/" program #:implicit-inputs? #f #:tests? #f ; cannot run "make check" ,@(substitute-keyword-arguments (package-arguments gnu-make) + ((#:configure-flags flags ''()) + ;; The generated config.status has some problems due to the + ;; bootstrap environment. Disable dependency tracking to work + ;; around it. + `(cons "--disable-dependency-tracking" ,flags)) ((#:phases phases) `(modify-phases ,phases (replace 'build @@ -1448,7 +1453,15 @@ exec " gcc "/bin/" program (arguments `(#:implicit-inputs? #f #:guile ,%bootstrap-guile - ,@(package-arguments findutils))))) + + ;; The build system assumes we have done a mistake when time_t is 32-bit + ;; on a 64-bit system. Ignore that for our bootstrap toolchain. + ,@(if (target-64bit?) + (substitute-keyword-arguments (package-arguments findutils) + ((#:configure-flags flags ''()) + `(cons "TIME_T_32_BIT_OK=yes" + ,flags))) + (package-arguments findutils)))))) (define file-boot0 (package @@ -1714,20 +1727,13 @@ exec " gcc "/bin/" program #:implicit-inputs? #f ,@(package-arguments m4))))) -(define m4-boot0* - (package - ;; TODO: On the next rebuild cycle, use M4-BOOT0 as is. - (inherit m4-boot0) - (name "m4"))) - (define bison-boot0 ;; This Bison is needed to build MiG so we need it early in the process. ;; Recent versions of Linux-Libre headers also depend on this. (package (inherit bison) - ;; TODO: On the next build cycle, do: - ;;(name "bison-boot0") - (propagated-inputs `(("m4" ,m4-boot0*))) + (name "bison-boot0") + (propagated-inputs `(("m4" ,m4-boot0))) (native-inputs `(("perl" ,perl-boot0))) (inputs (%boot0-inputs)) ;remove Flex... (arguments @@ -1735,17 +1741,6 @@ exec " gcc "/bin/" program #:implicit-inputs? #f #:guile ,%bootstrap-guile - ;; XXX: These flags should be unconditional, but for now - ;; we just add them on x86 to avoid a full rebuild. - ;; TODO: On the next core-updates, use - ;; 'substitute-keyword-arguments' to inherit them from - ;; BISON. - ,@(if (member (%current-system) - '("x86_64-linux" "i686-linux")) - '(#:parallel-build? #f - #:parallel-tests? #f) - '()) - ;; Zero timestamps in liby.a; this must be done ;; explicitly here because the bootstrap Binutils don't ;; do that (default is "cru".) @@ -1756,19 +1751,16 @@ exec " gcc "/bin/" program "RANLIB=ranlib") (_ "RANLIB=ranlib -D")) - "V=1"))))) + "V=1") + + ,@(package-arguments bison))))) (define flex-boot0 ;; This Flex is needed to build MiG as well as Linux-Libre headers. (package (inherit flex) (native-inputs `(("bison" ,bison-boot0))) - (propagated-inputs - ;; XXX: Here we use an 'm4-boot0' package that's not eq? so that it - ;; appears twice in '%build-inputs', like when we were using - ;; 'package-with-explicit-inputs'. - ;; TODO: Remove this hack on the next rebuild cycle. - `(("m4" ,(package (inherit m4-boot0*))))) + (propagated-inputs `(("m4" ,m4-boot0))) (inputs (%boot0-inputs)) (arguments `(#:implicit-inputs? #f @@ -1891,16 +1883,24 @@ the bootstrap environment." ;; pthreads, which is missing on non-x86 platforms at this stage. ;; Python 3.6 technically supports being built without threading ;; support, but requires additional patches. - (version "3.5.7") + (version "3.5.9") (source (bootstrap-origin (origin - (inherit (package-source python)) + (method url-fetch) (uri (string-append "https://www.python.org/ftp/python/" version "/Python-" version ".tar.xz")) - (patches '()) (sha256 (base32 - "1p67pnp2ca5przx2s45r8m55dcn6f5hsm0l4s1zp7mglkf4r4n18"))))) + "0jdh9pvx6m6lfz2liwvvhn7vks7qrysqgwn517fkpxb77b33fjn2")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete the bundled copy of libexpat. + (delete-file-recursively "Modules/expat") + (substitute* "Modules/Setup.dist" + ;; Link Expat instead of embedding the bundled one. + (("^#pyexpat.*") "pyexpat pyexpat.c -lexpat\n")) + #t))))) (inputs `(,@(%boot0-inputs) ("expat" ,expat-sans-tests))) ;remove OpenSSL, zlib, etc. @@ -2396,9 +2396,6 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" (define gnu-make-final ;; The final GNU Make, which uses the final Guile. - ;; FIXME: This is a mistake: we shouldn't be propagating GUILE-FINAL to - ;; PKG-CONFIG. - ;; TODO: Fix that on the next rebuild cycle. (let ((pkg-config (package (inherit %pkg-config) ;the native pkg-config (inputs `(("guile" ,guile-final) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 98af41760f..6926545c23 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -1371,18 +1371,18 @@ or junctions, and always follows hard links.") (define-public zstd (package (name "zstd") - (version "1.4.2") + (version "1.4.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/facebook/zstd/releases/download/" "v" version "/zstd-" version ".tar.gz")) (sha256 - (base32 "1ja3nrjynmiwwdjrf6crraizkbagp7y414bqqq2ady91nn1hjwqj")))) + (base32 "05ckxap00qvc0j51d3ci38150cxsw82w7s9zgd5fgzspnzmp1vsr")))) (build-system gnu-build-system) - (outputs '("out" ;1.1MiB executables and documentation - "lib" ;1MiB shared library and headers - "static")) ;1MiB static library + (outputs '("out" ;1.2MiB executables and documentation + "lib" ;1.2MiB shared library and headers + "static")) ;1.2MiB static library (arguments `(#:phases (modify-phases %standard-phases @@ -1402,12 +1402,10 @@ or junctions, and always follows hard links.") (delete-file ar)) (find-files shared-libs "\\.a$")) - ;; While here, remove prefix= from the pkg-config file because it - ;; is unused, and because it contains a needless reference to $out. - ;; XXX: It would be great if #:disallow-references worked between - ;; outputs. + ;; Make sure the pkg-config file refers to the right output. (substitute* (string-append shared-libs "/pkgconfig/libzstd.pc") - (("^prefix=.*") "")) + (("^prefix=.*") + (string-append "prefix=" lib "\n"))) #t)))) #:make-flags diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 58ceed06d0..d5622f1216 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -1347,7 +1347,7 @@ applications. That is, compute distances and related measures for angular (base32 "1a8mi70x79a691r40yiw684jkg1mr9n8agkxlcksxcnrdybs9c0x")))) (build-system r-build-system) - (inputs `(("libjpeg" ,libjpeg))) + (inputs `(("libjpeg" ,libjpeg-turbo))) (home-page "http://www.rforge.net/jpeg/") (synopsis "Read and write JPEG images with R") (description "This package provides a way to read, write and display @@ -9694,7 +9694,7 @@ redundant complex conjugate when the input is real data.") (build-system r-build-system) (inputs `(("libtiff" ,libtiff) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("zlib" ,zlib))) (home-page "http://www.rforge.net/tiff/") (synopsis "Read and write TIFF images") @@ -18287,7 +18287,7 @@ currently limited to 8 bit greyscale images and 24, 32 bit (A)RGB images.") (properties `((upstream-name . "readbitmap"))) (build-system r-build-system) (inputs - `(("libjpeg" ,libjpeg) + `(("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng))) (propagated-inputs `(("r-bmp" ,r-bmp) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index f09ec710b2..852a262a7c 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de> ;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org> +;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -707,19 +708,28 @@ BLAKE.") (define-public rhash (package (name "rhash") - (version "1.3.8") + (version "1.3.9") (source (origin (method url-fetch) - (uri (string-append "https://github.com/rhash/RHash/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (uri (string-append "mirror://sourceforge/rhash/rhash/" version + "/rhash-" version "-src.tar.gz")) + (file-name (string-append "rhash-" version ".tar.gz")) (sha256 (base32 - "0k60ywyhwqwqxa2q2l85vwgf884hcgy31nxir3dqgz7ymib6llxy")))) + "1xn9fqa6rlnhsbgami45g82dlw9i1skg2sri3ydiinwak5ph1ca2")))) (build-system gnu-build-system) (arguments - `(#:make-flags + `(#:configure-flags + (list (string-append "--prefix=" (assoc-ref %outputs "out")) + ,@(let ((target (%current-target-system))) + (if target + `((string-append "--target=" ,target) + (string-append "--cc=" + (assoc-ref %build-inputs "cross-gcc") + "/bin/" ,target "-gcc")) + '()))) + #:make-flags ;; The binaries in /bin need some help finding librhash.so.0. (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")) #:test-target "test" ; ‘make check’ just checks the sources @@ -728,9 +738,13 @@ BLAKE.") (replace 'configure ;; ./configure is not GNU autotools' and doesn't gracefully handle ;; unrecognized options, so we must call it manually. - (lambda* (#:key outputs #:allow-other-keys) - (invoke "./configure" - (string-append "--prefix=" (assoc-ref outputs "out"))))) + (lambda* (#:key configure-flags #:allow-other-keys) + (apply invoke "./configure" configure-flags))) + (add-before 'check 'patch-/bin/sh + (lambda _ + (substitute* "Makefile" + (("/bin/sh") (which "sh"))) + #t)) (add-after 'install 'install-library-extras (lambda* (#:key make-flags #:allow-other-keys) (apply invoke diff --git a/gnu/packages/cryptsetup.scm b/gnu/packages/cryptsetup.scm index 2a824d416e..d4c039ac04 100644 --- a/gnu/packages/cryptsetup.scm +++ b/gnu/packages/cryptsetup.scm @@ -62,7 +62,7 @@ ("libgcrypt" ,libgcrypt) ("lvm2" ,lvm2) ; device-mapper ("popt" ,popt) - ("util-linux" ,util-linux))) ; libuuid + ("util-linux" ,util-linux "lib"))) ;libuuid (synopsis "Hard disk encryption tool") (description "LUKS (Linux Unified Key Setup)/Cryptsetup provides a standard on-disk @@ -142,6 +142,6 @@ files). This assumes LIBRARY uses Libtool." ("libgcrypt" ,libgcrypt-static) ("lvm2" ,lvm2-static) ("util-linux" ,util-linux "static") - ("util-linux" ,util-linux) + ("util-linux" ,util-linux "lib") ("popt" ,popt)))) (synopsis "Hard disk encryption tool (statically linked)"))) diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index 0adca9addb..d8c1d11944 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -58,7 +58,7 @@ (define-public cups-filters (package (name "cups-filters") - (version "1.25.13") + (version "1.26.2") (source(origin (method url-fetch) (uri @@ -66,7 +66,7 @@ "cups-filters-" version ".tar.xz")) (sha256 (base32 - "1z3b7p6pp6yzvzl2nip9q0gn4fr5k9qwpnnhqqkiaaf3b1nfswjj")) + "1a8x6zgw3m4717gw3842gsrgjl05q92xygy4rp5vwr1d1xjmyxp1")) (modules '((guix build utils))) (snippet ;; install backends, banners and filters to cups-filters output @@ -158,7 +158,7 @@ ("ijs" ,ijs) ("dbus" ,dbus) ("lcms" ,lcms) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) ("glib" ,glib) @@ -187,7 +187,7 @@ filters for the PDF-centric printing workflow introduced by OpenPrinting.") (define-public cups-minimal (package (name "cups-minimal") - (version "2.3.0") + (version "2.3.1") (source (origin (method url-fetch) @@ -195,7 +195,7 @@ filters for the PDF-centric printing workflow introduced by OpenPrinting.") version "/cups-" version "-source.tar.gz")) (sha256 (base32 - "19d1jpdpxy0fclq37pchi7ldnw9dssxx3zskcgqai3h0rwlh5bxc")))) + "1kkpmj17205j8w9hdff2bfpk6lwdmr3gx0j4r35nhgvya24rvjhv")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -585,7 +585,7 @@ should only be used as part of the Guix cups-pk-helper service.") (inputs `(("cups-minimal" ,cups-minimal) ("dbus" ,dbus) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libusb" ,libusb) ("python" ,python) ("python-dbus" ,python-dbus) diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm index aa5d24c401..2c0390a3ef 100644 --- a/gnu/packages/curl.scm +++ b/gnu/packages/curl.scm @@ -4,11 +4,12 @@ ;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz> ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2017, 2019 Leo Famulari <leo@famulari.name> -;;; Copyright © 2017, 2019 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2017, 2019, 2020 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> ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -36,7 +37,6 @@ #:use-module (gnu packages) #:use-module (gnu packages compression) #:use-module (gnu packages golang) - #:use-module (gnu packages groff) #:use-module (gnu packages guile) #:use-module (gnu packages kerberos) #:use-module (gnu packages libidn) @@ -45,20 +45,21 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages tls) - #:use-module (gnu packages web)) + #:use-module (gnu packages web) + #:use-module (srfi srfi-1)) (define-public curl (package (name "curl") - (version "7.65.3") - (replacement curl-7.66.0) + (version "7.68.0") (source (origin (method url-fetch) (uri (string-append "https://curl.haxx.se/download/curl-" version ".tar.xz")) (sha256 (base32 - "1sjz4fq7jg96mpmpqq82nd61njna6jp3c4m9yrbx2j1rh5a8ingj")))) + "0nh3j90w6b97wqcgxjfq55qhkz9s38955fbhwzv2fsi7483j895p")) + (patches (search-patches "curl-use-ssl-cert-env.patch")))) (build-system gnu-build-system) (outputs '("out" "doc")) ;1.2 MiB of man3 pages @@ -70,27 +71,42 @@ ("zlib" ,zlib))) (native-inputs `(("perl" ,perl) - ;; to enable the --manual option and make test 1026 pass - ("groff" ,groff) ("pkg-config" ,pkg-config) ("python" ,python-wrapper))) (native-search-paths - ;; Note: This search path is respected by the `curl` command-line tool only. - ;; Ideally we would bake this into libcurl itself so other users can benefit, - ;; but it's not supported upstream due to thread safety concerns. + ;; These variables are introduced by curl-use-ssl-cert-env.patch. (list (search-path-specification + (variable "SSL_CERT_DIR") + (separator #f) ;single entry + (files '("etc/ssl/certs"))) + (search-path-specification + (variable "SSL_CERT_FILE") + (file-type 'regular) + (separator #f) ;single entry + (files '("etc/ssl/certs/ca-certificates.crt"))) + ;; Note: This search path is respected by the `curl` command-line + ;; tool only. Patching libcurl to read it too would bring no + ;; advantages and require maintaining a more complex patch. + (search-path-specification (variable "CURL_CA_BUNDLE") (file-type 'regular) (separator #f) ;single entry (files '("etc/ssl/certs/ca-certificates.crt"))))) (arguments - `(#:configure-flags (list "--with-gnutls" + `(#:disallowed-references ("doc") + #:configure-flags (list "--with-gnutls" (string-append "--with-gssapi=" (assoc-ref %build-inputs "mit-krb5")) "--disable-static") - ;; Add a phase to patch '/bin/sh' occurances in tests/runtests.pl #:phases (modify-phases %standard-phases + (add-after 'unpack 'do-not-record-configure-flags + (lambda _ + ;; Do not save the configure options to avoid unnecessary references. + (substitute* "curl-config.in" + (("@CONFIGURE_OPTIONS@") + "\"not available\"")) + #t)) (add-after 'install 'move-man3-pages (lambda* (#:key outputs #:allow-other-keys) @@ -143,17 +159,14 @@ tunneling, and so on.") "See COPYING in the distribution.")) (home-page "https://curl.haxx.se/"))) -(define curl-7.66.0 - (package - (inherit curl) - (version "7.66.0") - (source (origin - (method url-fetch) - (uri (string-append "https://curl.haxx.se/download/curl-" - version ".tar.xz")) - (sha256 - (base32 - "1hcqxpibhknhjy56wcxz5vd6m9ggx3ykwp3wp5wx05ih36481d6v")))))) +;; This package exists mainly to bootstrap CMake. It must not depend on +;; anything that uses cmake-build-system. +(define-public curl-minimal + (hidden-package + (package/inherit + curl + (name "curl-minimal") + (inputs (alist-delete "openldap" (package-inputs curl)))))) (define-public kurly (package diff --git a/gnu/packages/cyrus-sasl.scm b/gnu/packages/cyrus-sasl.scm index f84136e631..3e65a1faf6 100644 --- a/gnu/packages/cyrus-sasl.scm +++ b/gnu/packages/cyrus-sasl.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2014, 2015, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016 Leo Famulari <leo@famulari.name> +;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,6 +21,7 @@ (define-module (gnu packages cyrus-sasl) #:use-module (gnu packages) + #:use-module (gnu packages autotools) #:use-module (gnu packages dbm) #:use-module (gnu packages kerberos) #:use-module (gnu packages tls) @@ -41,8 +43,13 @@ "ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-" version ".tar.gz"))) (sha256 (base32 - "1m85zcpgfdhm43cavpdkhb1s2zq1b31472hq1w1gs3xh94anp1i6")))) + "1m85zcpgfdhm43cavpdkhb1s2zq1b31472hq1w1gs3xh94anp1i6")) + (patches (search-patches "cyrus-sasl-ac-try-run-fix.patch")))) (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) (inputs `(("gdbm" ,gdbm) ("openssl" ,openssl))) (propagated-inputs @@ -57,7 +64,13 @@ ;; 'plugin_common.c'. When building the shared libraries there, libtool ;; ends up doing "ln -s plugin_common.lo plugin_common.o", which can ;; fail with EEXIST when building things in parallel. - #:parallel-build? #f)) + #:parallel-build? #f + + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'autogen + (lambda _ + (invoke "autoreconf" "-vif")))))) (synopsis "Simple Authentication Security Layer implementation") (description "SASL (Simple Authentication Security Layer) is an Internet diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index ed1d1fe95b..8ba37eeafa 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -165,7 +165,7 @@ ("avahi" ,avahi) ("cyrus-sasl" ,cyrus-sasl) ("openssl" ,openssl) - ("util-linux" ,util-linux))) + ("util-linux" ,util-linux "lib"))) ;; http://www.4store.org has been down for a while now. (home-page "https://github.com/4store/4store") (synopsis "Clustered RDF storage and query engine") @@ -881,6 +881,11 @@ Language.") (rename-file (string-append out "/bin/mysql_config") (string-append dev "/bin/mysql_config")) + + (substitute* (string-append out "/bin/mysql_install_db") + (("\\$basedir/share/mysql") + (string-append lib "/share/mysql"))) + ;; Embed an absolute reference to OpenSSL in mysql_config ;; and the pkg-config file to avoid propagation. (substitute* (list (string-append dev "/bin/mysql_config") @@ -916,33 +921,6 @@ Language.") as a drop-in replacement of MySQL.") (license license:gpl2))) -;; TODO: mysql_install_db is broken in MariaDB. This package is here as -;; a workaround for packages that need it. Merge with 'mariadb' in the next -;; rebuild cycle. -(define-public mariadb/fixed-install-db - (hidden-package - (package/inherit - mariadb - (name "mariadb-fixed") - (native-inputs '()) - (inputs - `(("mariadb" ,mariadb) - ("mariadb:lib" ,mariadb "lib"))) - (outputs '("out")) - (build-system trivial-build-system) - (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules ((guix build utils))) - (let ((out (assoc-ref %outputs "out"))) - (copy-recursively (assoc-ref %build-inputs "mariadb") out) - (substitute* (string-append out "/bin/mysql_install_db") - (("\\$basedir/share/mysql") - (string-append (assoc-ref %build-inputs "mariadb:lib") - "/share/mysql"))) - #t))))))) - (define-public mariadb-connector-c (package (name "mariadb-connector-c") @@ -1001,7 +979,7 @@ developed in C/C++ to MariaDB and MySQL databases.") (invoke "make" "-C" "contrib" "install")))))) (inputs `(("readline" ,readline) - ("libuuid" ,util-linux) + ("libuuid" ,util-linux "lib") ("openssl" ,openssl) ("zlib" ,zlib))) (home-page "https://www.postgresql.org/") @@ -3305,7 +3283,7 @@ simultaneous database connections by using this framework.") `(;; For tests. ("inetutils" ,inetutils) ("glibc-locales" ,glibc-locales) - ("mariadb" ,mariadb/fixed-install-db))) + ("mariadb" ,mariadb))) (inputs `(("libdbi" ,libdbi) ("mariadb:dev" ,mariadb "dev") diff --git a/gnu/packages/dbm.scm b/gnu/packages/dbm.scm index 5191c475c2..ea812c9715 100644 --- a/gnu/packages/dbm.scm +++ b/gnu/packages/dbm.scm @@ -55,7 +55,7 @@ #:phases (modify-phases %standard-phases (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) + (lambda* (#:key target outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) (doc (assoc-ref outputs "doc"))) ;; '--docdir' is not honored, so we need to patch. @@ -74,6 +74,10 @@ '("--build=aarch64-unknown-linux-gnu") '()) + ,@(if (%current-target-system) ; cross building + '((string-append "--host=" target)) + '()) + ;; Remove 7 MiB of .a files. "--disable-static" @@ -134,7 +138,8 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.") (sha256 (base32 "1p4ibds6z3ccy65lkmd6lm7js0kwifvl53r0fd759fjxgr917rl6")))) - (arguments `(#:configure-flags '("--enable-libgdbm-compat"))) + (arguments `(#:configure-flags '("--enable-libgdbm-compat" + "--disable-static"))) (build-system gnu-build-system) (home-page "http://www.gnu.org.ua/software/gdbm") (synopsis diff --git a/gnu/packages/dejagnu.scm b/gnu/packages/dejagnu.scm index f2aca50f1a..0dee89dfc1 100644 --- a/gnu/packages/dejagnu.scm +++ b/gnu/packages/dejagnu.scm @@ -28,7 +28,7 @@ (define-public dejagnu (package (name "dejagnu") - (version "1.6.1") + (version "1.6.2") (source (origin (method url-fetch) @@ -36,7 +36,7 @@ version ".tar.gz")) (sha256 (base32 - "14hnq1mh91vqprc43xdy4f15sycw6fbajrh7zi6cw2kyg6xjhnxz")))) + "0qfj2wd4qk1yn9yzam6g8nmyxfazcc0knjyyibycb2ainkhp21hd")))) (build-system gnu-build-system) (inputs `(("expect" ,expect))) (arguments diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 7684e57a7b..c6cfd50eae 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -104,13 +104,15 @@ (inputs `(("lvm2" ,lvm2) ("readline" ,readline) - ("util-linux" ,util-linux))) + ("util-linux" ,util-linux "lib"))) (native-inputs `(("gettext" ,gettext-minimal) + ;; For the tests. ("e2fsprogs" ,e2fsprogs) ("perl" ,perl) - ("python" ,python-2))) + ("python" ,python-2) + ("util-linux" ,util-linux))) (home-page "https://www.gnu.org/software/parted/") (synopsis "Disk partition editor") (description @@ -134,7 +136,7 @@ tables. It includes a library and command-line utility.") (inputs `(("gettext" ,gettext-minimal) ("guile" ,guile-1.8) - ("util-linux" ,util-linux) + ("util-linux" ,util-linux "lib") ("parted" ,parted))) ;; The build neglects to look for its own headers in its own tree. A next ;; release should fix this, but may never come: GNU fdisk looks abandoned. @@ -175,7 +177,7 @@ tables, and it understands a variety of different formats.") `(("gettext" ,gettext-minimal) ("ncurses" ,ncurses) ("popt" ,popt) - ("util-linux" ,util-linux))) ; libuuid + ("util-linux" ,util-linux "lib"))) ;libuuid (arguments `(#:test-target "test" #:phases @@ -362,7 +364,7 @@ and can dramatically shorten the lifespan of the drive if left unchecked.") ;; as '/dev/disk/by-id' `(#:tests? #f)) (inputs - `(("util-linux" ,util-linux) + `(("util-linux" ,util-linux "lib") ("parted" ,parted) ("glib" ,glib) ("gtkmm" ,gtkmm) @@ -590,7 +592,7 @@ automatically finding out which program to use for what file type.") (inputs `(("cryptsetup" ,cryptsetup) ("nss" ,nss) - ("libblkid" ,util-linux) + ("libblkid" ,util-linux "lib") ("lvm2" ,lvm2) ; for "-ldevmapper" ("glib" ,glib) ("gpgme" ,gpgme))) @@ -643,7 +645,7 @@ passphrases.") ("json-c" ,json-c) ("keyutils" ,keyutils) ("kmod" ,kmod) - ("util-linux" ,util-linux))) + ("util-linux" ,util-linux "lib"))) (arguments `(#:configure-flags (list "--disable-asciidoctor" ; use docbook-xsl instead @@ -812,7 +814,7 @@ LVM D-Bus API).") ("libelf" ,libelf) ("elfutils" ,elfutils) ("json-glib" ,json-glib) - ("libblkid" ,util-linux))) + ("libblkid" ,util-linux "lib"))) (home-page "https://rmlint.rtfd.org") (synopsis "Remove duplicates and other lint from the file system") (description "@command{rmlint} finds space waste and other broken things diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm index bfe1a8f6dd..70caeab06d 100644 --- a/gnu/packages/display-managers.scm +++ b/gnu/packages/display-managers.scm @@ -244,7 +244,7 @@ GTK+, lets you select a desktop session and log in to it.") (build-system cmake-build-system) (inputs `(("linux-pam" ,linux-pam) ("libpng" ,libpng) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("freeglut" ,freeglut) ("libxrandr" ,libxrandr) ("libxrender" ,libxrender) diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm index 098c2b4dfb..7221dd8fd9 100644 --- a/gnu/packages/docbook.scm +++ b/gnu/packages/docbook.scm @@ -183,7 +183,7 @@ by no means limited to these applications.) This package provides XML DTDs.") (define-public dblatex (package (name "dblatex") - (version "0.3.10") + (version "0.3.11") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/dblatex/dblatex/" @@ -191,7 +191,7 @@ by no means limited to these applications.) This package provides XML DTDs.") version ".tar.bz2")) (sha256 (base32 - "1yicd861rqz78i2khl35j7nvc0ccv4jx4hzqrbhll17082vrdmkg")))) + "0rp1bc2lgisigscq1i7zxfd2qdaxxxld6khbcxss4pq7fpi9fzkv")))) (build-system python-build-system) ;; TODO: Add xfig/transfig for fig2dev utility (inputs diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm index 19c42b00eb..c4a8c0242d 100644 --- a/gnu/packages/documentation.scm +++ b/gnu/packages/documentation.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,6 +32,7 @@ #:use-module (guix build-system cmake) #:use-module (gnu packages) #:use-module (gnu packages autotools) + #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages python) #:use-module (gnu packages bison) @@ -123,7 +125,7 @@ markup) can be customized and extended by the user.") (define-public doxygen (package (name "doxygen") - (version "1.8.15") + (version "1.8.17") (home-page "http://www.doxygen.nl/") (source (origin (method url-fetch) @@ -134,8 +136,9 @@ markup) can be customized and extended by the user.") ".src.tar.gz"))) (sha256 (base32 - "0p94b4yb6bk2dxzs5kyl82xxgq2qakgbx5yy3ssbbadncb20x75x")) - (patches (search-patches "doxygen-test.patch")))) + "16dmv0gm1x8rvbm82fmjvi213q8fxqxinm75pcf595flya59ific")) + (patches (search-patches "doxygen-test.patch" + "doxygen-1.8.17-runtests.patch")))) (build-system cmake-build-system) (native-inputs `(("bison" ,bison) @@ -145,7 +148,15 @@ markup) can be customized and extended by the user.") (inputs `(("bash" ,bash-minimal))) (arguments - `(#:test-target "tests" + ;; Force cmake to use iconv header from cross-libc instead of the one + ;; from native libc. + `(,@(if (%current-target-system) + '(#:configure-flags + (list (string-append "-DICONV_INCLUDE_DIR=" + (assoc-ref %build-inputs "cross-libc") + "/include"))) + '()) + #:test-target "tests" #:phases (modify-phases %standard-phases (add-before 'configure 'patch-sh (lambda* (#:key inputs #:allow-other-keys) diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm index 7f8aa42e95..683be7927a 100644 --- a/gnu/packages/ebook.scm +++ b/gnu/packages/ebook.scm @@ -290,7 +290,7 @@ designed to be used in a generic text renderer.") ("fribidi" ,fribidi) ("glib" ,glib) ("gtk+-2" ,gtk+-2) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("liblinebreak" ,liblinebreak) ("libxft" ,libxft) ("sqlite" ,sqlite) diff --git a/gnu/packages/efi.scm b/gnu/packages/efi.scm index b6e93dd618..2bfebfdbc2 100644 --- a/gnu/packages/efi.scm +++ b/gnu/packages/efi.scm @@ -113,6 +113,7 @@ environment presented by Intel's EFI.") ("util-linux" ,util-linux))) ; getopt (inputs `(("gnu-efi" ,gnu-efi) + ("libuuid" ,util-linux "lib") ("openssl" ,openssl))) (synopsis "EFI signing tools") (description "This package provides tools for signing EFI binaries.") diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 3995ee5976..e3100cc62f 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -9575,15 +9575,12 @@ It should enable you to implement low-level X11 applications.") ;; Add a .desktop file to xsessions (mkdir-p xsessions) (mkdir-p bin) - (with-output-to-file - (string-append xsessions "/exwm.desktop") - (lambda _ - (format #t "[Desktop Entry]~@ - Name=~a~@ - Comment=~a~@ - Exec=~a~@ - TryExec=~:*~a~@ - Type=Application~%" ,name ,synopsis exwm-executable))) + (make-desktop-entry-file + (string-append xsessions "/exwm.desktop") + #:name ,name + #:comment ,synopsis + #:exec exwm-executable + #:try-exec exwm-executable) ;; Add a shell wrapper to bin (with-output-to-file exwm-executable (lambda _ diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index b26c928e87..cfbcb83872 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -173,7 +173,7 @@ ("libxft" ,libxft) ("libtiff" ,libtiff) ("giflib" ,giflib) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("imagemagick" ,imagemagick) ("acl" ,acl) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 4db8109249..9dc8b7e9ce 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -2149,7 +2149,7 @@ engineers for reverse engineers.") (native-inputs `(("googletest-source" ,(package-source googletest)))) (inputs - `(("libuuid" ,util-linux))) + `(("libuuid" ,util-linux "lib"))) (arguments `(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index d79ca949f2..3fc9d522f4 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -124,7 +124,7 @@ ("harfbuzz" ,harfbuzz) ("luajit" ,luajit) ("libinput" ,libinput-minimal) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libsndfile" ,libsndfile) ("libtiff" ,libtiff) @@ -134,7 +134,7 @@ ("lz4" ,lz4) ("openssl" ,openssl) ("pulseaudio" ,pulseaudio) - ("util-linux" ,util-linux) + ("util-linux" ,util-linux "lib") ("wayland" ,wayland) ("zlib" ,zlib))) (arguments diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index 3e7314bc2b..a86ae0efde 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -94,7 +94,7 @@ ("libscrypt" ,libscrypt) ("libsodium" ,libsodium) ("liburcu" ,liburcu) - ("util-linux" ,util-linux) ; lib{blkid,uuid} + ("util-linux" ,util-linux "lib") ; lib{blkid,uuid} ("lz4" ,lz4) ("zlib" ,zlib) ("zstd:lib" ,zstd "lib"))) @@ -186,7 +186,7 @@ single file can be mounted.") "jfsutils-include-systypes.patch")))) (build-system gnu-build-system) (inputs - `(("util-linux" ,util-linux))) + `(("util-linux" ,util-linux "lib"))) (home-page "http://jfs.sourceforge.net/home.html") (synopsis "Utilities for managing JFS file systems") (description @@ -330,7 +330,7 @@ non-determinism in the build process.") ("fuse", fuse) ("openssl" ,openssl) ("liburcu" ,liburcu) - ("libuuid" ,util-linux) + ("libuuid" ,util-linux "lib") ("libxml2" ,libxml2) ("readline" ,readline) ("zlib" ,zlib) @@ -562,7 +562,7 @@ APFS.") ("openssl" ,openssl) ("python" ,python) ("python-cffi" ,python-cffi) - ("util-linux" ,util-linux) + ("util-linux" ,util-linux "lib") ("zlib" ,zlib))) (home-page "https://zfsonlinux.org/") (synopsis "Native ZFS on Linux") diff --git a/gnu/packages/file.scm b/gnu/packages/file.scm index 9ba51d1b74..bac951f9c5 100644 --- a/gnu/packages/file.scm +++ b/gnu/packages/file.scm @@ -30,15 +30,14 @@ (define-public file (package (name "file") - (version "5.33") + (version "5.38") (source (origin (method url-fetch) (uri (string-append "ftp://ftp.astron.com/pub/file/file-" version ".tar.gz")) - (patches (search-patches "file-CVE-2018-10360.patch")) (sha256 (base32 - "1iipnwjkag7q04zjkaqic41r9nlw0ml6mhqian6qkkbisb1whlhw")))) + "0d7s376b4xqymnrsjxi3nsv3f5v89pzfspzml2pcajdk5by2yg2r")))) (build-system gnu-build-system) ;; When cross-compiling, this package depends upon a native install of diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index d5828deca2..bec582d982 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org> +;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -59,7 +60,7 @@ '(#:phases (modify-phases %standard-phases (add-before 'configure 'pre-configure - (lambda* (#:key inputs #:allow-other-keys) + (lambda* (#:key inputs native-inputs #:allow-other-keys) (chdir "target_firmware") ;; 'configure' is a simple script that runs 'cmake' with @@ -67,7 +68,7 @@ (substitute* "configure" (("^TOOLCHAIN=.*$") (string-append "TOOLCHAIN=" - (assoc-ref inputs "cross-gcc") + (assoc-ref (or native-inputs inputs) "cross-gcc") "\n"))) #t)) (replace 'install @@ -315,7 +316,7 @@ coreboot.") ("gcc" ,gcc-5) ("nasm" ,nasm) ("python-2" ,python-2) - ("util-linux" ,util-linux))) + ("util-linux" ,util-linux "lib"))) (arguments `(#:tests? #f ; No check target. #:phases diff --git a/gnu/packages/fltk.scm b/gnu/packages/fltk.scm index 40d5e7e513..204d2f8483 100644 --- a/gnu/packages/fltk.scm +++ b/gnu/packages/fltk.scm @@ -56,7 +56,7 @@ (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("libjpeg" ,libjpeg) + `(("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libx11" ,libx11) ("libxft" ,libxft) @@ -129,7 +129,7 @@ UI builder called FLUID that can be used to create applications in minutes.") (assoc-ref outputs "out") "/lib")) #t))))) (inputs - `(("libjpeg" ,libjpeg) + `(("libjpeg" ,libjpeg-turbo) ("glu" ,glu) ("waf" ,python-waf))) ;; ntk.pc lists "x11" and "xft" in Requires.private, and "cairo" in diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index aba6f07537..1e5ebea868 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018, 2019 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -308,7 +308,7 @@ fonts to/from the WOFF2 format.") ;; In Requires or Requires.private of fontconfig.pc. (propagated-inputs `(("expat" ,expat) ("freetype" ,freetype) - ("libuuid" ,util-linux))) + ("libuuid" ,util-linux "lib"))) (inputs `(("gs-fonts" ,gs-fonts))) (native-inputs `(("gperf" ,gperf) @@ -403,6 +403,8 @@ X11-system or any other graphical user interface.") (sha256 (base32 "0gbxyip4wdibirdg2pvzayzyy927vxyd6dfyfiflx8zg88qzn8v8")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (inputs `(("zlib" ,zlib) ("expat" ,expat))) @@ -525,16 +527,18 @@ using the above tables.") (define-public libspiro (package (name "libspiro") - (version "0.5.20150702") + (version "20190731") (source (origin (method url-fetch) (uri (string-append "https://github.com/fontforge/libspiro/releases" - "/download/" version "/libspiro-dist-" version ".tar.gz")) + "/download/" version "/libspiro-" version ".tar.gz")) (sha256 (base32 - "153ckwj6h3wwlsgcppzqj8cymv1927hi8ar8fzpchq5q89cj2kai")))) + "0m63x97b7aciviijprvy85gm03p2jsgslxn323zl9zn7qz6d3ir4")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (synopsis "Clothoid to bezier conversion library") (description "Raph Levien's Spiro package as a library. A mechanism for drawing @@ -581,7 +585,13 @@ definitions.") (base32 "0lh8yx01asbzxm6car5cfi64njh5p4lxc7iv8dldr5rwg357a86r")))) (build-system gnu-build-system) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + + ;; TODO: Remove these inputs and the 'fix-linking-with-python-3.8' phase + ;; below when updating fontforge. + ("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) (inputs `(("cairo" ,cairo) ("fontconfig" ,fontconfig) ;dlopen'd ("freetype" ,freetype) @@ -590,7 +600,7 @@ definitions.") ("libSM" ,libsm) ("libX11" ,libx11) ("libXi" ,libxi) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libltdl" ,libltdl) ("libpng" ,libpng) ("libspiro" ,libspiro) @@ -606,6 +616,17 @@ definitions.") (arguments '(#:phases (modify-phases %standard-phases + (add-before 'bootstrap 'fix-linking-with-python-3.8 + (lambda _ + ;; Applications that embed the Python interpreter are supposed to + ;; use the new "python-3.8-embed.pc" pkg-config file starting with + ;; Python 3.8. Adjust the build system accordingly. + (substitute* "m4/fontforge_arg_enable.m4" + (("python-\"\\$\\{PYTHON_VERSION\\}\"" all) + (string-append all "-embed"))) + ;; Delete the configure script in order to force autoreconf. + (delete-file "configure") + #t)) (add-after 'install 'set-library-path (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) @@ -762,7 +783,7 @@ maintain the Noto Fonts project.") ("desktop-file-utils" ,desktop-file-utils))) (inputs `(("json-glib" ,json-glib) - ("sqlite-with-column-metadata" ,sqlite-with-column-metadata) + ("sqlite" ,sqlite) ("fonconfig" ,fontconfig) ("freetype" ,freetype) ("gtk+" ,gtk+))) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 01466b8ec5..07ec16e287 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -180,14 +180,14 @@ freedesktop.org project.") (define-public libinput (package (name "libinput") - (version "1.14.3") + (version "1.15.0") (source (origin (method url-fetch) (uri (string-append "https://freedesktop.org/software/libinput/" "libinput-" version ".tar.xz")) (sha256 (base32 - "1dy58j8dvr7ri34bx0lppmh5638m956azgwk501w373hi42kmsqg")))) + "1qa3b2fd4pv8ysf0mgwnyhqv9v48zgy3sy0q3a3vxcmwcvpizgxz")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Ddocumentation=false") @@ -476,7 +476,7 @@ of a the system to know what users are logged in, and where.") (find-files ".." "^(kbd-model-map|language-fallback-map)$")) #t))))))) (native-inputs (package-native-inputs elogind)) - (inputs `(("libmount" ,util-linux) + (inputs `(("libmount" ,util-linux "lib") ("xkeyboard-config" ,xkeyboard-config) ("kbd" ,kbd) ,@(package-inputs elogind))) @@ -687,7 +687,7 @@ applications, X servers (rootless or fullscreen) or other display servers.") ("lcms" ,lcms) ("libevdev" ,libevdev) ("libinput" ,libinput-minimal) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libunwind" ,libunwind) ("libva" ,libva) ("libwebp" ,libwebp) diff --git a/gnu/packages/fribidi.scm b/gnu/packages/fribidi.scm index 61aa6fd726..8fa0e6d980 100644 --- a/gnu/packages/fribidi.scm +++ b/gnu/packages/fribidi.scm @@ -27,9 +27,8 @@ (define-public fribidi (package - (replacement fribidi/fixed) (name "fribidi") - (version "1.0.5") + (version "1.0.8") (source (origin (method url-fetch) @@ -38,7 +37,7 @@ "/download/v" version "/fribidi-" version ".tar.bz2")) (sha256 - (base32 "1kp4b1hpx2ky20ixgy2xhj5iygfl7ps5k9kglh1z5i7mhykg4r3a")))) + (base32 "0v0ybhck9vz4yayihydknmikslh3xfxygzywnh9rcamdhs6vdiwl")))) (build-system gnu-build-system) (synopsis "Implementation of the Unicode bidirectional algorithm") (description @@ -47,10 +46,3 @@ Algorithm. This algorithm is used to properly display text in left-to-right or right-to-left ordering as necessary.") (home-page "https://github.com/fribidi/fribidi") (license lgpl2.1+))) - -(define fribidi/fixed - (package - (inherit fribidi) - (source - (origin (inherit (package-source fribidi)) - (patches (search-patches "fribidi-CVE-2019-18397.patch")))))) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 6fa4fed74f..f7e0bcfd92 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -530,7 +530,7 @@ clone.") ("xcb-util-image" ,xcb-util-image) ("libxrandr" ,libxrandr) ("eudev" ,eudev) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libsndfile" ,libsndfile) ("stb-image" ,stb-image) ("stb-image-write" ,stb-image-write))) @@ -749,7 +749,7 @@ etc.") ("freetype" ,freetype) ("glu" ,glu) ("gtk" ,gtk+-2) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtheora" ,libtheora) ("libvorbis" ,libvorbis) @@ -831,7 +831,7 @@ etc.") ("curl" ,curl) ("freetype" ,freetype) ("giflib" ,giflib) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libwebp" ,libwebp) ("libx11" ,libx11) @@ -983,7 +983,7 @@ interface (API).") ("sdl-mixer" ,sdl-mixer) ("sdl-ttf" ,sdl-ttf) ("sdl-gfx" ,sdl-gfx) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libX11" ,libx11) ("libsmpeg" ,libsmpeg) @@ -1696,7 +1696,7 @@ scripted in a Python-like language.") ("libxft" ,libxft) ("libxinerama" ,libxinerama) ("libfontconfig" ,fontconfig) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("fltk" ,fltk) ("zlib" ,zlib))) @@ -1868,7 +1868,7 @@ of the others") (build-system gnu-build-system) (inputs `(("sdl2" ,sdl2) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("openal" ,openal) ("curl" ,curl) ("opusfile" ,opusfile) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index c05503cabb..b89df02b19 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -235,7 +235,7 @@ `(("expat" ,expat) ("freeglut" ,freeglut) ("glu" ,glu) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libogg" ,libogg) ("libtiff" ,libtiff) ("libvorbis" ,libvorbis) @@ -683,7 +683,7 @@ effects and music to make a completely free game.") `(("pkg-config" ,pkg-config))) (inputs `(("glu" ,glu) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libogg" ,libogg) ("libpng" ,libpng) ("libvorbis" ,libvorbis) @@ -1925,7 +1925,7 @@ are primarily in English, however some in other languages are provided.") #:make-flags '("CC=gcc" "sharedlib"))) (inputs `(("bzip2" ,bzip2) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libx11" ,libx11) ("libxxf86vm" ,libxxf86vm) @@ -2072,7 +2072,7 @@ match, cannon keep, and grave-itation pit.") ("gmp" ,gmp) ("irrlicht" ,irrlicht) ("jsoncpp" ,jsoncpp) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libogg" ,libogg) ("libvorbis" ,libvorbis) @@ -2314,7 +2314,7 @@ games using Python as well as C++.") `(("pkg-config" ,pkg-config))) (inputs `(("freetype" ,freetype) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libsndfile" ,libsndfile) ("libxml2" ,libxml2) @@ -2443,7 +2443,7 @@ This game is based on the GPL version of the famous game TuxRacer.") ("curl" ,curl) ;; The following input is needed to build the bundled and modified ;; version of irrlicht. - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("openssl" ,openssl) ("enet" ,enet))) (native-inputs @@ -5308,19 +5308,13 @@ Crowther & Woods, its original authors, in 1995. It has been known as (copy-recursively "game" (string-append data "/game")) ;; launcher (mkdir-p applications) - (with-output-to-file (string-append applications "/" - ,name ".desktop") - (lambda () - (display - (string-append - "[Desktop Entry] -Name=ToME4 -Comment=" ,synopsis "\n" -"Exec=" ,name "\n" -"Icon=" icon "\n" -"Terminal=false -Type=Application -Categories=Game;RolePlaying;\n"))))) + (make-desktop-entry-file + (string-append applications "/" ,name ".desktop") + #:name "ToME4" + #:comment ,synopsis + #:exec ,name + #:icon icon + #:categories '("Game" "RolePlaying"))) #t))))) (home-page "https://te4.org") (description "Tales of Maj’Eyal (ToME) RPG, featuring tactical turn-based @@ -5780,7 +5774,7 @@ You can save humanity and get programming skills!") ("fluidsynth" ,fluidsynth) ("gtk+3" ,gtk+) ("libgme" ,libgme) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libsndfile" ,libsndfile) ("mesa" ,mesa) ("mpg123" ,mpg123) @@ -6237,7 +6231,7 @@ quotation from a collection of quotes.") `(("xonotic-data" ,xonotic-data) ("alsa-lib" ,alsa-lib) ("curl" ,curl) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libmodplug" ,libmodplug) ("libvorbis" ,libvorbis) ("libogg" ,libogg) @@ -7675,22 +7669,18 @@ on items and player adaptability for character progression.") ;; game, so we borrow SCUMMVM's. (let ((apps (string-append out "/share/applications"))) (mkdir-p apps) - (with-output-to-file (string-append apps "/drascula.desktop") - (lambda _ - (format #t - "[Desktop Entry]~@ - Name=Drascula: The Vampire Strikes Back~@ - GenericName=Drascula~@ - Exec=~a/bin/drascula~@ - Icon=~a/share/icons/hicolor/scalable/apps/scummvm.svg~@ - Categories=AdventureGame;Game;RolePlaying;~@ - Keywords=game;adventure;roleplaying;2D,fantasy;~@ - Comment=Classic 2D point and click adventure game~@ - Comment[de]=klassisches 2D-Abenteuerspiel in Zeigen-und-Klicken-Manier~@ - Comment[fr]=Jeux classique d'aventure pointer-et-cliquer en 2D~@ - Comment[it]=Gioco classico di avventura punta e clicca 2D~@ - Type=Application~%" - out scummvm)))) + (make-desktop-entry-file + (string-append apps "/drascula.desktop") + #:name "Drascula: The Vampire Strikes Back" + #:generic-name "Drascula" + #:exec (string-append out "/bin/drascula") + #:icon (string-append scummvm "/share/icons/hicolor/scalable/apps/scummvm.svg") + #:categories '("AdventureGame" "Game" "RolePlaying") + #:keywords '("game" "adventure" "roleplaying" "2D" "fantasy") + #:comment '((#f "Classic 2D point and click adventure game") + ("de" "Klassisches 2D-Abenteuerspiel in Zeigen-und-Klicken-Manier") + ("fr" "Jeu classique d'aventure pointer-et-cliquer en 2D") + ("it" "Gioco classico di avventura punta e clicca 2D")))) #t)))) (native-inputs `(("bash" ,bash) @@ -9646,7 +9636,7 @@ This package is part of the KDE games module.") `(("curl" ,curl) ("font-dejavu" ,font-dejavu) ("glu" ,glu) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libxdg-basedir" ,libxdg-basedir) ("libxml2" ,libxml2) diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 29b9d34569..40cc9ed631 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -491,14 +491,14 @@ Go. It also includes runtime support libraries for these languages.") (define-public gcc-7 (package (inherit gcc-6) - (version "7.4.0") + (version "7.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gcc/gcc-" version "/gcc-" version ".tar.xz")) (sha256 (base32 - "0lgy170b0pp60j9cczqkmaqyjjb584vfamj4c30swd7k0j6y5pgd")) + "0qg6kqc5l72hpnj4vr6l0p69qav0rh4anlkk3y55540zy3klc6dq")) (patches (search-patches "gcc-strmov-store-file-names.patch" "gcc-5.0-libvtv-runpath.patch")))) (description diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm index 5b3f8509f8..e336282546 100644 --- a/gnu/packages/gd.scm +++ b/gnu/packages/gd.scm @@ -63,6 +63,7 @@ ;; As recommended by github.com/libgd/libgd/issues/278 to fix rounding ;; issues on aarch64 and other architectures. `(#:make-flags '("CFLAGS=-ffp-contract=off") + #:configure-flags '("--disable-static") #:phases (modify-phases %standard-phases ;; This test is known to fail on i686-linux: @@ -82,7 +83,7 @@ ("zlib" ,zlib))) (propagated-inputs `(("fontconfig" ,fontconfig) - ("libjpeg" ,libjpeg))) + ("libjpeg" ,libjpeg-turbo))) (home-page "http://www.libgd.org/") (synopsis "Library for the dynamic creation of images by programmers") (description @@ -113,7 +114,7 @@ most common applications of GD involve website development.") ("freetype" ,freetype) ("gd" ,gd) ("libpng" ,libpng) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("zlib" ,zlib))) (arguments `(#:make-maker-flags diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index 61b8e55e52..5f9037a89f 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -1410,7 +1410,7 @@ using the dataset of topographical information collected by ("qtwebengine" ,qtwebengine) ("quazip" ,quazip) ("routino" ,routino) - ("sqlite" ,sqlite-with-column-metadata) ; See wrap phase + ("sqlite" ,sqlite) ; See wrap phase ("zlib" ,zlib))) (arguments `(#:tests? #f @@ -1431,23 +1431,15 @@ using the dataset of topographical information collected by (invoke "patch" "-p1" "-i" "FindQuaZip5.patch") #t)) (add-after 'install 'wrap - ;; The program fails to run with the error: - ;; undefined symbol: sqlite3_column_table_name16 - ;; Forcing the program to use sqlite-with-column-metadata instead - ;; of sqlite using LD_LIBRARY_PATH solves the problem. - ;; - ;; The program also fails to find the QtWebEngineProcess program, + ;; The program fails to find the QtWebEngineProcess program, ;; so we set QTWEBENGINEPROCESS_PATH to help it. (lambda* (#:key inputs outputs #:allow-other-keys) (let ((bin (string-append (assoc-ref outputs "out") "/bin")) (qtwebengineprocess (string-append (assoc-ref inputs "qtwebengine") - "/lib/qt5/libexec/QtWebEngineProcess")) - (sqlite-lib (string-append (assoc-ref inputs "sqlite") - "/lib"))) + "/lib/qt5/libexec/QtWebEngineProcess"))) (for-each (lambda (program) (wrap-program program - `("LD_LIBRARY_PATH" ":" prefix (,sqlite-lib)) `("QTWEBENGINEPROCESS_PATH" = (,qtwebengineprocess)))) (find-files bin ".*"))) diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index 3b74a96966..3cd1e4af8d 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -57,7 +58,9 @@ (sha256 (base32 "083xisy6z01zhm7p7rgk4bx9d6zlr8l20qkfv1g29ylnhgwzvij8")))) (build-system gnu-build-system) - (inputs `(("libjpeg" ,libjpeg) + (arguments + `(#:configure-flags '("--disable-static"))) + (inputs `(("libjpeg" ,libjpeg-turbo) ("libtiff" ,libtiff) ("zlib" ,zlib))) (synopsis "Little CMS, a small-footprint colour management engine") @@ -84,6 +87,25 @@ Consortium standard (ICC), approved as ISO 15076-1.") (sha256 (base32 "0zhcx67afb6b5r936w5jmaydj3ks8zh83n9rm5sv3m3k8q8jib1q")))) (build-system gnu-build-system) + (native-inputs + `(("automake" ,automake))) ; For up to date 'config.guess' and 'config.sub'. + (arguments + `(#:configure-flags '("--disable-static") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-configure + (lambda* (#:key inputs native-inputs #:allow-other-keys) + ;; Replace outdated config.sub and config.guess: + (for-each (lambda (file) + (install-file + (string-append (assoc-ref + (or native-inputs inputs) "automake") + "/share/automake-" + ,(version-major+minor + (package-version automake)) + "/" file) ".")) + '("config.sub" "config.guess")) + #t))))) (synopsis "Library for handling paper sizes") (description "The paper library and accompanying files are intended to provide a simple @@ -137,13 +159,7 @@ printing, and psresize, for adjusting page sizes.") (define-public ghostscript (package (name "ghostscript") - (version "9.27") - - ;; The problems addressed by GHOSTSCRIPT/FIXED are not security-related, - ;; but they have a significant impact on usability, hence this graft. - ;; TODO: Ungraft on next update cycle. - (replacement ghostscript/fixed) - + (version "9.50") (source (origin (method url-fetch) @@ -153,8 +169,9 @@ printing, and psresize, for adjusting page sizes.") "/ghostscript-" version ".tar.xz")) (sha256 (base32 - "06dnj0mxyaryfbwlsjwaqf847w91w2h8f108kxxcc41nrnx1y3zw")) - (patches (search-patches "ghostscript-no-header-creationdate.patch" + "1m770dwc82afdgzgq2kar3120r1lbybm3mssdm79f8kggf0v16yv")) + (patches (search-patches "ghostscript-CVE-2019-14869.patch" + "ghostscript-no-header-creationdate.patch" "ghostscript-no-header-id.patch" "ghostscript-no-header-uuid.patch")) (modules '((guix build utils))) @@ -186,6 +203,10 @@ printing, and psresize, for adjusting page sizes.") (string-append "ZLIBDIR=" (assoc-ref %build-inputs "zlib") "/include") "--enable-dynamic" + "--disable-compile-inits" + (string-append "--with-fontpath=" + (assoc-ref %build-inputs "gs-fonts") + "/share/fonts/type1/ghostscript") ,@(if (%current-target-system) '(;; Specify the native compiler, which is used to build 'echogs' @@ -249,6 +270,7 @@ printing, and psresize, for adjusting page sizes.") #t)))))) (native-inputs `(("perl" ,perl) + ("pkg-config" ,pkg-config) ;needed for freetype ("python" ,python-wrapper) ("tcl" ,tcl) @@ -256,12 +278,14 @@ printing, and psresize, for adjusting page sizes.") ;; these libraries. ,@(if (%current-target-system) `(("zlib/native" ,zlib) - ("libjpeg/native" ,libjpeg)) + ("libjpeg/native" ,libjpeg-turbo)) '()))) (inputs - `(("freetype" ,freetype) + `(("fontconfig" ,fontconfig) + ("freetype" ,freetype) + ("gs-fonts" ,gs-fonts) ("jbig2dec" ,jbig2dec) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpaper" ,libpaper) ("libpng" ,libpng) ("libtiff" ,libtiff) @@ -275,25 +299,6 @@ output file formats and printers.") (home-page "https://www.ghostscript.com/") (license license:agpl3+))) -(define ghostscript/fixed - ;; This adds the Freetype dependency (among other things), which fixes the - ;; rendering issues described in <https://issues.guix.gnu.org/issue/34877>. - (package/inherit - ghostscript - (arguments - (substitute-keyword-arguments (package-arguments ghostscript) - ((#:configure-flags flags ''()) - `(append (list "--disable-compile-inits" - (string-append "--with-fontpath=" - (assoc-ref %build-inputs "gs-fonts") - "/share/fonts/type1/ghostscript")) - ,flags)))) - (native-inputs `(("pkg-config" ,pkg-config) ;needed for freetype - ,@(package-native-inputs ghostscript))) - (inputs `(("gs-fonts" ,gs-fonts) - ("fontconfig" ,fontconfig) - ,@(package-inputs ghostscript))))) - (define-public ghostscript/x (package/inherit ghostscript (name (string-append (package-name ghostscript) "-with-x")) diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index 0f2eba373d..af2b06ab27 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -117,7 +117,7 @@ provided, as well as a framework to add new color models and data types.") `(("cairo" ,cairo) ("pango" ,pango) ("libpng" ,libpng) - ("libjpeg" ,libjpeg))) + ("libjpeg" ,libjpeg-turbo))) (native-inputs `(("pkg-config" ,pkg-config) ("glib" ,glib "bin") ; for gtester @@ -175,7 +175,7 @@ buffers.") ("glib-networking" ,glib-networking) ("libtiff" ,libtiff) ("libwebp" ,libwebp) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("atk" ,atk) ("gexiv2" ,gexiv2) ("gtk+" ,gtk+-2) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 077b009688..d0718d5d45 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -96,7 +96,7 @@ as ASCII text.") (define-public freeglut (package (name "freeglut") - (version "3.0.0") + (version "3.2.1") (source (origin (method url-fetch) (uri (string-append @@ -104,16 +104,15 @@ as ASCII text.") version "/freeglut-" version ".tar.gz")) (sha256 (base32 - "18knkyczzwbmyg8hr4zh8a1i5ga01np2jzd1rwmsh7mh2n2vwhra")))) + "0s6sk49q8ijgbsrrryb7dzqx2fa744jhx1wck5cz5jia2010w06l")))) (build-system cmake-build-system) - (arguments '(#:tests? #f)) ; no test target - (inputs `(("mesa" ,mesa) - ("libx11" ,libx11) + (arguments + '(#:tests? #f ;no test target + #:configure-flags '("-DFREEGLUT_BUILD_STATIC_LIBS=OFF"))) + (inputs `(("libx11" ,libx11) ("libxi" ,libxi) ("libxrandr" ,libxrandr) - ("libxxf86vm" ,libxxf86vm) - ("xorgproto" ,xorgproto) - ("xinput" ,xinput))) + ("libxxf86vm" ,libxxf86vm))) (propagated-inputs ;; Headers from Mesa and GLU are needed. `(("glu" ,glu) @@ -147,7 +146,9 @@ the X-Consortium license.") (sha256 (base32 "16lrxxxd9ps9l69y3zsw6iy0drwjsp6m26d1937xj71alqk6dr6x")))) - (build-system gnu-build-system))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))))) (define-public ftgl (package @@ -230,7 +231,7 @@ also known as DXTn or DXTC) for Mesa.") (define-public mesa (package (name "mesa") - (version "19.2.7") + (version "19.3.2") (source (origin (method url-fetch) @@ -242,7 +243,7 @@ also known as DXTn or DXTC) for Mesa.") version "/mesa-" version ".tar.xz"))) (sha256 (base32 - "17jp8ghipgz62vqqz5llskxypkcmgf8gnlgnj0pyvnbgi6vryyg3")) + "1hg1gvcwvayksrdh9z8rfz66h3z1ffspmm2qgyy2nd8n8qrfwfjf")) (patches (search-patches "mesa-skip-disk-cache-test.patch")))) (build-system meson-build-system) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 72d5ea0bdd..e6f1cf819f 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org> -;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -105,6 +105,9 @@ ;; Install the session bus socket under /tmp. "--with-session-socket-dir=/tmp" + ;; Build shared libraries only. + "--disable-static" + ;; Use /etc/dbus-1 for system-wide config. ;; Look for configuration file under ;; /etc/dbus-1. This is notably required by @@ -162,7 +165,7 @@ shared NFS home directories.") (define glib (package (name "glib") - (version "2.60.6") + (version "2.62.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" @@ -170,7 +173,7 @@ shared NFS home directories.") name "-" version ".tar.xz")) (sha256 (base32 - "0v7vpx2md1gn0wwiirn7g4bhf2csfvcr03y96q2zv97ain6sp3zz")) + "1g2vj9lyh032kcwij7avx5d6a99rcsnkd07sbl9i55zsfw6h712c")) (patches (search-patches "glib-tests-timer.patch")) (modules '((guix build utils))) (snippet @@ -185,11 +188,9 @@ shared NFS home directories.") `(("pcre" ,pcre) ; in the Requires.private field of glib-2.0.pc ("libffi" ,libffi) ; in the Requires.private field of gobject-2.0.pc ;; These are in the Requires.private field of gio-2.0.pc - ("util-linux" ,util-linux) ; for libmount + ("util-linux" ,util-linux "lib") ;for libmount ("libselinux" ,libselinux) ("zlib" ,zlib))) - (inputs - `(("coreutils" ,coreutils))) (native-inputs `(("gettext" ,gettext-minimal) ("m4" ,m4) ; for installing m4 macros @@ -199,11 +200,26 @@ shared NFS home directories.") ("perl" ,perl) ; needed by GIO tests ("tzdata" ,tzdata-for-tests))) ; for tests/gdatetime.c (arguments - `(;; TODO: Uncomment on the next rebuild cycle. - ;; #:disallowed-references (,tzdata-for-tests) - + `(#:disallowed-references (,tzdata-for-tests) #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-dbus-launch-path + (lambda* (#:key inputs #:allow-other-keys) + (let ((dbus (assoc-ref inputs "dbus"))) + (substitute* "gio/gdbusaddress.c" + (("command_line = g_strdup_printf \\(\"dbus-launch") + (string-append "command_line = g_strdup_printf (\"" + dbus "/bin/dbus-launch"))) + #t))) + (add-after 'unpack 'patch-gio-launch-desktop + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; See also <https://gitlab.gnome.org/GNOME/glib/issues/1633> + ;; for another future fix. + (substitute* "gio/gdesktopappinfo.c" + (("gio-launch-desktop") + (string-append out "/libexec/gio-launch-desktop"))) + #t))) (add-before 'build 'pre-build (lambda* (#:key inputs outputs #:allow-other-keys) ;; For tests/gdatetime.c. @@ -284,7 +300,7 @@ shared NFS home directories.") (;; Requires /etc/machine-id. "/gdbus/codegen-peer-to-peer")) - ("gio/tests/gdbus-unix-addresses.c" + ("gio/tests/gdbus-address-get-session.c" (;; Requires /etc/machine-id. "/gdbus/x11-autolaunch")) @@ -312,6 +328,13 @@ shared NFS home directories.") (mkdir-p bin) (rename-file (string-append out "/bin") (string-append bin "/bin")) + ;; This one is an implementation detail of glib. + ;; It is wrong that that's in "/bin" in the first place, + ;; but that's what upstream is doing right now. + ;; See <https://gitlab.gnome.org/GNOME/glib/issues/1633>. + (mkdir (string-append out "/libexec")) + (rename-file (string-append bin "/bin/gio-launch-desktop") + (string-append out "/libexec/gio-launch-desktop")) ;; Do not refer to "bindir", which points to "${prefix}/bin". ;; We don't patch "bindir" to point to "$bin/bin", because that ;; would create a reference cycle between the "out" and "bin" @@ -380,14 +403,14 @@ dynamic loading, and an object system.") (define gobject-introspection (package (name "gobject-introspection") - (version "1.60.2") + (version "1.62.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" "gobject-introspection/" (version-major+minor version) "/gobject-introspection-" version ".tar.xz")) (sha256 - (base32 "172ymc1vbg2rclq1rszx4y32vm900nn1mc4qg1a4mqxjiwvf5pzz")) + (base32 "18lhglg9v6y83lhqzyifc1z0wrlawzrhzzxx0a3h1g7xaz97xvmi")) (patches (search-patches "gobject-introspection-cc.patch" "gobject-introspection-girepository.patch" @@ -529,16 +552,6 @@ information in their documents, such as whether a particular element should be translated.") (license license:gpl3+))) -(define-public itstool/fixed - ;; This variant fixes a python-libxml2 crash when processing UTF-8 - ;; sequences: <https://bugs.gnu.org/37468>. Since the issue is quite rare, - ;; create this variant here to avoid a full rebuild. - (package/inherit - itstool - (inputs - `(("python-libxml2" ,python-libxml2/fixed) - ,@(alist-delete "python-libxml2" (package-inputs itstool)))))) - (define dbus-glib (package (name "dbus-glib") @@ -597,7 +610,7 @@ has an ease of use unmatched by other C++ callback libraries.") (define glibmm (package (name "glibmm") - (version "2.60.0") + (version "2.62.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/glibmm/" @@ -605,7 +618,7 @@ has an ease of use unmatched by other C++ callback libraries.") "/glibmm-" version ".tar.xz")) (sha256 (base32 - "1g7jxqd270dv2d83r7pf5893mwpz7d5xib0q01na2yalh34v38d3")))) + "1ziwx6r7k7wbvg4qq1rgrv8zninapgrmhn1hs6926a3krh9ryr9n")))) (build-system gnu-build-system) (arguments `(#:phases @@ -679,7 +692,7 @@ useful for C++.") (define-public python-pygobject (package (name "python-pygobject") - (version "3.28.3") + (version "3.34.0") (source (origin (method url-fetch) @@ -688,24 +701,20 @@ useful for C++.") "/pygobject-" version ".tar.xz")) (sha256 (base32 - "1c6h3brzlyvzbpdsammnd957azmp6cbzqrd65r400vnh2l8f5lrx")))) - (build-system gnu-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'delete-broken-tests - (lambda _ - ;; FIXME: this test freezes and times out. - (delete-file "tests/test_mainloop.py") - ;; FIXME: this test fails with this kind of error: - ;; AssertionError: <Handlers.SIG_IGN: 1> != <built-in function default_int_handler - (delete-file "tests/test_ossig.py") + "06i7ynnbvgpz0gw09zsjbvhgcp5qz4yzdifw27qjwdazg2mckql7")) + (modules '((guix build utils))) + (snippet + '(begin + ;; We disable these tests in a snippet so that they are inherited + ;; by the Python 2 variant which is built differently. + (with-directory-excursion "tests" + ;; FIXME: These tests require Gdk and/or Gtk 4. + (for-each delete-file + '("test_atoms.py" "test_overrides_gtk.py")) #t))))) + (build-system meson-build-system) (native-inputs - `(("which" ,which) - ;for tests: dbus-run-session and glib-compile-schemas - ("dbus" ,dbus) - ("glib-bin" ,glib "bin") + `(("glib-bin" ,glib "bin") ("pkg-config" ,pkg-config) ("python-pytest" ,python-pytest))) (inputs @@ -728,45 +737,31 @@ useful for C++.") (define-public python2-pygobject (package (inherit (strip-python2-variant python-pygobject)) (name "python2-pygobject") + + ;; Note: We use python-build-system here, because Meson only supports + ;; Python 3, and needs PYTHONPATH etc set up correctly, which makes it + ;; difficult to use for Python 2 projects. + (build-system python-build-system) + (arguments + `(#:python ,python-2 + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'delete-broken-tests + (lambda _ + ;; FIXME: this test freezes and times out. + (delete-file "tests/test_mainloop.py") + ;; FIXME: this test fails with this kind of error: + ;; AssertionError: <Handlers.SIG_IGN: 1> != <built-in function default_int_handler + (delete-file "tests/test_ossig.py") + #t))))) (inputs - `(("python" ,python-2) - ("python-pycairo" ,python2-pycairo) + `(("python-pycairo" ,python2-pycairo) ("gobject-introspection" ,gobject-introspection))) (native-inputs - `(("which" ,which) - ;for tests: dbus-run-session and glib-compile-schemas - ("dbus" ,dbus) - ("glib-bin" ,glib "bin") + `(("glib-bin" ,glib "bin") ("pkg-config" ,pkg-config) ("python-pytest" ,python2-pytest))))) -;; Newer version of this core-updates package, for Lollypop. -(define-public python-pygobject-3.34 - (package/inherit - python-pygobject - (version "3.34.0") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/pygobject/" - (version-major+minor version) - "/pygobject-" version ".tar.xz")) - (sha256 - (base32 "06i7ynnbvgpz0gw09zsjbvhgcp5qz4yzdifw27qjwdazg2mckql7")))) - (build-system meson-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'delete-broken-tests - (lambda _ - (with-directory-excursion "tests" - (for-each - delete-file - ;; FIXME: these tests require Gdk and/or Gtk 4. - '("test_atoms.py" - "test_overrides_gtk.py"))) - #t))))))) - (define-public perl-glib (package (name "perl-glib") @@ -916,7 +911,7 @@ programming language. It also contains the utility (propagated-inputs `(("gcab" ,gcab) ; for .pc file ("gdk-pixbuf" ,gdk-pixbuf) ; for .pc file - ("util-linux" ,util-linux))) ; for .pc file + ("libuuid" ,util-linux "lib"))) ; for .pc file (inputs `(("glib" ,glib) ("gperf" ,gperf) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index e19caf67f7..8094dae477 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1316,7 +1316,7 @@ the font would look under various sizes.") (define-public gcr (package (name "gcr") - (version "3.28.1") + (version "3.34.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -1324,20 +1324,7 @@ the font would look under various sizes.") name "-" version ".tar.xz")) (sha256 (base32 - "12qn7mcmxb45lz1gq3s3b34rimiyrrshkrpvxdw1fc0w26i4l84m")) - (patches - (list - ;; This patch solves an ordering issue that showed up when - ;; running the test suite against newer Glib 2.60. See - ;; <https://gitlab.gnome.org/GNOME/gcr/merge_requests/9>. - (origin - (method url-fetch) - (uri (string-append "https://gitlab.gnome.org/GNOME/gcr/commit/" - "45d637578d7643ff96c0183ac267497a0b4c6344.diff")) - (file-name "gcr-hashtable-ordering.patch") - (sha256 - (base32 - "1vsqiys8fsm1f1vvds783wwf7zwi5v282rhsai8jrsm6x7h79gbi"))))))) + "0925snsixzkwh49xiayqmj6fcrmklqk8kyy0jkv7m64h9abm1pr9")))) (build-system gnu-build-system) (arguments '(#:phases @@ -1346,9 +1333,9 @@ the font would look under various sizes.") ;; build environment. (add-after 'unpack 'disable-failing-tests (lambda _ - (substitute* "gcr/test-system-prompt.c" - (("g_test_add") "//") - (("return.*") "return 0;")) + (substitute* "Makefile.in" + (("[[:blank:]]+test-system-prompt\\$\\(EXEEXT\\)") + "")) #t)) (add-before 'check 'pre-check (lambda _ @@ -1360,11 +1347,11 @@ the font would look under various sizes.") ("gnupg" ,gnupg) ;called as a child process during tests ("libgcrypt" ,libgcrypt))) (native-inputs - `(("python" ,python-2) ;for tests + `(("python" ,python-wrapper) ;for tests ("pkg-config" ,pkg-config) + ("gettext" ,gettext-minimal) ("glib" ,glib "bin") ("gobject-introspection" ,gobject-introspection) - ("intltool" ,intltool) ("libxml2" ,libxml2) ("vala" ,vala) ("xsltproc" ,libxslt))) @@ -1709,14 +1696,16 @@ guidelines.") (define-public shared-mime-info (package (name "shared-mime-info") - (version "1.10") + (version "1.15") (source (origin (method url-fetch) - (uri (string-append "https://freedesktop.org/~hadess/" - "shared-mime-info-" version ".tar.xz")) + (uri (string-append + "https://gitlab.freedesktop.org/xdg/shared-mime-info/uploads/" + "b27eb88e4155d8fccb8bb3cd12025d5b/shared-mime-info-" version + ".tar.xz")) (sha256 (base32 - "1gxyvwym3xgpmp262gfn8jg5sla6k5hy6m6dmy6grgiq90xsh9f6")))) + "146vynj78wcwdq0ms52jzm1r4m6dzi1rhyh3h4xyb6bw8ckv10pl")))) (build-system gnu-build-system) (arguments ;; The build system appears not to be parallel-safe. @@ -1725,7 +1714,8 @@ guidelines.") `(("glib" ,glib) ("libxml2" ,libxml2))) (native-inputs - `(("intltool" ,intltool) + `(("gettext" ,gettext-minimal) + ("itstool" ,itstool) ("pkg-config" ,pkg-config))) (home-page "https://www.freedesktop.org/wiki/Software/shared-mime-info") (synopsis "Database of common MIME types") @@ -2121,7 +2111,9 @@ dealing with different structured file formats.") ("glib" ,glib "bin") ; glib-mkenums, etc. ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc. (inputs - `(("pango" ,pango) + `(;; XXX: 1.44 causes some test failures, so we stick with 1.42 for + ;; this ancient version of librsvg. + ("pango" ,pango-1.42) ("libcroco" ,libcroco) ("bzip2" ,bzip2) ("libgsf" ,libgsf) @@ -2466,7 +2458,9 @@ functionality was designed to be as reusable and portable as possible.") "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam")))) (build-system gnu-build-system) (arguments - `(#:configure-flags + `(;; The "timeout-server" test hangs when run in parallel. + #:parallel-tests? #f + #:configure-flags '(;; We don't need static libraries, plus they don't build reproducibly ;; (non-deterministic ordering of .o files in the archive.) "--disable-static" @@ -2799,7 +2793,7 @@ creating interactive structured graphics.") ("libgnome" ,libgnome) ("libgnomecanvas" ,libgnomecanvas) ("libgnome-keyring" ,libgnome-keyring))) - (inputs `(("libjpeg" ,libjpeg) + (inputs `(("libjpeg" ,libjpeg-turbo) ("popt" ,popt) ("libbonobo" ,libbonobo) ("libxml2" ,libxml2) @@ -3111,7 +3105,7 @@ Hints specification (EWMH).") `(("bison" ,bison) ("docbook-xml" ,docbook-xml) ("intltool" ,intltool) - ("itstool" ,itstool/fixed) ;see <https://bugs.gnu.org/37468> + ("itstool" ,itstool) ("glib:bin" ,glib "bin") ("pkg-config" ,pkg-config))) (home-page "http://www.gnumeric.org") @@ -3216,7 +3210,7 @@ passwords in the GNOME keyring.") (define-public vala (package (name "vala") - (version "0.44.5") + (version "0.46.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -3224,7 +3218,7 @@ passwords in the GNOME keyring.") name "-" version ".tar.xz")) (sha256 (base32 - "0zy2kfcvhikczfzhk5l7pkw6mvn3d6vw8cv7g08iah85p22q33xv")))) + "07fv895sp9wq74b20qig7hic0r4ynrr5pfaqba02r44xb794fy0s")))) (build-system gnu-build-system) (arguments '(#:phases @@ -3428,6 +3422,7 @@ and RDP protocols.") "mirror://gnome/sources/" name "/" (version-major+minor version) "/" name "-" version ".tar.xz")) + (patches (search-patches "dconf-meson-0.52.patch")) (sha256 (base32 "1azz4hb9z76yxn34yrrsiib3iqz5z4vpwn5q7cncp55w365ygg38")))) @@ -3981,7 +3976,7 @@ more fun.") ("vte" ,vte) ("gnutls" ,gnutls) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) - ("util-linux" ,util-linux) + ("util-linux" ,util-linux "lib") ("vala" ,vala))) (home-page "https://wiki.gnome.org/Apps/Terminal") (synopsis "Terminal emulator") @@ -5145,7 +5140,7 @@ supports playlists, song ratings, and any codecs installed through gstreamer.") ("lcms" ,lcms) ("libexif" ,libexif) ("libpeas" ,libpeas) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("librsvg" ,librsvg) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("gtk+" ,gtk+))) @@ -5569,7 +5564,7 @@ of running programs and invoke methods on those interfaces.") (define-public yelp-xsl (package (name "yelp-xsl") - (version "3.32.1") + (version "3.34.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -5577,10 +5572,10 @@ of running programs and invoke methods on those interfaces.") name "-" version ".tar.xz")) (sha256 (base32 - "013z2ixx9kfrs6hq79qpil093xfbc12y1p0mvsh6lpala30iphya")))) + "1bdpgkzawhqmw52l6zx8czzg1ndfgcf1p44m2bxjdpqkc4afcgqc")))) (build-system gnu-build-system) (native-inputs - `(("intltool" ,intltool) + `(("gettext-minimal" ,gettext-minimal) ("itstool" ,itstool) ("xmllint" ,libxml2))) (home-page "https://wiki.gnome.org/Apps/Yelp") @@ -5627,7 +5622,7 @@ freedesktop.org help system specification.") (define-public yelp-tools (package (name "yelp-tools") - (version "3.28.0") + (version "3.32.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -5635,7 +5630,7 @@ freedesktop.org help system specification.") name "-" version ".tar.xz")) (sha256 (base32 - "1b61dmlb1sd50fgq6zgnkcpx2s1py33q0x9cx67fzpsr4gmgxnw2")))) + "1yg8f5g5wadhmy4yfd9yjhvd8vll4gq4l86ibp0b42qbxnsmcf0q")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -5655,17 +5650,6 @@ lifting is done by packages like yelp-xsl and itstool. This package just wraps things up in a developer-friendly way.") (license license:gpl2+))) -(define-public yelp-tools/fixed - ;; This variant fixes a python-libxml2 crash when processing UTF-8 - ;; sequences: <https://bugs.gnu.org/37468>. TODO: Remove this in - ;; the next rebuild cycle. - (hidden-package - (package/inherit - yelp-tools - (propagated-inputs - `(("itstool" ,itstool/fixed) - ,@(alist-delete "itstool" (package-propagated-inputs yelp-tools))))))) - (define-public libgee (package (name "libgee") @@ -6256,7 +6240,8 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.") (uri (string-append "mirror://gnome/sources/" name "/" (version-major+minor version) "/" name "-" version ".tar.xz")) - (patches (search-patches "evolution-data-server-locales.patch")) + (patches (search-patches "evolution-data-server-locales.patch" + "evolution-data-server-libical-compat.patch")) (sha256 (base32 "0zsc9xwy6ixk3x0dx69ax5isrdw8qxjdxg2i5fr95s40nss7rxl3")))) @@ -6496,6 +6481,10 @@ users.") (lambda _ ;; For the missing /etc/machine-id. (setenv "DBUS_FATAL_WARNINGS" "0") + + ;; XXX: Regenerate some of the tests that are dependent on Python version. + ;; Try removing this variable for newer versions of NetworkManager. + (setenv "NM_TEST_REGENERATE" "1") #t)) (replace 'install (lambda _ @@ -7464,7 +7453,7 @@ easy, safe, and automatic.") ("openjpeg" ,openjpeg-1) ("libseccomp" ,libseccomp) ("libsoup" ,libsoup) - ("libuuid" ,util-linux) + ("libuuid" ,util-linux "lib") ("network-manager" ,network-manager))) (synopsis "Metadata database, indexer and search tool") (home-page "https://wiki.gnome.org/Projects/Tracker") @@ -7524,7 +7513,7 @@ shared object databases, search tools and indexing.") ("libgsf" ,libgsf) ("libgxps" ,libgxps) ("libiptcdata" ,libiptcdata) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libosinfo" ,libosinfo) ("libpng" ,libpng) ("libseccomp" ,libseccomp) @@ -8556,7 +8545,7 @@ handling the startup notification side.") (define-public gnome-calculator (package (name "gnome-calculator") - (version "3.32.2") + (version "3.34.1") (source (origin (method url-fetch) @@ -8565,19 +8554,20 @@ handling the startup notification side.") name "-" version ".tar.xz")) (sha256 (base32 - "0fgpn3sc226s9fpzhik5rkkrf669037gc659ga2kn9jsyckj6p41")))) + "0lbh87255zzggqzai6543qg920y52bl4vs5m5h5087ghzg14hlsd")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t)) (native-inputs - `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0. + `(("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0. ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache - ("intltool" ,intltool) ("itstool" ,itstool) ("vala" ,vala) ("pkg-config" ,pkg-config))) (inputs `(("glib" ,glib) ("gtksourceview" ,gtksourceview) + ("libgee" ,libgee) ("libsoup" ,libsoup) ("libxml2" ,libxml2) ("mpc" ,mpc) @@ -9021,7 +9011,7 @@ views can be printed as PDF or PostScript files, or exported to HTML.") ("python-gst" ,python-gst) ("python-pil" ,python-pillow) ("python-pycairo" ,python-pycairo) - ("python-pygobject" ,python-pygobject-3.34) + ("python-pygobject" ,python-pygobject) ("python-pylast" ,python-pylast) ("totem-pl-parser" ,totem-pl-parser) ("webkitgtk" ,webkitgtk))) @@ -9463,7 +9453,7 @@ functionality.") ("clutter" ,clutter) ("clutter-gst" ,clutter-gst) ("clutter-gtk" ,clutter-gtk) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libtiff" ,libtiff) ("libraw" ,libraw))) (home-page "https://wiki.gnome.org/Apps/Gthumb") diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index 392b140503..c36210b4d5 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -101,7 +101,7 @@ ("gtk+" ,gtk+) ("libarchive" ,libarchive) ("libgsf" ,libgsf) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libltdl" ,libltdl) ("libmpeg2" ,libmpeg2) ("libmp4v2" ,libmp4v2) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index b31280e39b..4e8869a658 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> +;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -97,6 +98,31 @@ (("namespace=errnos") "pkg_namespace=errnos")) #t)))) (build-system gnu-build-system) + (arguments + (if (%current-target-system) + `(#:modules ((ice-9 match) + (guix build gnu-build-system) + (guix build utils)) + #:phases + (modify-phases %standard-phases + ;; When cross-compiling, some platform specific properties cannot + ;; be detected. Create a symlink to the appropriate platform + ;; file. See Cross-Compiling section at: + ;; https://github.com/gpg/libgpg-error/blob/master/README + (add-after 'unpack 'cross-symlinks + (lambda* (#:key target inputs #:allow-other-keys) + (let ((triplet + (match (string-take target + (string-index target #\-)) + ("armhf" "arm-unknown-linux-gnueabi") + (x + (string-append x "-unknown-linux-gnu"))))) + (symlink + (string-append "lock-obj-pub." triplet ".h") + "src/syscfg/lock-obj-pub.linux-gnu.h")) + #t)))) + '())) + (native-inputs `(("gettext" ,gettext-minimal))) (home-page "https://gnupg.org") (synopsis "Library of error values for GnuPG components") (description @@ -111,15 +137,14 @@ Daemon and possibly more in the future.") (define-public libgcrypt (package (name "libgcrypt") - (version "1.8.4") - (replacement libgcrypt-1.8.5) + (version "1.8.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-" version ".tar.bz2")) (sha256 (base32 - "09r27ywj9zplq6n9qw3mn7zmvf6y2jdmwx5d1kg8yqkj0qx18f7n")))) + "1hvsazms1bfd769q0ngl0r9g5i4m9mpz9jmvvrdzyzk3rfa2ljiv")))) (build-system gnu-build-system) (propagated-inputs `(("libgpg-error-host" ,libgpg-error))) @@ -145,18 +170,6 @@ generation.") (properties '((ftp-server . "ftp.gnupg.org") (ftp-directory . "/gcrypt/libgcrypt"))))) -(define-public libgcrypt-1.8.5 - (package - (inherit libgcrypt) - (version "1.8.5") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-" - version ".tar.bz2")) - (sha256 - (base32 - "1hvsazms1bfd769q0ngl0r9g5i4m9mpz9jmvvrdzyzk3rfa2ljiv")))))) - (define-public libassuan (package (name "libassuan") @@ -468,11 +481,26 @@ gpgpme starting with version 1.7.") "0n232iyayc46f7hywmjw0jr7pbmmz5h4b04jskhkzz9gxz0ci99c")) (file-name (string-append name "-" version "-checkout")))) (build-system gnu-build-system) + (arguments + ;; When cross-compiling, the bash script libgcrypt-config provided by + ;; libgcrypt must be accessible during configure phase. + `(,@(if (%current-target-system) + '(#:phases + (modify-phases %standard-phases + (add-before 'configure 'add-libgrypt-config + (lambda _ + (setenv "PATH" (string-append + (assoc-ref %build-inputs "libgcrypt") + "/bin:" + (getenv "PATH"))) + #t)))) + '()))) (native-inputs `(("pkg-config" ,pkg-config) ("autoconf" ,autoconf) ("automake" ,automake) - ("texinfo" ,texinfo))) + ("texinfo" ,texinfo) + ("guile" ,guile-2.2))) (inputs `(("guile" ,guile-2.2) ("libgcrypt" ,libgcrypt))) diff --git a/gnu/packages/gnustep.scm b/gnu/packages/gnustep.scm index dd7c67d553..ff2145a25e 100644 --- a/gnu/packages/gnustep.scm +++ b/gnu/packages/gnustep.scm @@ -139,7 +139,7 @@ to easily create cross-compiled binaries.") ("libx11" ,libx11) ("libxinerama" ,libxinerama) ("fontconfig" ,fontconfig) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("giflib" ,giflib) ("libpng" ,libpng) ("libtiff" ,libtiff))) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 217ccb4ece..8091afaf0a 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -153,7 +153,7 @@ ("opensubdiv" ,opensubdiv) ("ilmbase" ,ilmbase) ("openjpeg" ,openjpeg) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) ("ffmpeg" ,ffmpeg) @@ -241,7 +241,7 @@ application can be customized via its API for Python scripting.") ("openexr" ,openexr) ("ilmbase" ,ilmbase) ("openjpeg" ,openjpeg-1) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) ("ffmpeg" ,ffmpeg) @@ -495,7 +495,7 @@ storage of the \"EXR\" file format for storing 16-bit floating-point images.") (inputs `(("boost" ,boost) ("libpng" ,libpng) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libtiff" ,libtiff) ("giflib" ,giflib) ("openexr" ,openexr) @@ -558,7 +558,7 @@ visual effects work for film.") ("unzip" ,unzip))) (inputs `(("giflib" ,giflib) - ("libjpeg" ,libjpeg) ; Required for the JPEG texture plugin. + ("libjpeg" ,libjpeg-turbo) ; Required for the JPEG texture plugin. ("jasper" ,jasper) ("librsvg" ,librsvg) ("libxrandr" ,libxrandr) @@ -597,7 +597,7 @@ virtual reality, scientific visualization and modeling.") "-DCMAKE_CXX_FLAGS=-fpermissive" ,flags)))) (inputs - `(("libjpeg" ,libjpeg) + `(("libjpeg" ,libjpeg-turbo) ,@(package-inputs openscenegraph))))) @@ -662,7 +662,7 @@ virtual reality, scientific visualization and modeling.") ("pkg-config" ,pkg-config))) (inputs `(("boost" ,boost) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) ("openexr" ,openexr) @@ -1014,7 +1014,7 @@ your terminal.") `(("imagemagick" ,imagemagick) ("lcms" ,lcms) ("fbida" ,fbida) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("zip" ,zip) ("perl" ,perl) ("perl-cpanel-json-xs" ,perl-cpanel-json-xs) diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm index 365fe1a113..406375b3d6 100644 --- a/gnu/packages/graphviz.scm +++ b/gnu/packages/graphviz.scm @@ -56,15 +56,15 @@ (define-public graphviz (package (name "graphviz") - (version "2.40.1") + (version "2.42.3") (source (origin (method url-fetch) (uri (string-append - "http://www.graphviz.org/pub/graphviz/ARCHIVE/graphviz-" - version ".tar.gz")) + "https://www2.graphviz.org/Packages/stable/portable_source/" + "graphviz-" version ".tar.gz")) (sha256 (base32 - "08d4ygkxz2f553bxj6087da56a23kx1khv0j8ycxa102vvx1hlna")))) + "1pbswjbx3fjdlsxcm7cmlsl5bvaa3d6gcnr0cr8x3c8pag13zbwg")))) (build-system gnu-build-system) (arguments ;; FIXME: rtest/rtest.sh is a ksh script (!). Add ksh as an input. @@ -104,7 +104,7 @@ ("libltdl" ,libltdl) ("libXaw" ,libxaw) ("expat" ,expat) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng))) (native-inputs `(("bison" ,bison) diff --git a/gnu/packages/groff.scm b/gnu/packages/groff.scm index 98f17914bf..5fe353a901 100644 --- a/gnu/packages/groff.scm +++ b/gnu/packages/groff.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019 Eric Bavier <bavier@member.fsf.org> +;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -55,12 +56,28 @@ ;; from 'inputs'. (inputs `(("ghostscript" ,ghostscript))) - (native-inputs `(("bison" ,bison) + + ;; When cross-compiling, this package depends upon a native install of + ;; itself. + (native-inputs `(,@(if (%current-target-system) + `(("self" ,this-package)) + '()) + ("bison" ,bison) ("perl" ,perl) ("psutils" ,psutils) ("texinfo" ,texinfo))) (arguments `(#:parallel-build? #f ; parallel build fails + ,@(if (%current-target-system) + `(#:make-flags + ;; In groff-minimal package, that inherits from this package, + ;; we'll need to locate "groff" instead of "self". + (let ((groff (or (assoc-ref %build-host-inputs "groff") + (assoc-ref %build-host-inputs "self")))) + (list + (string-append "GROFF_BIN_PATH=" groff) + (string-append "GROFFBIN=" groff "/bin/groff")))) + '()) #:phases (modify-phases %standard-phases (add-after 'unpack 'disable-relocatability @@ -115,7 +132,8 @@ is usually the formatter of \"man\" documentation pages.") ;; Omit the DVI, PS, PDF, and HTML backends. (inputs '()) (native-inputs `(("bison" ,bison) - ("perl" ,perl))) + ("perl" ,perl) + ("groff" ,groff))) (arguments `(#:disallowed-references (,perl) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 63b4179bc6..2854945d78 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -116,19 +116,41 @@ arrays of data.") (sha256 (base32 "0kp93622y29pck8asvil1fmzf55s2gx76wv475a6izc3cwj49w73")))) - (build-system gnu-build-system) + (build-system meson-build-system) (outputs '("out" "doc")) (arguments - `(#:configure-flags - (list (string-append "--with-html-dir=" - (assoc-ref %outputs "doc") - "/share/gtk-doc/html")))) + `(#:phases + (modify-phases %standard-phases + ;; FIXME: Since switching to the meson-build-system, two tests + ;; started failing on i686. See + ;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/499>. + ,@(if (string-prefix? "i686" (or (%current-target-system) + (%current-system))) + `((add-after 'unpack 'disable-some-tests + (lambda _ + (substitute* "tests/check/gst/gstsystemclock.c" + (("tcase_add_test \\(tc_chain, test_stress_cleanup_unschedule.*") + "") + (("tcase_add_test \\(tc_chain, test_stress_reschedule.*") + "")) + #t))) + '()) + (add-after 'install 'move-docs + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc"))) + (mkdir-p (string-append doc "/share")) + (copy-recursively (string-append out "/share/gtk-doc") + (string-append doc "/share/gtk-doc")) + (delete-file-recursively (string-append out "/share/gtk-doc")) + #t)))))) (propagated-inputs `(("glib" ,glib))) ; required by gstreamer-1.0.pc. (native-inputs `(("bison" ,bison) ("flex" ,flex) ("glib" ,glib "bin") ("gobject-introspection" ,gobject-introspection) + ("gtk-doc" ,gtk-doc) ("perl" ,perl) ("pkg-config" ,pkg-config) ("python-wrapper" ,python-wrapper))) @@ -163,8 +185,7 @@ This package provides the core library and elements.") (sha256 (base32 "0sl1hxlyq46r02k7z70v09vx1gi4rcypqmzra9jid93lzvi76gmi")))) - (build-system gnu-build-system) - (outputs '("out" "doc")) + (build-system meson-build-system) (propagated-inputs `(("glib" ,glib) ;required by gstreamer-sdp-1.0.pc ("gstreamer" ,gstreamer) ;required by gstreamer-plugins-base-1.0.pc @@ -198,11 +219,10 @@ This package provides the core library and elements.") ("gobject-introspection" ,gobject-introspection) ("python-wrapper" ,python-wrapper))) (arguments - `(#:parallel-tests? #f ; 'pipelines/tcp' fails in parallel - #:configure-flags - (list (string-append "--with-html-dir=" - (assoc-ref %outputs "doc") - "/share/gtk-doc/html")) + '(#:configure-flags '("-Dgl=disabled" + ;; FIXME: Documentation fails to build without + ;; enabling GL above, which causes other problems. + "-Ddoc=false") #:phases (modify-phases %standard-phases (add-before 'configure 'patch @@ -230,7 +250,7 @@ for the GStreamer multimedia library.") (sha256 (base32 "068k3cbv1yf3gbllfdzqsg263kzwh21y8dpwr0wvgh15vapkpfs0")))) - (build-system gnu-build-system) + (build-system meson-build-system) (inputs `(("aalib" ,aalib) ("cairo" ,cairo) @@ -244,7 +264,7 @@ for the GStreamer multimedia library.") ("libcaca" ,libcaca) ("libdv" ,libdv) ("libiec61883" ,libiec61883) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libshout" ,libshout) ("libsoup" ,libsoup) @@ -263,6 +283,22 @@ for the GStreamer multimedia library.") (arguments `(#:phases (modify-phases %standard-phases + ,@(if (string-prefix? "arm" (or (%current-target-system) + (%current-system))) + ;; FIXME: These tests started failing on armhf after switching to Meson. + ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/689 + `((add-after 'unpack 'disable-tests-for-armhf + (lambda _ + (substitute* "tests/check/elements/rtpbin_buffer_list.c" + (("tcase_add_test \\(tc_chain, test_bufferlist\\);") + "")) + (substitute* "tests/check/elements/rtpulpfec.c" + (("tcase_add_loop_test.*rtpulpfecdec_recovered_from_many.*") + "") + (("tcase_add.*rtpulpfecdec_recovered_using_recovered_packet.*") + "")) + #t))) + '()) (add-after 'unpack 'disable-failing-tests (lambda _ @@ -291,19 +327,35 @@ developers consider to have good quality code and correct functionality.") (sha256 (base32 "0x0y0hm0ga3zqi5q4090hw5sjh59y1ry9ak16qsaascm72i7mjzi")))) - (outputs '("out" "doc")) - (build-system gnu-build-system) + (build-system meson-build-system) (arguments - '(#:tests? #f ; XXX: 13 of 53 tests fail - #:configure-flags - (list (string-append "--with-html-dir=" - (assoc-ref %outputs "doc") - "/share/gtk-doc/html")))) + `(#:phases + (modify-phases %standard-phases + ,@(if (string-prefix? "arm" (or (%current-target-system) + (%current-system))) + ;; Disable test that fails on ARMv7. + ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1188 + `((add-after 'unpack 'disable-asfmux-test + (lambda _ + (substitute* "tests/check/meson.build" + (("\\[\\['elements/asfmux\\.c'\\]\\],") + "")) + #t))) + '()) + (add-after 'unpack 'disable-failing-test + (lambda _ + ;; FIXME: Why is this failing. + (substitute* "tests/check/meson.build" + ((".*elements/dash_mpd\\.c.*") + "")) + #t))))) (propagated-inputs `(("gst-plugins-base" ,gst-plugins-base))) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc. ("gobject-introspection" ,gobject-introspection) + ;; TODO: Enable documentation for 1.18. + ;;("gtk-doc" ,gtk-doc) ("pkg-config" ,pkg-config) ("python" ,python))) (inputs @@ -367,7 +419,7 @@ par compared to the rest.") (sha256 (base32 "1jpvc32x6q01zjkfgh6gmq6aaikiyfwwnhj7bmvn52syhrdl202m")))) - (build-system gnu-build-system) + (build-system meson-build-system) (inputs `(("gst-plugins-base" ,gst-plugins-base) ("liba52" ,liba52) @@ -408,9 +460,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.") ;; Drop bundled ffmpeg. (delete-file-recursively "gst-libs/ext/libav") #t)))) - (build-system gnu-build-system) - (arguments - '(#:configure-flags '("--with-system-libav"))) + (build-system meson-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("python" ,python))) @@ -438,15 +488,16 @@ compression formats through the use of the libav library.") (sha256 (base32 "1a48ca66izmm8hnp608jv5isg3jxb0vlfmhns0bg9nbkilag7390")))) - (build-system gnu-build-system) + (build-system meson-build-system) (arguments - `(#:modules ((guix build gnu-build-system) + `(#:modules ((guix build meson-build-system) + (guix build utils) ((guix build python-build-system) #:prefix python:)) - #:imported-modules (,@%gnu-build-system-modules + #:imported-modules (,@%meson-build-system-modules (guix build python-build-system)) #:configure-flags (list (string-append - "--with-pygi-overrides-dir=" + "-Dpygi-overrides-dir=" (python:site-packages %build-inputs %outputs) "gi/overrides")))) (native-inputs `(("pkg-config" ,pkg-config) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index f934eabe27..bc396a28f5 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -16,7 +16,7 @@ ;;; Copyright © 2016 ng0 <ng0@n0.is> ;;; Copyright © 2017 Roel Janssen <roel@gnu.org> ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> -;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2017, 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> @@ -146,7 +146,8 @@ tools have full access to view and control running applications.") ("python" ,python-wrapper))) (arguments `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html - #:configure-flags '("--enable-tee"))) ; needed for GNU Icecat + #:configure-flags '("--enable-tee" ;needed for GNU Icecat + "--disable-static"))) (synopsis "2D graphics library") (description "Cairo is a 2D graphics library with support for multiple output devices. @@ -182,7 +183,7 @@ affine transformation (scale, rotation, shear, etc.).") (define-public harfbuzz (package (name "harfbuzz") - (version "2.5.3") + (version "2.6.4") (source (origin (method url-fetch) (uri (string-append "https://www.freedesktop.org/software/" @@ -190,7 +191,7 @@ affine transformation (scale, rotation, shear, etc.).") version ".tar.xz")) (sha256 (base32 - "0p45xk5bblsw8lfs7y7z80b4rvda9f2hlpr28flkrfmpjz3hvl7y")))) + "04iwq13w6zkdhljmsxrzgg4fyh04qnwfn57rgrl9kmijc7cvh4wl")))) (build-system gnu-build-system) (outputs '("out" "bin")) ; 160K, only hb-view depend on cairo @@ -222,16 +223,28 @@ affine transformation (scale, rotation, shear, etc.).") (define-public pango (package (name "pango") - (version "1.42.4") + (version "1.44.7") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/pango/" (version-major+minor version) "/" name "-" version ".tar.xz")) + (patches (search-patches "pango-skip-libthai-test.patch")) (sha256 (base32 - "17bwb7dgbncrfsmchlib03k9n3xaalirb39g3yb43gg8cg6p8aqx")))) - (build-system gnu-build-system) + "07qvxa2sk90chp1l12han6vxvy098mc37sdqcznyywyv2g6bd9b6")))) + (build-system meson-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'disable-cantarell-tests + (lambda _ + (substitute* "tests/meson.build" + ;; XXX FIXME: These tests require "font-cantarell", but + ;; adding it here would introduce a circular dependency. + (("\\[ 'test-harfbuzz'.*") "") + (("\\[ 'test-itemize'.*") "") + (("\\[ 'test-layout'.*") "")) + #t))))) (propagated-inputs ;; These are all in Requires or Requires.private of the '.pc' files. `(("cairo" ,cairo) @@ -239,13 +252,13 @@ affine transformation (scale, rotation, shear, etc.).") ("fontconfig" ,fontconfig) ("freetype" ,freetype) ("glib" ,glib) - ("harfbuzz" ,harfbuzz))) - (inputs - `(("zlib" ,zlib) + ("harfbuzz" ,harfbuzz) ;; Some packages, such as Openbox, expect Pango to be built with the ;; optional libxft support. ("libxft" ,libxft))) + (inputs + `(("zlib" ,zlib))) (native-inputs `(("pkg-config" ,pkg-config) ("glib" ,glib "bin") ; glib-mkenums, etc. @@ -258,6 +271,21 @@ used throughout the world.") (license license:lgpl2.0+) (home-page "https://developer.gnome.org/pango/"))) +(define-public pango-1.42 + (package/inherit + pango + (version "1.42.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/pango/" + (version-major+minor version) "/" + "pango-" version ".tar.xz")) + (sha256 + (base32 + "17bwb7dgbncrfsmchlib03k9n3xaalirb39g3yb43gg8cg6p8aqx")))) + (build-system gnu-build-system) + (arguments '()))) + (define-public pangox-compat (package (name "pangox-compat") @@ -504,7 +532,7 @@ highlighting and other features typical of a source code editor.") ;; Used for testing and required at runtime. ("shared-mime-info" ,shared-mime-info))) (inputs - `(("libjpeg" ,libjpeg) + `(("libjpeg" ,libjpeg-turbo) ("libtiff" ,libtiff) ("libx11" ,libx11))) (native-inputs @@ -672,7 +700,7 @@ is part of the GNOME accessibility project.") "gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch" "gtk2-theme-paths.patch")))) (build-system gnu-build-system) - (outputs '("out" "doc")) + (outputs '("out" "bin" "doc")) (propagated-inputs `(("atk" ,atk) ("gdk-pixbuf" ,gdk-pixbuf+svg) @@ -699,14 +727,19 @@ is part of the GNOME accessibility project.") (assoc-ref %outputs "doc") "/share/gtk-doc/html")) #:phases - (alist-cons-before - 'configure 'disable-tests - (lambda _ - ;; FIXME: re-enable tests requiring an X server - (substitute* "gtk/Makefile.in" - (("SUBDIRS = theme-bits . tests") "SUBDIRS = theme-bits .")) - #t) - %standard-phases))) + (modify-phases %standard-phases + (add-before 'configure 'disable-tests + (lambda _ + ;; FIXME: re-enable tests requiring an X server + (substitute* "gtk/Makefile.in" + (("SUBDIRS = theme-bits . tests") "SUBDIRS = theme-bits .")) + #t)) + (add-after 'install 'remove-cache + (lambda* (#:key outputs #:allow-other-keys) + (for-each + delete-file + (find-files (assoc-ref outputs "out") "immodules.cache")) + #t))))) (native-search-paths (list (search-path-specification (variable "GUIX_GTK2_PATH") @@ -734,7 +767,6 @@ application suites.") "1a9hi7k59q0kqx0n3xhsk1ly23w9g9ncllnay1756g0yrww5qxsc")) (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch" "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch")))) - (outputs '("out" "bin" "doc")) (propagated-inputs `(("at-spi2-atk" ,at-spi2-atk) ("atk" ,atk) @@ -1246,7 +1278,7 @@ printing and other features typical of a source code editor.") (define-public python-pycairo (package (name "python-pycairo") - (version "1.17.1") + (version "1.19.0") (source (origin (method url-fetch) @@ -1254,7 +1286,7 @@ printing and other features typical of a source code editor.") version "/pycairo-" version ".tar.gz")) (sha256 (base32 - "165n0g7gp2a0qi8558snvfans17x83jv2lv7bx4vr1rxjbn3a2hg")))) + "176i283glkpycka8wwyndwld0zp1yn9xj9rpvllqgja698vsjnsg")))) (build-system python-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -1268,14 +1300,21 @@ printing and other features typical of a source code editor.") (license license:lgpl3+) (properties `((python2-variant . ,(delay python2-pycairo)))))) +;; Pycairo no longer supports Python 2 since version 1.19.0, so we stick +;; with this older version here. (define-public python2-pycairo (let ((pycairo (package-with-python2 (strip-python2-variant python-pycairo)))) (package (inherit pycairo) - (propagated-inputs - `(("python2-funcsigs" ,python2-funcsigs) - ,@(package-propagated-inputs pycairo))) + (version "1.18.2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/pygobject/pycairo/releases" + "/download/v" version "/pycairo-" version ".tar.gz")) + (sha256 + (base32 + "0cb5n4r4nl0k1g90b1gz9iyk4lp7hi03db98i1p52a870bym7f6w")))) ;; Dual-licensed under LGPL 2.1 or Mozilla Public License 1.1 (license (list license:lgpl2.1 license:mpl1.1))))) @@ -1299,6 +1338,11 @@ printing and other features typical of a source code editor.") `(("pkg-config" ,pkg-config))) (inputs `(("python" ,python-2) + + ;; XXX: The package fails to build with the latest Pango (propagated + ;; from GTK+2), so we provide it with this older version. + ("pango" ,pango-1.42) + ("libglade" ,libglade) ("glib" ,glib))) (propagated-inputs diff --git a/gnu/packages/guile-wm.scm b/gnu/packages/guile-wm.scm index 622fc560d9..3a6eebc91a 100644 --- a/gnu/packages/guile-wm.scm +++ b/gnu/packages/guile-wm.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016 Alex ter Weele <alex.ter.weele@gmail.com> ;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 ng0 <ng0@n0.is> +;;; Copyright © 2019 Pierre-Moana Levesque <pierre.moana.levesque@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -57,7 +58,8 @@ "--with-guile-site-ccache-dir=" (assoc-ref %outputs "out") "/lib/guile/2.2/site-ccache")))) - (native-inputs `(("pkg-config" ,pkg-config) + (native-inputs `(("guile" ,guile-2.2) + ("pkg-config" ,pkg-config) ("texinfo" ,texinfo))) (inputs `(("guile" ,guile-2.2) ("xcb" ,xcb-proto))) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 289158ea1b..cb88308278 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -230,6 +230,7 @@ without requiring the source code to be rewritten.") "1269ymxm56j1z1lvq1y42rm961f2n7rinm3k6l00p9k52hrpcddk")) (modules '((guix build utils))) (patches (search-patches + "guile-finalization-crash.patch" "guile-2.2-skip-oom-test.patch")) ;; Remove the pre-built object files. Instead, build everything @@ -250,18 +251,6 @@ without requiring the source code to be rewritten.") (variable "GUILE_LOAD_COMPILED_PATH") (files '("lib/guile/2.2/site-ccache"))))))) -(define-public guile-2.2/bug-fix - ;; This variant contains a bug fix for a relatively rare crash that could - ;; affect shepherd as PID 1: <https://bugs.gnu.org/37757>. - (package - (inherit guile-2.2) - (version (string-append (package-version guile-2.2) "-1")) - (source (origin - (inherit (package-source guile-2.2)) - (patches - (append (search-patches "guile-finalization-crash.patch") - (origin-patches (package-source guile-2.2)))))))) - (define-public guile-2.2/fixed ;; A package of Guile 2.2 that's rarely changed. It is the one used ;; in the `base' module, and thus changing it entails a full rebuild. @@ -295,7 +284,8 @@ without requiring the source code to be rewritten.") version ".tar.xz")) (sha256 (base32 - "0x8ca6q1qdmk29lh12gj6ngvgn7kp79w42rxfgwrpxm9jmjqs4y9")))) + "0x8ca6q1qdmk29lh12gj6ngvgn7kp79w42rxfgwrpxm9jmjqs4y9")) + (patches (search-patches "guile-2.2-skip-oom-test.patch")))) (arguments (substitute-keyword-arguments (package-arguments guile-2.2) ;; XXX: On ARMv7, work around <https://bugs.gnu.org/39208> by disabling @@ -563,6 +553,8 @@ Guile's foreign function interface.") (base32 "1nv8j7wk6b5n4p22szyi8lv8fs31rrzxhzz16gyj8r38c1fyp9qp")) (file-name (string-append name "-" version "-checkout")) + (patches + (search-patches "guile-sqlite3-fix-cross-compilation.patch")) (modules '((guix build utils))) (snippet '(begin @@ -575,6 +567,7 @@ Guile's foreign function interface.") (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) + ("guile" ,guile-2.2) ("pkg-config" ,pkg-config))) (inputs `(("guile" ,guile-2.2) diff --git a/gnu/packages/icu4c.scm b/gnu/packages/icu4c.scm index 922dfbd348..717ed277ee 100644 --- a/gnu/packages/icu4c.scm +++ b/gnu/packages/icu4c.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,56 +28,43 @@ #:use-module (gnu packages python) #:use-module (guix licenses) #:use-module (guix packages) + #:use-module (guix utils) #:use-module (guix download) #:use-module (guix build-system ant) #:use-module (guix build-system gnu)) -;; These patches are taken from ICUs 'maint-64' branch and will be included in -;; 64.3. The latter patch is needed because many packages use "invalid" -;; locales which misbehave with ICU 64.2. See discussion at -;; <https://lists.gnu.org/archive/html/guix-devel/2019-07/msg00343.html>. -(define %icu4c-patches - (list (origin - (method url-fetch) - (uri (string-append "https://github.com/unicode-org/icu/commit/" - "7788f04eb9be0d7ecade6af46cf7b9825447763d.patch")) - (file-name "icu4c-datetime-regression.patch") - (sha256 - (base32 - "0gs2sbdfpzwwdjqcqr0c16fw3g7wy3gb1gbgvzs9k1ciw0bhpv4w"))) - (origin - (method url-fetch) - (uri (string-append "https://github.com/unicode-org/icu/commit/" - "cfb20862909ff105d4f2c43923c97561bc5a5815.patch")) - (file-name "icu4c-locale-mapping.patch") - (sha256 - (base32 - "0s5psb60aisj6icziblvlp9dqcz56n3887i8ib0yidbjnnrw5b97"))))) - (define-public icu4c (package (name "icu4c") - (version "64.2") + (version "65.1") (source (origin (method url-fetch) (uri (string-append - "http://download.icu-project.org/files/icu4c/" - version + "https://github.com/unicode-org/icu/releases/download/release-" + (string-map (lambda (x) (if (char=? x #\.) #\- x)) version) "/icu4c-" (string-map (lambda (x) (if (char=? x #\.) #\_ x)) version) "-src.tgz")) - (patches %icu4c-patches) - (patch-flags '("-p2")) (sha256 - (base32 "0v0xsf14xwlj125y9fd8lrhsaych4d8liv8gr746zng6g225szb2")))) + (base32 "0j6r6qqnhfr5iqkx53k63ifkm93kv1kkb7h2mlgd1mnnndk79qsk")))) (build-system gnu-build-system) + ;; When cross-compiling, this package needs a source directory of a + ;; native-build of itself. (native-inputs - `(("python" ,python-minimal))) + `(("python" ,python-minimal) + ,@(if (%current-target-system) + `(("icu4c-build-root" ,icu4c-build-root)) + '()))) (inputs `(("perl" ,perl))) (arguments `(#:configure-flags - '("--enable-rpath") + (list + "--enable-rpath" + ,@(if (%current-target-system) + '((string-append "--with-cross-build=" + (assoc-ref %build-inputs "icu4c-build-root"))) + '())) #:phases (modify-phases %standard-phases (add-after 'unpack 'chdir-to-source @@ -105,6 +93,25 @@ C/C++ part.") (license x11) (home-page "http://site.icu-project.org/"))) +(define-public icu4c-build-root + (package + (inherit icu4c) + (name "icu4c-build-root") + (arguments + (substitute-keyword-arguments (package-arguments icu4c) + ((#:tests? _ '()) + #f) + ((#:out-of-source? _ '()) + #t) + ((#:phases phases) + `(modify-phases ,phases + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (copy-recursively "../build" out) + #t))))))) + (native-inputs '()))) + (define-public java-icu4j (package (name "java-icu4j") diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index f5d67c8917..cdaf8e86e2 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -89,7 +89,7 @@ (inputs `(;; Our ICU is too recent: “error: ‘UChar’ does not name a type“. ;; ("icu4c" ,icu4c) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) ("libxml2" ,libxml2) @@ -137,7 +137,7 @@ licences similar to the Modified BSD licence.")))) ("gts" ,gts) ("hdf5" ,hdf5) ("itpp" ,itpp) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) ("libxml" ,libxml2) @@ -198,7 +198,7 @@ of external libraries that provide additional functionality.") ("expat" ,expat) ("freetype" ,freetype) ("hdf5" ,hdf5) - ("jpeg" ,libjpeg) + ("jpeg" ,libjpeg-turbo) ("jsoncpp" ,jsoncpp) ("libogg" ,libogg) ("libtheora" ,libtheora) @@ -393,7 +393,7 @@ integrates with various databases on GUI toolkits such as Qt and Tk.") (patches (search-patches "opencv-rgbd-aarch64-test-fix.patch")) (sha256 (base32 "1f334glf39nk42mpqq6j732h3ql2mpz89jd4mcl678s8n73nfjh2")))))) - (inputs `(("libjpeg" ,libjpeg) + (inputs `(("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("jasper" ,jasper) ;; ffmpeg 4.0 causes core dumps in tests. @@ -454,7 +454,7 @@ vision algorithms. It can be used to do things like: ("gobject-introspection" ,gobject-introspection))) (inputs `(("glib" ,glib) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("librsvg" ,librsvg) ("libtiff" ,libtiff) @@ -516,7 +516,7 @@ due to its architecture which automatically parallelises the image workflows.") ("gtk+-2" ,gtk+-2) ("libxml2" ,libxml2) ("libexif" ,libexif) - ("libjpeg" ,libjpeg) ; required by vips.pc + ("libjpeg" ,libjpeg-turbo) ;required by vips.pc ("librsvg" ,librsvg) ("fftw" ,fftw) ("libgsf" ,libgsf) @@ -573,7 +573,7 @@ recalculates.") (inputs `(("libgeotiff" ,libgeotiff) ("libtiff" ,libtiff) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("zlib" ,zlib))) (home-page "https://github.com/vxl/vxl/") @@ -650,7 +650,7 @@ libraries designed for computer vision research and implementation.") ("fftw" ,fftw) ("fftwf" ,fftwf) ("hdf5" ,hdf5) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) ("mesa" ,mesa-opencl) diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index 85d3a153e7..8589130822 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -204,7 +204,7 @@ collection. Geeqie was initially based on GQview.") "0hi9v0rdx47nys0wvm9xasdrafa34r5kq6crb074a0ipwmc60iiq")))) (build-system gnu-build-system) (inputs `(("gtk+" ,gtk+-2) - ("libjpeg" ,libjpeg))) + ("libjpeg" ,libjpeg-turbo))) (native-inputs `(("intltool" ,intltool) ("pkg-config" ,pkg-config))) (synopsis "Simple and fast image viewer for X") @@ -382,7 +382,7 @@ It supports JPEG, PNG and GIF formats.") ("zlib" ,zlib) ("exiv2" ,exiv2) ("libpng" ,libpng) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("lcms" ,lcms) ("openexr" ,openexr) ("fftw" ,fftwf) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 45055858b4..ecd1867af6 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -19,7 +19,7 @@ ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com> ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> -;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com> @@ -46,6 +46,7 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages boost) #:use-module (gnu packages check) + #:use-module (gnu packages cmake) #:use-module (gnu packages curl) #:use-module (gnu packages compression) #:use-module (gnu packages documentation) @@ -76,11 +77,13 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module (guix build-system meson) #:use-module (guix build-system python) #:use-module (guix build-system scons) + #:use-module (guix deprecation) #:use-module (srfi srfi-1)) (define-public libpng @@ -362,7 +365,7 @@ Features: @end enumerate") (license license:gpl3+))) -(define-public libjpeg +(define-public ijg-libjpeg (package (name "libjpeg") (version "9c") @@ -391,8 +394,8 @@ lossless JPEG manipulations such as rotation, scaling or cropping: (license license:ijg) (home-page "https://www.ijg.org/"))) -(define-public libjpeg-8 - (package (inherit libjpeg) +(define-public ijg-libjpeg-8 + (package (inherit ijg-libjpeg) (version "8d") (source (origin (method url-fetch) @@ -498,7 +501,7 @@ official designation is ISO/IEC 29199-2). This library is an implementation of t (sha256 (base32 "1dss7907fclfl8zsw0bl4qcw0hhz6fqgi3867w0jyfm3q9jfpcc8")))) (build-system gnu-build-system) - (inputs `(("libjpeg" ,libjpeg))) + (inputs `(("libjpeg" ,libjpeg-turbo))) (arguments '(#:tests? #f)) ; no tests (synopsis "Optimize JPEG images") @@ -543,7 +546,7 @@ extracting icontainer icon files.") (define-public libtiff (package (name "libtiff") - (version "4.0.10") + (version "4.1.0") (source (origin (method url-fetch) @@ -551,7 +554,7 @@ extracting icontainer icon files.") version ".tar.gz")) (sha256 (base32 - "1r4np635gr6zlc0bic38dzvxia6iqzcrary4n1ylarzpr8fd2lic")))) + "0d46bdvxdiv59lxnb0xz9ywm8arsr6xsapi5s6y6vnys2wjz6aax")))) (build-system gnu-build-system) (outputs '("out" "doc")) ;1.3 MiB of HTML documentation @@ -560,9 +563,10 @@ extracting icontainer icon files.") `(#:configure-flags (list (string-append "--with-docdir=" (assoc-ref %outputs "doc") "/share/doc/" - ,name "-" ,version)))) + ,name "-" ,version) + "--disable-static"))) (inputs `(("zlib" ,zlib) - ("libjpeg" ,libjpeg))) + ("libjpeg" ,libjpeg-turbo))) (synopsis "Library for handling TIFF files") (description "Libtiff provides support for the Tag Image File Format (TIFF), a format @@ -595,7 +599,7 @@ collection of tools for doing simple manipulations of TIFF images.") ("pkg-config" ,pkg-config))) (inputs `(("giflib" ,giflib) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) ("libwebp" ,libwebp))) @@ -628,15 +632,15 @@ arithmetic ops.") (define-public jbig2dec (package (name "jbig2dec") - (version "0.16") + (version "0.17") (source (origin (method url-fetch) (uri (string-append "https://github.com/ArtifexSoftware" "/ghostpdl-downloads/releases/download" - "/gs927/" name "-" version ".tar.gz")) + "/gs950/" name "-" version ".tar.gz")) (sha256 (base32 - "00h61y7bh3z6mqfzxyb318gyh0f8jwarg4hvlrm83rqps8avzxm4")) + "0wpvslmwazia3z8gyk343kbq6yj47pxr4x5yjvx332v309qssazp")) (patches (search-patches "jbig2dec-ignore-testtest.patch")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-static"))) @@ -781,31 +785,31 @@ error-resilience, a Java-viewer for j2k-images, ...") (define-public giflib (package (name "giflib") - (version "5.1.4") + (version "5.2.1") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/giflib/giflib-" - version ".tar.bz2")) + version ".tar.gz")) (sha256 (base32 - "1md83dip8rf29y40cm5r7nn19705f54iraz6545zhwa6y8zyq9yz")) - (patches (search-patches - "giflib-make-reallocarray-private.patch")))) + "1gbrg03z1b6rlrvjyc6d41bc8j1bsr7rm8206gb1apscyii5bnii")))) (build-system gnu-build-system) (outputs '("bin" ; utility programs "out")) ; library - (inputs `(("libx11" ,libx11) - ("libice" ,libice) - ("libsm" ,libsm) - ("perl" ,perl))) (arguments - `(#:phases + '(#:make-flags (list "CC=gcc" + (string-append "PREFIX=" + (assoc-ref %outputs "out")) + (string-append "BINDIR=" + (assoc-ref %outputs "bin") "/bin")) + #:phases (modify-phases %standard-phases (add-after 'unpack 'disable-html-doc-gen (lambda _ - (substitute* "doc/Makefile.in" + (substitute* "doc/Makefile" (("^all: allhtml manpages") "")) #t)) + (delete 'configure) (add-after 'install 'install-manpages (lambda* (#:key outputs #:allow-other-keys) (let* ((bin (assoc-ref outputs "bin")) @@ -869,7 +873,7 @@ compose, and analyze GIF images.") ("freetype" ,freetype) ("giflib" ,giflib) ("libid3tag" ,libid3tag) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) ("libx11" ,libx11) @@ -980,7 +984,7 @@ supplies a generic doubly-linked list and some string functions.") `(("pkg-config" ,pkg-config) ("unzip" ,unzip))) (inputs - `(("libjpeg" ,libjpeg) + `(("libjpeg" ,libjpeg-turbo) ("libjxr" ,libjxr) ("libpng" ,libpng) ("libraw" ,libraw) @@ -1006,6 +1010,7 @@ graphics image formats like PNG, BMP, JPEG, TIFF and others.") (uri (string-append "https://github.com/ukoethe/vigra/releases/download/" "Version-" (string-join (string-split version #\.) "-") "/vigra-" version "-src.tar.gz")) + (patches (search-patches "vigra-python-compat.patch")) (sha256 (base32 "1bqs8vx5i1bzamvv563i24gx2xxdidqyxh9iaj46mbznhc84wmm5")))) (build-system cmake-build-system) @@ -1016,16 +1021,16 @@ graphics image formats like PNG, BMP, JPEG, TIFF and others.") ("hdf5" ,hdf5) ("ilmbase" ,ilmbase) ; propagated by openexr, but needed explicitly ; to create a configure-flag - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) ("openexr" ,openexr) - ("python" ,python-2) ; print syntax - ("python2-numpy" ,python2-numpy) + ("python" ,python-wrapper) + ("python-numpy" ,python-numpy) ("zlib" ,zlib))) (native-inputs `(("doxygen" ,doxygen) - ("python2-nose" ,python2-nose) + ("python-nose" ,python-nose) ("sphinx" ,python-sphinx))) (arguments `(#:test-target "check" @@ -1045,7 +1050,9 @@ graphics image formats like PNG, BMP, JPEG, TIFF and others.") (list "-Wno-dev" ; suppress developer mode with lots of warnings (string-append "-DVIGRANUMPY_INSTALL_DIR=" (assoc-ref %outputs "out") - "/lib/python2.7/site-packages") + "/lib/python" + ,(version-major+minor (package-version python)) + "/site-packages") ;; OpenEXR is not enabled by default. "-DWITH_OPENEXR=1" ;; Fix rounding error on 32-bit machines @@ -1102,7 +1109,7 @@ language bindings to VIGRA.") (define-public libwebp (package (name "libwebp") - (version "1.0.3") + (version "1.1.0") (source (origin ;; No tarballs are provided for >0.6.1. @@ -1113,12 +1120,12 @@ language bindings to VIGRA.") (file-name (git-file-name name version)) (sha256 (base32 - "1l8h9d3z3kla567ilmymrgg8vc2n763g8qss1hah8dg832hbqkxf")))) + "0r2yy9if0ndvpzadk39bigvsygyqnlv0xjb9w2aj6rs534mncazz")))) (build-system gnu-build-system) (inputs `(("freeglut" ,freeglut) ("giflib" ,giflib) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff))) (native-inputs @@ -1158,7 +1165,7 @@ channels.") (propagated-inputs ;; These are all in the 'Libs.private' field of libmng.pc. `(("lcms" ,lcms) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("zlib" ,zlib))) (home-page "http://www.libmng.com/") (synopsis "Library for handling MNG files") @@ -1274,7 +1281,7 @@ convert, manipulate, filter and display a wide variety of image formats.") (base32 "05l75yd1zsxwv25ykwwwjs8961szv7iywf16nc6vc6qpby27ckv6")))) (build-system cmake-build-system) - (inputs `(("libjpeg" ,libjpeg))) + (inputs `(("libjpeg" ,libjpeg-turbo))) (synopsis "JPEG-2000 library") (description "The JasPer Project is an initiative to provide a reference implementation of the codec specified in the JPEG-2000 Part-1 standard (i.e., @@ -1362,7 +1369,7 @@ differences in file encoding, image quality, and other small variations.") (inputs `(("libmhash" ,libmhash) ("libmcrypt" ,libmcrypt) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("zlib" ,zlib))) (arguments `(#:make-flags '("CXXFLAGS=-fpermissive") ;required for MHashPP.cc @@ -1487,21 +1494,40 @@ is hereby granted.")))) (define-public libjpeg-turbo (package (name "libjpeg-turbo") - (version "2.0.2") - (replacement libjpeg-turbo/fixed) + (version "2.0.4") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/libjpeg-turbo/" version "/libjpeg-turbo-" version ".tar.gz")) (sha256 (base32 - "1v9gx1gdzgxf51nd55ncq7rghmj4x9x91rby50ag36irwngmkf5c")))) + "01ill8bgjyk582wipx7sh7gj2nidylpbzvwhx0wkcm6mxx3qbp9k")))) (build-system cmake-build-system) (native-inputs `(("nasm" ,nasm))) (arguments - '(#:configure-flags '("-DCMAKE_INSTALL_LIBDIR:PATH=lib" - "-DENABLE_STATIC=0"))) + `(#:configure-flags '("-DCMAKE_INSTALL_LIBDIR:PATH=lib" + "-DENABLE_STATIC=0" + ;; The build system probes for the current CPU, but + ;; that fails when cross-compiling. + ,@(let ((target (%current-target-system))) + (if target + (cond + ((string-prefix? "arm" target) + `("-DCMAKE_SYSTEM_PROCESSOR=arm")) + ((string-prefix? "aarch64" target) + `("-DCMAKE_SYSTEM_PROCESSOR=aarch64")) + ((string-prefix? "i686" target) + `("-DCMAKE_SYSTEM_PROCESSOR=x86")) + ((string-prefix? "x86_64" target) + `("-DCMAKE_SYSTEM_PROCESSOR=x86_64")) + (else '())) + '()))) + ,@(if (%current-target-system) + '() + ;; Use a special "bootstrap" CMake for the native build to work + ;; around a circular dependency between CMake and this package. + `(#:cmake ,cmake-bootstrap)))) (home-page "https://libjpeg-turbo.org/") (synopsis "SIMD-accelerated JPEG image handling library") (description "libjpeg-turbo is a JPEG image codec that accelerates baseline @@ -1518,19 +1544,7 @@ and decompress to 32-bit and big-endian pixel buffers (RGBX, XBGR, etc.).") license:ijg ;the libjpeg library and associated tools license:zlib)))) ;the libjpeg-turbo SIMD extensions -;; Replacement package to fix CVE-2019-13960 and CVE-2019-2201. -(define libjpeg-turbo/fixed - (package - (inherit libjpeg-turbo) - (version "2.0.3") - (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/libjpeg-turbo/" - version "/libjpeg-turbo-" version ".tar.gz")) - (sha256 - (base32 - "1ds16bnj17v6hzd43w8pzijz3imd9am4hw75ir0fxm240m8dwij2")) - (patches (search-patches "libjpeg-turbo-CVE-2019-2201.patch")))))) +(define-deprecated libjpeg libjpeg-turbo) (define-public niftilib (package @@ -1743,7 +1757,7 @@ identical visual appearance.") (build-system gnu-build-system) (inputs `(("curl" ,curl) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("ncurses" ,ncurses))) (home-page "https://csl.name/jp2a/") (synopsis "Convert JPEG images to ASCII") diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index 715388e22c..7e982db093 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -48,14 +48,14 @@ ;; The 7 release series has an incompatible API, while the 6 series is still ;; maintained. Don't update to 7 until we've made sure that the ImageMagick ;; users are ready for the 7-series API. - (version "6.9.10-78") + (version "6.9.10-87") (source (origin (method url-fetch) (uri (string-append "mirror://imagemagick/ImageMagick-" version ".tar.xz")) (sha256 (base32 - "178sai7r0w2hwv01is25c8mxf9lc2ba0l16qm45h9vv49y5dy08q")))) + "09m0nx7y6j5cq13r583kp3lbsc357cc3q0kcvzbya54r5lx20a5p")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch") @@ -101,7 +101,7 @@ ("libxml2" ,libxml2) ("libtiff" ,libtiff) ("libpng" ,libpng) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("pango" ,pango) ("freetype" ,freetype) ("bzip2" ,bzip2) @@ -204,7 +204,7 @@ script.") ("libxml2" ,libxml2) ("libtiff" ,libtiff) ("libpng" ,libpng) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("freetype" ,freetype) ("bzip2" ,bzip2) ("xz" ,xz) diff --git a/gnu/packages/inkscape.scm b/gnu/packages/inkscape.scm index 1ad23a92d4..0bd8b9496b 100644 --- a/gnu/packages/inkscape.scm +++ b/gnu/packages/inkscape.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2014 John Darrington <jmd@gnu.org> ;;; Copyright © 2014, 2016 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2017, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. @@ -88,6 +88,19 @@ (substitute* "share/icons/application/CMakeLists.txt" (("gtk-update-icon-cache") "true")) #t)) + (add-after 'unpack 'adjust-for-new-poppler + (lambda _ + (substitute* (find-files "src/extension/internal/pdfinput") + ;; Needed for Poppler 0.82. + (("Unicode \\*u") "Unicode const *u") + ;; Needed for Poppler 0.83. + (("\\(GfxPath") "(const GfxPath") + (("GfxSubpath") "const GfxSubpath") + (("new GlobalParams\\(\\)") + "std::unique_ptr<GlobalParams>(new GlobalParams())") + (("new GlobalParams\\(poppler_datadir\\)") + "std::unique_ptr<GlobalParams>(new GlobalParams(poppler_datadir))")) + #t)) (add-before 'configure 'dont-use-system-includes (lambda _ ;; Don't add redundant -isystem includes which confuses GCC7. diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 6abd0c8360..96d14c3988 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -949,7 +949,7 @@ machine."))) ("grep" ,grep) ("jamvm" ,jamvm) ("lcms" ,lcms) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libnsl" ,libnsl) ("libpng" ,libpng) ("libtool" ,libtool) @@ -1569,7 +1569,7 @@ bootstrapping purposes.") ("libxi" ,libxi) ("libxinerama" ,libxinerama) ("libxrender" ,libxrender) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("mit-krb5" ,mit-krb5) ("nss" ,nss) @@ -1866,7 +1866,7 @@ new Date();")) ("giflib" ,giflib) ("lcms" ,lcms) ("libelf" ,libelf) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libice" ,libice) ("libpng" ,libpng) ("libx11" ,libx11) @@ -2144,7 +2144,7 @@ new Date();")) ("freetype" ,freetype) ("giflib" ,giflib) ("lcms" ,lcms) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libx11" ,libx11) ("libxext" ,libxext) @@ -2191,7 +2191,7 @@ new Date();")) ("freetype" ,freetype) ("giflib" ,giflib) ("lcms" ,lcms) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libx11" ,libx11) ("libxext" ,libxext) diff --git a/gnu/packages/jemalloc.scm b/gnu/packages/jemalloc.scm index aa8493fd1d..2eabf4403f 100644 --- a/gnu/packages/jemalloc.scm +++ b/gnu/packages/jemalloc.scm @@ -32,7 +32,7 @@ (define-public jemalloc (package (name "jemalloc") - (version "5.2.0") + (version "5.2.1") (source (origin (method url-fetch) (uri (string-append @@ -40,7 +40,7 @@ version "/jemalloc-" version ".tar.bz2")) (sha256 (base32 - "1d73a5c5qdrwck0fa5pxz0myizaf3s9alsvhiqwrjahdlr29zgkl")))) + "1xl7z0vwbn5iycg7amka9jd6hxd8nmfk7nahi4p9w2bnw9f0wcrl")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/jupyter.scm b/gnu/packages/jupyter.scm index e65a8bd6c9..3f16bc27f1 100644 --- a/gnu/packages/jupyter.scm +++ b/gnu/packages/jupyter.scm @@ -171,7 +171,7 @@ Messaging Protocol}.") ("cppzmq" ,cppzmq) ("zeromq" ,zeromq) ("openssl" ,openssl) - ("util-linux" ,util-linux))) ;libuuid + ("util-linux" ,util-linux "lib"))) ;libuuid (home-page "https://quantstack.net/xeus") (synopsis "C++ implementation of the Jupyter Kernel protocol") (description diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 9230bb71c0..5815fde8f0 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -24,6 +24,7 @@ (define-module (gnu packages kde-frameworks) #:use-module (guix build-system cmake) + #:use-module (guix build-system qt) #:use-module (guix download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) @@ -702,7 +703,7 @@ infrastructure.") (sha256 (base32 "0k22kargqxf0j09wzk1x90b526npj8a0210ilk0n1k6spc8xa6mr")))) - (build-system cmake-build-system) + (build-system qt-build-system) ;; TODO: Build packages for the Python bindings. Ideally this will be ;; done for all versions of python guix supports. Requires python, ;; python-sip, clang-python, libclang. Requires python-2 in all cases for @@ -713,14 +714,6 @@ infrastructure.") (inputs `(("qtbase" ,qtbase) ("qtx11extras" ,qtx11extras))) - (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 "Utilities for graphical user interfaces") (description "The KDE GUI addons provide utilities for graphical user @@ -885,20 +878,12 @@ of applications that follow the Kirigami Human Interface Guidelines.") (sha256 (base32 "10bhg0db9gdg2hlc02ngg1i2q7a99862d5973hxqzf620d28p5rd")))) - (build-system cmake-build-system) + (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) (inputs `(("qtbase" ,qtbase) ("qtdeclarative" ,qtdeclarative))) - (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 "Set of item models extending the Qt model-view framework") (description "KItemModels provides the following models: @@ -944,21 +929,12 @@ model to observers (sha256 (base32 "15h0w16wgj94kxz4vgjb34i3pyx5w1f2npj86j4d2sa0mxxpmqyz")))) - (build-system cmake-build-system) + (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) ("qttools" ,qttools))) (inputs `(("qtbase" ,qtbase))) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'check 'check-setup - (lambda _ - (setenv "DBUS_FATAL_WARNINGS" "0") - ;; make Qt render "offscreen", required for tests - (setenv "QT_QPA_PLATFORM" "offscreen") - #t))))) (home-page "https://community.kde.org/Frameworks") (synopsis "Set of item views extending the Qt model-view framework") (description "KItemViews includes a set of views, which can be used with @@ -979,20 +955,12 @@ to flat and hierarchical lists.") (sha256 (base32 "11kpq34j37c1gsvj5nxhkc31bw8gw2n7nkqsfx87jw9f4v2vhmr9")))) - (build-system cmake-build-system) + (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) (inputs `(("qtbase" ,qtbase) ("qttools" ,qttools))) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'check 'check-setup - (lambda _ ; kplotting - ;; make Qt render "offscreen", required for tests - (setenv "QT_QPA_PLATFORM" "offscreen") - #t))))) (home-page "https://community.kde.org/Frameworks") (synopsis "Data plotting library") (description "KPlotWidget is a QWidget-derived class that provides a virtual @@ -1104,7 +1072,7 @@ represented by a QPoint or a QSize.") (sha256 (base32 "1nzgv3v3kyq5jm2b9xri6qjawspr9ycxhskfvj8kkgr46dr35qyc")))) - (build-system cmake-build-system) + (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) ("qttools" ,qttools) @@ -1114,12 +1082,6 @@ represented by a QPoint or a QSize.") (arguments `(#:phases (modify-phases %standard-phases - (add-before 'check 'check-setup - (lambda _ - ;; make Qt render "offscreen", required for tests - (setenv "QT_QPA_PLATFORM" "offscreen") - (setenv "DBUS_FATAL_WARNINGS" "0") - #t)) (add-before 'check 'start-xorg-server (lambda* (#:key inputs #:allow-other-keys) ;; The test suite requires a running X server. @@ -1414,15 +1376,7 @@ system.") (sha256 (base32 "0gqxmyxmwn2rs9f8x2z8pfmbx0mvkyh7nalnsmfqkph8f0fja9ig")))) - (build-system cmake-build-system) - (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))))) + (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) ("pkg-config" ,pkg-config) @@ -1573,7 +1527,7 @@ utilities.") (sha256 (base32 "10ggypg09acc19gkvxsigfsaq8s5vqv64ada307blpzy8j74bisb")))) - (build-system cmake-build-system) + (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) ("qttools" ,qttools))) @@ -1581,14 +1535,6 @@ utilities.") `(("kconfig" ,kconfig) ("kwidgetsaddons" ,kwidgetsaddons) ("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 "Powerful autocompletion framework and widgets") (description "This framework helps implement autocompletion in Qt-based @@ -1653,7 +1599,7 @@ localized country name to ISO 3166-1 alpha 2 code mapping and vice verca. (sha256 (base32 "1xl3bzxfchfafcplil3g07gq1a3fnwx1i40bxp4jfsgb8d8slfwc")))) - (build-system cmake-build-system) + (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) (inputs @@ -1661,14 +1607,6 @@ localized country name to ISO 3166-1 alpha 2 code mapping and vice verca. ("kwindowsystem" ,kwindowsystem) ("qtbase" ,qtbase) ("qtx11extras" ,qtx11extras))) - (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 "Graceful handling of application crashes") (description "KCrash provides support for intercepting and handling @@ -2291,7 +2229,7 @@ KCModules can be created with the KConfigWidgets framework.") (sha256 (base32 "098xdfvnyz9bdkc6iyq5r2s4vkfdhbrri4015yzbs73j4f2wcxz5")))) - (build-system cmake-build-system) + (build-system qt-build-system) (propagated-inputs `(("kauth" ,kauth) ("kcodecs" ,kcodecs) @@ -2316,11 +2254,6 @@ KCModules can be created with the KConfigWidgets framework.") ;; make QDirIterator follow symlinks (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b) (string-append a " | QDirIterator::FollowSymlinks" b))) - #t)) - (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 "Widgets for configuration dialogs") @@ -2439,7 +2372,7 @@ started on demand.") (sha256 (base32 "1w7glszd82iyw6kxzmp0568rm3qfadi7vw7gfxg4c15w5ikkvxn9")))) - (build-system cmake-build-system) + (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) ("qttools" ,qttools))) @@ -2461,14 +2394,6 @@ started on demand.") ("kxmlgui" ,kxmlgui) ("qtwebkit" ,qtwebkit) ("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 "Integrating KDE frameworks widgets with Qt Designer") (description "This framework provides plugins for Qt Designer that allow it @@ -2594,7 +2519,7 @@ emoticons coming from different providers.") (sha256 (base32 "1xpfvwnrj81mk3di02n37b469gxzmnk89icmcz6wwyk54m86fw76")))) - (build-system cmake-build-system) + (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) ("pkg-config" ,pkg-config) @@ -2610,14 +2535,6 @@ emoticons coming from different providers.") ("qtbase" ,qtbase) ("qtx11extras" ,qtx11extras) ("xcb-util-keysyms" ,xcb-util-keysyms))) - (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 "Global desktop keyboard shortcuts") (description "KGlobalAccel allows you to have global accelerators that are @@ -2947,7 +2864,7 @@ notifications which can be embedded in your application.") (sha256 (base32 "0md0349r4mdm2r04p5s3pgm17v4w40r3kz58lzp6qfcw25b969nw")))) - (build-system cmake-build-system) + (build-system qt-build-system) (propagated-inputs `(("kio" ,kio) ("ktextwidgets" ,ktextwidgets) @@ -2972,14 +2889,6 @@ notifications which can be embedded in your application.") ("qtbase" ,qtbase) ("solid" ,solid) ("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 "Plugin framework for user interface components") (description "This library implements the framework for KDE parts, which are @@ -2999,7 +2908,7 @@ widgets with a user-interface defined in terms of actions.") (sha256 (base32 "1q2hh2i8hd638p907g0srdxmxm9h2ay91dmhslqzcgwnlhln4gfl")))) - (build-system cmake-build-system) + (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) (inputs @@ -3012,14 +2921,7 @@ widgets with a user-interface defined in terms of actions.") ("qtbase" ,qtbase) ("qtdeclarative" ,qtdeclarative))) (arguments - `(#:tests? #f ; FIXME: 1/3 tests fail. - #:phases - (modify-phases %standard-phases - (add-before 'check 'check-setup - (lambda _ - ;; make Qt render "offscreen", required for tests - (setenv "QT_QPA_PLATFORM" "offscreen") - #t))))) + `(#:tests? #f)) ; FIXME: 1/3 tests fail. (home-page "https://community.kde.org/Frameworks") (synopsis "Provides access to all contacts and aggregates them by person") (description "KPeople offers unified access to our contacts from different @@ -3252,7 +3154,7 @@ library.") (sha256 (base32 "1qb1mad5bg19xwykzpwk2b3s505ka4jkg0fsi56ri57wq8gv4qha")))) - (build-system cmake-build-system) + (build-system qt-build-system) (propagated-inputs `(("ki18n" ,ki18n) ("sonnet" ,sonnet))) @@ -3272,14 +3174,6 @@ library.") ("kwindowsystem" ,kwindowsystem) ("qtbase" ,qtbase) ("qtspeech" ,qtspeech))) - (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 "Text editing widgets") (description "KTextWidgets provides widgets for displaying and editing text. @@ -3747,7 +3641,7 @@ http://community.kde.org/Frameworks/Porting_Notes should help with this.") name "-" version ".tar.xz")) (sha256 (base32 "15f77r6dxkkvi2vxvxlwa7qz3whmz229g79bgadiwffmzxja0ywd")))) - (build-system cmake-build-system) + (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) ("perl" ,perl))) @@ -3768,21 +3662,13 @@ http://community.kde.org/Frameworks/Porting_Notes should help with this.") ("kwidgetsaddons" ,kwidgetsaddons) ("kwindowsystem" ,kwindowsystem) ("kxmlgui" ,kxmlgui) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("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 @@ -3868,7 +3754,7 @@ QObjects, so you can script your applications.") name "-" version ".tar.xz")) (sha256 (base32 "19v53h3lkys3ryrjacrdng9ak91g03b9s986xhnw1r84zy242kdm")))) - (build-system cmake-build-system) + (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) ("kdoctools" ,kdoctools) @@ -3883,14 +3769,6 @@ QObjects, so you can script your applications.") ("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 diff --git a/gnu/packages/kde-internet.scm b/gnu/packages/kde-internet.scm new file mode 100644 index 0000000000..4b0504ca5c --- /dev/null +++ b/gnu/packages/kde-internet.scm @@ -0,0 +1,493 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2017, 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages kde-internet) + #:use-module (guix build-system qt) + #:use-module (guix download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix utils) + #:use-module (gnu packages) + #:use-module (gnu packages boost) + #:use-module (gnu packages compression) + #:use-module (gnu packages glib) + #:use-module (gnu packages gnupg) + #:use-module (gnu packages image) + #:use-module (gnu packages kde) + #:use-module (gnu packages kde-frameworks) + #:use-module (gnu packages kde-pim) + #:use-module (gnu packages libidn) + #:use-module (gnu packages linux) + #:use-module (gnu packages messaging) + #:use-module (gnu packages mp3) + #:use-module (gnu packages multiprecision) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages qt) + #:use-module (gnu packages rdesktop) + #:use-module (gnu packages serialization) + #:use-module (gnu packages ssh) + #:use-module (gnu packages telephony) + #:use-module (gnu packages tls) + #:use-module (gnu packages video) + #:use-module (gnu packages web) + #:use-module (gnu packages xiph) + #:use-module (gnu packages xml)) + +(define-public choqok + (package + (name "choqok") + (version "1.6.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/choqok/" + (version-major+minor version) + "/src/choqok-" version ".tar.xz")) + (sha256 + (base32 "03ri4y1wzyqlixnhczsls5gmy7jzzm67bb5gz8bav51ngc32fxca")) + (patches (search-patches "choqok-Fix-building-under-Qt-5.13.patch")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("kdoctools" ,kdoctools) + ("pkg-config" ,pkg-config))) + (inputs + `(("attica" ,attica) + ("kcmutils" ,kcmutils) + ("kconfigwidgets" ,kconfigwidgets) + ("kcoreaddons" ,kcoreaddons) + ("kdewebkit" ,kdewebkit) + ("kemoticons" ,kemoticons) + ("kglobalaccel" ,kglobalaccel) + ("kguiaddons" ,kguiaddons) + ("ki18n" ,ki18n) + ("kio" ,kio) + ("knotifications" ,knotifications) + ("knotifyconfig" ,knotifyconfig) + ("kparts" ,kparts) + ("ktextwidgets" ,ktextwidgets) + ("kwallet" ,kwallet) + ("kwidgetsaddons" ,kwidgetsaddons) + ("kxmlgui" ,kxmlgui) + ;; TODO: telepathy + ("oxygen-icons" ,oxygen-icons) ; default icon set + ("qca" ,qca) + ("qoauth" ,qoauth) + ("qtbase" ,qtbase) + ("qtwebkit" ,qtwebkit) + ("sonnet" ,sonnet))) + (home-page "https://kde.org/applications/internet/org.kde.choqok") + (synopsis "Micro-Blogging Client") + (description "Choqok is a fast, efficient and simple to use micro-blogging +client for KDE. It currently supports the twitter.com and identi.ca +microblogging services. + +Other notable features include: +@itemize +@item Support for user + friends time-lines. +@item Support for @Reply time-lines. +@item Support for sending and receiving direct messages. +@item Twitpic.com integration. +@item The ability to use multiple accounts simultaneously. +@item Support for search APIs for all services. +@item KWallet integration. +@item Support for automatic shortening urls with more than 30 characters. +@item Support for configuring status lists appearance. +@end itemize") + (license license:gpl3+))) + +(define-public kget + (package + (name "kget") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/kget-" version ".tar.xz")) + (sha256 + (base32 "004qqq93iqidh2m9q2p2cwlbc2kfrz0g8a2mgd712c9p66l7s42s")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("pkg-config" ,pkg-config))) + (inputs + `(("boost" ,boost) + ("gmp" ,gmp) + ("gpgme" ,gpgme) + ("kcmutils" ,kcmutils) + ("kcompletion" ,kcompletion) + ("kconfig" ,kconfig) + ("kconfigwidgets" ,kconfigwidgets) + ("kcoreaddons" ,kcoreaddons) + ("kcrash" ,kcrash) + ("kdbusaddons" ,kdbusaddons) + ("kdelibs4support" ,kdelibs4support) ;; KLocale + ("kdoctools" ,kdoctools) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kio" ,kio) + ("kitemviews" ,kitemviews) + ("knotifications" ,knotifications) + ("knotifyconfig" ,knotifyconfig) + ("kparts" ,kparts) + ("kservice" ,kservice) + ("ktextwidgets" ,ktextwidgets) + ("kwallet" ,kwallet) + ("kwidgetsaddons" ,kwidgetsaddons) + ("kwindowsystem" ,kwindowsystem) + ("kxmlgui" ,kxmlgui) + ("libgcrypt" ,libgcrypt) + ("libktorrent" ,libktorrent) + ;; TODO: libmms + ;; TODO: LibKWorkspace - plasma-workspace? + ("oxygen-icons" ,oxygen-icons) ; default icon set + ("qca" ,qca) + ("qgpgme" ,qgpgme) + ("qtbase" ,qtbase) + )) + (home-page "http://www.kde.org/") + (synopsis "Versatile and user-friendly download manager") + (description "KGet is an advanced download manager with support for +Metalink and Bittorrent. Downloads are added to the list, where they can be +paused, queued, or scheduled for later. KGet supports download via FTP anf +HTTP(S) as well as pausing downloads. + +This package is part of the KDE networking module.") + (license ;; GPL for programs, LGPL for libraries, FDL for documentation + (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+)))) + +(define-public konversation + (package + (name "konversation") + (version "1.7.5") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/konversation/" version + "/src/konversation-" version ".tar.xz")) + (sha256 + (base32 "0h098yhlp36ls6pdvs2r93ig8dv4fys62m0h6wxccprb0qrpbgv0")) + (patches (search-patches "konversation-Fix-build-with-Qt-5.11.patch")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("kdoctools" ,kdoctools))) + (inputs + `(("karchive" ,karchive) + ("kbookmarks" ,kbookmarks) + ("kconfig" ,kconfig) + ("kconfigwidgets" ,kconfigwidgets) + ("kcoreaddons" ,kcoreaddons) + ("kcrash" ,kcrash) + ("kdbusaddons" ,kdbusaddons) + ("kemoticons" ,kemoticons) + ("kglobalaccel" ,kglobalaccel) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kidletime" ,kidletime) + ("kio" ,kio) + ("kitemviews" ,kitemviews) + ("knotifications" ,knotifications) + ("knotifyconfig" ,knotifyconfig) + ("kparts" ,kparts) + ("kwallet" ,kwallet) + ("kwidgetsaddons" ,kwidgetsaddons) + ("kwindowsystem" ,kwindowsystem) + ("oxygen-icons" ,oxygen-icons) ; default icon set + ("phonon" ,phonon) + ("qtbase" ,qtbase) + ("qca" ,qca) + ("solid" ,solid) + ("sonnet" ,sonnet))) + (home-page "https://kde.org/applications/internet/org.kde.konversations") + (synopsis "Graphical Internet Relay Chat (IRC) client for KDE") + (description "Konversation is a graphical Internet Relay Chat client (IRC) +with KDE support. + +Features are: +@itemize +@item Standard IRC features +@item SSL server support +@item Bookmarking support +@item Easy to use graphical user interface +@item Multiple servers and channels in one single window +@item DCC file transfer with resume support +@item Multiple identities for different servers +@item Text decorations and colors +@item Pattern-based message highlighting and OnScreen Display notifications +@item Automatic UTF-8 detection +@item Per channel encoding support +@item Theme support for nick icons +@item Highly configurable +@item Multi-language scripting support (with DCOP) +@item Customizable command aliases +@item NickServ-aware log-on (for registered nicknames) +@item Smart logging +@item Traditional or enhanced-shell-style nick completion +@end itemize") + (license ;; GPL for programs, FDL for documentation + (list license:gpl2+ license:fdl1.2+)))) + +(define-public kopete + (package + (name "kopete") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/kopete-" version ".tar.xz")) + (sha256 + (base32 "088jya4v04l7r38pph1hxkr6ln4023s3ji3y8ipzdkalcx8hgr6l")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("kdoctools" ,kdoctools) + ("pkg-config" ,pkg-config))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("boost" ,boost) + ("expat" ,expat) + ("glib" ,glib) + ("gpgme" ,gpgme) + ("jsoncpp" ,jsoncpp) + ("kcmutils" ,kcmutils) + ("kconfig" ,kconfig) + ("kcontacts" ,kcontacts) + ("kcoreaddons" ,kcoreaddons) + ("kcrash" ,kcrash) + ("kdbusaddons" ,kdbusaddons) + ("kdelibs4support" ,kdelibs4support) + ("kdnssd" ,kdnssd) + ("kemoticons" ,kemoticons) + ("khtml" ,khtml) + ("ki18n" ,ki18n) + ("kidentitymanagement" ,kidentitymanagement) + ("kjs" ,kjs) + ;; TODO? kleopatra (additionally to libkleo) + ("knotifyconfig" ,knotifyconfig) + ("kparts" ,kparts) + ("kpimtextedit" ,kpimtextedit) + ("ktexteditor" ,ktexteditor) + ("kwallet" ,kwallet) + ;; TODO: Libgadu + ("libidn" ,libidn) + ("libkleo" ,libkleo) + ;; TODO: LibMeanwhile + ("libotr" ,libotr) + ("libsrtp" ,libsrtp) + ("libxml2" ,libxml2) + ("libxstl" ,libxslt) + ;; TODO: Mediastreamer + ("openssl", openssl) + ("ortp" ,ortp) + ("phonon" ,phonon) + ("qca" ,qca) + ("qgpgme" ,qgpgme) + ("qtbase" ,qtbase) + ("speex" ,speex) + ("v4l-utils" ,v4l-utils) + ;; TODO: Xmms + ("zlib" ,zlib))) + ;; TODO: enable video support + (home-page "https://kde.org/applications/internet/org.kde.kopete") + (synopsis "Instant messaging and chat application") + (description "Kopete is an instant messenger supporting Jabber/XMPP ,AIM, +ICQ, Gadu-Gadu, Novell GroupWise Messenger, and more. It is designed to be a +flexible and extensible multi-protocol system suitable for personal and +enterprise use. + +The goal of Kopete is to provide users with a single easy-to-use way to access +all of their instant messaging systems. The interface puts people first, and +is integrated with the system address book to let you access your contacts +from other KDE applications. + +This package is part of the KDE networking module.") + (license ;; GPL for programs, LGPL for libraries, FDL for documentation + (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+)))) + +(define-public krdc + (package + (name "krdc") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/krdc-" version ".tar.xz")) + (sha256 + (base32 "1p6g994whzjz9aarzrblh70xzs3jvygd1898qxgfymndlfxaxjyl")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("kdoctools" ,kdoctools))) + (inputs + `(("kbookmarks" ,kbookmarks) + ("freerdp" ,freerdp) + ("kcmutils" ,kcmutils) + ("kcompletion" ,kcompletion) + ("kconfig" ,kconfig) + ("kdnssd" ,kdnssd) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("knotifications" ,knotifications) + ("knotifyconfig" ,knotifyconfig) + ("knotifyconfig" ,knotifyconfig) + ("kwallet" ,kwallet) + ("kwidgetsaddons" ,kwidgetsaddons) + ("kwindowsystem" ,kwindowsystem) + ("kxmlgui" ,kxmlgui) + ("libssh2" ,libssh) + ;; TODO: libvnc{server,client} - is not tigervnc-{server,client} + ("oxygen-icons" ,oxygen-icons) ; default icon set + ("qtbase" ,qtbase))) + (home-page "https://kde.org/applications/internet/org.kde.krdc") + (synopsis "Remote desktop client") + (description "KRDC is a client application that allows you to view or even +control the desktop session on another machine that is running a compatible +server. VNC and RDP are supported. + +This package is part of the KDE networking module.") + (license ;; GPL for programs, LGPL for libraries, FDL for documentation + (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+)))) + +(define-public ktorrent + (package + (name "ktorrent") + (version "5.1.2") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/ktorrent/" version + "/ktorrent-" version ".tar.xz")) + (sha256 + (base32 "0kwd0npxfg4mdh7f3xadd2zjlqalpb1jxk61505qpcgcssijf534")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("kdoctools" ,kdoctools))) + (inputs + `(("boost" ,boost) + ("gmp" ,gmp) + ("karchive" ,karchive) + ("kcmutils" ,kcmutils) + ("kconfig" ,kconfig) + ("kconfigwidgets" ,kconfigwidgets) + ("kcoreaddons" ,kcoreaddons) + ("kcrash" ,kcrash) + ("kdbusaddons" ,kdbusaddons) + ("kdewebkit" ,kdewebkit) + ("kdnssd" ,kdnssd) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kio" ,kio) + ("knotifications" ,knotifications) + ("knotifyconfig" ,knotifyconfig) + ("kparts" ,kparts) + ("kplotting" ,kplotting) + ("kross", kross) + ("kwidgetsaddons" ,kwidgetsaddons) + ("kwindowsystem" ,kwindowsystem) + ("kxmlgui" ,kxmlgui) + ("libgcrypt" ,libgcrypt) + ("libktorrent" ,libktorrent) + ;; TODO: LibKWorkspace -> plasma-workspace? + ("oxygen-icons" ,oxygen-icons) ; default icon set + ("phonon" ,phonon) + ("qtbase" ,qtbase) + ("qtscript" ,qtscript) + ("qtwebkit" ,qtwebkit) + ("solid" ,solid) + ("syndication" ,syndication) + ("taglib" ,taglib))) + (home-page "https://kde.org/applications/internet/org.kde.ktorrent") + (synopsis "BitTorrent client") + (description "KTorrent is a BitTorrent application by KDE which allows you +to download files using the BitTorrent protocol. It enables you to run +multiple torrents at the same time and comes with extended features to make it +a full-featured client for BitTorrent.") + (license license:gpl2+))) + +(define-public libgravatar + (package + (name "libgravatar") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/libgravatar-" version ".tar.xz")) + (sha256 + (base32 "1yzq9d0hzqh1hdfpnh7fp44fyjk169gvm4pqgwg24ra00z8j2d3z")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (inputs + `(("kconfig" ,kconfig) + ("ki18n" ,ki18n) + ("kio" ,kio) + ("kpimcommon" ,kpimcommon) + ("ktextwidgets" ,ktextwidgets) + ("kwidgetsaddons" ,kwidgetsaddons) + ("qtbase" ,qtbase))) + (arguments + `(#:tests? #f)) ;; 2/7 tests fail (due to network issues?) + (home-page "https://cgit.kde.org/libgravatar.git") + (synopsis "Online avatar lookup library") + (description "This library allows to retrieve avatar images based on a +hash from a person's email address, as well as local caching to avoid +unnecessary network operations.") + (license ;; GPL for programs, LGPL for libraries + (list license:gpl2+ license:lgpl2.0+)))) + +(define-public libktorrent + (package + (name "libktorrent") + (version "2.1.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde//stable/ktorrent/" + (package-version ktorrent) + "/libktorrent-" version ".tar.xz")) + (sha256 + (base32 "0051zh8bb4p9wmcfn5ql987brhsaiw9880xdck7b5dm1a05mri2w")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (inputs + `(("boost" ,boost) + ("gmp" ,gmp) + ("karchive" ,karchive) + ("kcrash" ,kcrash) + ("ki18n" ,ki18n) + ("kio" ,kio) + ("libgcrypt" ,libgcrypt) + ("qca" ,qca) + ("qtbase" ,qtbase) + ("solid" ,solid))) + (home-page "https://cgit.kde.org/libktorrent.git") + (synopsis "BitTorrent protocol library for C++ / Qt 5 / KDE Frameworks") + (description "The KTorrent library supports connectivity to HTTP and UDP +trackers, mainline DHT and the new generation Micro Transport +Protocol (uTP). In addition, it provides many powerful BitTorrent network +features including but not limited to torrent downloading and seeding, torrent +creation and downloaded data verification, magnet links, advanced peer +management, IP blocking lists.") + (license license:gpl2+))) diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm new file mode 100644 index 0000000000..9d48475a17 --- /dev/null +++ b/gnu/packages/kde-pim.scm @@ -0,0 +1,1117 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2017, 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages kde-pim) + #:use-module (guix build-system qt) + #:use-module (guix download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix utils) + #:use-module (gnu packages) + #:use-module (gnu packages boost) + #:use-module (gnu packages cyrus-sasl) + #:use-module (gnu packages databases) + #:use-module (gnu packages documentation) + #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) + #:use-module (gnu packages gnupg) + #:use-module (gnu packages kde) + #:use-module (gnu packages kde-frameworks) + #:use-module (gnu packages openldap) + #:use-module (gnu packages qt) + #:use-module (gnu packages search) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages xml)) + +(define-public akonadi + (package + (name "akonadi") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/akonadi-" version ".tar.xz")) + (sha256 + (base32 "0v7f1049wjnqxhwxr1443wc2cfbdqmf15xcwjz3j1m0vgdva9pyg")) + (patches (search-patches + "akonadi-paths.patch" + "akonadi-timestamps.patch" + "akonadi-Revert-Make-installation-properly-relocatabl.patch")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("qttools" ,qttools) + ("shared-mime-info" ,shared-mime-info))) + (inputs + `(("boost" ,boost) + ("kconfig" ,kconfig) + ("kconfigwidgets" ,kconfigwidgets) + ("kcoreaddons" ,kcoreaddons) + ("kcrash" ,kcrash) + ("kdbusaddons" ,kdbusaddons) + ("kdesignerplugin" ,kdesignerplugin) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kio" ,kio) + ("kitemmodels" ,kitemmodels) + ("kitemviews" ,kitemviews) + ("kwidgetsaddons" ,kwidgetsaddons) + ("kwindowsystem" ,kwindowsystem) + ("kxmlgui" ,kxmlgui) + ("libxml2" ,libxml2) + ("libxslt" ,libxslt) + ;; Do NOT add mysql or postgresql to the inputs. Otherwise the binaries + ;; and wrapped files will refer to them, even if the user choices none + ;; of these. Executables are searched on $PATH then. + ("qtbase" ,qtbase) + ("sqlite" ,sqlite))) + (arguments + `(#:tests? #f ;; TODO 135/167 tests fail + #:configure-flags '("-DDATABASE_BACKEND=SQLITE") ; lightweight + #:modules ((ice-9 textual-ports) + ,@%qt-build-system-modules) + #:phases + (modify-phases (@ (guix build qt-build-system) %standard-phases) + (add-before 'configure 'add-definitions + (lambda _ + (let ((out (assoc-ref %outputs "out")) + (mysql (assoc-ref %build-inputs "mysql")) + (pgsql (assoc-ref %build-inputs "postgresql"))) + (with-output-to-file "CMakeLists.txt.new" + (lambda _ + (display + (string-append + "add_compile_definitions(\n" + "NIX_OUT=\"" out "\"\n" + ;; pin binaries for mysql backend + ")\n\n")) + (display + (call-with-input-file "CMakeLists.txt" + get-string-all)))) + (rename-file "CMakeLists.txt.new" "CMakeLists.txt")) + #t))))) + (home-page "https://kontact.kde.org/components/akonadi.html") + (synopsis "Extensible cross-desktop storage service for PIM") + (description "Akonadi is an extensible cross-desktop Personal Information +Management (PIM) storage service. It provides a common framework for +applications to store and access mail, calendars, addressbooks, and other PIM +data. + +This package contains the Akonadi PIM storage server and associated +programs.") + (license license:fdl1.2+))) + +(define-public akonadi-calendar + (package + (name "akonadi-calendar") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/akonadi-calendar-" version ".tar.xz")) + (sha256 + (base32 "1550h08i8rjnbd9yrnhd9v3v68ingrag2bdxrbid62qvam0n5ihy")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (inputs + `(("akonadi" ,akonadi) + ("akonadi-contacts" ,akonadi-contacts) + ("akonadi-mime" ,akonadi-mime) + ("boost" ,boost) + ("kcalendarcore" ,kcalendarcore) + ("kcalutils" ,kcalutils) + ("kcodecs" ,kcodecs) + ("kcontacts" ,kcontacts) + ("kdbusaddons" ,kdbusaddons) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kidentitymanagement" ,kidentitymanagement) + ("kio" ,kio) + ("kitemmodels" ,kitemmodels) + ("kmailtransport" ,kmailtransport) + ("kmime" ,kmime) + ("kpimtextedit" ,kpimtextedit) + ("ksmtp" ,ksmtp) + ("ktextwidgets" ,ktextwidgets) + ("kwallet" ,kwallet) + ("qtbase" ,qtbase))) + (arguments + `(#:tests? #f)) ;; TODO: 1/1 test fails + (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/akonadi/html/") + (synopsis "Library providing calendar helpers for Akonadi items") + (description "This library manages calendar specific actions for +collection and item views.") + (license license:lgpl2.0+))) + +(define-public akonadi-contacts + (package + (name "akonadi-contacts") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/akonadi-contacts-" version ".tar.xz")) + (sha256 + (base32 "1pw1s8c6dlcb103cw46p1ikvas3y8cwiwnfdny2jd3hr3rig4px9")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (inputs + `(("akonadi" ,akonadi) + ("boost" ,boost) + ("kauth" ,kauth) + ("kcodecs" ,kcodecs) + ("kcompletion" ,kcompletion) + ("kconfigwidgets" ,kconfigwidgets) + ("kcontacts" ,kcontacts) + ("kcoreaddons" ,kcoreaddons) + ("kdbusaddons" ,kdbusaddons) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kitemmodels" ,kitemmodels) + ("kitemviews" ,kitemviews) + ("kjobwidgets" ,kjobwidgets) + ("kmime" ,kmime) + ("kservice" ,kservice) + ("ktextwidgets" ,ktextwidgets) + ("kwidgetsaddons" ,kwidgetsaddons) + ("kxmlgui" ,kxmlgui) + ("prison" ,prison) + ("kio" ,kio) + ("qtbase" ,qtbase) + ("solid" ,solid) + ("sonnet" ,sonnet))) + (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/akonadi/html/") + (synopsis "Akonadi contacts access library") + (description "Akonadi Contacts is a library that effectively bridges the +type-agnostic API of the Akonadi client libraries and the domain-specific +KContacts library. It provides jobs, models and other helpers to make working +with contacts and addressbooks through Akonadi easier. + +The library provides a complex dialog for editing contacts and several models +to list and filter contacts.") + (license ;; GPL for programs, LGPL for libraries + (list license:gpl2+ license:lgpl2.0+)))) + +(define-public akonadi-mime + (package + (name "akonadi-mime") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/akonadi-mime-" version ".tar.xz")) + (sha256 + (base32 "03q3dnhzcgmgcqvijnwi4ikg0m1zad2l679bqnp051v27fvs4yg7")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("libxslt" ,libxslt) ;; xslt for generating interface descriptions + ("shared-mime-info" ,shared-mime-info))) + (inputs + `(("akonadi" ,akonadi) + ("boost", boost) + ("kcodecs" ,kcodecs) + ("kconfig" ,kconfig) + ("kconfigwidgets" ,kconfigwidgets) + ("kdbusaddons" ,kdbusaddons) + ("ki18n" ,ki18n) + ("kio" ,kio) + ("kitemmodels" ,kitemmodels) + ("kmime" ,kmime) + ("kwidgetsaddons" ,kwidgetsaddons) + ("kxmlgui" ,kxmlgui) + ("qtbase" ,qtbase))) + (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/akonadi/html/") + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'copy-desktop-file-early + (lambda _ + (let ((plugins-dir "/tmp/.local/share/akonadi/plugins/serializer")) + (mkdir-p plugins-dir) + (copy-file "serializers/akonadi_serializer_mail.desktop" + (string-append plugins-dir "/akonadi_serializer_mail.desktop"))) + #t)) + (add-before 'check 'check-setup + (lambda _ + (setenv "HOME" "/tmp") + #t))))) + (synopsis "Akonadi MIME handling library") + (description "Akonadi Mime is a library that effectively bridges the +type-agnostic API of the Akonadi client libraries and the domain-specific +KMime library. It provides jobs, models and other helpers to make working +with emails through Akonadi easier.") + (license ;; GPL for programs, LGPL for libraries + (list license:gpl2+ license:lgpl2.0+)))) + +(define-public akonadi-notes + (package + (name "akonadi-notes") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/akonadi-notes-" version ".tar.xz")) + (sha256 + (base32 "0r8vh11bfjzhspb5kp2d0kcgwqd2m5qpxpamiajzjq910f51sw3w")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (inputs + `(("akonadi" ,akonadi) + ("kcodecs" ,kcodecs) + ("ki18n" ,ki18n) + ("kmime" ,kmime) + ("qtbase" ,qtbase))) + (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/akonadi/html/") + (synopsis "Akonadi notes access library") + (description "Akonadi Notes is a library that effectively bridges the +type-agnostic API of the Akonadi client libraries and the domain-specific +KMime library. It provides a helper class for note attachments and for +wrapping notes into KMime::Message objects.") + (license ;; GPL for programs, LGPL for libraries + (list license:gpl2+ license:lgpl2.0+)))) + +(define-public akonadi-search + (package + (name "akonadi-search") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/akonadi-search-" version ".tar.xz")) + (sha256 + (base32 "16qzs2cs4nxwrpwcdgwry95qn6wmg8s1p4w3qajx1ahkgwmsh11s")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (inputs + `(("akonadi" ,akonadi) + ("akonadi-mime" ,akonadi-mime) + ("boost" ,boost) + ("kcalendarcore" ,kcalendarcore) + ("kcmutils" ,kcmutils) + ("kcontacts" ,kcontacts) + ("kcrash" ,kcrash) + ("kdbusaddons" ,kdbusaddons) + ("ki18n" ,ki18n) + ("kio" ,kio) + ("kitemmodels" ,kitemmodels) + ("kmime" ,kmime) + ("krunner" ,krunner) + ("kwindowsystem" ,kwindowsystem) + ("qtbase" ,qtbase) + ("xapian" ,xapian))) + (arguments + `(#:tests? #f)) ;; TODO: needs dbus + (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/akonadi/html/") + (synopsis "Akonadi search library") + (description "Xapian-based indexing and query infrastructure for +Akonadi.") + (license ;; GPL for programs, LGPL for libraries + (list license:gpl2+ license:lgpl2.0+)))) + +(define-public kalarmcal + (package + (name "kalarmcal") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/kalarmcal-" version ".tar.xz")) + (sha256 + (base32 "0w9qsx2gqwny2v4fsj4awn814s9b7yrxvqrawlick3r2kp4x1sgn")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (inputs + `(("akonadi", akonadi) + ("boost" ,boost) + ("kcalendarcore" ,kcalendarcore) + ("kcalutils" ,kcalutils) + ("kcompletion" ,kcompletion) + ("kconfig" ,kconfig) + ("kconfigwidgets" ,kconfigwidgets) + ("kcoreaddons" ,kcoreaddons) + ("kdbusaddons" ,kdbusaddons) + ("kholidays" ,kholidays) + ("ki18n" ,ki18n) + ("kidentitymanagement" ,kidentitymanagement) + ("kio" ,kio) + ("kitemmodels" ,kitemmodels) + ("kpimtextedit" ,kpimtextedit) + ("ktextwidgets" ,ktextwidgets) + ("kxmlgui" ,kxmlgui) + ("qtbase" ,qtbase))) + (arguments + `(#:tests? #f)) ;; TODO: TZ setup + (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/") + (synopsis "Library for handling kalarm calendar data") + (description "This library provides an API for KAlarm alarms.") + (license license:lgpl2.0+))) + +(define-public kcalutils + (package + (name "kcalutils") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/kcalutils-" version ".tar.xz")) + (sha256 + (base32 "1nlkik4qiciyh1slgpis3n5h9pks2ygdba9yq4s16nnmip4l45w2")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("libxml2" ,libxml2))) ;; xmllint required for tests + (inputs + `(("grantlee" ,grantlee) + ("kcalendarcore" ,kcalendarcore) + ("kcodecs" ,kcodecs) + ("kconfig" ,kconfig) + ("kconfigwidgets" ,kconfigwidgets) + ("kcoreaddons" ,kcoreaddons) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kidentitymanagement" ,kidentitymanagement) + ("kpimtextedit" ,kpimtextedit) + ("ktextwidgets" ,ktextwidgets) + ("kwidgetsaddons" ,kwidgetsaddons) + ("oxygen-icons" ,oxygen-icons) ; default icon set, required for tests + ("qtbase" ,qtbase))) + (arguments + `(#:tests? #f)) ;; TODO: seem to pull in some wrong theme + (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/") + (synopsis "Library with utility functions for the handling of calendar +data") + (description "This library provides a utility and user interface +functions for accessing calendar data using the kcalcore API.") + (license license:lgpl2.0+))) + +(define-public kdepim-apps-libs + (package + (name "kdepim-apps-libs") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/kdepim-apps-libs-" version ".tar.xz")) + (sha256 + (base32 "10xbzvp9cm5fpy4nxp38qm4vf0bycpq94bm4z2j4lw7ll1aq8irw")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (inputs + `(("akonadi" ,akonadi) + ("akonadi-contacts" ,akonadi-contacts) + ("boost" ,boost) + ("gpgme" ,gpgme) + ("grantlee" ,grantlee) + ("grantleetheme" ,grantleetheme) + ("kconfig" ,kconfig) + ("kconfigwidgets" ,kconfigwidgets) + ("kcontacts" ,kcontacts) + ("kcoreaddons" ,kcoreaddons) + ("kdbusaddons" ,kdbusaddons) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kimap" ,kimap) + ("kio" ,kio) + ("kitemmodels" ,kitemmodels) + ("kmime" ,kmime) + ("kpimcommon" ,kpimcommon) + ("kservice" ,kservice) + ("kwidgetsaddons" ,kwidgetsaddons) + ("libkleo" ,libkleo) + ("prison" ,prison) + ("qgpgme" ,qgpgme) + ("qtbase" ,qtbase))) + (home-page "https://cgit.kde.org/kdepim-apps-libs.git") + (synopsis "KDE PIM mail related libraries and data files") + (description "KDE PIM mail related libraries and data files.") + (license ;; GPL for programs, LGPL for libraries + (list license:gpl2+ license:lgpl2.0+)))) + +(define-public kgpg + (package + (name "kgpg") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/kgpg-" version ".tar.xz")) + (sha256 + (base32 "1dis7zv51a4lhx5l3wlwnhym8f79h8sibhhk97fkn8d7szdrmfw5")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("gnupg" ,gnupg) ;; TODO: Remove after gpgme uses fixed path + ("kdoctools" ,kdoctools))) + (inputs + `(("akonadi" ,akonadi) + ("akonadi-contacts" ,akonadi-contacts) + ("boost" ,boost) + ("gpgme" ,gpgme) + ("karchive" ,karchive) + ("kcodecs" ,kcodecs) + ("kcontacts" ,kcontacts) + ("kcoreaddons" ,kcoreaddons) + ("kcrash" ,kcrash) + ("kdbusaddons" ,kdbusaddons) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kio" ,kio) + ("kitemmodels" ,kitemmodels) + ("kjobwidgets" ,kjobwidgets) + ("knotifications" ,knotifications) + ("kservice" ,kservice) + ("ktextwidgets" ,ktextwidgets) + ("kwidgetsaddons" ,kwidgetsaddons) + ("kwindowsystem" ,kwindowsystem) + ("kxmlgui" ,kxmlgui) + ("oxygen-icons" ,oxygen-icons) ;; default icon set + ("qtbase" ,qtbase))) + (home-page "https://kde.org/applications/utilities/org.kde.kgpg") + (synopsis "Graphical front end for GNU Privacy Guard") + (description "Kgpg manages cryptographic keys for the GNU Privacy Guard, +and can encrypt, decrypt, sign, and verify files. It features a simple editor +for applying cryptography to short pieces of text, and can also quickly apply +cryptography to the contents of the clipboard.") + (license license:gpl2+))) + +(define-public kidentitymanagement + (package + (name "kidentitymanagement") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/kidentitymanagement-" version ".tar.xz")) + (sha256 + (base32 "0dqz49sp5hq44590rrxav8688aqlzsww4q4n55ksfy13nk9i5mbf")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (inputs + `(("kcodecs" ,kcodecs) + ("kcompletion" ,kcompletion) + ("kconfig" ,kconfig) + ("kcoreaddons" ,kcoreaddons) + ("kemoticons" ,kemoticons) + ("kiconthemes" ,kiconthemes) + ("kio" ,kio) + ("kpimtextedit" ,kpimtextedit) + ("ktextwidgets" ,ktextwidgets) + ("kxmlgui" ,kxmlgui) + ("qtbase" ,qtbase))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'set-home + (lambda _ + (setenv "HOME" "/tmp/dummy-home") ;; FIXME: what is this? + #t))))) + (home-page "https://kontact.kde.org/") + (synopsis "Library for shared identities between mail applications") + (description "Library for shared identities between mail applications.") + (license ;; GPL for programs, LGPL for libraries, FDL for documentation + (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+)))) + +(define-public kimap + (package + (name "kimap") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/kimap-" version ".tar.xz")) + (sha256 + (base32 "0l8hb2z82jzbwr12lw5fismwk1a3ca4dk966p1fxg4bibck8vjj6")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (inputs + `(("cyrus-sasl" ,cyrus-sasl) + ("kcoreaddons" ,kcoreaddons) + ("ki18n" ,ki18n) + ("kio" ,kio) + ("kmime" ,kmime) + ("qtbase" ,qtbase))) + (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/") + (synopsis "Library for handling IMAP") + (description "This library provides a job-based API for interacting with +an IMAP4rev1 server. It manages connections, encryption and parameter quoting +and encoding, but otherwise provides quite a low-level interface to the +protocol. This library does not implement an IMAP client; it merely makes it +easier to do so.") + (license ;; GPL for programs, LGPL for libraries + (list license:gpl2+ license:lgpl2.0+)))) + +(define-public kldap + (package + (name "kldap") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/kldap-" version ".tar.xz")) + (sha256 + (base32 "1blbnj8av6h168g14gyphyd9sz87af773b1qglmbkv5pzbzaanxn")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("kdoctools" ,kdoctools))) + (inputs + `(("ki18n" ,ki18n) + ("kio" ,kio) + ("kwidgetsaddons" ,kwidgetsaddons) + ("qtbase" ,qtbase))) + (propagated-inputs + `(("cyrus-sasl" ,cyrus-sasl) + ("openldap" ,openldap))) + (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/") + (synopsis "Library for accessing LDAP") + (description "This library provides an API for LDAP.") + (license license:lgpl2.0+))) + +(define-public kleopatra + (package + (name "kleopatra") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/kleopatra-" version ".tar.xz")) + (sha256 + (base32 "1bqwxdl91s2nai871vvhkmcc3simbnvr2i5m6dnl327bplzqgfa4")))) + (build-system qt-build-system) + (native-inputs + `(("dbus" ,dbus) + ("extra-cmake-modules" ,extra-cmake-modules) + ("gnupg" ,gnupg) ;; TODO: Remove after gpgme uses fixed path + ("kdoctools" ,kdoctools))) + (inputs + `(("boost" ,boost) + ("gpgme" ,gpgme) + ("kcmutils" ,kcmutils) + ("kcodecs" ,kcodecs) + ("kconfig" ,kconfig) + ("kconfigwidgets" ,kconfigwidgets) + ("kcoreaddons" ,kcoreaddons) + ("kcrash" ,kcrash) + ("kdbusaddons" ,kdbusaddons) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kitemmodels" ,kitemmodels) + ("kmime" ,kmime) + ("knotifications" ,knotifications) + ("ktextwidgets" ,ktextwidgets) + ("kwidgetsaddons" ,kwidgetsaddons) + ("kwindowsystem" ,kwindowsystem) + ("kxmlgui" ,kxmlgui) + ("libassuan" ,libassuan) + ("libkleo" ,libkleo) + ("oxygen-icons" ,oxygen-icons) ;; default icon set + ("qgpgme" ,qgpgme) + ("qtbase" ,qtbase))) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "dbus-launch" "ctest" ".") + #t))))) + (home-page "https://kde.org/applications/utilities/org.kde.kleopatra") + (synopsis "Certificate Manager and Unified Crypto GUI") + (description "Kleopatra is a certificate manager and a universal crypto +GUI. It supports managing X.509 and OpenPGP certificates in the GpgSM keybox +and retrieving certificates from LDAP servers.") + (license ;; GPL for programs, FDL for documentation + (list license:gpl2+ license:fdl1.2+)))) + +(define-public kmailimporter + (package + (name "kmailimporter") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/mailimporter-" version ".tar.xz")) + (sha256 + (base32 "0vmrgjz47f96crrbv0bhaz0abh2am4whhb294rfz02mvjghbzpzv")))) + (properties `((upstream-name . "mailimporter"))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (inputs + `(("akonadi" ,akonadi) + ("akonadi-mime" ,akonadi-mime) + ("boost" ,boost) + ("karchive" ,karchive) + ("kcompletion" ,kcompletion) + ("kconfig" ,kconfig) + ("kconfigwidgets" ,kconfigwidgets) + ("kcoreaddons" ,kcoreaddons) + ("kdbusaddons" ,kdbusaddons) + ("ki18n" ,ki18n) + ("kio" ,kio) + ("kitemmodels" ,kitemmodels) + ("kmime" ,kmime) + ("kxmlgui" ,kxmlgui) + ("libkdepim" ,libkdepim) + ("qtbase" ,qtbase))) + (home-page "https://cgit.kde.org/mailimporter.git") + (synopsis "KDE mail importer library") + (description "KDE mail importer library.") + (license ;; GPL for programs, LGPL for libraries + (list license:gpl2+ license:lgpl2.0+)))) + +(define-public kmailtransport + (package + (name "kmailtransport") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/kmailtransport-" version ".tar.xz")) + (sha256 + (base32 "04jdnqxbp4382vjxh06rrvsigbrygqfkw0fvbbjnjymp585mgkr4")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("kdoctools" ,kdoctools))) + (inputs + `(("akonadi" ,akonadi) + ("akonadi-mime" ,akonadi-mime) + ("boost" ,boost) + ("cyrus-sasl" ,cyrus-sasl) + ("kcalendarcore" ,kcalendarcore) + ("kcmutils" ,kcmutils) + ("kcontacts" ,kcontacts) + ("kdbusaddons" ,kdbusaddons) + ("kconfigwidgets" ,kconfigwidgets) + ("ki18n" ,ki18n) + ("kitemmodels", kitemmodels) + ("kio" ,kio) + ("kmime" ,kmime) + ("ksmtp" ,ksmtp) + ("ktextwidgets" ,ktextwidgets) + ("kwallet" ,kwallet) + ("libkgapi" ,libkgapi) + ("qtbase" ,qtbase))) + (arguments + `(#:tests? #f)) ;; TODO - 3/3 tests fail, require drkonqi + (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/") + (synopsis "Mail transport service library") + (description " This library provides an API and support code for managing +mail transport.") + (license license:lgpl2.0+))) + +(define-public kmbox + (package + (name "kmbox") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/kmbox-" version ".tar.xz")) + (sha256 + (base32 "13b5v1nx46k5ais3cms7yxrfi8p6xbljpkpg3f7v1asb6kshv7g2")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (inputs + `(("kcodecs" ,kcodecs) + ("kmime" ,kmime) + ("qtbase" ,qtbase))) + (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/") + (synopsis "Library for handling mbox mailboxes") + (description "A library for accessing mail storages in MBox format.") + (license license:lgpl2.0+ ))) + +(define-public kmime + (package + (name "kmime") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/kmime-" version ".tar.xz")) + (sha256 + (base32 "1pc00pwwrngsyr7ppvqwfgvcgy2wiqdbqxhv9xidn4dw9way2ng6")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (inputs + `(("kcodecs" ,kcodecs) + ("ki18n" ,ki18n) + ("qtbase" ,qtbase))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-test-case + (lambda _ + ;; This is curious: autotests/CMakeLists.txt sets LC_TIME=C, but + ;; the Qt locale returns different. See kmime commit 3a9651d26a. + (substitute* "autotests/dateformattertest.cpp" + (("(Today|Yesterday) 12:34:56" line day) + (string-append day " 12:34 PM"))) + #t))))) + (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/") + (synopsis "Library for handling MIME data") + (description "A library for MIME handling.") + (license license:lgpl2.0+))) + +(define-public kontactinterface + (package + (name "kontactinterface") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/kontactinterface-" version ".tar.xz")) + (sha256 + (base32 "1p0iw9i8cxh3jn7094wvxhlpc2sw52q8csfdgch1lf3dwhkpp0k7")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (inputs + `(("kcoreaddons" ,kcoreaddons) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kparts" ,kparts) + ("kwindowsystem" ,kwindowsystem) + ("kxmlgui" ,kxmlgui) + ("qtbase" ,qtbase))) + (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/") + (synopsis "Kontact interface library") + (description "Kontact Interface library.") + (license license:lgpl2.0+))) + +(define-public kpimcommon + (package + (name "kpimcommon") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/pimcommon-" version ".tar.xz")) + (sha256 + (base32 "1jl40ymq46yjn9va78hklgg91ikrfahf3w4jl5ziiqbivcl7r9kn")))) + (properties `((upstream-name . "pimcommon"))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("qttools" ,qttools))) + (inputs + `(("karchive" ,karchive) + ("akonadi" ,akonadi) + ("akonadi-contacts" ,akonadi-contacts) + ("akonadi-mime" ,akonadi-mime) + ("boost" ,boost) + ("grantlee" ,grantlee) + ;; TODO: ("kaccounts" ,kaccounts) + ("kcodecs" ,kcodecs) + ("kcompletion" ,kcompletion) + ("kconfig" ,kconfig) + ("kconfigwidgets" ,kconfigwidgets) + ("kcontacts" ,kcontacts) + ("kcoreaddons" ,kcoreaddons) + ("kdbusaddons" ,kdbusaddons) + ("kdesignerplugin" ,kdesignerplugin) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kimap" ,kimap) + ("kio" ,kio) + ("kirigami" ,kirigami) ;; run-time dependency + ("kitemmodels" ,kitemmodels) + ("kitemviews" ,kitemviews) + ("kjobwidgets" ,kjobwidgets) + ("kmime" ,kmime) + ("knewstuff" ,knewstuff) + ("kpimtextedit" ,kpimtextedit) + ("kservice" ,kservice) + ("ktextwidgets" ,ktextwidgets) + ("kwallet" ,kwallet) + ("kwidgetsaddons" ,kwidgetsaddons) + ("kwindowsystem" ,kwindowsystem) + ("kxmlgui" ,kxmlgui) + ("libkdepim" ,libkdepim) + ("libxslt" ,libxslt) + ("purpose" ,purpose) + ("qtbase" ,qtbase) + ("qtwebengine" ,qtwebengine))) + (arguments + `(#:tests? #f)) ;; TODO tests hang + (home-page "https://cgit.kde.org/pimcommon.git") + (synopsis "Common library for KDE PIM") + (description "Common library for KDE PIM.") + (license ;; GPL for programs, LGPL for libraries + (list license:gpl2+ license:lgpl2.0+)))) + +(define-public kpimtextedit + (package + (name "kpimtextedit") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/kpimtextedit-" version ".tar.xz")) + (sha256 + (base32 "1as48j5qfpj9pqjck1615nlpk4a850m7xxcyl41gx8biww027zvm")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("qttools" ,qttools))) + (inputs + `(("grantlee" ,grantlee) + ("kcodecs" ,kcodecs) + ("kconfigwidgets" ,kconfigwidgets) + ("kcoreaddons" ,kcoreaddons) + ("kdesignerplugin" ,kdesignerplugin) + ("kemoticons" ,kemoticons) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kio" ,kio) + ("ksyntaxhighlighting" ,ksyntaxhighlighting) + ("ktextwidgets" ,ktextwidgets) + ("kwidgetsaddons" ,kwidgetsaddons) + ("kxmlgui" ,kxmlgui) + ("qtbase" ,qtbase) + ("qtspeech", qtspeech) + ("sonnet" ,sonnet))) + (arguments + `(#:tests? #f)) ;; TODO - test suite hangs + (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/") + (synopsis "Library providing a textedit with PIM-specific features") + (description "A library for PIM-specific text editing utilities.") + (license ;; GPL for programs, LGPL for libraries, FDL for documentation + (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+)))) + +(define-public ksmtp + (package + (name "ksmtp") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/ksmtp-" version ".tar.xz")) + (sha256 + (base32 "1pd8mma3xbq83jkn76gqinn6xh9imaji0jrg3qzysf5rvjl8kcqn")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (inputs + `(("cyrus-sasl" ,cyrus-sasl) + ("kcodecs" ,kcodecs) + ("kconfig" ,kconfig) + ("kcoreaddons" ,kcoreaddons) + ("ki18n" ,ki18n) + ("kio" ,kio) + ("qtbase" ,qtbase))) + (arguments + `(#:tests? #f ;; TODO: does not find sasl mechs + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'Use-KDE_INSTALL_TARGETS_DEFAULT_ARGS-when-installing + (lambda _ + (substitute* "src/CMakeLists.txt" + (("^(install\\(.* )\\$\\{KF5_INSTALL_TARGETS_DEFAULT_ARGS\\}\\)" + _ prefix) + (string-append prefix "${KDE_INSTALL_TARGETS_DEFAULT_ARGS})"))) + #t))))) + (home-page "https://cgit.kde.org/ksmtp.git") + (synopsis "Library for sending email through an SMTP server") + (description "This library provides an API for handling SMTP +services. SMTP (Simple Mail Transfer Protocol) is the most prevalent Internet +standard protocols for e-mail transmission.") + (license license:lgpl2.0+))) + +(define-public ktnef + (package + (name "ktnef") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/ktnef-" version ".tar.xz")) + (sha256 + (base32 "0kgfhh46130hg1xq8km5gjzxa3b620j1zdrg54qivxa782smgbl6")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (inputs + `(("kcalendarcore" ,kcalendarcore) + ("kcalutils" ,kcalutils) + ("kcodecs" ,kcodecs) + ("kconfig" ,kconfig) + ("kcontacts" ,kcontacts) + ("kcoreaddons" ,kcoreaddons) + ("ki18n" ,ki18n) + ("qtbase" ,qtbase))) + (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/ktnef/html/") + (synopsis "Viewer for mail attachments using TNEF format") + (description "Viewer for mail attachments using TNEF format") + (license license:lgpl2.0+))) + +(define-public libkdepim + (package + (name "libkdepim") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/libkdepim-" version ".tar.xz")) + (sha256 + (base32 "0ndh97w1bfii4snx9yc0qazqk5jhx22s810kj656967xd1w4bj9n")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("qttools" ,qttools))) + (inputs + `(("akonadi" ,akonadi) + ("akonadi-contacts" ,akonadi-contacts) + ("akonadi-mime" ,akonadi-mime) + ("akonadi-search" ,akonadi-search) + ("boost" ,boost) + ("kcmutils" ,kcmutils) + ("kcodecs" ,kcodecs) + ("kcalendarcore" ,kcalendarcore) + ("kcompletion" ,kcompletion) + ("kconfig" ,kconfig) + ("kconfigwidgets" ,kconfigwidgets) + ("kcontacts" ,kcontacts) + ("kcoreaddons" ,kcoreaddons) + ("kdbusaddons" ,kdbusaddons) + ("kdesignerplugin" ,kdesignerplugin) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kio" ,kio) + ("kitemmodels" ,kitemmodels) + ("kitemviews" ,kitemviews) + ("kjobwidgets" ,kjobwidgets) + ("kldap" ,kldap) + ("kmime" ,kmime) + ("kwallet" ,kwallet) + ("kwidgetsaddons" ,kwidgetsaddons) + ("qtbase" ,qtbase))) + (home-page "https://cgit.kde.org/libkdepim.git") + (synopsis "Libraries for common kdepim apps") + (description "Libraries for common kdepim apps.") + (license ;; GPL for programs, LGPL for libraries + (list license:gpl2+ license:lgpl2.0+)))) + +(define-public libkgapi + (package + (name "libkgapi") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/libkgapi-" version ".tar.xz")) + (sha256 + (base32 "0z76b745n4hhjndrhv1w5acibia8x1frh78jx7bvxa72d8wphn08")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("qttools" ,qttools))) + (inputs + `(("cyrus-sasl" ,cyrus-sasl) + ("ki18n" ,ki18n) + ("kcontacts" ,kcontacts) + ("kcalendarcore" ,kcalendarcore) + ("kio" ,kio) + ("kwallet" ,kwallet) + ("kwindowsystem" ,kwindowsystem) + ("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative) + ("qtwebchannel" ,qtwebchannel) + ("qtwebengine" ,qtwebengine))) + (arguments + `(#:tests? #f)) ;; TODO 6/48 tests fail + (home-page "https://cgit.kde.org/libkgapi.git") + (synopsis "Library for accessing various Google services via their public +API") + (description "@code{LibKGAPI} is a C++ library that implements APIs for +various Google services.") + (license license:lgpl2.0+))) + +(define-public libkleo + (package + (name "libkleo") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/libkleo-" version ".tar.xz")) + (sha256 + (base32 "0vjp07j102mi20c4q2fdvkjc0skb9q7msxp64n76wy3cciv346jz")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("kdoctools" ,kdoctools) + ("qttools" ,qttools))) + (inputs + `(("boost" ,boost) + ("gpgme" ,gpgme) + ("kcodecs" ,kcodecs) + ("kcompletion" ,kcompletion) + ("kconfig" ,kconfig) + ("kcoreaddons" ,kcoreaddons) + ("kcrash" ,kcrash) + ("ki18n" ,ki18n) + ("kitemmodels" ,kitemmodels) + ("kwidgetsaddons" ,kwidgetsaddons) + ("kwindowsystem" ,kwindowsystem) + ("kpimtextedit" ,kpimtextedit) + ("qgpgme" ,qgpgme) + ("qtbase" ,qtbase))) + (home-page "https://cgit.kde.org/libkleo.git/") + (synopsis "KDE PIM cryptographic library") + (description "@code{libkleo} is a library for Kleopatra and other parts of +KDE using certificate-based crypto.") + (license ;; GPL for programs, LGPL for libraries + (list license:gpl2+ license:lgpl2.0+)))) diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm index e4360362db..a04b2f0279 100644 --- a/gnu/packages/kde-plasma.scm +++ b/gnu/packages/kde-plasma.scm @@ -25,6 +25,7 @@ #:use-module (guix download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system cmake) + #:use-module (guix build-system qt) #:use-module (gnu packages compression) #:use-module (gnu packages freedesktop) #:use-module (gnu packages glib) @@ -45,17 +46,12 @@ (sha256 (base32 "0rljpywpaqmar13jijphkpc9k1crma476j9my0d00hfrjil5xlnn")))) - (build-system cmake-build-system) + (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) (inputs `(("ki18n" ,ki18n) ("qtbase" ,qtbase))) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'check 'check-setup - (lambda _ (setenv "QT_QPA_PLATFORM" "offscreen") #t))))) (home-page "https://cgit.kde.org/kdecoration.git") (synopsis "Plugin based library to create window decorations") (description "KDecoration is a library to create window decorations. @@ -137,7 +133,7 @@ manager which re-parents a Client window to a window decoration frame.") name "-" version ".tar.xz")) (sha256 (base32 "0znxfqqyyij6i4dp95gf5g4vrhg4jsshgh2k13ldy294kby2mxw0")))) - (build-system cmake-build-system) + (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) ;; For testing. @@ -148,16 +144,7 @@ manager which re-parents a Client window to a window decoration frame.") ("qtbase" ,qtbase) ("qtx11extras" ,qtx11extras))) (arguments - '(#:tests? #f ; FIXME: 55% tests passed, 5 tests failed out of 11 - #:phases - (modify-phases %standard-phases - (add-before 'check 'pre-check - (lambda _ - ;; For the missing '/etc/machine-id'. - (setenv "DBUS_FATAL_WARNINGS" "0") - ;; Run the tests offscreen. - (setenv "QT_QPA_PLATFORM" "offscreen") - #t))))) + '(#:tests? #f)) ; FIXME: 55% tests passed, 5 tests failed out of 11 (home-page "https://community.kde.org/Solid/Projects/ScreenManagement") (synopsis "KDE's screen management software") (description "KScreen is the new screen management software for KDE Plasma @@ -199,7 +186,7 @@ basic needs and easy to configure for those who want special setups.") ("qtx11extras" ,qtx11extras) ("plasma" ,plasma-framework) ("zlib" ,zlib))) - (build-system cmake-build-system) + (build-system qt-build-system) (arguments `(#:configure-flags `(,(string-append "-DKDE_INSTALL_DATADIR=" @@ -212,10 +199,6 @@ basic needs and easy to configure for those who want special setups.") ;; KF5AuthConfig.cmake.in contains this already. (substitute* "processcore/CMakeLists.txt" (("KAUTH_HELPER_INSTALL_DIR") "KDE_INSTALL_LIBEXECDIR")))) - (add-before 'check 'check-setup - (lambda _ - ;; make Qt render "offscreen", required for tests - (setenv "QT_QPA_PLATFORM" "offscreen"))) (replace 'check (lambda _ ;; TODO: Fix this failing test-case diff --git a/gnu/packages/kde-systemtools.scm b/gnu/packages/kde-systemtools.scm new file mode 100644 index 0000000000..682a5f583c --- /dev/null +++ b/gnu/packages/kde-systemtools.scm @@ -0,0 +1,312 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2017, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages kde-systemtools) + #:use-module (guix build-system qt) + #:use-module (guix download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix utils) + #:use-module (gnu packages) + #:use-module (gnu packages compression) + #:use-module (gnu packages kde) + #:use-module (gnu packages kde-frameworks) + #:use-module (gnu packages linux) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages qt) + #:use-module (gnu packages ruby) + #:use-module (gnu packages search) + #:use-module (gnu packages vnc) + #:use-module (gnu packages xml) + #:use-module (gnu packages xorg)) + +(define-public dolphin + (package + (name "dolphin") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/dolphin-" version ".tar.xz")) + (sha256 + (base32 "0klxyvcj1bmzpsyahj9kq3smvwzww30pjk5c90j6jpf14hizawfy")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("kdoctools" ,kdoctools) + ("ruby" ,ruby) + ("ruby-test-unit" ,ruby-test-unit))) + (inputs + `(("baloo" ,baloo) + ("baloo-widgets" ,baloo-widgets) + ("kactivities" ,kactivities) + ("kbookmarks" ,kbookmarks) + ("kcmutils" ,kcmutils) + ("kcompletion" ,kcompletion) + ("kconfig" ,kconfig) + ("kcoreaddons" ,kcoreaddons) + ("kcrash" ,kcrash) + ("kdbusaddons" ,kdbusaddons) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kinit" ,kinit) + ("kio" ,kio) + ("knewstuff" ,knewstuff) + ("knotifications" ,knotifications) + ("kparts" ,kparts) + ("ktextwidgets" ,ktextwidgets) + ("kwindowsystem" ,kwindowsystem) + ("oxygen-icons" ,oxygen-icons) ;; default icon set + ("phonon" ,phonon) + ("qtbase" ,qtbase) + ("solid" ,solid))) + (arguments + `(#:tests? #f)) ;; TODO: 4/15 tests fail even with offscreen + (home-page "https://kde.org/applications/system/org.kde.dolphin") + (synopsis "File manager for KDE") + (description "Dolphin is a file manager for KDE focusing on usability. +The main features of Dolphin are: +@itemize +@item Navigation bar for URLs, which allows to navigate quickly + through the file hierarchy. +@item View properties are remembered for each folder. +@item Split of views is supported. +@item Network transparency. +@item Undo/redo functionality. +@item Renaming of a variable number of selected items in one step. +@end itemize") + (license ;; GPL for programs, FDL for documentation + (list license:gpl2+ license:fdl1.2+)))) + +(define-public dolphin-plugins + (package + (name "dolphin-plugins") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/dolphin-plugins-" version ".tar.xz")) + (sha256 + (base32 "0m9sl5fybk60h7r91a5qfxvwzksg2kxn1bc2ygrr8klm2pv0x1l2")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (inputs + `(("dolphin" ,dolphin) + ("ki18n" ,ki18n) + ("kio" ,kio) + ("ktexteditor" ,ktexteditor) + ("kxmlgui" ,kxmlgui) + ("oxygen-icons" ,oxygen-icons) ;; default icon set + ("qtbase" ,qtbase))) + (home-page "http://www.kde.org/") + (synopsis "VCS-Plugins for Dolphin") + (description "This package contains plugins that offer integration in +Dolphin with the version control systems: Bzr, Git, Mercurial, Subversion.") + (license license:gpl2+))) + +(define-public khelpcenter + (package + (name "khelpcenter") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/khelpcenter-" version ".tar.xz")) + (sha256 + (base32 "0ympq1qm5h14mw18wry7l02ndg1f5kddwkf5bliip6vk2vxiff50")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("kdoctools" ,kdoctools))) + (inputs + `(("grantlee" ,grantlee) + ("karchive" ,karchive) + ("kbookmarks" ,kbookmarks) + ("kcodecs" ,kcodecs) + ("kconfig" ,kconfig) + ("kcoreaddons" ,kcoreaddons) + ("kdbusaddons" ,kdbusaddons) + ("khtml" ,khtml) + ("ki18n" ,ki18n) + ("kinit" ,kinit) + ("kio" ,kio) + ("kjs" ,kjs) + ("kparts" ,kparts) + ("kservice" ,kservice) + ("kwindowsystem" ,kwindowsystem) + ("libxml2" ,libxml2) + ("oxygen-icons" ,oxygen-icons) ;; default icon set + ("qtbase" ,qtbase) + ("xapian" ,xapian))) + (arguments + `(#:tests? #f)) ;; 1/1 test fails + (home-page "https://kde.org/applications/system/org.kde.Help") + (synopsis "KDE documentation viewer") + (description "KDE documentation viewer") + (license license:gpl2+))) + +(define-public konsole + (package + (name "konsole") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/konsole-" version ".tar.xz")) + (sha256 + (base32 "09bhgqjnqlpxkkgdpn35pvj747ab7waz10zalvpwdpgqkw811iic")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("kdoctools" ,kdoctools))) + (inputs + `(("kbookmarks" ,kbookmarks) + ("kcompletion" ,kcompletion) + ("kconfig" ,kconfig) + ("kconfigwidgets" ,kconfigwidgets) + ("kcoreaddons" ,kcoreaddons) + ("kcrash" ,kcrash) + ("kdbusaddons" ,kdbusaddons) + ("kguiaddons" ,kguiaddons) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kinit" ,kinit) + ("kio" ,kio) + ("knewstuff" ,knewstuff) + ("kglobalaccel" ,kglobalaccel) + ("knotifications" ,knotifications) + ("knotifyconfig" ,knotifyconfig) + ("kparts" ,kparts) + ("kpty" ,kpty) + ("kservice" ,kservice) + ("ktextwidgets" ,ktextwidgets) + ("kwidgetsaddons" ,kwidgetsaddons) + ("kwindowsystem" ,kwindowsystem) + ("kxmlgui" ,kxmlgui) + ("oxygen-icons" ,oxygen-icons) ;; default icon set + ("qtbase" ,qtbase) + ("qtscript" ,qtscript))) + (arguments + `(#:tests? #f)) ;; TODO: 2/15 tests fail even with HOME, offscreen, SHELL, debus + (home-page "http://www.kde.org/") + (synopsis "Terminal emulator similar for KDE") + (description "Konsole is a terminal emulator, similar to xterm, built on +the KDE Platform. It can contain multiple terminal sessions inside one window +using detachable tabs. Konsole supports customizable schemes, saved sessions, +output monitoring and more. + +This package is part of the KDE base applications module.") + (license ;; GPL for programs, LGPL for libraries, FDL for documentation + (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+)))) + +(define-public krfb + (package + (name "krfb") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/krfb-" version ".tar.xz")) + (sha256 + (base32 "079f4jlmd69a5nppmn7khsxrnswlfbdzjni0cbixwlcij05y2267")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("pkg-config" ,pkg-config) + ("kdoctools" ,kdoctools))) + (inputs + `(("kcompletion" ,kcompletion) + ("kconfig" ,kconfig) + ("kcoreaddons" ,kcoreaddons) + ("kcrash" ,kcrash) + ("kdbusaddons" ,kdbusaddons) + ("kdnssd" ,kdnssd) + ("ki18n" ,ki18n) + ("knotifications" ,knotifications) + ("kwallet" ,kwallet) + ("kwidgetsaddons" ,kwidgetsaddons) + ("kwindowsystem" ,kwindowsystem) + ("kxmlgui" ,kxmlgui) + ("libvnc" ,libvnc) + ("libxcb" ,libxcb) + ("libxtst" ,libxtst) + ("oxygen-icons" ,oxygen-icons) ;; default icon set + ("pipewire" ,pipewire) + ("qtbase" ,qtbase) + ("qtx11extras" ,qtx11extras) + ("xcb-util-image" ,xcb-util-image) + ("zlib" ,zlib))) + (home-page "https://kde.org/applications/internet/org.kde.krfb") + (synopsis "Desktop Sharing utility") + (description "KDE Desktop Sharing is a server application that allows you +to share your current session with a user on another machine. The desktop +session can be viewed or even controlled remotely by any VNC or RFB client, +such as the KDE Remote Desktop Connection client. + +KDE Desktop Sharing can restrict access to only users who are explicitly +invited, and will ask for confirmation when a user attempts to connect. + +This package is part of the KDE networking module.") + (license ;; GPL for programs, LGPL for libraries, FDL for documentation + (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+)))) + +(define-public ksystemlog + (package + (name "ksystemlog") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/ksystemlog-" version ".tar.xz")) + (sha256 + (base32 "079r2xnj168y9kz37rhxr3rcwh6fksljsj1ihmi7f7a8wmdabz4p")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("kdoctools" ,kdoctools))) + (inputs + ;; Not including Journald since this is not used in guix + `(("karchive" ,karchive) + ("kcompletion" ,kcompletion) + ("kconfig" ,kconfig) + ("kcoreaddons" ,kcoreaddons) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kio" ,kio) + ("kitemviews" ,kitemviews) + ("ktextwidgets" ,ktextwidgets) + ("kwidgetsaddons" ,kwidgetsaddons) + ("kxmlgui" ,kxmlgui) + ("oxygen-icons" ,oxygen-icons) ;; default icon set + ("qtbase" ,qtbase))) + (home-page "https://kde.org/applications/system/org.kde.ksystemlog") + (synopsis "System log viewer") + (description "This program is developed for being used by beginner users, +which don't know how to find information about their Linux system, and how the +log files are in their computer. But it is also designed for advanced users, +who want to quickly see problems occuring on their server. + +This package is part of the KDE administration module.") + (license license:gpl2+))) diff --git a/gnu/packages/kde-utils.scm b/gnu/packages/kde-utils.scm index 9005b5014a..38bdfbfaba 100644 --- a/gnu/packages/kde-utils.scm +++ b/gnu/packages/kde-utils.scm @@ -233,14 +233,6 @@ sentences to be re-spoken.") ("kxmlgui" ,kxmlgui) ("oxygen-icons" ,oxygen-icons) ;; default icon set ("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://kde.org/applications/utilities/org.kde.kronometer") (synopsis "Simple stopwatch application") (description "Kronometer is a stopwatch application. It features the @@ -399,14 +391,6 @@ redone.") ("kxmlgui" ,kxmlgui) ("oxygen-icons" ,oxygen-icons) ;; default icon set ("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://kde.org/applications/utilities/org.kde.rsibreak") (synopsis "Assists in the Recovery and Prevention of Repetitive Strain Injury") diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index bb5c25014e..7a689c9b29 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -67,6 +67,39 @@ #:use-module (gnu packages xml) #:use-module (gnu packages xorg)) +(define-public baloo-widgets + (package + (name "baloo-widgets") + (version "19.08.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/baloo-widgets-" version ".tar.xz")) + (sha256 + (base32 "0bba8dgxd7rcjji809kwnw78hl1nb5ssh2ir4k4b0wvx395jifgd")))) + (build-system qt-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (inputs + `(("baloo" ,baloo) + ("kconfig" ,kconfig) + ("ki18n" ,ki18n) + ("kio" ,kio) + ("qtbase" ,qtbase))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'check-setup + (lambda _ + (setenv "QT_QPA_PLATFORM" "offscreen") + #t))))) + (home-page "https://community.kde.org/Baloo") + (synopsis "Wigets for use with Baloo") + (description "Baloo is a framework for searching and managing metadata. +This package contains GUI widgets for baloo.") + (license license:lgpl2.0+))) + (define-public grantleetheme (package (name "grantleetheme") @@ -89,13 +122,6 @@ ("kiconthemes" ,kiconthemes) ("knewstuff" ,knewstuff) ("qtbase" ,qtbase))) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'check 'check-setup - (lambda _ - (setenv "QT_QPA_PLATFORM" "offscreen") - #t))))) (home-page "https://cgit.kde.org/grantleetheme.git") (synopsis "Library providing Grantlee theme support") (description "This library provides Grantlee theme support.") @@ -472,7 +498,7 @@ cards.") ("kwidgetsaddons" ,kwidgetsaddons) ("qtbase" ,qtbase) ("qca" ,qca) - ("util-linux" ,util-linux))) + ("util-linux" ,util-linux "lib"))) (home-page "https://community.kde.org/Frameworks") (synopsis "Library for managing partitions") (description "Library for managing partitions.") @@ -521,13 +547,7 @@ different notification systems.") (build-system qt-build-system) (arguments `(#:configure-flags '("-DBUILD_TESTING=ON") - #:tests? #f ; tests fail hard in our build environment - #:phases - (modify-phases %standard-phases - (add-before 'check 'check-setup - (lambda _ - (setenv "QT_QPA_PLATFORM" "offscreen") - #t))))) + #:tests? #f)) ; tests fail hard in our build environment (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) ("kdoctools" ,kdoctools) @@ -644,7 +664,7 @@ Python, PHP, and Perl.") "/src/libkdegames-" version ".tar.xz")) (sha256 (base32 "12dvkmjgbi8dp9y55zmx1pw3zr2i374c4vn3mfn9r31bf06dr701")))) - (build-system cmake-build-system) + (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) (inputs @@ -674,14 +694,6 @@ Python, PHP, and Perl.") ("qtbase" ,qtbase) ("qtdeclarative" ,qtdeclarative) ("qtsvg" ,qtsvg))) - (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://games.kde.org/") (synopsis "Runtime library for kdegames") (description "Runtime library for kdegames") diff --git a/gnu/packages/kerberos.scm b/gnu/packages/kerberos.scm index 1253a58546..2b8ebbac77 100644 --- a/gnu/packages/kerberos.scm +++ b/gnu/packages/kerberos.scm @@ -5,9 +5,10 @@ ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2012, 2013 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2012, 2017 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com> +;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -49,7 +50,7 @@ (define-public mit-krb5 (package (name "mit-krb5") - (version "1.17") + (version "1.17.1") (source (origin (method url-fetch) (uri (list @@ -61,16 +62,30 @@ "/krb5-" version ".tar.gz"))) (sha256 (base32 - "1xc1ly09697b7g2vngvx76szjqy9769kpgn27lnp1r9xln224vjs")))) + "10dimzcdzk9s79291qb4s3kwmbpb8bvppa6k6873wxxa5vndf1ip")))) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) ("perl" ,perl))) (arguments `(;; XXX: On 32-bit systems, 'kdb5_util' hangs on an fcntl/F_SETLKW call - ;; while running the tests in 'src/tests'. - #:tests? ,(string=? (%current-system) "x86_64-linux") + ;; while running the tests in 'src/tests'. Also disable tests when + ;; cross-compiling. + #:tests? ,(and (not (%current-target-system)) + (string=? (%current-system) "x86_64-linux")) + ,@(if (%current-target-system) + '(#:configure-flags + (list "--localstatedir=/var" + "krb5_cv_attr_constructor_destructor=yes" + "ac_cv_func_regcomp=yes" + "ac_cv_printf_positional=yes" + "ac_cv_file__etc_environment=yes" + "ac_cv_file__etc_TIMEZONE=no") + #:make-flags + (list "CFLAGS+=-DDESTRUCTOR_ATTR_WORKS=1")) + '(#:configure-flags + (list "--localstatedir=/var"))) #:phases (modify-phases %standard-phases (add-after 'unpack 'enter-source-directory @@ -78,8 +93,8 @@ (chdir "src") #t)) (add-before 'check 'pre-check - (lambda* (#:key inputs #:allow-other-keys) - (let ((perl (assoc-ref inputs "perl"))) + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (let ((perl (assoc-ref (or native-inputs inputs) "perl"))) (substitute* "plugins/kdb/db2/libdb2/test/run.test" (("/bin/cat") (string-append perl "/bin/perl")) (("D/bin/sh") (string-append "D" (which "sh"))) diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index 23afd138a3..c74d4e0532 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -121,7 +121,7 @@ (string-append out "/lib")) #t)))))) (inputs - `(("util-linux" ,util-linux))) + `(("libuuid" ,util-linux "lib"))) (synopsis "Lightweight universal identifier library") (description "CrossGuid is a minimal GUID/UUID generator library for C++.") @@ -419,7 +419,7 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.") ("libcdio" ,libcdio) ("libdrm" ,libdrm) ("libgcrypt" ,libgcrypt) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libltdl" ,libltdl) ("libmad" ,libmad) ("libmicrohttpd" ,libmicrohttpd) diff --git a/gnu/packages/libbsd.scm b/gnu/packages/libbsd.scm index a616de70bd..16a7e8fd89 100644 --- a/gnu/packages/libbsd.scm +++ b/gnu/packages/libbsd.scm @@ -25,15 +25,17 @@ (define-public libbsd (package (name "libbsd") - (version "0.9.1") + (version "0.10.0") (source (origin (method url-fetch) (uri (string-append "https://libbsd.freedesktop.org/releases/" "libbsd-" version ".tar.xz")) (sha256 (base32 - "1957w2wi7iqar978qlfsm220dwywnrh5m58nrnn9zmi74ds3bn2n")))) + "11x8q45jvjvf2dvgclds64mscyg10lva33qinf2hwgc84v3svf1l")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (synopsis "Utility functions from BSD systems") (description "This library provides useful functions commonly found on BSD systems, and lacking on others like GNU systems, thus making it easier to port diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm index 465ed95eb2..4a0dc052d8 100644 --- a/gnu/packages/libevent.scm +++ b/gnu/packages/libevent.scm @@ -75,7 +75,7 @@ loop.") (define-public libev (package (name "libev") - (version "4.25") + (version "4.31") (source (origin (method url-fetch) (uri (string-append "http://dist.schmorp.de/libev/Attic/libev-" @@ -83,8 +83,10 @@ loop.") ".tar.gz")) (sha256 (base32 - "1295q0lkkbrlpd5dl5i48bh1rm8mjzh9y795jlvjz3bp4wf7wxbq")))) + "0nkfqv69wfyy2bpga4d53iqydycpik8jp8x6q70353hia8mmv1gd")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (home-page "http://software.schmorp.de/pkg/libev.html") (synopsis "Event loop loosely modelled after libevent") (description @@ -99,17 +101,18 @@ limited support for fork events.") (define-public libuv (package (name "libuv") - (version "1.30.1") + (version "1.34.2") (source (origin (method url-fetch) (uri (string-append "https://dist.libuv.org/dist/v" version "/libuv-v" version ".tar.gz")) (sha256 (base32 - "12s7ifwgbfxblhv46inqa8c2lsnl8cgmvd37y4a4248xhkx1d0s6")))) + "0inzk8qpw78im3fiazrc54qi1gcapbs8dhf0hk3kwpzg0i2kpnb5")))) (build-system gnu-build-system) (arguments - '(;; XXX: Some tests want /dev/tty, attempt to make connections, etc. + '(#:configure-flags '("--disable-static") + ;; XXX: Some tests want /dev/tty, attempt to make connections, etc. #:tests? #f)) (native-inputs `(("autoconf" ,autoconf-wrapper) ("automake" ,automake) diff --git a/gnu/packages/libffi.scm b/gnu/packages/libffi.scm index b61dbc8657..b0098389c0 100644 --- a/gnu/packages/libffi.scm +++ b/gnu/packages/libffi.scm @@ -41,7 +41,7 @@ (define-public libffi (package (name "libffi") - (version "3.2.1") + (version "3.3") (source (origin (method url-fetch) (uri @@ -49,21 +49,12 @@ name "-" version ".tar.gz")) (sha256 (base32 - "0dya49bnhianl0r65m65xndz6ls2jn1xngyn72gd28ls3n7bnvnh")) - (patches (search-patches "libffi-3.2.1-complex-alpha.patch")))) + "0mi0cpf8aa40ljjmzxb7im6dbj45bb0kllcd09xgmp834y9agyvj")))) (build-system gnu-build-system) (arguments `(;; Prevent the build system from passing -march and -mtune to the ;; compiler. See "ax_cc_maxopt.m4" and "ax_gcc_archflag.m4". - #:configure-flags '("--enable-portable-binary" "--without-gcc-arch") - #:phases - (modify-phases %standard-phases - (add-after 'install 'post-install - (lambda* (#:key outputs #:allow-other-keys) - (define out (assoc-ref outputs "out")) - (symlink (string-append out "/lib/libffi-3.2.1/include") - (string-append out "/include")) - #t))))) + #:configure-flags '("--enable-portable-binary" "--without-gcc-arch"))) (outputs '("out" "debug")) (synopsis "Foreign function call interface library") (description @@ -85,14 +76,13 @@ conversions for values passed between the two languages.") (define-public python-cffi (package (name "python-cffi") - (version "1.11.5") + (version "1.13.2") (source (origin (method url-fetch) (uri (pypi-uri "cffi" version)) (sha256 - (base32 "1x3lrj928dcxx1k8k9gf3s4s3jwvzv8mc3kkyg1g7c3a1sc1f3z9")) - (patches (search-patches "python-cffi-x87-stack-clean.patch")))) + (base32 "0iikq5rn9a405n94c7s2j6kq3jv5qs9q4xyik8657b2py27ix6jr")))) (build-system python-build-system) (inputs `(("libffi" ,libffi))) @@ -125,7 +115,7 @@ conversions for values passed between the two languages.") "compiler_so='gcc',linker_exe='gcc'," "linker_so='gcc -shared')"))) (substitute* "testing/cffi0/test_ownlib.py" - (("'cc testownlib") "'gcc testownlib")) + (("\"cc testownlib") "\"gcc testownlib")) (invoke "py.test" "-v" "c/" "testing/") #t)) (add-before 'check 'patch-paths-of-dynamically-loaded-libraries @@ -151,14 +141,7 @@ conversions for values passed between the two languages.") (substitute* "c/test_c.py" (("find_and_load_library\\(['\"]{1}c['\"]{1}") (format #f "find_and_load_library('~a'" libc))) - #t))) - (add-before 'check 'disable-failing-test - ;; This is assumed to be a libffi issue: - ;; https://bitbucket.org/cffi/cffi/issues/312/tests-failed-with-armv8 - (lambda _ - (substitute* "testing/cffi0/test_ownlib.py" - (("ret.left") "ownlib.left")) - #t))))) + #t)))))) (home-page "https://cffi.readthedocs.io/") (synopsis "Foreign function interface for Python") (description "Foreign Function Interface for Python calling C code.") diff --git a/gnu/packages/libidn.scm b/gnu/packages/libidn.scm index ea9ce70dfb..8731ed3f83 100644 --- a/gnu/packages/libidn.scm +++ b/gnu/packages/libidn.scm @@ -59,14 +59,14 @@ Java libraries.") (define-public libidn2 (package (name "libidn2") - (version "2.2.0") + (version "2.3.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libidn/" name "-" version ".tar.lz")) (sha256 (base32 - "1a5cv79q6b719jv4fpwjl3r0mmx9qcpla98v9dk64cgxn8f8di10")))) + "14yw4w37ya6rcqa7h6p44x6711dwgq2j22xg6k79ybbf04sj88kb")))) (native-inputs `(("lzip" ,lzip))) (inputs diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 93474dbdbf..fe0f3e6382 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -481,6 +481,17 @@ library primarily intended for language guessing.") (sha256 (base32 "1b1lvqh68rwij1yvmxy02hsmh7i74ma5767mk8mg5nx6chajshhf")))) (build-system gnu-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-before 'build 'adjust-for-ICU-65 + (lambda _ + ;; Fix build with ICU 65 and later. Taken from this + ;; upstream commit, remove for libfreehand > 0.1.2: + ;; https://gerrit.libreoffice.org/#/c/80224/ + (substitute* "src/lib/libfreehand_utils.cpp" + (("U16_NEXT.*" all) + (string-append all ";\n"))) + #t))))) (native-inputs `(("cppunit" ,cppunit) ("doxygen" ,doxygen) diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm index abf11400e3..1a677a0fb9 100644 --- a/gnu/packages/libusb.scm +++ b/gnu/packages/libusb.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2017 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org> +;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -364,6 +365,25 @@ connections from and to iOS devices by connecting to a socket provided by a @code{usbmuxd} daemon.") (license license:lgpl2.1+))) +;; These patches are needed to build with Python 3.8. +(define %libimobiledevice-patches + (list (origin + (method url-fetch) + (uri (string-append "https://github.com/libimobiledevice/libimobiledevice" + "/commit/1ff3448d2e27f1bac8d2f0af8b8e952854860278.patch")) + (file-name "libimobiledevice-python-config.patch") + (sha256 + (base32 + "1mkwhp8vvhajij29jk3w4rkgcfh8d8waf908drh3076k70hb6i8y"))) + (origin + (method url-fetch) + (uri (string-append "https://github.com/libimobiledevice/libimobiledevice" + "/commit/eea4f1be9107c8ab621fd71460e47d0d38e55d71.patch")) + (file-name "libimobiledevice-python-3.8-compat.patch") + (sha256 + (base32 + "1zz8v7kgwyq5ck1qp03l29pcmljygnjwls9d6q28nv5pkwa6848w"))))) + (define-public libimobiledevice (package (name "libimobiledevice") @@ -372,17 +392,19 @@ connections from and to iOS devices by connecting to a socket provided by a (method url-fetch) (uri (string-append "https://www.libimobiledevice.org/downloads/" "libimobiledevice-" version ".tar.bz2")) + ;; Note: Remove the 'force-bootstrap' phase and the autoconf + ;; inputs below when removing these patches. + (patches %libimobiledevice-patches) (sha256 (base32 "0dqhy4qwj30mw8pwckvjmgnj1qqrh6p8c6jknmhvylshhzh0ssvq")))) (build-system gnu-build-system) (arguments - `(#:configure-flags - (list (string-append "PYTHON_LDFLAGS=-L" - (assoc-ref %build-inputs "python") - "/lib -lpython" - ,(version-major+minor (package-version python)) - "m")))) + `(#:phases (modify-phases %standard-phases + (add-before 'bootstrap 'force-bootstrap + (lambda _ + (delete-file "configure") + #t))))) (propagated-inputs `(("openssl" ,openssl-1.0) ("libplist" ,libplist) @@ -392,6 +414,10 @@ connections from and to iOS devices by connecting to a socket provided by a (native-inputs `(("pkg-config" ,pkg-config) ("python-cython" ,python-cython) + + ;; These are required because we patch and bootstrap the build system. + ("autoconf" ,autoconf) + ("automake" ,automake) ("libtool" ,libtool))) (home-page "https://www.libimobiledevice.org/") (synopsis "Protocol library and tools to communicate with Apple devices") diff --git a/gnu/packages/lighting.scm b/gnu/packages/lighting.scm index b91f5c8834..18110420de 100644 --- a/gnu/packages/lighting.scm +++ b/gnu/packages/lighting.scm @@ -57,7 +57,7 @@ `(("libftdi" ,libftdi) ("libmicrohttpd" ,libmicrohttpd) ("libusb" ,libusb) - ("libuuid" ,util-linux) + ("libuuid" ,util-linux "lib") ("zlib" ,zlib))) (propagated-inputs ;; Ola 0.10.5 only supports protobuf 2.x, and building it with 3.x breaks. diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 048aeac512..b3f46c0305 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -22,7 +22,7 @@ ;;; Copyright © 2017, 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.com> ;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com> -;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> +;;; Copyright © 2017, 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017 nee <nee-git@hidamari.blue> @@ -60,7 +60,6 @@ #:use-module (gnu packages acl) #:use-module (gnu packages admin) #:use-module (gnu packages algebra) - #:use-module (gnu packages attr) #:use-module (gnu packages audio) #:use-module (gnu packages autotools) #:use-module (gnu packages backup) @@ -1105,7 +1104,7 @@ providing the system administrator with some help in common tasks.") (define-public util-linux (package (name "util-linux") - (version "2.34") + (version "2.35.1") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/utils/" @@ -1113,7 +1112,7 @@ providing the system administrator with some help in common tasks.") "util-linux-" version ".tar.xz")) (sha256 (base32 - "1db2kydkwjmvgd1glkcba3adhidxw0f1x735dcjdpdjjf869sgvl")) + "1yfpy6bkab4jw61mpx48gfy24yrqp4a7arvpis8csrkk53fkxpnr")) (patches (search-patches "util-linux-tests.patch")) (modules '((guix build utils))) (snippet @@ -1126,19 +1125,33 @@ providing the system administrator with some help in common tasks.") (("build_kill=yes") "build_kill=no")) #t)))) (build-system gnu-build-system) - (outputs '("out" - "static")) ;>2 MiB of static .a libraries + (outputs '("out" ;6.4 MiB executables and documentation + "lib" ;8.8 MiB shared libraries, headers and locales + "static")) ;2.9 MiB static .a libraries (arguments `(#:configure-flags (list "--disable-use-tty-group" "--enable-fs-paths-default=/run/current-system/profile/sbin" ;; Don't try to chown root:root mount and umount "--disable-makeinstall-chown" + "--localstatedir=/var" + (string-append "--localedir=" + (assoc-ref %outputs "lib") + "/share/locale") ;; Install completions where our ;; bash-completion package expects them. (string-append "--with-bashcompletiondir=" (assoc-ref %outputs "out") "/etc/bash_completion.d")) #:phases (modify-phases %standard-phases + (add-before 'configure 'patch-build-scripts + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "configure" + ;; The build system assumes that we want to install + ;; libraries below $exec_prefix when $libdir does not + ;; match any of the "usual" locations. Fix that. + (("usrlib_execdir='\\$\\{exec_prefix\\}'\\$libdir") + "usrlib_execdir=$libdir")) + #t)) (add-before 'build 'set-umount-file-name (lambda* (#:key outputs #:allow-other-keys) ;; Tell 'eject' the right file name of 'umount'. @@ -1155,13 +1168,19 @@ providing the system administrator with some help in common tasks.") (substitute* "tests/ts/misc/mcookie" (("/etc/services") (string-append net "/etc/services"))) + + ;; The C.UTF-8 locale does not exist in our libc. + (substitute* "tests/ts/column/invalid-multibyte" + (("C\\.UTF-8") "en_US.utf8")) #t))) (add-after 'install 'move-static-libraries (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) + (let ((lib (assoc-ref outputs "lib")) (static (assoc-ref outputs "static"))) + + ;; Move static libraries to the "static" output. (mkdir-p (string-append static "/lib")) - (with-directory-excursion out + (with-directory-excursion lib (for-each (lambda (file) (rename-file file (string-append static "/" @@ -1174,7 +1193,16 @@ providing the system administrator with some help in common tasks.") (substitute* (find-files "lib" "\\.la$") (("old_library=.*") "old_library=''\n"))) - #t)))))) + #t))) + (add-after 'install 'adjust-pkg-config-files + (lambda* (#:key outputs #:allow-other-keys) + (let ((lib (assoc-ref outputs "lib"))) + ;; Drop the unused "prefix=" and "exec_prefix=" variables from + ;; the pkg-config files to avoid a cyclic reference on "out". + (substitute* (find-files (string-append lib "/lib/pkgconfig") + "\\.pc$") + (("^(exec_)?prefix=.*") ""))) + #t))))) (inputs `(("zlib" ,zlib) ("ncurses" ,ncurses) @@ -1232,20 +1260,26 @@ by Robert Shea and Robert Anton Wilson.") (define-public procps (package (name "procps") - (version "3.3.15") + (version "3.3.16") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/procps-ng/Production/" "procps-ng-" version ".tar.xz")) (sha256 (base32 - "0r84kwa5fl0sjdashcn4vh7hgfm7ahdcysig3mcjvpmkzi7p9g8h")))) + "1br0g93ysqhlv13i1k4lfbimsgxnpy5rgs4lxfc9rkzdbpbaqplj")))) (build-system gnu-build-system) (arguments - '(#:modules ((guix build utils) + `(#:modules ((guix build utils) (guix build gnu-build-system) (srfi srfi-1) (srfi srfi-26)) + ,@(if (%current-target-system) + '(#:configure-flags + (list + "ac_cv_func_malloc_0_nonnull=yes" + "ac_cv_func_realloc_0_nonnull=yes")) + '()) #:phases (modify-phases %standard-phases (add-after @@ -1335,7 +1369,7 @@ slabtop, and skill.") (base32 "1pmf8inp736l587rqq7qsd8bv0mmg5cwrivxg5p5awqgv70crypr")))) (build-system gnu-build-system) - (inputs `(("util-linux" ,util-linux))) + (inputs `(("util-linux" ,util-linux "lib"))) (native-inputs `(("pkg-config" ,pkg-config) ("texinfo" ,texinfo) ;for the libext2fs Info manual @@ -1619,12 +1653,13 @@ MIDI functionality to the Linux-based operating system.") (("\\$\\(MKDIR_P\\) .*ASOUND_STATE_DIR.*") "true\n")) #t))))) + (native-inputs + `(("gettext" ,gettext-minimal))) (inputs `(("libsamplerate" ,libsamplerate) ("ncurses" ,ncurses) ("alsa-lib" ,alsa-lib) - ("xmlto" ,xmlto) - ("gettext" ,gettext-minimal))) + ("xmlto" ,xmlto))) (home-page "http://www.alsa-project.org/") (synopsis "Utilities for the Advanced Linux Sound Architecture (ALSA)") (description @@ -1932,7 +1967,7 @@ configuration (iptunnel, ipmaddr).") (define-public libcap (package (name "libcap") - (version "2.27") + (version "2.31") (source (origin (method url-fetch) (uri (string-append @@ -1940,7 +1975,7 @@ configuration (iptunnel, ipmaddr).") "libcap2/libcap-" version ".tar.xz")) (sha256 (base32 - "0sj8kidl7qgf2qwxcbw1vadnlb30y4zvjzxswsmfdghq04npkhfs")))) + "0ikwm0kngrqa4ci80lqnrkk17kg09q7dxrz28y0gm5qw3vj8s266")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -1952,13 +1987,12 @@ configuration (iptunnel, ipmaddr).") (string-append "LDFLAGS := -Wl,-rpath=" %output "/lib"))) #t))) - #:tests? #f ; no 'check' target + #:test-target "test" #:make-flags (list "lib=lib" (string-append "prefix=" (assoc-ref %outputs "out")) "RAISE_SETFCAP=no"))) (native-inputs `(("perl" ,perl))) - (inputs `(("attr" ,attr))) (home-page "https://sites.google.com/site/fullycapable/") (synopsis "Library for working with POSIX capabilities") (description @@ -2042,35 +2076,18 @@ transparently through a bridge.") "/libnl-doc-" version ".tar.gz")) (sha256 (base32 "19p5y8q3cm5wqvamqc4s5syxnnkvzxy3gw8ivxk6fv9ybn8jm35h")))))) - (inputs - `(("python-2" ,python-2) - ("python-3" ,python-3))) - (outputs '("out" "doc" "python2" "python3")) + (outputs `("out" "doc")) (arguments - `(#:modules ((guix build gnu-build-system) - (guix build utils) - (srfi srfi-1)) - #:phases + `(#:phases (modify-phases %standard-phases - (add-after 'install 'install-python - (lambda* (#:key outputs #:allow-other-keys) - (define (python-inst python) - (invoke python "setup.py" "build") - (invoke python "setup.py" "install" - (string-append "--prefix=" - (assoc-ref %outputs python))) - (invoke python "setup.py" "clean")) - (setenv "LDFLAGS" (format #f "-Wl,-rpath=~a/lib" - (assoc-ref %outputs "out"))) - (with-directory-excursion "./python" - (for-each python-inst '("python2" "python3"))) - #t)) (add-after 'install 'install-doc - (lambda* (#:key inputs outputs #:allow-other-keys) + (lambda* (#:key inputs native-inputs outputs #:allow-other-keys) (let ((dest (string-append (assoc-ref outputs "doc") "/share/doc/libnl"))) (mkdir-p dest) - (invoke "tar" "xf" (assoc-ref inputs "libnl3-doc") + (invoke "tar" "xf" (assoc-ref + (or native-inputs inputs) + "libnl3-doc") "--strip-components=1" "-C" dest))))))) (home-page "https://www.infradead.org/~tgr/libnl/") (synopsis "NetLink protocol library suite") @@ -2085,6 +2102,43 @@ configuration and monitoring interfaces.") ;; 'nl-addr-add.c'), so the result is GPLv2-only. (license license:gpl2))) +;; libnl python extensions used to be outputs of libnl. However, as +;; cross-compiling python extensions is currently broken, create separate +;; packages for libnl python extensions. +(define (libnl-python-package python) + (let ((name (string-append "libnl-" python))) + (package + (inherit libnl) + (name name) + (inputs `(,@(cond + ((string=? python "python2") + `(("python-2" ,python-2))) + ((string=? python "python3") + `(("python-3" ,python-3)))))) + (propagated-inputs `(("libnl" ,libnl))) + (outputs '("out")) + (arguments + `(#:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-1)) + #:phases + (modify-phases %standard-phases + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (define (python-inst python) + (invoke python "setup.py" "build") + (invoke python "setup.py" "install" + (string-append "--prefix=" + (assoc-ref %outputs "out"))) + (invoke python "setup.py" "clean")) + (setenv "LDFLAGS" (format #f "-Wl,-rpath=~a/lib" + (assoc-ref inputs "libnl"))) + (with-directory-excursion "./python" (python-inst ,python)) + #t)))))))) + +(define-public libnl-python2 (libnl-python-package "python2")) +(define-public libnl-python3 (libnl-python-package "python3")) + (define-public iw (package (name "iw") @@ -2724,7 +2778,7 @@ to the in-kernel OOM killer.") (patches (search-patches "eudev-rules-directory.patch")))) (build-system gnu-build-system) (arguments - '(#:phases + `(#:phases (modify-phases %standard-phases (add-after 'unpack 'make-source-writable (lambda _ @@ -2733,19 +2787,25 @@ to the in-kernel OOM killer.") (for-each make-file-writable (find-files ".")) #t)) (add-before 'bootstrap 'patch-file-names - (lambda* (#:key inputs #:allow-other-keys) + (lambda* (#:key inputs native-inputs #:allow-other-keys) (substitute* "man/make.sh" (("/usr/bin/xsltproc") - (string-append (assoc-ref inputs "xsltproc") + (string-append (assoc-ref + (or native-inputs inputs) "xsltproc") "/bin/xsltproc"))) #t)) (add-after 'install 'build-hwdb (lambda* (#:key outputs #:allow-other-keys) ;; Build OUT/etc/udev/hwdb.bin. This allows 'lsusb' and ;; similar tools to display product names. + ;; + ;; XXX: This can't be done when cross-compiling. Find another way + ;; to generate hwdb.bin for cross-built systems. (let ((out (assoc-ref outputs "out"))) - (invoke (string-append out "/bin/udevadm") - "hwdb" "--update"))))) + ,@(if (%current-target-system) + '(#t) + '((invoke (string-append out "/bin/udevadm") + "hwdb" "--update"))))))) #:configure-flags (list "--enable-manpages"))) (native-inputs `(("autoconf" ,autoconf) @@ -2765,7 +2825,7 @@ to the in-kernel OOM killer.") ;; When linked against libblkid, eudev can populate /dev/disk/by-label ;; and similar; it also installs the '60-persistent-storage.rules' file, ;; which contains the rules to do that. - `(("util-linux" ,util-linux) ;for blkid + `(("util-linux" ,util-linux "lib") ;for blkid ("kmod" ,kmod))) (home-page "https://wiki.gentoo.org/wiki/Project:Eudev") (synopsis "Userspace device management") @@ -2808,7 +2868,7 @@ time.") (inputs `(("udev" ,eudev))) (arguments - '(#:phases + `(#:phases (modify-phases %standard-phases (add-after 'configure 'set-makefile-shell (lambda _ @@ -2843,7 +2903,12 @@ time.") (assoc-ref %outputs "out") "/lib,-rpath=" (assoc-ref %outputs "out") - "/lib/device-mapper")) + "/lib/device-mapper") + ;; This is needed when cross-compiling. + ,@(if (%current-target-system) + '("ac_cv_func_malloc_0_nonnull=yes" + "ac_cv_func_realloc_0_nonnull=yes") + '())) ;; The tests use 'mknod', which requires root access. #:tests? #f)) @@ -2939,13 +3004,23 @@ interface.") (patches (search-patches "crda-optional-gcrypt.patch")))) (build-system gnu-build-system) (arguments - '(#:phases (modify-phases %standard-phases + `(#:phases (modify-phases %standard-phases (delete 'configure) (add-after 'unpack 'gzip-determinism (lambda _ (substitute* "Makefile" (("gzip") "gzip --no-name")) #t)) + ,@(if (%current-target-system) + '((add-after + 'unpack 'fix-pkg-config + (lambda* (#:key target #:allow-other-keys) + (substitute* + "Makefile" + (("pkg-config") + (string-append target "-pkg-config"))) + #t))) + '()) (add-before 'build 'no-werror-no-ldconfig (lambda _ @@ -2955,37 +3030,44 @@ interface.") #t)) (add-before 'build 'set-regulator-db-file-name - (lambda* (#:key inputs #:allow-other-keys) + (lambda* (#:key native-inputs inputs #:allow-other-keys) ;; Tell CRDA where to find our database. - (let ((regdb (assoc-ref inputs "wireless-regdb"))) + (let ((regdb (assoc-ref (or native-inputs inputs) + "wireless-regdb"))) (substitute* "crda.c" (("\"/lib/crda/regulatory.bin\"") (string-append "\"" regdb "/lib/crda/regulatory.bin\""))) #t)))) #:test-target "verify" - #:make-flags (let ((out (assoc-ref %outputs "out")) - (regdb (assoc-ref %build-inputs "wireless-regdb"))) - (list "CC=gcc" "V=1" - - ;; Disable signature-checking on 'regulatory.bin'. - ;; The reason is that this simplifies maintenance - ;; on our side (no need to manage a distro key - ;; pair), and we can guarantee integrity of - ;; 'regulatory.bin' by other means anyway, such as - ;; 'guix gc --verify'. See - ;; <https://wireless.wiki.kernel.org/en/developers/regulatory/wireless-regdb> - ;; for a discssion. - "USE_OPENSSL=0" - - (string-append "PREFIX=" out) - (string-append "SBINDIR=" out "/sbin/") - (string-append "UDEV_RULE_DIR=" - out "/lib/udev/rules.d") - (string-append "LDFLAGS=-Wl,-rpath=" - out "/lib -L.") - (string-append "REG_BIN=" regdb - "/lib/crda/regulatory.bin"))))) + #:make-flags (let ((out (assoc-ref %outputs "out")) + (regdb (assoc-ref %build-inputs "wireless-regdb")) + (target ,(%current-target-system))) + (list + (string-append + "CC=" (if target + (string-append target "-gcc") "gcc")) + "V=1" + + ;; Disable signature-checking on 'regulatory.bin'. + ;; The reason is that this simplifies maintenance + ;; on our side (no need to manage a distro key + ;; pair), and we can guarantee integrity of + ;; 'regulatory.bin' by other means anyway, such as + ;; 'guix gc --verify'. See + ;; <https://wireless.wiki.kernel.org/en/developers/regulatory/wireless-regdb> + ;; for a discssion. + "USE_OPENSSL=0" + + (string-append "PREFIX=" out) + (string-append "SBINDIR=" out "/sbin/") + (string-append "UDEV_RULE_DIR=" + out "/lib/udev/rules.d") + (string-append "LDFLAGS=-Wl,-rpath=" + out "/lib -L.") + (string-append "REG_BIN=" regdb + "/lib/crda/regulatory.bin") + "all_noverify")))) (native-inputs `(("pkg-config" ,pkg-config) ("wireless-regdb" ,wireless-regdb))) (inputs `(("libnl" ,libnl))) @@ -3658,8 +3740,9 @@ MPEG-2 and audio over Linux IEEE 1394.") #:phases (modify-phases %standard-phases (add-before 'build 'patch-program-paths - (lambda* (#:key inputs #:allow-other-keys) - (let ((coreutils (assoc-ref inputs "coreutils"))) + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (let ((coreutils (assoc-ref (or native-inputs inputs) + "coreutils"))) (substitute* "udev-md-raid-arrays.rules" (("/usr/bin/(readlink|basename)" all program) (string-append coreutils "/bin/" program)))) @@ -3807,8 +3890,14 @@ Linux Device Mapper multipathing driver: "0ajhzbqjwsmz51gwccfyw6w9k4j4gmxcl2ph30sfn2gxv0d8gkv2")))) (build-system gnu-build-system) (arguments - '(#:make-flags - (list "CC=gcc" (string-append "prefix=" %output)) + `(#:make-flags + (let ((target ,(%current-target-system))) + (list (string-append "prefix=" %output) + (string-append + "CC=" (if target + (string-append (assoc-ref %build-inputs "cross-gcc") + "/bin/" target "-gcc") + "gcc")))) #:test-target "partcheck" ; need root for a full 'check' #:phases (modify-phases %standard-phases (delete 'configure)))) ; no configure script @@ -4044,11 +4133,9 @@ and copy/paste text in the console and in xterm.") #:test-target "test" #:parallel-tests? #f)) ; tests fail when run in parallel (inputs `(("e2fsprogs" ,e2fsprogs) - ("libblkid" ,util-linux) - ("libblkid:static" ,util-linux "static") - ("libuuid" ,util-linux) - ("libuuid:static" ,util-linux "static") ("lzo" ,lzo) + ("util-linux:lib" ,util-linux "lib") ;for libblkid and libuuid + ("util-linux:static" ,util-linux "static") ;ditto ("zlib" ,zlib) ("zlib:static" ,zlib "static") ("zstd" ,zstd "lib") @@ -4178,7 +4265,7 @@ obviously it can be shared with files outside our set).") ("libtool" ,libtool) ("pkg-config" ,pkg-config))) (inputs - `(("libuuid" ,util-linux) + `(("libuuid" ,util-linux "lib") ("libselinux" ,libselinux))) (home-page "https://f2fs.wiki.kernel.org/") (synopsis "Userland tools for f2fs") @@ -4204,7 +4291,7 @@ disks and SD cards. This package provides the userland utilities.") (base32 "0z9c0y3qq75iyqknl5k0v7v46l8c3pcifpqb0yqalrs24blkm7dk")))) (inputs - `(("libuuid" ,util-linux))))) + `(("libuuid" ,util-linux "lib"))))) (define-public freefall (package @@ -4873,7 +4960,7 @@ are exceeded.") ("pkg-config" ,pkg-config))) (inputs `(("acl" ,acl) ; extended attributes (xattr) - ("libuuid" ,util-linux) + ("libuuid" ,util-linux "lib") ("lzo" ,lzo) ("openssl" ,openssl) ; optional crypto support ("zlib" ,zlib) @@ -5670,7 +5757,7 @@ libraries, which are often integrated directly into libfabric.") "psm-disable-memory-stats.patch")))) (build-system gnu-build-system) (outputs '("out" "debug")) - (inputs `(("libuuid" ,util-linux))) + (inputs `(("libuuid" ,util-linux "lib"))) (arguments '(#:make-flags `("PSM_USE_SYS_UUID=1" "CC=gcc" "WERROR=" ,(string-append "INSTALL_PREFIX=" %output) @@ -6047,7 +6134,7 @@ IP addresses and routes, and configure IPsec.") (native-inputs `(("gettext" ,gettext-minimal))) (inputs - `(("libuuid" ,util-linux) + `(("libuuid" ,util-linux "lib") ("python" ,python-wrapper))) (home-page "https://xfs.wiki.kernel.org/") (synopsis "XFS file system tools") diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 66085919b1..737ab6cae9 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -2500,7 +2500,7 @@ non-consing thread safe queues and fibonacci priority queues.") (add-after 'unpack 'fix-paths (lambda* (#:key inputs #:allow-other-keys) (substitute* "libffi/libffi.lisp" - (("libffi.so.6" all) (string-append + (("libffi.so.7" all) (string-append (assoc-ref inputs "libffi") "/lib/" all))) (substitute* "toolchain/c-toolchain.lisp" diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index a6f779e7f8..e333ab7638 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com> ;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Roel Janssen <roel@gnu.org> -;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de> @@ -89,6 +89,7 @@ as \"x86_64-linux\"." (base32 "0k124sxkfhfi1rca6kzkdraf4axhx99x3cw2rk55056628dvwwl8")))) (build-system cmake-build-system) + (outputs '("out" "opt-viewer")) (native-inputs `(("python" ,python-2) ;bytes->str conversion in clang>=3.7 needs python-2 ("perl" ,perl))) @@ -106,16 +107,27 @@ as \"x86_64-linux\"." ;; Don't use '-g' during the build, to save space. #:build-type "Release" - #:phases (modify-phases %standard-phases - (add-before 'build 'shared-lib-workaround - ;; Even with CMAKE_SKIP_BUILD_RPATH=FALSE, llvm-tblgen - ;; doesn't seem to get the correct rpath to be able to run - ;; from the build directory. Set LD_LIBRARY_PATH as a - ;; workaround. - (lambda _ - (setenv "LD_LIBRARY_PATH" - (string-append (getcwd) "/lib")) - #t))))) + #:phases + (modify-phases %standard-phases + (add-before 'build 'shared-lib-workaround + ;; Even with CMAKE_SKIP_BUILD_RPATH=FALSE, llvm-tblgen + ;; doesn't seem to get the correct rpath to be able to run + ;; from the build directory. Set LD_LIBRARY_PATH as a + ;; workaround. + (lambda _ + (setenv "LD_LIBRARY_PATH" + (string-append (getcwd) "/lib")) + #t)) + (add-after 'install 'install-opt-viewer + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (opt-viewer-out (assoc-ref outputs "opt-viewer")) + (opt-viewer-share-dir (string-append opt-viewer-out "/share")) + (opt-viewer-dir (string-append opt-viewer-share-dir "/opt-viewer"))) + (mkdir-p opt-viewer-share-dir) + (rename-file (string-append out "/share/opt-viewer") + opt-viewer-dir)) + #t))))) (home-page "https://www.llvm.org") (synopsis "Optimizing compiler infrastructure") (description @@ -562,7 +574,13 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") version "/llvm-" version ".src.tar.xz")) (sha256 (base32 - "1vi9sf7rx1q04wj479rsvxayb6z740iaz3qniwp266fgp5a07n8z")))))) + "1vi9sf7rx1q04wj479rsvxayb6z740iaz3qniwp266fgp5a07n8z")))) + (outputs '("out")) + (arguments + (substitute-keyword-arguments (package-arguments llvm) + ((#:phases phases) + `(modify-phases ,phases + (delete 'install-opt-viewer))))))) (define-public clang-runtime-3.9.1 (clang-runtime-from-llvm @@ -578,7 +596,7 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") #:patches '("clang-3.8-libc-search-path.patch"))) (define-public llvm-3.8 - (package (inherit llvm) + (package (inherit llvm-3.9.1) (name "llvm") (version "3.8.1") (source @@ -603,7 +621,7 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") #:patches '("clang-3.8-libc-search-path.patch"))) (define-public llvm-3.7 - (package (inherit llvm) + (package (inherit llvm-3.9.1) (version "3.7.1") (source (origin @@ -627,7 +645,7 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") #:patches '("clang-3.5-libc-search-path.patch"))) (define-public llvm-3.6 - (package (inherit llvm) + (package (inherit llvm-3.9.1) (version "3.6.2") (source (origin @@ -650,7 +668,7 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") #:patches '("clang-3.5-libc-search-path.patch"))) (define-public llvm-3.5 - (package (inherit llvm) + (package (inherit llvm-3.9.1) (version "3.5.2") (source (origin diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 36df9fad0c..5ff328a08c 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -780,7 +780,7 @@ than 8 bits, and at the end only some significant 8 bits are kept.") (inputs `(("giflib" ,giflib) ("lapack" ,lapack) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libx11" ,libx11) ("openblas" ,openblas) @@ -1748,7 +1748,7 @@ INSTALL_RPATH " (assoc-ref outputs "out") "/lib)\n"))) ("eigen" ,eigen-for-tensorflow) ("gemmlowp" ,gemmlowp-for-tensorflow) ("lmdb" ,lmdb) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("giflib" ,giflib) ("grpc" ,grpc) diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index b8d1b2af3e..0144a6e9a2 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2018, 2019 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2018, 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -137,7 +138,10 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (define (inputs) (if (%current-target-system) ; is this package cross built? `(("cross-libc" - ,(cross-bootstrap-libc (%current-target-system)))) + ,(cross-bootstrap-libc (%current-target-system))) + ("cross-libc:static" + ,(cross-bootstrap-libc (%current-target-system)) + "static")) '())) (define (native-inputs) @@ -167,15 +171,6 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (current-source-location) #:native-inputs native-inputs)) -(define static-bash-for-bootstrap - (package - (inherit static-bash) - (source (origin - (inherit (package-source static-bash)) - (patches - (cons (search-patch "bash-reproducible-linux-pgrp-pipe.patch") - (origin-patches (package-source static-bash)))))))) - (define %static-inputs ;; Packages that are to be used as %BOOTSTRAP-INPUTS. (let ((coreutils (package (inherit coreutils) @@ -252,7 +247,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (("-Wl,-export-dynamic") "")) #t))))))) (inputs (if (%current-target-system) - `(("bash" ,static-bash-for-bootstrap)) + `(("bash" ,static-bash)) '())))) (tar (package (inherit tar) (arguments @@ -298,7 +293,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." ("sed" ,sed) ("grep" ,grep) ("gawk" ,gawk))) - ("bash" ,static-bash-for-bootstrap)))) + ("bash" ,static-bash)))) (define %static-binaries (package diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index 98c58eb0e7..f63946c04f 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -198,7 +198,7 @@ Linux kernel and C library interfaces employed by user-space programs.") (define-public help2man (package (name "help2man") - (version "1.47.10") + (version "1.47.12") (source (origin (method url-fetch) @@ -206,7 +206,7 @@ Linux kernel and C library interfaces employed by user-space programs.") version ".tar.xz")) (sha256 (base32 - "1yywli520246aba12vpgj7bhr1r13swad3xm49a0cygqcgywnwgk")))) + "0q5ixbxz1v7wqnpg4bq7k7nbv9ssnmcvdbqsq5ycjvniz56ac2vx")))) (build-system gnu-build-system) (arguments `(;; There's no `check' target. #:tests? #f)) @@ -216,6 +216,8 @@ Linux kernel and C library interfaces employed by user-space programs.") ;; ("perl-LocaleGettext" ,perl-LocaleGettext) ;; ("gettext" ,gettext-minimal) )) + (native-inputs + `(("perl" ,perl))) (home-page "https://www.gnu.org/software/help2man/") (synopsis "Automatically generate man pages from program --help") (description @@ -224,18 +226,6 @@ Linux kernel and C library interfaces employed by user-space programs.") automatically.") (license gpl3+))) -(define-public help2man/latest - (package - (inherit help2man) - (version "1.47.12") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/help2man/help2man-" - version ".tar.xz")) - (sha256 - (base32 - "0q5ixbxz1v7wqnpg4bq7k7nbv9ssnmcvdbqsq5ycjvniz56ac2vx")))))) - (define-public scdoc (package (name "scdoc") diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm index 78d98d4203..5c9da6d72b 100644 --- a/gnu/packages/mate.scm +++ b/gnu/packages/mate.scm @@ -564,7 +564,7 @@ assorted menu related utility programs.") `(("pkg-config" ,pkg-config) ("intltool" ,intltool) ("libxslt" ,libxslt) - ("yelp-tools" ,yelp-tools/fixed) + ("yelp-tools" ,yelp-tools) ("scrollkeeper" ,scrollkeeper) ("gettext" ,gettext-minimal) ("docbook-xml" ,docbook-xml) @@ -808,7 +808,7 @@ infamous 'Wanda the Fish'.") ("libice" ,libice) ("libsm" ,libsm) ("libgxps" ,libgxps) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libxml2" ,libxml2) ("dogtail" ,python2-dogtail) ("shared-mime-info" ,shared-mime-info) @@ -1278,7 +1278,7 @@ can be used as backgrounds in the MATE Desktop environment.") ("pkg-config" ,pkg-config) ("scrollkeeper" ,scrollkeeper) ("xorgproto" ,xorgproto) - ("yelp-tools" ,yelp-tools/fixed))) + ("yelp-tools" ,yelp-tools))) (inputs `(("atk" ,atk) ("cairo" ,cairo) @@ -1344,7 +1344,7 @@ can be used as backgrounds in the MATE Desktop environment.") ("libpeas" ,libpeas) ("libxml2" ,libxml2) ("libexif" ,libexif) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("librsvg" ,librsvg) ("lcms" ,lcms) ("mate-desktop" ,mate-desktop) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 5ac3bd1403..0ef5b3f91e 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -375,15 +375,14 @@ semiconductors.") (define-public gsl (package (name "gsl") - (version "2.5") + (version "2.6") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gsl/gsl-" version ".tar.gz")) (sha256 (base32 - "1395y9hlhqadn5g9j8q22224fds5sd92jxi9czfavjj24myasq04")) - (patches (search-patches "gsl-test-i686.patch")))) + "1a460zj9xmbgvcymkdhqh313c4l29mn9cffbi5vf33x3qygk70mp")))) (build-system gnu-build-system) (arguments `(;; Currently there are numerous tests that fail on "exotic" @@ -726,7 +725,7 @@ computations.") ("flex" ,flex))) (inputs `(("zlib" ,zlib) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libtirpc" ,libtirpc))) (arguments `(#:parallel-tests? #f @@ -966,7 +965,7 @@ extremely large and complex data collections.") `(("hdf4" ,hdf4) ("hdf5" ,hdf5) ("zlib" ,zlib) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("slf4j-api" ,java-slf4j-api))) (arguments `(#:configure-flags @@ -1083,7 +1082,7 @@ implemented in C.") `(("hdf4" ,hdf4-alt) ; assume most HDF-EOS2 users won't use the HDF4 netCDF API ;; XXX: These inputs are really dependencies of hdf4. ("zlib" ,zlib) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libtirpc" ,libtirpc) ("gctp" ,gctp))) @@ -1243,7 +1242,7 @@ similar to MATLAB, GNU Octave or SciPy.") `(("hdf4" ,hdf4-alt) ("hdf5" ,hdf5) ("zlib" ,zlib) - ("libjpeg" ,libjpeg))) + ("libjpeg" ,libjpeg-turbo))) (arguments `(#:configure-flags '("--enable-doxygen" "--enable-dot" "--enable-hdf4") diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index b1276e267b..4576741b44 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -769,7 +769,7 @@ on Axolotl and PEP.") ("libgcrypt" ,libgcrypt) ("libsoup" ,libsoup) ("qrencode" ,qrencode) - ("sqlite" ,sqlite-with-column-metadata) + ("sqlite" ,sqlite) ("gpgme" ,gpgme) ("gtk+" ,gtk+) ("glib-networking" ,glib-networking) diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm index 36d035ada0..4d8c3d3fdf 100644 --- a/gnu/packages/multiprecision.scm +++ b/gnu/packages/multiprecision.scm @@ -37,7 +37,7 @@ (define-public gmp (package (name "gmp") - (version "6.1.2") + (version "6.2.0") (source (origin (method url-fetch) (uri @@ -45,7 +45,7 @@ version ".tar.xz")) (sha256 (base32 - "04hrwahdxyqdik559604r7wrj9ffklwvipgfxgj4ys4skbl6bdc7")) + "09hmg8k63mbfrx1x3yy6y1yzbbq85kw5avbibhcgrg9z3ganr3i5")) (patches (search-patches "gmp-faulty-test.patch")))) (build-system gnu-build-system) (native-inputs `(("m4" ,m4))) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index e378e9880b..1fb78c091f 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -297,7 +297,7 @@ score, keyboard, guitar, drum and controller views.") ("pulseaudio" ,pulseaudio) ("qtbase" ,qtbase) ("qtx11extras" ,qtx11extras) - ("sqlite" ,sqlite-with-column-metadata) + ("sqlite" ,sqlite) ("sparsehash" ,sparsehash) ("taglib" ,taglib))) (home-page "https://clementine-player.org") @@ -2280,7 +2280,7 @@ improves on support for JACK features, such as JACK MIDI.") "1zs5yy124bymfyapsnljr6rv2lnn5inwchm0xnwiw44b2d39l8hn")))) (build-system gnu-build-system) (inputs - `(("libuuid" ,util-linux) + `(("libuuid" ,util-linux "lib") ("libsndfile" ,libsndfile))) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/netpbm.scm b/gnu/packages/netpbm.scm index 7fe0503d6f..aac6f13379 100644 --- a/gnu/packages/netpbm.scm +++ b/gnu/packages/netpbm.scm @@ -102,7 +102,7 @@ (build-system gnu-build-system) (inputs `(("ghostscript" ,ghostscript) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) ("libxml2" ,libxml2) diff --git a/gnu/packages/nfs.scm b/gnu/packages/nfs.scm index b81623fd07..7efee9360a 100644 --- a/gnu/packages/nfs.scm +++ b/gnu/packages/nfs.scm @@ -113,7 +113,7 @@ ("rpcsvc-proto" ,rpcsvc-proto) ;for 'rpcgen' ("sqlite" ,sqlite) ("lvm2" ,lvm2) - ("util-linux" ,util-linux) + ("util-linux" ,util-linux "lib") ("mit-krb5" ,mit-krb5) ("libtirpc" ,libtirpc))) (native-inputs diff --git a/gnu/packages/ninja.scm b/gnu/packages/ninja.scm index a8ad6430ba..11ee472d56 100644 --- a/gnu/packages/ninja.scm +++ b/gnu/packages/ninja.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,7 +23,7 @@ (define-module (gnu packages ninja) #:use-module ((guix licenses) #:select (asl2.0)) #:use-module (guix packages) - #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages python)) @@ -30,15 +31,16 @@ (define-public ninja (package (name "ninja") - (version "1.9.0") + (version "1.10.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/martine/ninja/" - "archive/v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/ninja-build/ninja") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1ffmzj5s9h98qhl94d9i23zcv057rsqbac9g1hdgvlzq51ccfzjx")))) + "1fbzl7mrcrwp527sgkc1npfl3k6bbpydpiq98xcf1a1hkrx0z5x4")))) (build-system gnu-build-system) (inputs `(("python" ,python-wrapper))) (arguments diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 83427d935f..753d2cc06a 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -45,14 +45,14 @@ (define-public node (package (name "node") - (version "10.16.0") + (version "10.17.0") (source (origin (method url-fetch) (uri (string-append "https://nodejs.org/dist/v" version "/node-v" version ".tar.xz")) (sha256 (base32 - "0236jlb1hxhzqjlmmlxipcycrndiq92c8434iyy7zshh3n4pzqqq")) + "13n5cvb340ba7vwm8il7bjrmpz89h6cibhk9rc3kq9ymdgbnf9j1")) (modules '((guix build utils))) (snippet `(begin diff --git a/gnu/packages/nss.scm b/gnu/packages/nss.scm index 2e34f8e26f..62bf09c517 100644 --- a/gnu/packages/nss.scm +++ b/gnu/packages/nss.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. @@ -70,7 +70,7 @@ in the Mozilla clients.") (define-public nss (package (name "nss") - (version "3.48") + (version "3.49.1") (source (origin (method url-fetch) (uri (let ((version-with-underscores @@ -81,7 +81,7 @@ in the Mozilla clients.") "nss-" version ".tar.gz"))) (sha256 (base32 - "1b7qs1q7jqhw9dvkdznanzhc5dyq4bwx0biywszy3qx4hqm8571z")) + "0vh23g16ldvnsrn2dnvdl2i133kizi660r7ilb00vfq2kvj45anr")) ;; Create nss.pc and nss-config. (patches (search-patches "nss-pkgconfig.patch" "nss-freebl-stubs.patch" @@ -130,7 +130,7 @@ in the Mozilla clients.") ;; leading to test failures: ;; <https://bugzilla.mozilla.org/show_bug.cgi?id=609734>. To ;; work around that, set the time to roughly the release date. - (invoke "faketime" "2019-12-01" "./nss/tests/all.sh"))) + (invoke "faketime" "2020-01-01" "./nss/tests/all.sh"))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) diff --git a/gnu/packages/nvi.scm b/gnu/packages/nvi.scm index 187de31720..c34b1cad72 100644 --- a/gnu/packages/nvi.scm +++ b/gnu/packages/nvi.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Marek Benc <merkur32@gmail.com> +;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,6 +41,7 @@ (patches (search-patches "nvi-assume-preserve-path.patch" "nvi-dbpagesize-binpower.patch" "nvi-db4.patch")) + (modules '((guix build utils))) (snippet ;; Create a wrapper for the configure script, make it executable. '(let ((conf-wrap (open-output-file "configure"))) @@ -51,6 +53,12 @@ (newline conf-wrap) (close-output-port conf-wrap) (chmod "configure" #o0755) + + ;; Glibc 2.30 removed the deprecated <sys/stropts.h>, so fall back + ;; to the internal PTY allocation logic. + (substitute* "ex/ex_script.c" + (("#ifdef HAVE_SYS5_PTY") + "#if defined(HAVE_SYS5_PTY) && !defined(__GLIBC__)")) #t)))) (build-system gnu-build-system) diff --git a/gnu/packages/opencog.scm b/gnu/packages/opencog.scm index c6828d6603..6484c10dce 100644 --- a/gnu/packages/opencog.scm +++ b/gnu/packages/opencog.scm @@ -235,7 +235,7 @@ tasks.") ("cogutil" ,cogutil) ("gmp" ,gmp) ("guile" ,guile-2.2) - ("libuuid" ,util-linux) + ("libuuid" ,util-linux "lib") ("link-grammar" ,link-grammar))) (native-inputs `(("cxxtest" ,cxxtest) diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm index de8239b7fe..107b9239b8 100644 --- a/gnu/packages/openldap.scm +++ b/gnu/packages/openldap.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org> ;;; ;;; This file is part of GNU Guix. @@ -51,6 +52,7 @@ #:use-module (gnu packages) #:use-module ((guix licenses) #:select (openldap2.8 lgpl2.1+ gpl3+ psfl expat)) #:use-module (guix packages) + #:use-module (guix utils) #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (guix build-system python)) @@ -58,7 +60,7 @@ (define-public openldap (package (name "openldap") - (version "2.4.47") + (version "2.4.49") (source (origin (method url-fetch) @@ -75,21 +77,51 @@ "openldap-release/openldap-" version ".tgz"))) (sha256 (base32 - "02sj0p1pq12hqq29b22m3f5zs2rykgvc0q3wlynxjcsjhrvmhk7m")))) + "0vp524rsngdcykf6ki7vprsyg7gj8z7hszg8xwxz50219fa1gcg3")))) (build-system gnu-build-system) (inputs `(("bdb" ,bdb-5.3) ("cyrus-sasl" ,cyrus-sasl) ("gnutls" ,gnutls) - ("groff" ,groff) ("icu4c" ,icu4c) ("libgcrypt" ,libgcrypt) ("zlib" ,zlib))) - (native-inputs `(("libtool" ,libtool))) + (native-inputs `(("libtool" ,libtool) + ("groff" ,groff) + ("bdb" ,bdb-5.3) + ;; For up to date 'config.guess' and 'config.sub'. + ("automake" ,automake))) (arguments `(#:tests? #f - #:configure-flags '("--disable-static") + #:configure-flags + '("--disable-static" + ,@(if (%current-target-system) + '("--with-yielding_select=yes" + "ac_cv_func_memcmp_working=yes") + '())) + ;; Disable install stripping as it breaks cross-compiling. + #:make-flags '("STRIP=") #:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-configure + (lambda* (#:key inputs native-inputs #:allow-other-keys) + ;; Replace outdated config.sub and config.guess: + (with-directory-excursion "build" + (for-each (lambda (file) + (install-file (string-append + (assoc-ref + (or native-inputs inputs) "automake") + "/share/automake-" + ,(version-major+minor + (package-version automake)) + "/" file) ".")) + '("config.sub" "config.guess"))) + #t)) + ,@(if (%current-target-system) + '((add-before 'configure 'fix-cross-gcc + (lambda* (#:key target #:allow-other-keys) + (setenv "CC" (string-append target "-gcc")) + #t))) + '()) (add-after 'install 'patch-sasl-path ;; Give -L arguments for cyrus-sasl to avoid propagation. (lambda* (#:key inputs outputs #:allow-other-keys) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 422d4f1959..1e28973541 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -954,7 +954,7 @@ Microsoft cabinet (.@dfn{CAB}) files.") ("glib" ,glib) ("libgsf" ,libgsf) ("libxml2" ,libxml2) - ("uuid" ,util-linux))) + ("uuid" ,util-linux "lib"))) (home-page "https://wiki.gnome.org/msitools") (synopsis "Windows Installer file manipulation tool") (description diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 8d74490d23..da58c24680 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -210,7 +210,7 @@ algorithms AES or Twofish.") ("zip" ,zip))) (inputs `(("curl" ,curl) ("file" ,file) - ("libuuid" ,util-linux) + ("libuuid" ,util-linux "lib") ("libxt" ,libxt) ("libxtst" ,libxtst) ("openssl" ,openssl) diff --git a/gnu/packages/patches/akonadi-Revert-Make-installation-properly-relocatabl.patch b/gnu/packages/patches/akonadi-Revert-Make-installation-properly-relocatabl.patch new file mode 100644 index 0000000000..c3964c5c05 --- /dev/null +++ b/gnu/packages/patches/akonadi-Revert-Make-installation-properly-relocatabl.patch @@ -0,0 +1,49 @@ +From bc018b4bc816a3b51deb9739bedbf8a2268d0684 Mon Sep 17 00:00:00 2001 +From: gnidorah <gnidorah@users.noreply.github.com> +Date: Fri, 22 Dec 2017 17:36:03 +0300 +Subject: [PATCH] Revert "Make Akonadi installation properly relocatable" + +This reverts commit b2bb55f13f2ac783f89cc414de8c39f62fa2096a. +--- + CMakeLists.txt | 3 --- + KF5AkonadiConfig.cmake.in | 6 +++--- + 2 files changed, 3 insertions(+), 6 deletions(-) + +Index: akonadi-19.08.0/CMakeLists.txt +=================================================================== +--- akonadi-19.08.0.orig/CMakeLists.txt ++++ akonadi-19.08.0/CMakeLists.txt +@@ -306,9 +306,6 @@ configure_package_config_file( + "${CMAKE_CURRENT_SOURCE_DIR}/KF5AkonadiConfig.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/KF5AkonadiConfig.cmake" + INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} +- PATH_VARS AKONADI_DBUS_INTERFACES_INSTALL_DIR +- AKONADI_INCLUDE_DIR +- KF5Akonadi_DATA_DIR + ) + + install(FILES +Index: akonadi-19.08.0/KF5AkonadiConfig.cmake.in +=================================================================== +--- akonadi-19.08.0.orig/KF5AkonadiConfig.cmake.in ++++ akonadi-19.08.0/KF5AkonadiConfig.cmake.in +@@ -26,8 +26,8 @@ if(BUILD_TESTING) + find_dependency(Qt5Test "@QT_REQUIRED_VERSION@") + endif() + +-set_and_check(AKONADI_DBUS_INTERFACES_DIR "@PACKAGE_AKONADI_DBUS_INTERFACES_INSTALL_DIR@") +-set_and_check(AKONADI_INCLUDE_DIR "@PACKAGE_AKONADI_INCLUDE_DIR@") ++set_and_check(AKONADI_DBUS_INTERFACES_DIR "@AKONADI_DBUS_INTERFACES_INSTALL_DIR@") ++set_and_check(AKONADI_INCLUDE_DIR "@AKONADI_INCLUDE_DIR@") + + find_dependency(Boost "@Boost_MINIMUM_VERSION@") + +@@ -35,7 +35,7 @@ include(${CMAKE_CURRENT_LIST_DIR}/KF5Ako + include(${CMAKE_CURRENT_LIST_DIR}/KF5AkonadiMacros.cmake) + + # The directory where akonadi-xml.xsd and kcfg2dbus.xsl are installed +-set(KF5Akonadi_DATA_DIR "@PACKAGE_KF5Akonadi_DATA_DIR@") ++set(KF5Akonadi_DATA_DIR "@KF5Akonadi_DATA_DIR@") + + #################################################################################### + # CMAKE_AUTOMOC diff --git a/gnu/packages/patches/akonadi-paths.patch b/gnu/packages/patches/akonadi-paths.patch new file mode 100644 index 0000000000..da250ee9e8 --- /dev/null +++ b/gnu/packages/patches/akonadi-paths.patch @@ -0,0 +1,49 @@ +This is based on the respectve patch from NixPkgs, but with the parts pinning +mysql and postgresql executables removed. The our package definition on why. + + +Index: akonadi-19.08.0/src/akonadicontrol/agentmanager.cpp +=================================================================== +--- akonadi-19.08.0.orig/src/akonadicontrol/agentmanager.cpp ++++ akonadi-19.08.0/src/akonadicontrol/agentmanager.cpp +@@ -78,12 +78,12 @@ AgentManager::AgentManager(bool verbose, + mStorageController = new Akonadi::ProcessControl; + mStorageController->setShutdownTimeout(15 * 1000); // the server needs more time for shutdown if we are using an internal mysqld + connect(mStorageController, &Akonadi::ProcessControl::unableToStart, this, &AgentManager::serverFailure); +- mStorageController->start(QStringLiteral("akonadiserver"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash); ++ mStorageController->start(QLatin1String(NIX_OUT "/bin/akonadiserver"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash); + + if (mAgentServerEnabled) { + mAgentServer = new Akonadi::ProcessControl; + connect(mAgentServer, &Akonadi::ProcessControl::unableToStart, this, &AgentManager::agentServerFailure); +- mAgentServer->start(QStringLiteral("akonadi_agent_server"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash); ++ mAgentServer->start(QLatin1String(NIX_OUT "/bin/akonadi_agent_server"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash); + } + } + +Index: akonadi-19.08.0/src/akonadicontrol/agentprocessinstance.cpp +=================================================================== +--- akonadi-19.08.0.orig/src/akonadicontrol/agentprocessinstance.cpp ++++ akonadi-19.08.0/src/akonadicontrol/agentprocessinstance.cpp +@@ -62,7 +62,7 @@ bool AgentProcessInstance::start(const A + } else { + Q_ASSERT(agentInfo.launchMethod == AgentType::Launcher); + const QStringList arguments = QStringList() << executable << identifier(); +- const QString agentLauncherExec = Akonadi::StandardDirs::findExecutable(QStringLiteral("akonadi_agent_launcher")); ++ const QString agentLauncherExec = QLatin1String(NIX_OUT "/bin/akonadi_agent_launcher"); + mController->start(agentLauncherExec, arguments); + } + return true; +Index: akonadi-19.08.0/src/server/storage/dbconfigmysql.cpp +=================================================================== +--- akonadi-19.08.0.orig/src/server/storage/dbconfigmysql.cpp ++++ akonadi-19.08.0/src/server/storage/dbconfigmysql.cpp +@@ -209,7 +193,7 @@ bool DbConfigMysql::startInternalServer( + #endif + + // generate config file +- const QString globalConfig = StandardDirs::locateResourceFile("config", QStringLiteral("mysql-global.conf")); ++ const QString globalConfig = QLatin1String(NIX_OUT "/etc/xdg/akonadi/mysql-global.conf"); + const QString localConfig = StandardDirs::locateResourceFile("config", QStringLiteral("mysql-local.conf")); + const QString actualConfig = StandardDirs::saveDir("data") + QLatin1String("/mysql.conf"); + if (globalConfig.isEmpty()) { diff --git a/gnu/packages/patches/akonadi-timestamps.patch b/gnu/packages/patches/akonadi-timestamps.patch new file mode 100644 index 0000000000..e299a6991f --- /dev/null +++ b/gnu/packages/patches/akonadi-timestamps.patch @@ -0,0 +1,14 @@ +Index: akonadi-19.08.0/src/server/storage/dbconfigmysql.cpp +=================================================================== +--- akonadi-19.08.0.orig/src/server/storage/dbconfigmysql.cpp ++++ akonadi-19.08.0/src/server/storage/dbconfigmysql.cpp +@@ -235,8 +235,7 @@ bool DbConfigMysql::startInternalServer( + bool confUpdate = false; + QFile actualFile(actualConfig); + // update conf only if either global (or local) is newer than actual +- if ((QFileInfo(globalConfig).lastModified() > QFileInfo(actualFile).lastModified()) || +- (QFileInfo(localConfig).lastModified() > QFileInfo(actualFile).lastModified())) { ++ if (true) { + QFile globalFile(globalConfig); + QFile localFile(localConfig); + if (globalFile.open(QFile::ReadOnly) && actualFile.open(QFile::WriteOnly)) { diff --git a/gnu/packages/patches/aspell-default-dict-dir.patch b/gnu/packages/patches/aspell-default-dict-dir.patch index 17a6ff606f..5f759a66d9 100644 --- a/gnu/packages/patches/aspell-default-dict-dir.patch +++ b/gnu/packages/patches/aspell-default-dict-dir.patch @@ -8,12 +8,34 @@ However it is necessary for applications that use libaspell since --- a/common/config.cpp +++ b/common/config.cpp +@@ -651,7 +651,20 @@ namespace acommon { + } else { // sep == '|' + assert(replace[0] == '$'); + const char * env = getenv(replace.c_str()+1); +- final_str += env ? env : second; ++ if (env) { ++ final_str += env; ++ } else if (second[0] == '$') { ++ // Expand the right-hand side of '|', which starts with a ++ // reference to an environment variable. ++ auto slash = second.find('/'); ++ String variable = second.substr(1, slash - 1); ++ const char * env = getenv(variable.c_str()); ++ String value = env ? String(env) : ""; ++ value += second.substr(slash, second.size() - slash); ++ final_str += value; ++ } else { ++ final_str += second; ++ } + } + replace = ""; + in_replace = false; @@ -1349,6 +1349,9 @@ namespace acommon { # define REPL ".aspell.<lang>.prepl" #endif +#undef DICT_DIR -+#define DICT_DIR "<$ASPELL_DICT_DIR|home-dir/.guix-profile/lib/aspell>" ++#define DICT_DIR "<$ASPELL_DICT_DIR|$HOME/.guix-profile/lib/aspell>" + static const KeyInfo config_keys[] = { // the description should be under 50 chars diff --git a/gnu/packages/patches/aspell-gcc-compat.patch b/gnu/packages/patches/aspell-gcc-compat.patch deleted file mode 100644 index 94c44f8fb6..0000000000 --- a/gnu/packages/patches/aspell-gcc-compat.patch +++ /dev/null @@ -1,31 +0,0 @@ -Fix GCC7 warnings. - -Taken from upstream: -https://git.savannah.gnu.org/cgit/aspell.git/commit/?id=8089fa02122fed0a6394eba14bbedcb1d18e2384 - -diff --git a/modules/filter/tex.cpp b/modules/filter/tex.cpp -index a979539..19ab63c 100644 ---- a/modules/filter/tex.cpp -+++ b/modules/filter/tex.cpp -@@ -174,7 +174,7 @@ namespace { - - if (c == '{') { - -- if (top.in_what == Parm || top.in_what == Opt || top.do_check == '\0') -+ if (top.in_what == Parm || top.in_what == Opt || *top.do_check == '\0') - push_command(Parm); - - top.in_what = Parm; -diff --git a/prog/check_funs.cpp b/prog/check_funs.cpp -index db54f3d..89ee09d 100644 ---- a/prog/check_funs.cpp -+++ b/prog/check_funs.cpp -@@ -647,7 +647,7 @@ static void print_truncate(FILE * out, const char * word, int width) { - } - } - if (i == width-1) { -- if (word == '\0') -+ if (*word == '\0') - put(out,' '); - else if (word[len] == '\0') - put(out, word, len); diff --git a/gnu/packages/patches/bash-linux-pgrp-pipe.patch b/gnu/packages/patches/bash-linux-pgrp-pipe.patch new file mode 100644 index 0000000000..234a55e897 --- /dev/null +++ b/gnu/packages/patches/bash-linux-pgrp-pipe.patch @@ -0,0 +1,32 @@ +Unconditionally enable PGRP_PIPE on Linux (the kernel), regardless of +the kernel version in use on the build machine. + +--- configure.ac.orig 2019-01-02 09:38:44.000000000 -0500 ++++ configure.ac 2019-08-15 16:40:24.271758379 -0400 +@@ -1108,10 +1108,7 @@ + solaris2*) LOCAL_CFLAGS=-DSOLARIS ;; + lynxos*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;; + linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading +- case "`uname -r`" in +- 1.*|2.[[0123]]*) : ;; +- *) AC_DEFINE(PGRP_PIPE) ;; +- esac ;; ++ AC_DEFINE(PGRP_PIPE) ;; + netbsd*|openbsd*) LOCAL_CFLAGS="-DDEV_FD_STAT_BROKEN" ;; + *qnx[[67]]*) LOCAL_LIBS="-lncurses" ;; + *qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;; +--- configure.orig 2019-01-02 09:43:04.000000000 -0500 ++++ configure 2019-08-15 16:41:44.440155912 -0400 +@@ -16312,11 +16312,7 @@ + solaris2*) LOCAL_CFLAGS=-DSOLARIS ;; + lynxos*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;; + linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading +- case "`uname -r`" in +- 1.*|2.[0123]*) : ;; +- *) $as_echo "#define PGRP_PIPE 1" >>confdefs.h +- ;; +- esac ;; ++ $as_echo "#define PGRP_PIPE 1" >>confdefs.h ;; + netbsd*|openbsd*) LOCAL_CFLAGS="-DDEV_FD_STAT_BROKEN" ;; + *qnx[67]*) LOCAL_LIBS="-lncurses" ;; + *qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;; diff --git a/gnu/packages/patches/bc-fix-cross-compilation.patch b/gnu/packages/patches/bc-fix-cross-compilation.patch new file mode 100644 index 0000000000..14dfecdbde --- /dev/null +++ b/gnu/packages/patches/bc-fix-cross-compilation.patch @@ -0,0 +1,171 @@ +Patch taken from nix. + +commit fdda59736ddc048cf38a2c7103f4f5d9eeaf995e +Author: Ben Gamari <ben@smart-cactus.org> +Date: Tue Oct 17 10:51:34 2017 -0400 + + Try implementing cross-compilation + +diff --git a/bc/Makefile.am b/bc/Makefile.am +index d9d412e..fdef633 100644 +--- a/bc/Makefile.am ++++ b/bc/Makefile.am +@@ -17,6 +17,7 @@ MAINTAINERCLEANFILES = Makefile.in bc.c bc.h scan.c \ + + AM_CPPFLAGS = -I$(srcdir) -I$(srcdir)/../h + LIBBC = ../lib/libbc.a ++LIBBC_HOST = ../lib/libbc_host.a + LIBL = @LEXLIB@ + LDADD = $(LIBBC) $(LIBL) @READLINELIB@ + +@@ -29,12 +30,20 @@ $(PROGRAMS): libmath.h $(LIBBC) + scan.o: bc.h + global.o: libmath.h ++ ++main_host.c : main.c ++ cp $< $@ + +-fbcOBJ = main.o bc.o scan.o execute.o load.o storage.o util.o warranty.o ++fbcOBJ = $(addsuffix _host,main.o bc.o scan.o execute.o load.o storage.o util.o warranty.o) ++ ++%.o_host : CC:=$(CC_FOR_BUILD) ++ ++%.o_host : %.c ++ $(COMPILE) -c $(CFLAGS) $(INCLUDES) -o $@ $< + +-libmath.h: libmath.b $(fbcOBJ) $(LIBBC) ++libmath.h: libmath.b $(fbcOBJ) $(LIBBC_HOST) + echo '{0}' > libmath.h +- $(MAKE) global.o +- $(LINK) -o fbc $(fbcOBJ) global.o $(LIBBC) $(LIBL) $(READLINELIB) $(LIBS) ++ $(MAKE) global.o_host ++ $(CC_FOR_BUILD) -o fbc $(fbcOBJ) global.o_host $(LIBBC_HOST) $(LIBL) ${READLINELIB} $(LIBS) + ./fbc -c $(srcdir)/libmath.b </dev/null >libmath.h + $(srcdir)/fix-libmath_h + rm -f ./fbc ./global.o +diff --git a/configure.ac b/configure.ac +index fc74573..5cabb73 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -20,6 +20,7 @@ m4_define([dc_version], 1.4.1) + + AC_INIT([bc],[bc_version]) + AC_CONFIG_SRCDIR(doc/bc.1) ++AC_CONFIG_MACRO_DIR([m4]) + AM_INIT_AUTOMAKE([dist-bzip2]) + AC_CONFIG_HEADERS(config.h) + +@@ -35,6 +36,7 @@ AC_DEFINE([DC_COPYRIGHT], + [Define the dc copyright line.]) + + AC_PROG_CC ++AX_CC_FOR_BUILD + AC_USE_SYSTEM_EXTENSIONS + + AM_PROG_LEX +diff --git a/lib/Makefile.am b/lib/Makefile.am +index ec4bf59..c670f5b 100644 +--- a/lib/Makefile.am ++++ b/lib/Makefile.am +@@ -1,5 +1,5 @@ + ## Process this file with automake to produce Makefile.in +-noinst_LIBRARIES = libbc.a ++noinst_LIBRARIES = libbc.a libbc_host.a + + AM_CPPFLAGS = -I. -I.. -I$(srcdir)/../h + +@@ -24,3 +24,11 @@ testmul: testmul.o number.o + + specialnumber: newnumber.o + cp newnumber.o number.o ++ ++%.o_host : CC:=$(CC_FOR_BUILD) ++%.o_host : %.c ++ $(COMPILE) -c $(CFLAGS) $(INCLUDES) -o $@ $< ++ ++libbc_host.a : $(addsuffix _host,$(libbc_a_OBJECTS)) ++ ar cru $@ $+ ++ ranlib $@ +diff --git a/m4/cc_for_build.m4 b/m4/cc_for_build.m4 +new file mode 100644 +index 0000000..c62ffad +--- /dev/null ++++ b/m4/cc_for_build.m4 +@@ -0,0 +1,77 @@ ++# =========================================================================== ++# https://www.gnu.org/software/autoconf-archive/ax_cc_for_build.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AX_CC_FOR_BUILD ++# ++# DESCRIPTION ++# ++# Find a build-time compiler. Sets CC_FOR_BUILD and EXEEXT_FOR_BUILD. ++# ++# LICENSE ++# ++# Copyright (c) 2010 Reuben Thomas <rrt@sc3d.org> ++# Copyright (c) 1999 Richard Henderson <rth@redhat.com> ++# ++# This program is free software: you can redistribute it and/or modify it ++# under the terms of the GNU General Public License as published by the ++# Free Software Foundation, either version 3 of the License, or (at your ++# option) any later version. ++# ++# This program is distributed in the hope that it will be useful, but ++# WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General ++# Public License for more details. ++# ++# You should have received a copy of the GNU General Public License along ++# with this program. If not, see <https://www.gnu.org/licenses/>. ++# ++# As a special exception, the respective Autoconf Macro's copyright owner ++# gives unlimited permission to copy, distribute and modify the configure ++# scripts that are the output of Autoconf when processing the Macro. You ++# need not follow the terms of the GNU General Public License when using ++# or distributing such scripts, even though portions of the text of the ++# Macro appear in them. The GNU General Public License (GPL) does govern ++# all other use of the material that constitutes the Autoconf Macro. ++# ++# This special exception to the GPL applies to versions of the Autoconf ++# Macro released by the Autoconf Archive. When you make and distribute a ++# modified version of the Autoconf Macro, you may extend this special ++# exception to the GPL to apply to your modified version as well. ++ ++#serial 3 ++ ++dnl Get a default for CC_FOR_BUILD to put into Makefile. ++AC_DEFUN([AX_CC_FOR_BUILD], ++[# Put a plausible default for CC_FOR_BUILD in Makefile. ++if test -z "$CC_FOR_BUILD"; then ++ if test "x$cross_compiling" = "xno"; then ++ CC_FOR_BUILD='$(CC)' ++ else ++ CC_FOR_BUILD=gcc ++ fi ++fi ++AC_SUBST(CC_FOR_BUILD) ++# Also set EXEEXT_FOR_BUILD. ++if test "x$cross_compiling" = "xno"; then ++ EXEEXT_FOR_BUILD='$(EXEEXT)' ++else ++ AC_CACHE_CHECK([for build system executable suffix], bfd_cv_build_exeext, ++ [rm -f conftest* ++ echo 'int main () { return 0; }' > conftest.c ++ bfd_cv_build_exeext= ++ ${CC_FOR_BUILD} -o conftest conftest.c 1>&5 2>&5 ++ for file in conftest.*; do ++ case $file in ++ *.c | *.o | *.obj | *.ilk | *.pdb) ;; ++ *) bfd_cv_build_exeext=`echo $file | sed -e s/conftest//` ;; ++ esac ++ done ++ rm -f conftest* ++ test x"${bfd_cv_build_exeext}" = x && bfd_cv_build_exeext=no]) ++ EXEEXT_FOR_BUILD="" ++ test x"${bfd_cv_build_exeext}" != xno && EXEEXT_FOR_BUILD=${bfd_cv_build_exeext} ++fi ++AC_SUBST(EXEEXT_FOR_BUILD)])dnl diff --git a/gnu/packages/patches/choqok-Fix-building-under-Qt-5.13.patch b/gnu/packages/patches/choqok-Fix-building-under-Qt-5.13.patch new file mode 100644 index 0000000000..4250106a19 --- /dev/null +++ b/gnu/packages/patches/choqok-Fix-building-under-Qt-5.13.patch @@ -0,0 +1,89 @@ +Add QMap include to fix building under Qt 5.13 + +This combines several patches which all add the same missing include: +- e13ab06f65a4e8b6259bccda1401abb9c1c9fdca +- 546ede9ef712bb1b156a55ce30df81c3203dde61 +- 08fb06b63a78888e6703de6ac1a4fd6a0e2791eb +- bef6784596bf0b41287ebad81f138e1c8c2a6be2 + +Include is no longer added transitively. +--- + +--- a/plugins/betternotify/notify.h ++++ b/plugins/betternotify/notify.h +@@ -23,6 +23,7 @@ + #ifndef NOTIFY_H + #define NOTIFY_H + ++#include <QMap> + #include <QQueue> + #include <QPoint> + #include <QPointer> +--- a/plugins/untiny/untiny.h ++++ b/plugins/untiny/untiny.h +@@ -27,6 +27,7 @@ + + #include "plugin.h" + ++#include <QMap> + #include <QQueue> + #include <QUrl> + #include <QPointer> +--- a/plugins/uploaders/flickr/flickr.h ++++ b/plugins/uploaders/flickr/flickr.h +@@ -26,6 +26,8 @@ + + #include "uploader.h" + ++#include <QMap> ++ + /** + @author Andrey Esin \<gmlastik@gmail.com\> + */ +diff --git a/plugins/uploaders/imageshack/imageshack.h b/plugins/uploaders/imageshack/imageshack.h +index d9ddc88..63d0e3f 100644 +--- a/plugins/uploaders/imageshack/imageshack.h ++++ b/plugins/uploaders/imageshack/imageshack.h +@@ -26,6 +26,8 @@ + + #include "uploader.h" + ++#include <QMap> ++ + /** + @author Mehrdad Momeny \<mehrdad.momeny@gmail.com\> + */ +--- a/plugins/uploaders/mobypicture/mobypicture.h ++++ b/plugins/uploaders/mobypicture/mobypicture.h +@@ -26,6 +26,8 @@ + + #include "uploader.h" + ++#include <QMap> ++ + class KJob; + + class Mobypicture : public Choqok::Uploader +--- a/plugins/uploaders/posterous/posterous.h ++++ b/plugins/uploaders/posterous/posterous.h +@@ -26,6 +26,8 @@ + + #include "uploader.h" + ++#include <QMap> ++ + class KJob; + + class Posterous : public Choqok::Uploader +--- a/plugins/uploaders/twitgoo/twitgoo.h ++++ b/plugins/uploaders/twitgoo/twitgoo.h +@@ -26,6 +26,8 @@ + + #include "uploader.h" + ++#include <QMap> ++ + class KJob; + + class Twitgoo : public Choqok::Uploader +-- diff --git a/gnu/packages/patches/cmake-curl-certificates.patch b/gnu/packages/patches/cmake-curl-certificates.patch index 36252083f8..7fe2615271 100644 --- a/gnu/packages/patches/cmake-curl-certificates.patch +++ b/gnu/packages/patches/cmake-curl-certificates.patch @@ -6,19 +6,19 @@ as well as /etc/ssl/certs. --- cmake-3.13.1/Source/cmCurl.cxx 2019-09-10 17:27:36.926907260 +0200 +++ cmake-3.13.1/Source/cmCurl.cxx 2019-09-10 17:52:35.475903919 +0200 -@@ -4,11 +4,8 @@ - - #include "cmThirdParty.h" +@@ -2,11 +2,8 @@ + file Copyright.txt or https://cmake.org/licensing for details. */ + #include "cmCurl.h" -#if !defined(CMAKE_USE_SYSTEM_CURL) && !defined(_WIN32) && \ - !defined(__APPLE__) && !defined(CURL_CA_BUNDLE) && !defined(CURL_CA_PATH) # define CMAKE_FIND_CAFILE # include "cmSystemTools.h" -#endif + #include "cmStringAlgorithms.h" // curl versions before 7.21.5 did not provide this error code - #if defined(LIBCURL_VERSION_NUM) && LIBCURL_VERSION_NUM < 0x071505 -@@ -29,6 +26,19 @@ std::string cmCurlSetCAInfo(::CURL* curl +@@ -30,6 +27,19 @@ ::CURLcode res = ::curl_easy_setopt(curl, CURLOPT_CAINFO, cafile); check_curl_result(res, "Unable to set TLS/SSL Verify CAINFO: "); } diff --git a/gnu/packages/patches/curl-use-ssl-cert-env.patch b/gnu/packages/patches/curl-use-ssl-cert-env.patch new file mode 100644 index 0000000000..c8e80b4445 --- /dev/null +++ b/gnu/packages/patches/curl-use-ssl-cert-env.patch @@ -0,0 +1,64 @@ +Make libcurl respect the SSL_CERT_{DIR,FILE} variables by default. The variables +are fetched during initialization to preserve thread-safety (curl_global_init(3) +must be called when no other threads exist). + +This fixes network functionality in rust:cargo, and probably removes the need +for other future workarounds. +=================================================================== +--- curl-7.66.0.orig/lib/easy.c 2020-01-02 15:43:11.883921171 +0100 ++++ curl-7.66.0/lib/easy.c 2020-01-02 16:18:54.691882797 +0100 +@@ -134,6 +134,9 @@ + # pragma warning(default:4232) /* MSVC extension, dllimport identity */ + #endif + ++char * Curl_ssl_cert_dir = NULL; ++char * Curl_ssl_cert_file = NULL; ++ + /** + * curl_global_init() globally initializes curl given a bitwise set of the + * different features of what to initialize. +@@ -155,6 +158,9 @@ + #endif + } + ++ Curl_ssl_cert_dir = curl_getenv("SSL_CERT_DIR"); ++ Curl_ssl_cert_file = curl_getenv("SSL_CERT_FILE"); ++ + if(!Curl_ssl_init()) { + DEBUGF(fprintf(stderr, "Error: Curl_ssl_init failed\n")); + return CURLE_FAILED_INIT; +@@ -260,6 +266,9 @@ + Curl_ssl_cleanup(); + Curl_resolver_global_cleanup(); + ++ free(Curl_ssl_cert_dir); ++ free(Curl_ssl_cert_file); ++ + #ifdef WIN32 + Curl_win32_cleanup(init_flags); + #endif +diff -ur curl-7.66.0.orig/lib/url.c curl-7.66.0/lib/url.c +--- curl-7.66.0.orig/lib/url.c 2020-01-02 15:43:11.883921171 +0100 ++++ curl-7.66.0/lib/url.c 2020-01-02 16:21:11.563880346 +0100 +@@ -524,6 +524,21 @@ + if(result) + return result; + #endif ++ extern char * Curl_ssl_cert_dir; ++ extern char * Curl_ssl_cert_file; ++ if(Curl_ssl_cert_dir) { ++ if(result = Curl_setstropt(&set->str[STRING_SSL_CAPATH_ORIG], Curl_ssl_cert_dir)) ++ return result; ++ if(result = Curl_setstropt(&set->str[STRING_SSL_CAPATH_PROXY], Curl_ssl_cert_dir)) ++ return result; ++ } ++ ++ if(Curl_ssl_cert_file) { ++ if(result = Curl_setstropt(&set->str[STRING_SSL_CAFILE_ORIG], Curl_ssl_cert_file)) ++ return result; ++ if(result = Curl_setstropt(&set->str[STRING_SSL_CAFILE_PROXY], Curl_ssl_cert_file)) ++ return result; ++ } + } + + set->wildcard_enabled = FALSE; diff --git a/gnu/packages/patches/cyrus-sasl-ac-try-run-fix.patch b/gnu/packages/patches/cyrus-sasl-ac-try-run-fix.patch new file mode 100644 index 0000000000..8662e812e9 --- /dev/null +++ b/gnu/packages/patches/cyrus-sasl-ac-try-run-fix.patch @@ -0,0 +1,12 @@ +--- a/m4/sasl2.m4 2018-11-18 22:33:29.902625600 +0300 ++++ b/m4/sasl2.m4 2018-11-18 22:33:59.828746176 +0300 +@@ -339,7 +339,8 @@ + ], + [ AC_DEFINE(HAVE_GSS_SPNEGO,,[Define if your GSSAPI implementation supports SPNEGO]) + AC_MSG_RESULT(yes) ], +- AC_MSG_RESULT(no)) ++ AC_MSG_RESULT(no), ++ AC_MSG_RESULT(no)) + LIBS="$cmu_save_LIBS" + + else diff --git a/gnu/packages/patches/dconf-meson-0.52.patch b/gnu/packages/patches/dconf-meson-0.52.patch new file mode 100644 index 0000000000..c636edc108 --- /dev/null +++ b/gnu/packages/patches/dconf-meson-0.52.patch @@ -0,0 +1,19 @@ +Fix build failure with Meson 0.52. + +Taken from upstream: +https://gitlab.gnome.org/GNOME/dconf/commit/7ad890fb7a2ec90a777a756a1fa20a615ec7245e +https://gitlab.gnome.org/GNOME/dconf/merge_requests/54 + +diff --git a/client/meson.build b/client/meson.build +index f3b7122cb05bfa7bb481c487e3cd052aa1ad58e5..de6387e2cac2aba12b83f2614c277bada434fd16 100644 +--- a/client/meson.build ++++ b/client/meson.build +@@ -28,7 +28,7 @@ libdconf_client = static_library( + + libdconf_client_dep = declare_dependency( + dependencies: gio_dep, +- link_whole: libdconf_client, ++ link_with: libdconf_client, + ) + + libdconf = shared_library( diff --git a/gnu/packages/patches/doxygen-1.8.17-runtests.patch b/gnu/packages/patches/doxygen-1.8.17-runtests.patch new file mode 100644 index 0000000000..0340c72448 --- /dev/null +++ b/gnu/packages/patches/doxygen-1.8.17-runtests.patch @@ -0,0 +1,73 @@ +1.8.17 was released with a broken test runner. + +https://github.com/doxygen/doxygen/issues/7464 + +Taken from upstream: +https://github.com/doxygen/doxygen/commit/cd9dee013dc749a10bbe019c350e0e62b6635795 + +diff --git a/testing/runtests.py b/testing/runtests.py +index a4118b865..10fe50214 100755 +--- a/testing/runtests.py ++++ b/testing/runtests.py +@@ -3,6 +3,7 @@ + from __future__ import print_function + import argparse, glob, itertools, re, shutil, os, sys + import subprocess ++import shlex + + config_reg = re.compile('.*\/\/\s*(?P<name>\S+):\s*(?P<value>.*)$') + +@@ -28,10 +29,10 @@ def xpopen(cmd, cmd1="",encoding='utf-8-sig', getStderr=False): + return os.popen(cmd).read() # Python 2 without encoding + else: + if (getStderr): +- proc = subprocess.run(cmd1,encoding=encoding,capture_output=True) # Python 3 with encoding +- return proc.stderr ++ proc = subprocess.Popen(shlex.split(cmd1),stdout=subprocess.PIPE,stderr=subprocess.PIPE,encoding=encoding) # Python 3 with encoding ++ return proc.stderr.read() + else: +- proc = subprocess.Popen(cmd,stdout=subprocess.PIPE,stderr=subprocess.PIPE,encoding=encoding) # Python 3 with encoding ++ proc = subprocess.Popen(shlex.split(cmd),stdout=subprocess.PIPE,stderr=subprocess.PIPE,encoding=encoding) # Python 3 with encoding + return proc.stdout.read() + + class Tester: +@@ -137,7 +138,7 @@ def prepare_test(self): + print('GENERATE_DOCBOOK=NO', file=f) + if (self.args.xhtml): + print('GENERATE_HTML=YES', file=f) +- # HTML_OUTPUT can also be set locally ++ # HTML_OUTPUT can also have been set locally + print('HTML_OUTPUT=%s/html' % self.test_out, file=f) + print('HTML_FILE_EXTENSION=.xhtml', file=f) + if (self.args.pdf): +@@ -184,7 +185,7 @@ def update_test(self,testmgr): + print('Non-existing file %s after \'check:\' statement' % check_file) + return + # convert output to canonical form +- data = xpopen('%s --format --noblanks --nowarning %s' % (self.args.xmllint,check_file)).read() ++ data = xpopen('%s --format --noblanks --nowarning %s' % (self.args.xmllint,check_file)) + if data: + # strip version + data = re.sub(r'xsd" version="[0-9.-]+"','xsd" version=""',data).rstrip('\n') +@@ -326,7 +327,7 @@ def perform_test(self,testmgr): + tests.append(glob.glob('%s/*.xml' % (docbook_output))) + tests.append(glob.glob('%s/*/*/*.xml' % (docbook_output))) + tests = ' '.join(list(itertools.chain.from_iterable(tests))).replace(self.args.outputdir +'/','').replace('\\','/') +- exe_string = '%s --nonet --postvalid %s' % (self.args.xmllint,tests) ++ exe_string = '%s --noout --nonet --postvalid %s' % (self.args.xmllint,tests) + exe_string1 = exe_string + exe_string += ' %s' % (redirx) + exe_string += ' %s more "%s/temp"' % (separ,docbook_output) +@@ -346,7 +347,11 @@ def perform_test(self,testmgr): + redirx=' 2> %s/temp >nul:'%html_output + else: + redirx='2>%s/temp >/dev/null'%html_output +- exe_string = '%s --path dtd --nonet --postvalid %s/*xhtml' % (self.args.xmllint,html_output) ++ check_file = [] ++ check_file.append(glob.glob('%s/*.xhtml' % (html_output))) ++ check_file.append(glob.glob('%s/*/*/*.xhtml' % (html_output))) ++ check_file = ' '.join(list(itertools.chain.from_iterable(check_file))).replace(self.args.outputdir +'/','').replace('\\','/') ++ exe_string = '%s --noout --path dtd --nonet --postvalid %s' % (self.args.xmllint,check_file) + exe_string1 = exe_string + exe_string += ' %s' % (redirx) + exe_string += ' %s more "%s/temp"' % (separ,html_output) diff --git a/gnu/packages/patches/doxygen-test.patch b/gnu/packages/patches/doxygen-test.patch index 8ccb9ec3c4..1c0d4eb946 100644 --- a/gnu/packages/patches/doxygen-test.patch +++ b/gnu/packages/patches/doxygen-test.patch @@ -5,19 +5,40 @@ test. diff -u -r doxygen-1.8.7.orig/testing/012/citelist.xml doxygen-1.8.7/testing/012/citelist.xml --- doxygen-1.8.7.orig/testing/012/citelist.xml 2014-04-24 23:43:34.000000000 +0200 +++ doxygen-1.8.7/testing/012/citelist.xml 2014-04-24 23:49:43.000000000 +0200 -@@ -6,17 +6,6 @@ +@@ -6,38 +6,6 @@ <briefdescription> </briefdescription> <detaileddescription> - <para> - <variablelist> - <varlistentry> -- <term><anchor id="citelist_1CITEREF_knuth79"/>[1]</term> +- <term><anchor id="citelist_1CITEREF_Be09"/>[1]</term> +- </varlistentry> +- <listitem> +- <para>P.<nonbreakablespace/>Belotti. <ulink url="http://doi.org/10.1007/978-1-4614-1927-3_5">Disjunctive cuts for non-convex MINLP</ulink>. In <ulink url="#CITEREF_LeLe12">Lee and Leyffer</ulink> <ulink url="#CITEREF_LeLe12">[4]</ulink>, pages 117<ndash/>144.</para> +- <para/> +- </listitem> +- <varlistentry> +- <term><anchor id="citelist_1CITEREF_BertholdHeinzVigerske2009"/>[2]</term> +- </varlistentry> +- <listitem> +- <para>T.<nonbreakablespace/>Berthold, S.<nonbreakablespace/>Heinz, and S.<nonbreakablespace/>Vigerske. <ulink url="http://doi.org/10.1007/978-1-4614-1927-3_15">Extending a CIP framework to solve MIQCPs</ulink>. In <ulink url="#CITEREF_LeLe12">Lee and Leyffer</ulink> <ulink url="#CITEREF_LeLe12">[4]</ulink>, pages 427<ndash/>444.</para> +- <para/> +- </listitem> +- <varlistentry> +- <term><anchor id="citelist_1CITEREF_knuth79"/>[3]</term> - </varlistentry> - <listitem> - <para>Donald<nonbreakablespace/>E. Knuth. <emphasis>Tex and Metafont, New Directions in Typesetting</emphasis>. American Mathematical Society and Digital Press, Stanford, 1979.</para> - <para/> - </listitem> +- <varlistentry> +- <term><anchor id="citelist_1CITEREF_LeLe12"/>[4]</term> +- </varlistentry> +- <listitem> +- <para>Jon Lee and Sven Leyffer, editors. <ulink url="http://doi.org/10.1007/978-1-4614-1927-3"><emphasis>Mixed Integer Nonlinear Programming</emphasis></ulink>, volume 154 of <emphasis>The IMA Volumes in Mathematics and its Applications</emphasis>. Springer, 2012.</para> +- <para/> +- </listitem> - </variablelist> - </para> </detaileddescription> @@ -26,13 +47,14 @@ diff -u -r doxygen-1.8.7.orig/testing/012/citelist.xml doxygen-1.8.7/testing/012 diff -u -r doxygen-1.8.7.orig/testing/012/indexpage.xml doxygen-1.8.7/testing/012/indexpage.xml --- doxygen-1.8.7.orig/testing/012/indexpage.xml 2014-04-24 23:43:34.000000000 +0200 +++ doxygen-1.8.7/testing/012/indexpage.xml 2014-04-24 23:44:05.000000000 +0200 -@@ -4,7 +4,7 @@ - <compoundname>index</compoundname> - <title>My Project</title> +@@ -6,8 +6,8 @@ + <briefdescription> + </briefdescription> <detaileddescription> -- <para>See <ref refid="citelist_1CITEREF_knuth79" kindref="member">[1]</ref> for more info. </para> -+ <para>See knuth79 for more info. </para> +- <para>See <ref refid="citelist_1CITEREF_knuth79" kindref="member">[3]</ref> for more info.</para> +- <para>Other references with cross references see <ref refid="citelist_1CITEREF_Be09" kindref="member">[1]</ref> and <ref refid="citelist_1CITEREF_BertholdHeinzVigerske2009" kindref="member">[2]</ref> for more info. </para> ++ <para>See knuth79 for more info.</para> ++ <para>Other references with cross references see Be09 and BertholdHeinzVigerske2009 for more info. </para> </detaileddescription> </compounddef> </doxygen> - diff --git a/gnu/packages/patches/evolution-data-server-libical-compat.patch b/gnu/packages/patches/evolution-data-server-libical-compat.patch new file mode 100644 index 0000000000..a988519ea0 --- /dev/null +++ b/gnu/packages/patches/evolution-data-server-libical-compat.patch @@ -0,0 +1,36 @@ +Prevent test failure and possible data loss due to API change in libical 3.0.7. + +https://gitlab.gnome.org/GNOME/evolution-data-server/issues/185 +https://lists.infradead.org/pipermail/libical-devel/2020-January/000907.html + +Adapted from upstream: + +https://gitlab.gnome.org/GNOME/evolution-data-server/commit/77384ab552c19bf374dbeda53dc37f98d07bd4ec + +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -108,7 +108,7 @@ + + set(gcr_minimum_version 3.4) + set(libgdata_minimum_version 0.15.1) +-set(libical_minimum_version 2.0) ++set(libical_minimum_version 3.0.7) + set(libsecret_minimum_version 0.5) + set(libxml_minimum_version 2.0.0) + set(sqlite_minimum_version 3.7.17) +diff --git a/src/calendar/libedata-cal/e-cal-meta-backend.c b/src/calendar/libedata-cal/e-cal-meta-backend.c +index 7501f2a43dcc3af91e93e89751caf76e77c2ac23..93f4806ba2c5193f746e9fae5bf74d08ad05f8bf 100644 +--- a/src/calendar/libedata-cal/e-cal-meta-backend.c ++++ b/src/calendar/libedata-cal/e-cal-meta-backend.c +@@ -3958,9 +3958,8 @@ + gchar *base64; + + base64 = g_base64_encode ((const guchar *) content, len); +- new_attach = icalattach_new_from_data (base64, NULL, NULL); ++ new_attach = icalattach_new_from_data (base64, (GFunc) g_free, NULL); + g_free (content); +- g_free (base64); + + ecmb_remove_all_but_filename_parameter (prop); + diff --git a/gnu/packages/patches/file-CVE-2018-10360.patch b/gnu/packages/patches/file-CVE-2018-10360.patch deleted file mode 100644 index 9285611c04..0000000000 --- a/gnu/packages/patches/file-CVE-2018-10360.patch +++ /dev/null @@ -1,27 +0,0 @@ -https://github.com/file/file/commit/a642587a9c9e2dd7feacdf513c3643ce26ad3c22.patch -The leading part of the patch starting at line 27 was trimmed off. -This patch should be OK to drop with file@5.35. - -From a642587a9c9e2dd7feacdf513c3643ce26ad3c22 Mon Sep 17 00:00:00 2001 -From: Christos Zoulas <christos@zoulas.com> -Date: Sat, 9 Jun 2018 16:00:06 +0000 -Subject: [PATCH] Avoid reading past the end of buffer (Rui Reis) - ---- - src/readelf.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/src/readelf.c b/src/readelf.c -index 79c83f9f5..1f41b4611 100644 ---- a/src/readelf.c -+++ b/src/readelf.c -@@ -842,7 +842,8 @@ do_core_note(struct magic_set *ms, unsigned char *nbuf, uint32_t type, - - cname = (unsigned char *) - &nbuf[doff + prpsoffsets(i)]; -- for (cp = cname; *cp && isprint(*cp); cp++) -+ for (cp = cname; cp < nbuf + size && *cp -+ && isprint(*cp); cp++) - continue; - /* - * Linux apparently appends a space at the end diff --git a/gnu/packages/patches/findutils-gnulib-libio.patch b/gnu/packages/patches/findutils-gnulib-libio.patch deleted file mode 100644 index 79f9fd914d..0000000000 --- a/gnu/packages/patches/findutils-gnulib-libio.patch +++ /dev/null @@ -1,114 +0,0 @@ -Adjust to removal of libio interface in glibc 2.28. - -Based on this gnulib commit: -https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=4af4a4a71827c0bc5e0ec67af23edef4f15cee8e - -diff --git a/gl/lib/fflush.c b/gl/lib/fflush.c -index 5ae3e41..7a82470 100644 ---- a/gl/lib/fflush.c -+++ b/gl/lib/fflush.c -@@ -33,7 +33,7 @@ - #undef fflush - - --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - - /* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */ - static void -@@ -72,7 +72,7 @@ clear_ungetc_buffer (FILE *fp) - - #endif - --#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) -+#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) - - # if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT - /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */ -@@ -148,7 +148,7 @@ rpl_fflush (FILE *stream) - if (stream == NULL || ! freading (stream)) - return fflush (stream); - --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - - clear_ungetc_buffer_preserving_position (stream); - -diff --git a/gl/lib/fpurge.c b/gl/lib/fpurge.c -index f313b22..ecdf82d 100644 ---- a/gl/lib/fpurge.c -+++ b/gl/lib/fpurge.c -@@ -62,7 +62,7 @@ fpurge (FILE *fp) - /* Most systems provide FILE as a struct and the necessary bitmask in - <stdio.h>, because they need it for implementing getc() and putc() as - fast macros. */ --# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - fp->_IO_read_end = fp->_IO_read_ptr; - fp->_IO_write_ptr = fp->_IO_write_base; - /* Avoid memory leak when there is an active ungetc buffer. */ -diff --git a/gl/lib/freadahead.c b/gl/lib/freadahead.c -index 094daab..3f8101e 100644 ---- a/gl/lib/freadahead.c -+++ b/gl/lib/freadahead.c -@@ -25,7 +25,7 @@ - size_t - freadahead (FILE *fp) - { --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - if (fp->_IO_write_ptr > fp->_IO_write_base) - return 0; - return (fp->_IO_read_end - fp->_IO_read_ptr) -diff --git a/gl/lib/freading.c b/gl/lib/freading.c -index 0512b19..8c48fe4 100644 ---- a/gl/lib/freading.c -+++ b/gl/lib/freading.c -@@ -31,7 +31,7 @@ freading (FILE *fp) - /* Most systems provide FILE as a struct and the necessary bitmask in - <stdio.h>, because they need it for implementing getc() and putc() as - fast macros. */ --# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - return ((fp->_flags & _IO_NO_WRITES) != 0 - || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0 - && fp->_IO_read_base != NULL)); -diff --git a/gl/lib/fseeko.c b/gl/lib/fseeko.c -index 1c65d2a..9026408 100644 ---- a/gl/lib/fseeko.c -+++ b/gl/lib/fseeko.c -@@ -47,7 +47,7 @@ fseeko (FILE *fp, off_t offset, int whence) - #endif - - /* These tests are based on fpurge.c. */ --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - if (fp->_IO_read_end == fp->_IO_read_ptr - && fp->_IO_write_ptr == fp->_IO_write_base - && fp->_IO_save_base == NULL) -@@ -123,7 +123,7 @@ fseeko (FILE *fp, off_t offset, int whence) - return -1; - } - --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - fp->_flags &= ~_IO_EOF_SEEN; - fp->_offset = pos; - #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ -diff --git a/gl/lib/stdio-impl.h b/gl/lib/stdio-impl.h -index 502d891..ea38ee2 100644 ---- a/gl/lib/stdio-impl.h -+++ b/gl/lib/stdio-impl.h -@@ -18,6 +18,12 @@ - the same implementation of stdio extension API, except that some fields - have different naming conventions, or their access requires some casts. */ - -+/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this -+ problem by defining it ourselves. FIXME: Do not rely on glibc -+ internals. */ -+#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN -+# define _IO_IN_BACKUP 0x100 -+#endif - - /* BSD stdio derived implementations. */ - diff --git a/gnu/packages/patches/findutils-makedev.patch b/gnu/packages/patches/findutils-makedev.patch deleted file mode 100644 index 2f16c625d8..0000000000 --- a/gnu/packages/patches/findutils-makedev.patch +++ /dev/null @@ -1,22 +0,0 @@ -Include <sys/sysmacros.h> for "makedev". - -Taken from this gnulib commit: -https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=4da63c5881f60f71999a943612da9112232b9161 - -diff --git a/gl/lib/mountlist.c b/gl/lib/mountlist.c -index bb4e4ee21..cf4020e2a 100644 ---- a/gl/lib/mountlist.c -+++ b/gl/lib/mountlist.c -@@ -37,6 +37,12 @@ - # include <sys/param.h> - #endif - -+#if MAJOR_IN_MKDEV -+# include <sys/mkdev.h> -+#elif MAJOR_IN_SYSMACROS -+# include <sys/sysmacros.h> -+#endif -+ - #if defined MOUNTED_GETFSSTAT /* OSF_1 and Darwin1.3.x */ - # if HAVE_SYS_UCRED_H - # include <grp.h> /* needed on OSF V4.0 for definition of NGROUPS, diff --git a/gnu/packages/patches/findutils-test-rwlock-threads.patch b/gnu/packages/patches/findutils-test-rwlock-threads.patch new file mode 100644 index 0000000000..3062577c21 --- /dev/null +++ b/gnu/packages/patches/findutils-test-rwlock-threads.patch @@ -0,0 +1,38 @@ +Skip "test-rwlock1" when multithreading is disabled, which is the case +during bootstrapping on architectures not supported by GNU Mes. + +Taken from upstream gnulib: +https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=fdff8bd09a7f053381f8bdb107ab5280b7c95959 + +diff --git a/gnulib-tests/test-rwlock1.c b/gnulib-tests/test-rwlock1.c +--- a/gnulib-tests/test-rwlock1.c ++++ b/gnulib-tests/test-rwlock1.c +@@ -21,6 +21,8 @@ + + #include <config.h> + ++#if USE_ISOC_THREADS || USE_POSIX_THREADS || USE_ISOC_AND_POSIX_THREADS || USE_WINDOWS_THREADS ++ + #include "glthread/lock.h" + + #include <errno.h> +@@ -151,3 +153,18 @@ main () + sleep (1); + } + } ++ ++#else ++ ++/* No multithreading available. */ ++ ++#include <stdio.h> ++ ++int ++main () ++{ ++ fputs ("Skipping test: multithreading not enabled\n", stderr); ++ return 77; ++} ++ ++#endif + diff --git a/gnu/packages/patches/findutils-test-xargs.patch b/gnu/packages/patches/findutils-test-xargs.patch deleted file mode 100644 index 10c7bed28d..0000000000 --- a/gnu/packages/patches/findutils-test-xargs.patch +++ /dev/null @@ -1,22 +0,0 @@ -This test relies on 'xargs' being available in $PATH, which is not -the case when we build the initial Findutils doing bootstrapping. -Reported at <https://savannah.gnu.org/bugs/index.php?46786>. - ---- findutils-4.6.0/find/testsuite/sv-34976-execdir-fd-leak.sh 2015-12-31 19:37:59.401526288 +0100 -+++ findutils-4.6.0/find/testsuite/sv-34976-execdir-fd-leak.sh 2015-12-31 19:38:36.061770693 +0100 -@@ -50,13 +50,14 @@ die() { - # Create test files, each 98 in the directories ".", "one" and "two". - make_test_data() { - d="$1" -+ xargs="`cd ../../xargs; pwd -P`/xargs" - ( - cd "$1" || exit 1 - mkdir one two || exit 1 - for i in ${three_to_hundred} ; do - printf "./%03d one/%03d two/%03d " $i $i $i - done \ -- | xargs touch || exit 1 -+ | "$xargs" touch || exit 1 - ) \ - || die "failed to set up the test in ${outdir}" - } diff --git a/gnu/packages/patches/fribidi-CVE-2019-18397.patch b/gnu/packages/patches/fribidi-CVE-2019-18397.patch deleted file mode 100644 index aff1a669b2..0000000000 --- a/gnu/packages/patches/fribidi-CVE-2019-18397.patch +++ /dev/null @@ -1,26 +0,0 @@ -https://github.com/fribidi/fribidi/commit/034c6e9a1d296286305f4cfd1e0072b879f52568.patch - -From 034c6e9a1d296286305f4cfd1e0072b879f52568 Mon Sep 17 00:00:00 2001 -From: Dov Grobgeld <dov.grobgeld@gmail.com> -Date: Thu, 24 Oct 2019 09:37:29 +0300 -Subject: [PATCH] Truncate isolate_level to FRIBIDI_BIDI_MAX_EXPLICIT_LEVEL - ---- - lib/fribidi-bidi.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/lib/fribidi-bidi.c b/lib/fribidi-bidi.c -index 6c84392..d384878 100644 ---- a/lib/fribidi-bidi.c -+++ b/lib/fribidi-bidi.c -@@ -747,7 +747,9 @@ fribidi_get_par_embedding_levels_ex ( - } - - RL_LEVEL (pp) = level; -- RL_ISOLATE_LEVEL (pp) = isolate_level++; -+ RL_ISOLATE_LEVEL (pp) = isolate_level; -+ if (isolate_level < FRIBIDI_BIDI_MAX_EXPLICIT_LEVEL-1) -+ isolate_level++; - base_level_per_iso_level[isolate_level] = new_level; - - if (!FRIBIDI_IS_NEUTRAL (override)) diff --git a/gnu/packages/patches/ghostscript-CVE-2019-14869.patch b/gnu/packages/patches/ghostscript-CVE-2019-14869.patch new file mode 100644 index 0000000000..d80fba0594 --- /dev/null +++ b/gnu/packages/patches/ghostscript-CVE-2019-14869.patch @@ -0,0 +1,48 @@ +Fix CVE-2019-14869: + +https://nvd.nist.gov/vuln/detail/CVE-2019-14869 + +Patch taken from upstream: + +https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=485904772c5f0aa1140032746e5a0abfc40f4cef + +diff --git a/Resource/Init/gs_ttf.ps b/Resource/Init/gs_ttf.ps +index 74043d1..6be8fe9 100644 +--- a/Resource/Init/gs_ttf.ps ++++ b/Resource/Init/gs_ttf.ps +@@ -1304,7 +1304,7 @@ currentdict /.pickcmap_with_no_xlatmap .undef + TTFDEBUG { (\n1 setting alias: ) print dup ==only + ( to be the same as ) print 2 index //== exec } if + +- 7 index 2 index 3 -1 roll exch .forceput ++ 7 index 2 index 3 -1 roll exch put + } forall + pop pop pop + } +@@ -1322,7 +1322,7 @@ currentdict /.pickcmap_with_no_xlatmap .undef + exch pop + TTFDEBUG { (\n2 setting alias: ) print 1 index ==only + ( to use glyph index: ) print dup //== exec } if +- 5 index 3 1 roll .forceput ++ 5 index 3 1 roll put + //false + } + { +@@ -1339,7 +1339,7 @@ currentdict /.pickcmap_with_no_xlatmap .undef + { % CharStrings(dict) isunicode(boolean) cmap(dict) RAGL(dict) gname(name) codep(integer) gindex(integer) + TTFDEBUG { (\3 nsetting alias: ) print 1 index ==only + ( to be index: ) print dup //== exec } if +- exch pop 5 index 3 1 roll .forceput ++ exch pop 5 index 3 1 roll put + } + { + pop pop +@@ -1369,7 +1369,7 @@ currentdict /.pickcmap_with_no_xlatmap .undef + } ifelse + ] + TTFDEBUG { (Encoding: ) print dup === flush } if +-} .bind executeonly odef % hides .forceput ++} .bind odef + + % ---------------- CIDFontType 2 font loading ---------------- % + diff --git a/gnu/packages/patches/ghostscript-no-header-id.patch b/gnu/packages/patches/ghostscript-no-header-id.patch index da1aa5530f..45fc95fd6e 100644 --- a/gnu/packages/patches/ghostscript-no-header-id.patch +++ b/gnu/packages/patches/ghostscript-no-header-id.patch @@ -9,10 +9,10 @@ See: https://bugs.ghostscript.com/show_bug.cgi?id=698208 diff -ur orig/gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c --- orig/gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c 2017-07-09 23:30:28.960479189 +0200 +++ gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c 2017-07-09 23:34:34.306524488 +0200 -@@ -1785,8 +1785,11 @@ +@@ -1810,8 +1810,11 @@ * +1 for the linearisation dict and +1 for the primary hint stream. */ - linear_params->FirsttrailerOffset = gp_ftell_64(linear_params->Lin_File.file); + linear_params->FirsttrailerOffset = gp_ftell(linear_params->Lin_File.file); - gs_sprintf(LDict, "\ntrailer\n<</Size %ld/Info %d 0 R/Root %d 0 R/ID[%s%s]/Prev %d>>\nstartxref\r\n0\n%%%%EOF\n \n", - linear_params->LastResource + 3, pdev->ResourceUsage[linear_params->Info_id].NewObjectNumber, pdev->ResourceUsage[linear_params->Catalog_id].NewObjectNumber, fileID, fileID, 0); + gs_sprintf(LDict, "\ntrailer\n<</Size %ld/Info %d 0 R/Root %d 0 R", @@ -20,10 +20,10 @@ diff -ur orig/gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c gnu-ghostscript-9. + if (pdev->OwnerPassword.size > 0 || !(!getenv("GS_GENERATE_UUIDS") || (strcasecmp(getenv("GS_GENERATE_UUIDS"), "0") != 0 && strcasecmp(getenv("GS_GENERATE_UUIDS"), "no") != 0))) /* ID is mandatory when encrypting */ + gs_sprintf(LDict, "/ID[%s%s]", fileID, fileID); + gs_sprintf(LDict, "/Prev %d>>\nstartxref\r\n0\n%%%%EOF\n \n", 0); - fwrite(LDict, strlen(LDict), 1, linear_params->Lin_File.file); + gp_fwrite(LDict, strlen(LDict), 1, linear_params->Lin_File.file); /* Write document catalog (Part 4) */ -@@ -2321,8 +2324,11 @@ +@@ -2346,8 +2349,11 @@ if (code != 0) return_error(gs_error_ioerror); @@ -34,10 +34,10 @@ diff -ur orig/gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c gnu-ghostscript-9. + if (pdev->OwnerPassword.size > 0 || !(!getenv("GS_GENERATE_UUIDS") || (strcasecmp(getenv("GS_GENERATE_UUIDS"), "0") != 0 || strcasecmp(getenv("GS_GENERATE_UUIDS"), "no") != 0))) /* ID is mandatory when encrypting */ + gs_sprintf(LDict, "/ID[%s%s]", fileID, fileID); + gs_sprintf(LDict, "/Prev %"PRId64">>\nstartxref\r\n0\n%%%%EOF\n", mainxref); - fwrite(LDict, strlen(LDict), 1, linear_params->sfile); + gp_fwrite(LDict, strlen(LDict), 1, linear_params->sfile); - code = gp_fseek_64(linear_params->sfile, pdev->ResourceUsage[HintStreamObj].LinearisedOffset, SEEK_SET); -@@ -3016,10 +3022,12 @@ + code = gp_fseek(linear_params->sfile, pdev->ResourceUsage[HintStreamObj].LinearisedOffset, SEEK_SET); +@@ -3012,10 +3018,12 @@ stream_puts(s, "trailer\n"); pprintld3(s, "<< /Size %ld /Root %ld 0 R /Info %ld 0 R\n", pdev->next_id, Catalog_id, Info_id); diff --git a/gnu/packages/patches/giflib-make-reallocarray-private.patch b/gnu/packages/patches/giflib-make-reallocarray-private.patch deleted file mode 100644 index 69228c5be8..0000000000 --- a/gnu/packages/patches/giflib-make-reallocarray-private.patch +++ /dev/null @@ -1,120 +0,0 @@ -Move the declaration from gif_lib.h to gif_lib_private.h to solve -conflicts when some .c-file #includes both stdlib.h and gif_lib.h. -See also https://sourceforge.net/p/giflib/bugs/110/ - -diff -ur giflib-5.1.4.orig/lib/dgif_lib.c giflib-5.1.4/lib/dgif_lib.c ---- giflib-5.1.4.orig/lib/dgif_lib.c 2018-02-28 20:31:02.294682673 +0100 -+++ giflib-5.1.4/lib/dgif_lib.c 2018-02-28 22:38:11.659126414 +0100 -@@ -396,7 +396,7 @@ - - if (GifFile->SavedImages) { - SavedImage* new_saved_images = -- (SavedImage *)reallocarray(GifFile->SavedImages, -+ (SavedImage *)giflib_private_reallocarray(GifFile->SavedImages, - (GifFile->ImageCount + 1), sizeof(SavedImage)); - if (new_saved_images == NULL) { - GifFile->Error = D_GIF_ERR_NOT_ENOUGH_MEM; -@@ -1108,7 +1108,7 @@ - if (ImageSize > (SIZE_MAX / sizeof(GifPixelType))) { - return GIF_ERROR; - } -- sp->RasterBits = (unsigned char *)reallocarray(NULL, ImageSize, -+ sp->RasterBits = (unsigned char *)giflib_private_reallocarray(NULL, ImageSize, - sizeof(GifPixelType)); - - if (sp->RasterBits == NULL) { -diff -ur giflib-5.1.4.orig/lib/gifalloc.c giflib-5.1.4/lib/gifalloc.c ---- giflib-5.1.4.orig/lib/gifalloc.c 2018-02-28 20:31:02.294682673 +0100 -+++ giflib-5.1.4/lib/gifalloc.c 2018-02-28 22:38:11.657126423 +0100 -@@ -8,7 +8,7 @@ - #include <stdio.h> - #include <string.h> - --#include "gif_lib.h" -+#include "gif_lib_private.h" - - #define MAX(x, y) (((x) > (y)) ? (x) : (y)) - -@@ -188,7 +188,7 @@ - - /* perhaps we can shrink the map? */ - if (RoundUpTo < ColorUnion->ColorCount) { -- GifColorType *new_map = (GifColorType *)reallocarray(Map, -+ GifColorType *new_map = (GifColorType *)giflib_private_reallocarray(Map, - RoundUpTo, sizeof(GifColorType)); - if( new_map == NULL ) { - GifFreeMapObject(ColorUnion); -@@ -232,7 +232,7 @@ - if (*ExtensionBlocks == NULL) - *ExtensionBlocks=(ExtensionBlock *)malloc(sizeof(ExtensionBlock)); - else { -- ExtensionBlock* ep_new = (ExtensionBlock *)reallocarray -+ ExtensionBlock* ep_new = (ExtensionBlock *)giflib_private_reallocarray - (*ExtensionBlocks, (*ExtensionBlockCount + 1), - sizeof(ExtensionBlock)); - if( ep_new == NULL ) -@@ -325,7 +325,7 @@ - if (GifFile->SavedImages == NULL) - GifFile->SavedImages = (SavedImage *)malloc(sizeof(SavedImage)); - else -- GifFile->SavedImages = (SavedImage *)reallocarray(GifFile->SavedImages, -+ GifFile->SavedImages = (SavedImage *)giflib_private_reallocarray(GifFile->SavedImages, - (GifFile->ImageCount + 1), sizeof(SavedImage)); - - if (GifFile->SavedImages == NULL) -@@ -355,7 +355,7 @@ - } - - /* next, the raster */ -- sp->RasterBits = (unsigned char *)reallocarray(NULL, -+ sp->RasterBits = (unsigned char *)giflib_private_reallocarray(NULL, - (CopyFrom->ImageDesc.Height * - CopyFrom->ImageDesc.Width), - sizeof(GifPixelType)); -@@ -369,7 +369,7 @@ - - /* finally, the extension blocks */ - if (sp->ExtensionBlocks != NULL) { -- sp->ExtensionBlocks = (ExtensionBlock *)reallocarray(NULL, -+ sp->ExtensionBlocks = (ExtensionBlock *)giflib_private_reallocarray(NULL, - CopyFrom->ExtensionBlockCount, - sizeof(ExtensionBlock)); - if (sp->ExtensionBlocks == NULL) { -diff -ur giflib-5.1.4.orig/lib/gif_lib.h giflib-5.1.4/lib/gif_lib.h ---- giflib-5.1.4.orig/lib/gif_lib.h 2018-02-28 20:31:02.294682673 +0100 -+++ giflib-5.1.4/lib/gif_lib.h 2018-02-28 20:31:43.135716712 +0100 -@@ -244,9 +244,6 @@ - GifPixelType ColorTransIn2[]); - extern int GifBitSize(int n); - --extern void * --reallocarray(void *optr, size_t nmemb, size_t size); -- - /****************************************************************************** - Support for the in-core structures allocation (slurp mode). - ******************************************************************************/ -diff -ur giflib-5.1.4.orig/lib/gif_lib_private.h giflib-5.1.4/lib/gif_lib_private.h ---- giflib-5.1.4.orig/lib/gif_lib_private.h 2018-02-28 20:31:02.294682673 +0100 -+++ giflib-5.1.4/lib/gif_lib_private.h 2018-02-28 22:38:11.657126423 +0100 -@@ -54,6 +54,9 @@ - bool gif89; - } GifFilePrivateType; - -+extern void * -+giflib_private_reallocarray(void *optr, size_t nmemb, size_t size); -+ - #endif /* _GIF_LIB_PRIVATE_H */ - - /* end */ -diff -ur giflib-5.1.4.orig/lib/openbsd-reallocarray.c giflib-5.1.4/lib/openbsd-reallocarray.c ---- giflib-5.1.4.orig/lib/openbsd-reallocarray.c 2018-02-28 20:31:02.295682659 +0100 -+++ giflib-5.1.4/lib/openbsd-reallocarray.c 2018-02-28 22:38:11.656126428 +0100 -@@ -27,7 +27,7 @@ - #define MUL_NO_OVERFLOW ((size_t)1 << (sizeof(size_t) * 4)) - - void * --reallocarray(void *optr, size_t nmemb, size_t size) -+giflib_private_reallocarray(void *optr, size_t nmemb, size_t size) - { - if ((nmemb >= MUL_NO_OVERFLOW || size >= MUL_NO_OVERFLOW) && - nmemb > 0 && SIZE_MAX / nmemb < size) { diff --git a/gnu/packages/patches/glibc-CVE-2019-19126.patch b/gnu/packages/patches/glibc-CVE-2019-19126.patch new file mode 100644 index 0000000000..5b9ac58ab7 --- /dev/null +++ b/gnu/packages/patches/glibc-CVE-2019-19126.patch @@ -0,0 +1,22 @@ +Fix CVE-2019-19126: + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19126 +https://sourceware.org/bugzilla/show_bug.cgi?id=25204 + +Taken from upstream: +https://sourceware.org/git/?p=glibc.git;a=commit;h=37c90e117310728a4ad1eb998c0bbe7d79c4a398 + +diff --git a/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h b/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h +index 975cbe2..df2cdfd 100644 +--- a/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h ++++ b/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h +@@ -31,7 +31,8 @@ + environment variable, LD_PREFER_MAP_32BIT_EXEC. */ + #define EXTRA_LD_ENVVARS \ + case 21: \ +- if (memcmp (envline, "PREFER_MAP_32BIT_EXEC", 21) == 0) \ ++ if (!__libc_enable_secure \ ++ && memcmp (envline, "PREFER_MAP_32BIT_EXEC", 21) == 0) \ + GLRO(dl_x86_cpu_features).feature[index_arch_Prefer_MAP_32BIT_EXEC] \ + |= bit_arch_Prefer_MAP_32BIT_EXEC; \ + break; diff --git a/gnu/packages/patches/gsl-test-i686.patch b/gnu/packages/patches/gsl-test-i686.patch deleted file mode 100644 index 8828c08614..0000000000 --- a/gnu/packages/patches/gsl-test-i686.patch +++ /dev/null @@ -1,17 +0,0 @@ -Work around a test failure due to a rounding issue on 32-bit -platforms, as reported at: - - https://lists.gnu.org/archive/html/bug-gsl/2016-10/msg00000.html - ---- gsl-2.2.1/linalg/test.c 2016-10-05 13:27:42.464059730 +0200 -+++ gsl-2.2.1/linalg/test.c 2016-10-05 13:27:46.988095882 +0200 -@@ -4843,9 +4843,6 @@ main(void) - gsl_test(test_cholesky_decomp_unit(), "Cholesky Decomposition [unit triangular]"); - gsl_test(test_cholesky_solve(), "Cholesky Solve"); - -- gsl_test(test_cholesky_decomp(r), "Cholesky Decomposition"); -- gsl_test(test_cholesky_invert(r), "Cholesky Inverse"); -- gsl_test(test_pcholesky_decomp(r), "Pivoted Cholesky Decomposition"); - gsl_test(test_pcholesky_solve(r), "Pivoted Cholesky Solve"); - gsl_test(test_pcholesky_invert(r), "Pivoted Cholesky Inverse"); - gsl_test(test_mcholesky_decomp(r), "Modified Cholesky Decomposition"); diff --git a/gnu/packages/patches/guile-sqlite3-fix-cross-compilation.patch b/gnu/packages/patches/guile-sqlite3-fix-cross-compilation.patch new file mode 100644 index 0000000000..9ea9a47677 --- /dev/null +++ b/gnu/packages/patches/guile-sqlite3-fix-cross-compilation.patch @@ -0,0 +1,55 @@ +From a6e9e62a77ecc5012929613e20da23b2636450a5 Mon Sep 17 00:00:00 2001 +From: Mathieu Othacehe <mathieu.othacehe@parrot.com> +Date: Mon, 25 Mar 2019 11:00:38 +0100 +Subject: [PATCH] cross compile + +--- + build-aux/guile.am | 2 +- + configure.ac | 19 ++++++++++++------- + 2 files changed, 13 insertions(+), 8 deletions(-) + +diff --git a/build-aux/guile.am b/build-aux/guile.am +index dc1e63f..3126372 100644 +--- a/build-aux/guile.am ++++ b/build-aux/guile.am +@@ -16,4 +16,4 @@ EXTRA_DIST = $(SOURCES) $(NOCOMP_SOURCES) + GUILE_WARNINGS = -Wunbound-variable -Warity-mismatch -Wformat + SUFFIXES = .scm .go + .scm.go: +- $(AM_V_GEN)$(top_builddir)/env $(GUILE_TOOLS) compile $(GUILE_WARNINGS) -o "$@" "$<" ++ $(AM_V_GEN)$(top_builddir)/env $(GUILE_TOOLS) compile $(GUILE_TARGET) $(GUILE_WARNINGS) -o "$@" "$<" +diff --git a/configure.ac b/configure.ac +index f648fcb..2d34d0a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -21,15 +21,20 @@ PKG_CHECK_MODULES([SQLITE], [sqlite3]) + SQLITE_LIBDIR="`"$PKG_CONFIG" sqlite3 --variable libdir`" + AC_SUBST([SQLITE_LIBDIR]) + +-AC_MSG_CHECKING([whether '$SQLITE_LIBDIR/libsqlite3' is usable]) +-GUILE_CHECK([retval], +- [(dynamic-func \"sqlite3_open_v2\" ++if test "$cross_compiling" = "no"; then ++ AC_MSG_CHECKING([whether '$SQLITE_LIBDIR/libsqlite3' is usable]) ++ GUILE_CHECK([retval], ++ [(dynamic-func \"sqlite3_open_v2\" + (dynamic-link \"$SQLITE_LIBDIR/libsqlite3\"))]) +-if test "$retval" != 0; then +- AC_MSG_RESULT([no]) +- AC_MSG_ERROR([failed to load '$SQLITE_LIBDIR/libsqlite3']) ++ if test "$retval" != 0; then ++ AC_MSG_RESULT([no]) ++ AC_MSG_ERROR([failed to load '$SQLITE_LIBDIR/libsqlite3']) ++ else ++ AC_MSG_RESULT([yes]) ++ fi + else +- AC_MSG_RESULT([yes]) ++ GUILE_TARGET="--target=$host_alias" ++ AC_SUBST([GUILE_TARGET]) + fi + + AC_CONFIG_FILES([Makefile sqlite3.scm]) +-- +2.17.1 + diff --git a/gnu/packages/patches/konversation-Fix-build-with-Qt-5.11.patch b/gnu/packages/patches/konversation-Fix-build-with-Qt-5.11.patch new file mode 100644 index 0000000000..d9d29bbd1a --- /dev/null +++ b/gnu/packages/patches/konversation-Fix-build-with-Qt-5.11.patch @@ -0,0 +1,24 @@ +From 4d0036617becc26a76fd021138c98aceec4c7b53 Mon Sep 17 00:00:00 2001 +From: Luca Beltrame <lbeltrame@kde.org> +Date: Sun, 21 Jul 2019 09:14:32 +0200 +Subject: Fix build with Qt 5.13 + +--- + src/irc/outputfilter.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/irc/outputfilter.cpp b/src/irc/outputfilter.cpp +index f9e6253..45d11fb 100644 +--- a/src/irc/outputfilter.cpp ++++ b/src/irc/outputfilter.cpp +@@ -32,6 +32,7 @@ + + #include <QStringList> + #include <QFile> ++#include <QMetaMethod> + #include <QRegExp> + #include <QTextCodec> + #include <QByteArray> +-- +cgit v1.1 + diff --git a/gnu/packages/patches/libffi-3.2.1-complex-alpha.patch b/gnu/packages/patches/libffi-3.2.1-complex-alpha.patch deleted file mode 100644 index ebbc0635a5..0000000000 --- a/gnu/packages/patches/libffi-3.2.1-complex-alpha.patch +++ /dev/null @@ -1,28 +0,0 @@ -The patch fixes build failure of form: - ../src/alpha/osf.S:298:2: error: #error "osf.S out of sync with ffi.h" -Upstream fixed the bug in a more invasive way -but didn't have releases since 3.2.1. - -The patch is taken from Gentoo: -https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-libs/libffi/files/libffi-3.2.1-complex_alpha.patch - ---- libffi-3.2.1/src/alpha/osf.S 2015-01-16 10:46:15.000000000 +0100 -+++ libffi-3.2.1/src/alpha/osf.S 2015-01-16 10:46:24.000000000 +0100 -@@ -279,6 +279,7 @@ - .gprel32 $load_64 # FFI_TYPE_SINT64 - .gprel32 $load_none # FFI_TYPE_STRUCT - .gprel32 $load_64 # FFI_TYPE_POINTER -+ .gprel32 $load_none # FFI_TYPE_COMPLEX - - /* Assert that the table above is in sync with ffi.h. */ - -@@ -294,7 +295,8 @@ - || FFI_TYPE_SINT64 != 12 \ - || FFI_TYPE_STRUCT != 13 \ - || FFI_TYPE_POINTER != 14 \ -- || FFI_TYPE_LAST != 14 -+ || FFI_TYPE_COMPLEX != 15 \ -+ || FFI_TYPE_LAST != 15 - #error "osf.S out of sync with ffi.h" - #endif - diff --git a/gnu/packages/patches/libjpeg-turbo-CVE-2019-2201.patch b/gnu/packages/patches/libjpeg-turbo-CVE-2019-2201.patch deleted file mode 100644 index 35f2bf5963..0000000000 --- a/gnu/packages/patches/libjpeg-turbo-CVE-2019-2201.patch +++ /dev/null @@ -1,31 +0,0 @@ -Fix integer overflow which can potentially lead to RCE. - -https://www.openwall.com/lists/oss-security/2019/11/11/1 -https://nvd.nist.gov/vuln/detail/CVE-2019-2201 - -The problem was partially fixed in 2.0.3. This patch is a follow-up. -https://github.com/libjpeg-turbo/libjpeg-turbo/issues/388 -https://github.com/libjpeg-turbo/libjpeg-turbo/commit/c30b1e72dac76343ef9029833d1561de07d29bad - -diff --git a/tjbench.c b/tjbench.c -index a7d397318..13a5bde62 100644 ---- a/tjbench.c -+++ b/tjbench.c -@@ -171,7 +171,7 @@ static int decomp(unsigned char *srcBuf, unsigned char **jpegBuf, - } - /* Set the destination buffer to gray so we know whether the decompressor - attempted to write to it */ -- memset(dstBuf, 127, pitch * scaledh); -+ memset(dstBuf, 127, (size_t)pitch * scaledh); - - if (doYUV) { - int width = doTile ? tilew : scaledw; -@@ -193,7 +193,7 @@ static int decomp(unsigned char *srcBuf, unsigned char **jpegBuf, - double start = getTime(); - - for (row = 0, dstPtr = dstBuf; row < ntilesh; -- row++, dstPtr += pitch * tileh) { -+ row++, dstPtr += (size_t)pitch * tileh) { - for (col = 0, dstPtr2 = dstPtr; col < ntilesw; - col++, tile++, dstPtr2 += ps * tilew) { - int width = doTile ? min(tilew, w - col * tilew) : scaledw; diff --git a/gnu/packages/patches/libxslt-generated-ids.patch b/gnu/packages/patches/libxslt-generated-ids.patch index 4273875c7c..1cd2363d6a 100644 --- a/gnu/packages/patches/libxslt-generated-ids.patch +++ b/gnu/packages/patches/libxslt-generated-ids.patch @@ -162,10 +162,10 @@ diff --git a/libxslt/xsltInternals.h b/libxslt/xsltInternals.h index 95e8fe6..8eedae4 100644 --- a/libxslt/xsltInternals.h +++ b/libxslt/xsltInternals.h -@@ -1786,6 +1786,8 @@ struct _xsltTransformContext { - int funcLevel; /* Needed to catch recursive functions issues */ - int maxTemplateDepth; +@@ -1782,6 +1782,8 @@ struct _xsltTransformContext { int maxTemplateVars; + unsigned long opLimit; + unsigned long opCount; + + unsigned long nextid;/* for generating stable ids */ }; diff --git a/gnu/packages/patches/make-glibc-compat.patch b/gnu/packages/patches/make-glibc-compat.patch deleted file mode 100644 index 9ce7f2b5bf..0000000000 --- a/gnu/packages/patches/make-glibc-compat.patch +++ /dev/null @@ -1,52 +0,0 @@ -Work with the new glob interface in glibc 2.27. - -Taken from this upstream commit: -https://git.savannah.gnu.org/cgit/make.git/commit/?id=193f1e81edd6b1b56b0eb0ff8aa4b41c7b4257b4 - -diff --git a/dir.c b/dir.c -index adbb8a9..c343e4c 100644 ---- a/dir.c -+++ b/dir.c -@@ -1299,15 +1299,40 @@ local_stat (const char *path, struct stat *buf) - } - #endif - -+/* Similarly for lstat. */ -+#if !defined(lstat) && !defined(WINDOWS32) || defined(VMS) -+# ifndef VMS -+# ifndef HAVE_SYS_STAT_H -+int lstat (const char *path, struct stat *sbuf); -+# endif -+# else -+ /* We are done with the fake lstat. Go back to the real lstat */ -+# ifdef lstat -+# undef lstat -+# endif -+# endif -+# define local_lstat lstat -+#elif defined(WINDOWS32) -+/* Windows doesn't support lstat(). */ -+# define local_lstat local_stat -+#else -+static int -+local_lstat (const char *path, struct stat *buf) -+{ -+ int e; -+ EINTRLOOP (e, lstat (path, buf)); -+ return e; -+} -+#endif -+ - void - dir_setup_glob (glob_t *gl) - { - gl->gl_opendir = open_dirstream; - gl->gl_readdir = read_dirstream; - gl->gl_closedir = free; -+ gl->gl_lstat = local_lstat; - gl->gl_stat = local_stat; -- /* We don't bother setting gl_lstat, since glob never calls it. -- The slot is only there for compatibility with 4.4 BSD. */ - } - - void diff --git a/gnu/packages/patches/make-impure-dirs.patch b/gnu/packages/patches/make-impure-dirs.patch index 83a5fbe3a5..89595b06ec 100644 --- a/gnu/packages/patches/make-impure-dirs.patch +++ b/gnu/packages/patches/make-impure-dirs.patch @@ -4,9 +4,9 @@ don't look in /usr/include and friends. Patch from Nixpkgs, by Eelco Dolstra. -diff -rc make-3.81-orig/read.c make-3.81/read.c -*** make-3.81-orig/read.c 2006-03-17 15:24:20.000000000 +0100 ---- make-3.81/read.c 2007-05-24 17:16:31.000000000 +0200 +diff -rc make-3.81-orig/src/read.c make-3.81/src/read.c +*** make-3.81-orig/src/read.c 2006-03-17 15:24:20.000000000 +0100 +--- make-3.81/src/read.c 2007-05-24 17:16:31.000000000 +0200 *************** *** 99,107 **** --- 99,109 ---- @@ -21,9 +21,9 @@ diff -rc make-3.81-orig/read.c make-3.81/read.c #endif 0 }; -diff -rc make-3.81-orig/remake.c make-3.81/remake.c -*** make-3.81-orig/remake.c 2006-03-20 03:36:37.000000000 +0100 ---- make-3.81/remake.c 2007-05-24 17:06:54.000000000 +0200 +diff -rc make-3.81-orig/src/remake.c make-3.81/src/remake.c +*** make-3.81-orig/src/remake.c 2006-03-20 03:36:37.000000000 +0100 +--- make-3.81/src/remake.c 2007-05-24 17:06:54.000000000 +0200 *************** *** 1452,1460 **** --- 1452,1462 ---- diff --git a/gnu/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch b/gnu/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch deleted file mode 100644 index 9e76653a07..0000000000 --- a/gnu/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch +++ /dev/null @@ -1,15 +0,0 @@ -https://github.com/thepowersgang/mrustc/issues/109 -From: Danny Milosavljevic <dannym@scratchpost.org> -Date: Fri, 3 Jan 2019 13:00:00 +0100 - ---- mrustc/src/expand/proc_macro.cpp.orig 2019-02-01 14:16:54.208486062 +0100 -+++ mrustc/src/expand/proc_macro.cpp 2019-02-01 14:17:14.350925705 +0100 -@@ -977,7 +977,7 @@ - for(;;) - { - auto b = recv_u8(); -- v |= static_cast<uint64_t>(b) << ofs; -+ v |= static_cast<uint64_t>(b & 0x7F) << ofs; - if( (b & 0x80) == 0 ) - break; - ofs += 7; diff --git a/gnu/packages/patches/pango-skip-libthai-test.patch b/gnu/packages/patches/pango-skip-libthai-test.patch new file mode 100644 index 0000000000..98732b5391 --- /dev/null +++ b/gnu/packages/patches/pango-skip-libthai-test.patch @@ -0,0 +1,23 @@ +Skip Thai character test when libthai is unavailable. + +Taken from upstream bug tracker: +https://gitlab.gnome.org/GNOME/pango/merge_requests/161 +https://gitlab.gnome.org/GNOME/pango/commit/b73284747ac937e31dc9191f84ed6e24284c88ee + +diff --git a/tests/test-break.c b/tests/test-break.c +index 8549b678bba69360d07dce3af21d915412f20d51..47fa3009165e19a331aa04a0df4351ae2323933b 100644 +--- a/tests/test-break.c ++++ b/tests/test-break.c +@@ -305,6 +305,12 @@ main (int argc, char *argv[]) + if (!strstr (name, "break")) + continue; + ++#ifndef HAVE_LIBTHAI ++ /* four.break involves Thai, so only test it when we have libthai */ ++ if (strstr (name, "four.break")) ++ continue; ++#endif ++ + path = g_strdup_printf ("/break/%s", name); + g_test_add_data_func_full (path, g_test_build_filename (G_TEST_DIST, "breaks", name, NULL), + test_break, g_free); diff --git a/gnu/packages/patches/python-2.7-search-paths.patch b/gnu/packages/patches/python-2.7-search-paths.patch index a012bc8fe0..5a345c7691 100644 --- a/gnu/packages/patches/python-2.7-search-paths.patch +++ b/gnu/packages/patches/python-2.7-search-paths.patch @@ -3,13 +3,17 @@ looking for headers and libraries. --- Python-2.7.10/setup.py 2015-10-07 18:33:18.125153186 +0200 +++ Python-2.7.10/setup.py 2015-10-07 18:33:47.497347552 +0200 -@@ -526,6 +526,10 @@ class PyBuildExt(build_ext): +@@ -526,6 +526,14 @@ class PyBuildExt(build_ext): inc_dirs += ['/system/include', '/atheos/autolnk/include'] inc_dirs += os.getenv('C_INCLUDE_PATH', '').split(os.pathsep) + # Always honor these variables. -+ lib_dirs += os.getenv('LIBRARY_PATH', '').split(os.pathsep) -+ inc_dirs += os.getenv('CPATH', '').split(os.pathsep) ++ if not cross_compiling: ++ lib_dirs += os.getenv('LIBRARY_PATH', '').split(os.pathsep) ++ inc_dirs += os.getenv('CPATH', '').split(os.pathsep) ++ else: ++ lib_dirs = os.getenv('CROSS_LIBRARY_PATH', '').split(os.pathsep) ++ inc_dirs = os.getenv('CROSS_CPATH', '').split(os.pathsep) + # OSF/1 and Unixware have some stuff in /usr/ccs/lib (like -ldb) if host_platform in ['osf1', 'unixware7', 'openunix8']: diff --git a/gnu/packages/patches/python-3-search-paths.patch b/gnu/packages/patches/python-3-search-paths.patch index 5fea9c66b6..aaf7236631 100644 --- a/gnu/packages/patches/python-3-search-paths.patch +++ b/gnu/packages/patches/python-3-search-paths.patch @@ -3,14 +3,23 @@ looking for headers and libraries. --- a/setup.py 2015-10-07 23:32:58.891329173 +0200 +++ b/setup.py 2015-10-07 23:46:29.653349924 +0200 -@@ -575,8 +575,8 @@ +@@ -676,15 +676,15 @@ # if a file is found in one of those directories, it can # be assumed that no additional -I,-L directives are needed. - if not cross_compiling: -- lib_dirs = self.compiler.library_dirs + system_lib_dirs -- inc_dirs = self.compiler.include_dirs + system_include_dirs -+ lib_dirs = os.getenv('LIBRARY_PATH', '').split(os.pathsep) -+ inc_dirs = os.getenv('CPATH', '').split(os.pathsep) + if not CROSS_COMPILING: +- self.lib_dirs = self.compiler.library_dirs + system_lib_dirs +- self.inc_dirs = self.compiler.include_dirs + system_include_dirs ++ self.lib_dirs = os.getenv('LIBRARY_PATH', '').split(os.pathsep) ++ self.inc_dirs = os.getenv('CPATH', '').split(os.pathsep) else: # Add the sysroot paths. 'sysroot' is a compiler option used to # set the logical path of the standard system headers and + # libraries. +- self.lib_dirs = (self.compiler.library_dirs + ++ self.lib_dirs = (os.getenv('CROSS_LIBRARY_PATH', '').split(os.pathsep) + + sysroot_paths(('LDFLAGS', 'CC'), system_lib_dirs)) +- self.inc_dirs = (self.compiler.include_dirs + ++ self.inc_dirs = (os.getenv('CROSS_CPATH', '').split(os.pathsep) + + sysroot_paths(('CPPFLAGS', 'CFLAGS', 'CC'), + system_include_dirs)) + diff --git a/gnu/packages/patches/python-3.8-search-paths.patch b/gnu/packages/patches/python-3.8-search-paths.patch deleted file mode 100644 index 88f19850bf..0000000000 --- a/gnu/packages/patches/python-3.8-search-paths.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/setup.py b/setup.py -index 20d7f35..5751083 100644 ---- a/setup.py -+++ b/setup.py -@@ -676,8 +676,8 @@ class PyBuildExt(build_ext): - # if a file is found in one of those directories, it can - # be assumed that no additional -I,-L directives are needed. - if not CROSS_COMPILING: -- self.lib_dirs = self.compiler.library_dirs + system_lib_dirs -- self.inc_dirs = self.compiler.include_dirs + system_include_dirs -+ self.lib_dirs = os.getenv('LIBRARY_PATH', '').split(os.pathsep) -+ self.inc_dirs = os.getenv('CPATH', '').split(os.pathsep) - else: - # Add the sysroot paths. 'sysroot' is a compiler option used to - # set the logical path of the standard system headers and --- -2.23.0 diff --git a/gnu/packages/patches/python-cffi-x87-stack-clean.patch b/gnu/packages/patches/python-cffi-x87-stack-clean.patch deleted file mode 100644 index 50243505ee..0000000000 --- a/gnu/packages/patches/python-cffi-x87-stack-clean.patch +++ /dev/null @@ -1,29 +0,0 @@ -Fix test that fails on i686: - -https://bitbucket.org/cffi/cffi/issues/382 - -This is a squashed version of these commits: -https://bitbucket.org/cffi/cffi/commits/ef09637b2314 -https://bitbucket.org/cffi/cffi/commits/7a76a3815340 - -diff -r 99940f1f5402 testing/cffi0/test_function.py ---- a/testing/cffi0/test_function.py Tue Feb 27 21:18:33 2018 +0100 -+++ b/testing/cffi0/test_function.py Sun Nov 11 16:26:23 2018 +0100 -@@ -45,14 +45,14 @@ - assert x != math.sin(1.23) # rounding effects - assert abs(x - math.sin(1.23)) < 1E-6 - -- def test_sin_no_return_value(self): -+ def test_lround_no_return_value(self): - # check that 'void'-returning functions work too - ffi = FFI(backend=self.Backend()) - ffi.cdef(""" -- void sin(double x); -+ void lround(double x); - """) - m = ffi.dlopen(lib_m) -- x = m.sin(1.23) -+ x = m.lround(1.23) - assert x is None - - def test_dlopen_filename(self): diff --git a/gnu/packages/patches/python-cross-compile.patch b/gnu/packages/patches/python-cross-compile.patch new file mode 100644 index 0000000000..5a470e1852 --- /dev/null +++ b/gnu/packages/patches/python-cross-compile.patch @@ -0,0 +1,145 @@ +Patch taken from https://bugs.python.org/issue22724 and augmented with +following Nix patch +https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/interpreters/python/cpython/2.7/cross-compile.patch +to fix the whole cross-compilation circus. + +--- + Makefile.pre.in | 14 +++++++------- + configure | 5 ++++- + setup.py | 9 ++++++--- + 3 files changed, 17 insertions(+), 11 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 2a14f3323b..6239fc32fc 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -492,7 +492,7 @@ $(BUILDPYTHON): Modules/python.o $(LIBRARY) $(LDLIBRARY) + $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST) + + platform: $(BUILDPYTHON) pybuilddir.txt +- $(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform ++ $(RUNSHARED) $(PY_BUILD_ENVIRON) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform + + # Create build directory and generate the sysconfig build-time data there. + # pybuilddir.txt contains the name of the build dir and is used for +@@ -503,7 +503,7 @@ platform: $(BUILDPYTHON) pybuilddir.txt + # or removed in case of failure. + pybuilddir.txt: $(BUILDPYTHON) + @echo "none" > ./pybuilddir.txt +- $(RUNSHARED) $(PYTHON_FOR_BUILD) -S -m sysconfig --generate-posix-vars ;\ ++ $(RUNSHARED) $(PY_BUILD_ENVIRON) $(PYTHON_FOR_BUILD) -S -m sysconfig --generate-posix-vars ;\ + if test $$? -ne 0 ; then \ + echo "generate-posix-vars failed" ; \ + rm -f ./pybuilddir.txt ; \ +@@ -525,7 +525,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o + esac; \ + $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ + _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \ +- $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build ++ $(PY_BUILD_ENVIRON) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build + + # Build static library + # avoid long command lines, same as LIBRARY_OBJS +@@ -928,7 +928,7 @@ install: @FRAMEWORKINSTALLFIRST@ commoninstall bininstall maninstall @FRAMEWORKI + upgrade) ensurepip="--upgrade" ;; \ + install|*) ensurepip="" ;; \ + esac; \ +- $(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \ ++ $(RUNSHARED) $(PY_BUILD_ENVIRON) $(PYTHON_FOR_BUILD) -m ensurepip \ + $$ensurepip --root=$(DESTDIR)/ ; \ + fi + +@@ -939,7 +939,7 @@ altinstall: commoninstall + upgrade) ensurepip="--altinstall --upgrade --no-default-pip" ;; \ + install|*) ensurepip="--altinstall --no-default-pip" ;; \ + esac; \ +- $(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \ ++ $(RUNSHARED) $(PY_BUILD_ENVIRON) $(PYTHON_FOR_BUILD) -m ensurepip \ + $$ensurepip --root=$(DESTDIR)/ ; \ + fi + +@@ -1270,7 +1270,7 @@ libainstall: @DEF_MAKE_RULE@ python-config + # Install the dynamically loadable modules + # This goes into $(exec_prefix) + sharedinstall: sharedmods +- $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \ ++ $(RUNSHARED) $(PY_BUILD_ENVIRON) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \ + --prefix=$(prefix) \ + --install-scripts=$(BINDIR) \ + --install-platlib=$(DESTSHARED) \ +@@ -1344,7 +1344,7 @@ frameworkinstallextras: + # This installs a few of the useful scripts in Tools/scripts + scriptsinstall: + SRCDIR=$(srcdir) $(RUNSHARED) \ +- $(PYTHON_FOR_BUILD) $(srcdir)/Tools/scripts/setup.py install \ ++ $(PY_BUILD_ENVIRON) $(PYTHON_FOR_BUILD) $(srcdir)/Tools/scripts/setup.py install \ + --prefix=$(prefix) \ + --install-scripts=$(BINDIR) \ + --root=$(DESTDIR)/ +diff --git a/configure b/configure +index 67300fe2b6..6050f588c5 100755 +--- a/configure ++++ b/configure +@@ -741,6 +741,7 @@ CONFIG_ARGS + SOVERSION + VERSION + PYTHON_FOR_BUILD ++PY_BUILD_ENVIRON + PYTHON_FOR_REGEN + host_os + host_vendor +@@ -2964,7 +2965,8 @@ $as_echo_n "checking for python interpreter for cross build... " >&6; } + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $interp" >&5 + $as_echo "$interp" >&6; } +- PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/$(PLATDIR) '$interp ++ PY_BUILD_ENVIRON='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/$(PLATDIR)' ++ PYTHON_FOR_BUILD=$interp + fi + elif test "$cross_compiling" = maybe; then + as_fn_error $? "Cross compiling required --host=HOST-TUPLE and --build=ARCH" "$LINENO" 5 +@@ -2974,6 +2976,7 @@ fi + + + ++ + if test "$prefix" != "/"; then + prefix=`echo "$prefix" | sed -e 's/\/$//g'` + fi +diff --git a/setup.py b/setup.py +index cb47a2339c..472e7e2b26 100644 +--- a/setup.py ++++ b/setup.py +@@ -497,8 +497,6 @@ class PyBuildExt(build_ext): + if not cross_compiling: + add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') + add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') +- if cross_compiling: +- self.add_gcc_paths() + self.add_multiarch_paths() + + # Add paths specified in the environment variables LDFLAGS and +@@ -556,7 +554,10 @@ class PyBuildExt(build_ext): + # be assumed that no additional -I,-L directives are needed. + inc_dirs = self.compiler.include_dirs[:] + lib_dirs = self.compiler.library_dirs[:] +- if not cross_compiling: ++ if cross_compiling: ++ inc_dirs = [] ++ lib_dirs = [] ++ else: + for d in ( + '/usr/include', + ): +@@ -621,6 +622,8 @@ class PyBuildExt(build_ext): + # Some modules that are normally always on: + #exts.append( Extension('_weakref', ['_weakref.c']) ) + ++ self.compiler.library_dirs = lib_dirs + [ '.' ] ++ + # array objects + exts.append( Extension('array', ['arraymodule.c']) ) + +-- +2.17.1 + diff --git a/gnu/packages/patches/swig-guile-gc.patch b/gnu/packages/patches/swig-guile-gc.patch deleted file mode 100644 index 0e745a6247..0000000000 --- a/gnu/packages/patches/swig-guile-gc.patch +++ /dev/null @@ -1,76 +0,0 @@ -Fix garbage collection for Guile versions >= 2.0.12. This issue showed -up when running the tests on i686-linux. - -Taken from this upstream commit: -https://github.com/swig/swig/commit/38f2ab0c30e369e63bbd0a6152108488d0de68e1 - -diff --git a/Lib/guile/guile_scm_run.swg b/Lib/guile/guile_scm_run.swg -index 274f197158..0d04cb7c62 100644 ---- a/Lib/guile/guile_scm_run.swg -+++ b/Lib/guile/guile_scm_run.swg -@@ -99,6 +99,7 @@ SWIG_Guile_scm2newstr(SCM str, size_t *len) { - static int swig_initialized = 0; - static scm_t_bits swig_tag = 0; - static scm_t_bits swig_collectable_tag = 0; -+static scm_t_bits swig_finalized_tag = 0; - static scm_t_bits swig_destroyed_tag = 0; - static scm_t_bits swig_member_function_tag = 0; - static SCM swig_make_func = SCM_EOL; -@@ -163,7 +164,19 @@ SWIG_Guile_PointerType(SCM object) - } - else scm_wrong_type_arg("SWIG-Guile-PointerType", 1, object); - } -- -+ -+SWIGINTERN int -+SWIG_Guile_IsValidSmob(SCM smob) -+{ -+ /* We do not accept smobs representing destroyed pointers, but we have to -+ allow finalized smobs because Guile >= 2.0.12 sets all smob instances -+ to the 'finalized' type before calling their 'free' function. This change -+ was introduced to Guile in commit 8dff3af087c6eaa83ae0d72aa8b22aef5c65d65d */ -+ return SCM_SMOB_PREDICATE(swig_tag, smob) -+ || SCM_SMOB_PREDICATE(swig_collectable_tag, smob) -+ || SCM_SMOB_PREDICATE(swig_finalized_tag, smob); -+} -+ - SWIGINTERN int - SWIG_Guile_ConvertPtr(SCM s, void **result, swig_type_info *type, int flags) - { -@@ -179,8 +192,7 @@ SWIG_Guile_ConvertPtr(SCM s, void **result, swig_type_info *type, int flags) - *result = SCM_POINTER_VALUE(s); - return SWIG_OK; - #endif /* if SCM_MAJOR_VERSION >= 2 */ -- } else if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) { -- /* we do not accept smobs representing destroyed pointers */ -+ } else if (SWIG_Guile_IsValidSmob(smob)) { - from = (swig_type_info *) SCM_CELL_WORD_2(smob); - if (!from) return SWIG_ERROR; - if (type) { -@@ -239,7 +251,7 @@ SWIG_Guile_MarkPointerNoncollectable(SCM s) - { - SCM smob = SWIG_Guile_GetSmob(s); - if (!SCM_NULLP(smob)) { -- if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) { -+ if (SWIG_Guile_IsValidSmob(smob)) { - SCM_SET_CELL_TYPE(smob, swig_tag); - } - else scm_wrong_type_arg(NULL, 0, s); -@@ -252,7 +264,7 @@ SWIG_Guile_MarkPointerDestroyed(SCM s) - { - SCM smob = SWIG_Guile_GetSmob(s); - if (!SCM_NULLP(smob)) { -- if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) { -+ if (SWIG_Guile_IsValidSmob(smob)) { - SCM_SET_CELL_TYPE(smob, swig_destroyed_tag); - } - else scm_wrong_type_arg(NULL, 0, s); -@@ -419,6 +431,8 @@ SWIG_Guile_Init () - scm_set_smob_print(swig_collectable_tag, print_collectable_swig); - scm_set_smob_equalp(swig_collectable_tag, equalp_swig); - scm_set_smob_free(swig_collectable_tag, free_swig); -+ /* For Guile >= 2.0.12. See libguile/smob.c:clear_smobnum */ -+ swig_finalized_tag = swig_collectable_tag & ~0xff00; - } - if (ensure_smob_tag(swig_module, &swig_destroyed_tag, - "destroyed-swig-pointer", "destroyed-swig-pointer-tag")) { diff --git a/gnu/packages/patches/tcl-fix-cross-compilation.patch b/gnu/packages/patches/tcl-fix-cross-compilation.patch new file mode 100644 index 0000000000..00c36b8f27 --- /dev/null +++ b/gnu/packages/patches/tcl-fix-cross-compilation.patch @@ -0,0 +1,39 @@ +From f7fa48c4c75a1e748dc5071e709c0b62ff739eaa Mon Sep 17 00:00:00 2001 +From: "jan.nijtmans" <nijtmans@users.sourceforge.net> +Date: Mon, 9 Dec 2019 10:02:20 +0000 +Subject: [PATCH] Fix [abd4abedd2]: Failed to build tk 8.6.10 with cross + compile + +Patch taken from upstream to fix cross-compilation. To be removed on next Tcl release. + +--- + compat/strtol.c | 2 +- + compat/strtoul.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/compat/strtol.c b/compat/strtol.c +index b7f69196ce2..811006a64c3 100644 +--- a/compat/strtol.c ++++ b/compat/strtol.c +@@ -53,7 +53,7 @@ strtol( + */ + + p = string; +- while (TclIsSpaceProc(*p)) { ++ while (isspace(UCHAR(*p))) { + p += 1; + } + +diff --git a/compat/strtoul.c b/compat/strtoul.c +index e37eb05f823..15587f1da1a 100644 +--- a/compat/strtoul.c ++++ b/compat/strtoul.c +@@ -74,7 +74,7 @@ strtoul( + */ + + p = string; +- while (TclIsSpaceProc(*p)) { ++ while (isspace(UCHAR(*p))) { + p += 1; + } + if (*p == '-') { diff --git a/gnu/packages/patches/tcsh-fix-autotest.patch b/gnu/packages/patches/tcsh-fix-autotest.patch index 78444a1b2a..200867cb9b 100644 --- a/gnu/packages/patches/tcsh-fix-autotest.patch +++ b/gnu/packages/patches/tcsh-fix-autotest.patch @@ -63,38 +63,14 @@ AT_DATA([comment2.csh], [[echo testing...@%:@\ -@@ -567,10 +567,10 @@ run=3 -# Adapt to changes in sed 4.3: -# https://github.com/tcsh-org/tcsh/commit/2ad4fc1705893207598ed5cd21713ddf3f17bba0 - ]]) - AT_DATA([uniformity_test.csh], - [[ --set SERVICE_NAME_LOG = `cat batchsystem.properties | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[:blank:]*\([^$]*\)$/\1/p' | perl -pe 's/\s//g' | perl -pe 's/\)/\\\)/g' | perl -pe 's/\(/\\\(/g'` -+set SERVICE_NAME_LOG = `cat batchsystem.properties | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[[:blank:]]*\([^$]*\)$/\1/p' | perl -pe 's/\s//g' | perl -pe 's/\)/\\\)/g' | perl -pe 's/\(/\\\(/g'` - echo -n "$SERVICE_NAME_LOG" > ./output1 - --cat batchsystem.properties | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[:blank:]*\([^$]*\)$/\1/p' | perl -pe 's/\s//g' | perl -pe 's/\)/\\\)/g' | perl -pe 's/\(/\\\(/g' > ./output2 -+cat batchsystem.properties | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[[:blank:]]*\([^$]*\)$/\1/p' | perl -pe 's/\s//g' | perl -pe 's/\)/\\\)/g' | perl -pe 's/\(/\\\(/g' > ./output2 - - diff -uprN ./output1 ./output2 >& /dev/null - -@@ -587,7 +587,7 @@ AT_DATA([quoting_result_test.csh], - echo "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP\)(HOST=db\)(PORT=1521\)\)(CONNECT_DATA=(SERVER=DEDICATED\)(SERVICE_NAME=bns03\)\)\)" > ./expected_result - - set string = "jdbc_url=jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=db)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=bns03)))" --set SERVICE_NAME_LOG = `echo "$string" | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[:blank:]*\([^$]*\)$/\1/p' | perl -pe 's/\)/\\\)/g'` -+set SERVICE_NAME_LOG = `echo "$string" | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[[:blank:]]*\([^$]*\)$/\1/p' | perl -pe 's/\)/\\\)/g'` - - echo "$SERVICE_NAME_LOG" > ./actual_result - --- tests/subst.at +++ tests/subst.at -@@ -54,7 +54,7 @@ AT_CHECK([echo 'echo ~; echo "$HOME"' | tcsh -f | uniq | wc -l | tr -d ' \t'], +@@ -54,7 +54,7 @@ AT_CHECK([export HOME=$(getent passwd $(id -un) | awk -F: '{ print $(NF - 1) }') , [1 ]) --AT_CHECK([echo "echo ~$(id -un)/foo; echo \"$HOME/foo\"" | tcsh -f | uniq dnl -+AT_CHECK([echo "echo ~$(id -un)/foo; echo \"$HOME/foo\"" | tcsh -f | grep -v "/homeless-shelter" | uniq dnl +-AT_CHECK([export HOME=$(getent passwd $(id -un) | awk -F: '{ print $(NF - 1) }'); echo "echo ~$(id -un)/foo; echo \"\$HOME/foo\"" | tcsh -f | uniq dnl ++AT_CHECK([export HOME=$(getent passwd $(id -un) | awk -F: '{ print $(NF - 1) }'); echo "echo ~$(id -un)//foo; echo \"\$HOME/foo\"" | tcsh -f | uniq dnl | wc -l | tr -d ' \t'], , [1 ]) @@ -110,21 +86,6 @@ ]]) chmod a+x args.sh AT_CHECK([tcsh -f listflags.csh], , -@@ -704,9 +705,9 @@ AT_CHECK([tcsh -f mail.csh], , -# This test fails by trying to change to the build user's home -# directory, which does not exist. - AT_CLEANUP - - --AT_SETUP([$ cdtohome]) --AT_CHECK([tcsh -f -c 'cd'], 0) --AT_CLEANUP -+#AT_SETUP([$ cdtohome]) -+#AT_CHECK([tcsh -f -c 'cd'], 0) -+#AT_CLEANUP - AT_SETUP([$ noimplicithome]) - AT_CHECK([tcsh -f -c 'unset cdtohome; cd'], 1, , [cd: Too few arguments. - ]) @@ -728,55 +729,57 @@ TCSH_UNTESTED([$ oid]) AT_SETUP([$ owd]) diff --git a/gnu/packages/patches/tcsh-fix-out-of-bounds-read.patch b/gnu/packages/patches/tcsh-fix-out-of-bounds-read.patch deleted file mode 100644 index 48c294f78e..0000000000 --- a/gnu/packages/patches/tcsh-fix-out-of-bounds-read.patch +++ /dev/null @@ -1,31 +0,0 @@ -Fix out-of-bounds read in c_substitute(): - -http://seclists.org/oss-sec/2016/q4/612 - -Patch copied from upstream source repository: - -https://github.com/tcsh-org/tcsh/commit/6a542dc4fb2ba26518a47e9b3a9bcd6a91b94596 - -From 6a542dc4fb2ba26518a47e9b3a9bcd6a91b94596 Mon Sep 17 00:00:00 2001 -From: christos <christos> -Date: Fri, 2 Dec 2016 16:59:28 +0000 -Subject: [PATCH] Fix out of bounds read (Brooks Davis) (reproduce by starting - tcsh and hitting tab at the prompt) - ---- - ed.chared.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ed.chared.c b/ed.chared.c -index 1277e53..310393e 100644 ---- ed.chared.c -+++ ed.chared.c -@@ -750,7 +750,7 @@ c_substitute(void) - /* - * If we found a history character, go expand it. - */ -- if (HIST != '\0' && *p == HIST) -+ if (p >= InputBuf && HIST != '\0' && *p == HIST) - nr_exp = c_excl(p); - else - nr_exp = 0; diff --git a/gnu/packages/patches/texlive-bin-CVE-2018-17407.patch b/gnu/packages/patches/texlive-bin-CVE-2018-17407.patch deleted file mode 100644 index 63646d420c..0000000000 --- a/gnu/packages/patches/texlive-bin-CVE-2018-17407.patch +++ /dev/null @@ -1,249 +0,0 @@ -This patch adds support for newer versions of Poppler and some upstream -TexLive fixes, including one for CVE-2018-17407. - -It is taken from Linux From Scratch: -<http://www.linuxfromscratch.org/patches/blfs/svn/texlive-20180414-source-upstream_fixes-3.patch>. - -Submitted By: Ken Moffat <ken at linuxfromscratch dot org> -Date: 2018-12-26 -Initial Package Version: 20180414 -Upstream Status: Applied -Origin: Upstream -Description: Two fixes, cherry-picked from svn plus a CVE fix. -I have removed the partial fixes for various system versions of poppler. - -r47469 Fix segfault in dvipdfm-x (XeTeX) on 1/2/4-bit transparent indexed PNGs. - -r47477 Fix a ptex regression for discontinuous kinsoku table. - -Also, via fedora (I got lost in svn) a critical fix for CVE-2018-17407 - -"A buffer overflow in the handling of Type 1 fonts allows arbitrary code -execution when a malicious font is loaded by one of the vulnerable tools: -pdflatex, pdftex, dvips, or luatex." - -diff -Naur a/texk/dvipdfm-x/pngimage.c b/texk/dvipdfm-x/pngimage.c ---- a/texk/dvipdfm-x/pngimage.c 2018-02-17 08:41:35.000000000 +0000 -+++ b/texk/dvipdfm-x/pngimage.c 2018-10-09 01:52:01.648670875 +0100 -@@ -964,12 +964,16 @@ - png_bytep trans; - int num_trans; - png_uint_32 i; -+ png_byte bpc, mask, shift; - - if (!png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS) || - !png_get_tRNS(png_ptr, info_ptr, &trans, &num_trans, NULL)) { - WARN("%s: PNG does not have valid tRNS chunk but tRNS is requested.", PNG_DEBUG_STR); - return NULL; - } -+ bpc = png_get_bit_depth(png_ptr, info_ptr); -+ mask = 0xff >> (8 - bpc); -+ shift = 8 - bpc; - - smask = pdf_new_stream(STREAM_COMPRESS); - dict = pdf_stream_dict(smask); -@@ -981,7 +985,8 @@ - pdf_add_dict(dict, pdf_new_name("ColorSpace"), pdf_new_name("DeviceGray")); - pdf_add_dict(dict, pdf_new_name("BitsPerComponent"), pdf_new_number(8)); - for (i = 0; i < width*height; i++) { -- png_byte idx = image_data_ptr[i]; -+ /* data is packed for 1/2/4 bpc formats, msb first */ -+ png_byte idx = (image_data_ptr[bpc * i / 8] >> (shift - bpc * i % 8)) & mask; - smask_data_ptr[i] = (idx < num_trans) ? trans[idx] : 0xff; - } - pdf_add_stream(smask, (char *)smask_data_ptr, width*height); -diff -Naur a/texk/dvipsk/writet1.c b/texk/dvipsk/writet1.c ---- a/texk/dvipsk/writet1.c 2016-11-25 18:24:26.000000000 +0000 -+++ b/texk/dvipsk/writet1.c 2018-10-09 01:52:01.648670875 +0100 -@@ -1449,7 +1449,9 @@ - *(strend(t1_buf_array) - 1) = ' '; - - t1_getline(); -+ alloc_array(t1_buf, strlen(t1_line_array) + strlen(t1_buf_array) + 1, T1_BUF_SIZE); - strcat(t1_buf_array, t1_line_array); -+ alloc_array(t1_line, strlen(t1_buf_array) + 1, T1_BUF_SIZE); - strcpy(t1_line_array, t1_buf_array); - t1_line_ptr = eol(t1_line_array); - } -diff -Naur a/texk/web2c/luatexdir/font/writet1.w b/texk/web2c/luatexdir/font/writet1.w ---- a/texk/web2c/luatexdir/font/writet1.w 2016-11-25 18:24:34.000000000 +0000 -+++ b/texk/web2c/luatexdir/font/writet1.w 2018-10-09 01:52:01.648670875 +0100 -@@ -1625,7 +1625,9 @@ - if (sscanf(p, "%i", &i) != 1) { - strcpy(t1_buf_array, t1_line_array); - t1_getline(); -+ alloc_array(t1_buf, strlen(t1_line_array) + strlen(t1_buf_array) + 1, T1_BUF_SIZE); - strcat(t1_buf_array, t1_line_array); -+ alloc_array(t1_line, strlen(t1_buf_array) + 1, T1_BUF_SIZE); - strcpy(t1_line_array, t1_buf_array); - t1_line_ptr = eol(t1_line_array); - } -diff -Naur a/texk/web2c/luatexdir/image/pdftoepdf.w b/texk/web2c/luatexdir/image/pdftoepdf.w ---- a/texk/web2c/luatexdir/image/pdftoepdf.w 2018-01-17 18:00:12.000000000 +0000 -+++ b/texk/web2c/luatexdir/image/pdftoepdf.w 2018-10-09 01:52:01.648670875 +0100 -@@ -472,10 +472,10 @@ - break; - */ - case objString: -- copyString(pdf, obj->getString()); -+ copyString(pdf, (GooString *)obj->getString()); - break; - case objName: -- copyName(pdf, obj->getName()); -+ copyName(pdf, (char *)obj->getName()); - break; - case objNull: - pdf_add_null(pdf); -diff -Naur a/texk/web2c/luatexdir/lua/lepdflib.cc b/texk/web2c/luatexdir/lua/lepdflib.cc ---- a/texk/web2c/luatexdir/lua/lepdflib.cc 2018-02-14 14:44:38.000000000 +0000 -+++ b/texk/web2c/luatexdir/lua/lepdflib.cc 2018-10-09 01:52:01.649670868 +0100 -@@ -674,7 +674,7 @@ - uin = (udstruct *) luaL_checkudata(L, 1, M_##in); \ - if (uin->pd != NULL && uin->pd->pc != uin->pc) \ - pdfdoc_changed_error(L); \ -- gs = ((in *) uin->d)->function(); \ -+ gs = (GooString *)((in *) uin->d)->function(); \ - if (gs != NULL) \ - lua_pushlstring(L, gs->getCString(), gs->getLength()); \ - else \ -@@ -1813,7 +1813,7 @@ - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); - if (((Object *) uin->d)->isString()) { -- gs = ((Object *) uin->d)->getString(); -+ gs = (GooString *)((Object *) uin->d)->getString(); - lua_pushlstring(L, gs->getCString(), gs->getLength()); - } else - lua_pushnil(L); -diff -Naur a/texk/web2c/pdftexdir/writet1.c b/texk/web2c/pdftexdir/writet1.c ---- a/texk/web2c/pdftexdir/writet1.c 2016-11-25 18:24:37.000000000 +0000 -+++ b/texk/web2c/pdftexdir/writet1.c 2018-10-09 01:52:01.649670868 +0100 -@@ -1598,7 +1598,9 @@ - *(strend(t1_buf_array) - 1) = ' '; - - t1_getline(); -+ alloc_array(t1_buf, strlen(t1_line_array) + strlen(t1_buf_array) + 1, T1_BUF_SIZE); - strcat(t1_buf_array, t1_line_array); -+ alloc_array(t1_line, strlen(t1_buf_array) + 1, T1_BUF_SIZE); - strcpy(t1_line_array, t1_buf_array); - t1_line_ptr = eol(t1_line_array); - } -diff -Naur a/texk/web2c/ptexdir/ptex_version.h b/texk/web2c/ptexdir/ptex_version.h ---- a/texk/web2c/ptexdir/ptex_version.h 2018-01-21 03:48:06.000000000 +0000 -+++ b/texk/web2c/ptexdir/ptex_version.h 2018-10-09 01:52:01.649670868 +0100 -@@ -1 +1 @@ --#define PTEX_VERSION "p3.8.0" -+#define PTEX_VERSION "p3.8.1" -diff -Naur a/texk/web2c/ptexdir/tests/free_ixsp.tex b/texk/web2c/ptexdir/tests/free_ixsp.tex ---- a/texk/web2c/ptexdir/tests/free_ixsp.tex 1970-01-01 01:00:00.000000000 +0100 -+++ b/texk/web2c/ptexdir/tests/free_ixsp.tex 2018-10-09 01:52:01.649670868 +0100 -@@ -0,0 +1,53 @@ -+%#!eptex -ini -etex -+\let\dump\relax -+\batchmode -+\input plain -+ -+\errorstopmode -+\catcode`@=11 -+\newcount\@tempcnta -+\newcount\@tempcntb -+\newcount\@tempcntc -+\mathchardef\LIM=256 -+ -+\def\MYCHAR#1{% -+ \@tempcntc=\numexpr7*#1+"101\relax -+ \@tempcnta=\@tempcntc\divide\@tempcnta 94 -+ \@tempcntb=\numexpr\@tempcntc-94*\@tempcnta+1\relax -+ \ifnum\@tempcntb<0\advance\@tempcntb94 \advance\@tempcnta-1\fi -+ \advance\@tempcnta18 % 18区以降 -+ \CNTA=\kuten\numexpr"100*\@tempcnta+\@tempcntb\relax -+} -+ -+\newcount\CNT\newcount\CNTA -+\CNT=0 -+\loop -+ \MYCHAR\CNT -+ \message{\the\CNT.} -+ \inhibitxspcode\CNTA=1\relax -+ \advance\CNT1\relax -+ \ifnum\CNT<\LIM -+\repeat -+ -+\newcount\CNTB -+ -+\loop -+ \MYCHAR\CNTB -+ \global\inhibitxspcode\CNTA=3 -+{% -+\CNT=0 -+\loop -+ \MYCHAR\CNT -+ \count@=\numexpr 1-\inhibitxspcode\CNTA\relax -+ \ifnum\count@=0\else\ifnum\CNTB=\CNT\else -+ \errmessage{<\the\CNTB, \the\CNT, \the\inhibitxspcode\CNTA>}\fi\fi -+ \advance\CNT1\relax -+ \ifnum\CNT<\LIM -+\repeat -+} -+ \MYCHAR\CNTB -+ \global\inhibitxspcode\CNTA=1\relax -+ \advance\CNTB1\relax -+ \ifnum\CNTB<\LIM -+\repeat -+\bye -diff -Naur a/texk/web2c/ptexdir/tests/free_pena.tex b/texk/web2c/ptexdir/tests/free_pena.tex ---- a/texk/web2c/ptexdir/tests/free_pena.tex 1970-01-01 01:00:00.000000000 +0100 -+++ b/texk/web2c/ptexdir/tests/free_pena.tex 2018-10-09 01:52:01.649670868 +0100 -@@ -0,0 +1,52 @@ -+%#!eptex -ini -etex -+\let\dump\relax -+\batchmode -+\input plain -+ -+\errorstopmode -+\catcode`@=11 -+\newcount\@tempcnta -+\newcount\@tempcntb -+\newcount\@tempcntc -+\mathchardef\LIM=256 -+ -+\def\MYCHAR#1{% -+ \@tempcntc=\numexpr7*#1+"101\relax -+ \@tempcnta=\@tempcntc\divide\@tempcnta 94 -+ \@tempcntb=\numexpr\@tempcntc-94*\@tempcnta+1\relax -+ \ifnum\@tempcntb<0\advance\@tempcntb94 \advance\@tempcnta-1\fi -+ \advance\@tempcnta18 % 18区以降 -+ \CNTA=\kuten\numexpr"100*\@tempcnta+\@tempcntb\relax -+} -+ -+\newcount\CNT\newcount\CNTA -+\CNT=0 -+\loop -+ \MYCHAR\CNT -+ \message{\the\CNT.} -+ \prebreakpenalty\CNTA=\numexpr\CNT+1\relax -+ \advance\CNT1\relax -+ \ifnum\CNT<\LIM -+\repeat -+ -+\newcount\CNTB -+ -+\loop -+ \MYCHAR\CNTB -+ \global\prebreakpenalty\CNTA=0 -+{% -+\CNT=0 -+\loop -+ \MYCHAR\CNT -+ \count@=\numexpr -\CNT-1+\prebreakpenalty\CNTA\relax -+ \ifnum\count@=0\else\ifnum\CNTB=\CNT\else\errmessage{<\the\CNTB, \the\CNT>}\fi\fi -+ \advance\CNT1\relax -+ \ifnum\CNT<\LIM -+\repeat -+} -+ \MYCHAR\CNTB -+ \global\prebreakpenalty\CNTA=\numexpr\CNTB+1\relax -+ \advance\CNTB1\relax -+ \ifnum\CNTB<\LIM -+\repeat -+\bye diff --git a/gnu/packages/patches/texlive-bin-luatex-poppler-compat.patch b/gnu/packages/patches/texlive-bin-luatex-poppler-compat.patch deleted file mode 100644 index 024ff416af..0000000000 --- a/gnu/packages/patches/texlive-bin-luatex-poppler-compat.patch +++ /dev/null @@ -1,293 +0,0 @@ -Fix LuaTeX compatibility with Poppler 0.75. - -Upstream LuaTeX have moved from Poppler to "pplib" and thus upstream -fixes are unavailable. This is based on Archs patch, with minor -tweaks to comply with texlive-bin-CVE-2018-17407.patch. -https://git.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/texlive-bin&id=418dd6f008c3d41a461353fdb60f2d73d87c58ed - -diff --git a/texk/web2c/luatexdir/image/pdftoepdf.w b/texk/web2c/luatexdir/image/pdftoepdf.w ---- a/texk/web2c/luatexdir/image/pdftoepdf.w -+++ b/texk/web2c/luatexdir/image/pdftoepdf.w -@@ -363,7 +363,7 @@ void copyReal(PDF pdf, double d) - - static void copyString(PDF pdf, GooString * string) - { -- char *p; -+ const char *p; - unsigned char c; - size_t i, l; - p = string->getCString(); -@@ -393,7 +393,7 @@ static void copyString(PDF pdf, GooString * string) - pdf->cave = true; - } - --static void copyName(PDF pdf, char *s) -+static void copyName(PDF pdf, const char *s) - { - pdf_out(pdf, '/'); - for (; *s != 0; s++) { -@@ -412,7 +412,7 @@ static void copyArray(PDF pdf, PdfDocument * pdf_doc, Array * array) - Object obj1; - pdf_begin_array(pdf); - for (i = 0, l = array->getLength(); i < l; ++i) { -- obj1 = array->getNF(i); -+ obj1 = array->getNF(i).copy(); - copyObject(pdf, pdf_doc, &obj1); - } - pdf_end_array(pdf); -@@ -425,7 +425,7 @@ static void copyDict(PDF pdf, PdfDocument * pdf_doc, Dict * dict) - pdf_begin_dict(pdf); - for (i = 0, l = dict->getLength(); i < l; ++i) { - copyName(pdf, dict->getKey(i)); -- obj1 = dict->getValNF(i); -+ obj1 = dict->getValNF(i).copy(); - copyObject(pdf, pdf_doc, &obj1); - } - pdf_end_dict(pdf); -@@ -475,7 +475,7 @@ static void copyObject(PDF pdf, PdfDocument * pdf_doc, Object * obj) - copyString(pdf, (GooString *)obj->getString()); - break; - case objName: -- copyName(pdf, (char *)obj->getName()); -+ copyName(pdf, obj->getName()); - break; - case objNull: - pdf_add_null(pdf); -@@ -531,22 +531,22 @@ static PDFRectangle *get_pagebox(Page * page, int pagebox_spec) - { - switch (pagebox_spec) { - case PDF_BOX_SPEC_MEDIA: -- return page->getMediaBox(); -+ return (PDFRectangle *) page->getMediaBox(); - break; - case PDF_BOX_SPEC_CROP: -- return page->getCropBox(); -+ return (PDFRectangle *) page->getCropBox(); - break; - case PDF_BOX_SPEC_BLEED: -- return page->getBleedBox(); -+ return (PDFRectangle *) page->getBleedBox(); - break; - case PDF_BOX_SPEC_TRIM: -- return page->getTrimBox(); -+ return (PDFRectangle *) page->getTrimBox(); - break; - case PDF_BOX_SPEC_ART: -- return page->getArtBox(); -+ return (PDFRectangle *) page->getArtBox(); - break; - default: -- return page->getMediaBox(); -+ return (PDFRectangle *) page->getMediaBox(); - break; - } - } -@@ -788,12 +788,12 @@ void write_epdf(PDF pdf, image_dict * idict, int suppress_optional_info) - Now all relevant parts of the Page dictionary are copied. Metadata validity - check is needed(as a stream it must be indirect). - */ -- obj1 = pageDict->lookupNF("Metadata"); -+ obj1 = pageDict->lookupNF("Metadata").copy(); - if (!obj1.isNull() && !obj1.isRef()) - formatted_warning("pdf inclusion","/Metadata must be indirect object"); - /* copy selected items in Page dictionary */ - for (i = 0; pagedictkeys[i] != NULL; i++) { -- obj1 = pageDict->lookupNF(pagedictkeys[i]); -+ obj1 = pageDict->lookupNF(pagedictkeys[i]).copy(); - if (!obj1.isNull()) { - pdf_add_name(pdf, pagedictkeys[i]); - /* preserves indirection */ -@@ -806,13 +806,13 @@ void write_epdf(PDF pdf, image_dict * idict, int suppress_optional_info) - PDF file, climbing up the tree until the Resources are found. - (This fixes a problem with Scribus 1.3.3.14.) - */ -- obj1 = pageDict->lookupNF("Resources"); -+ obj1 = pageDict->lookupNF("Resources").copy(); - if (obj1.isNull()) { - op1 = &pagesobj1; - op2 = &pagesobj2; - *op1 = pageDict->lookup("Parent"); - while (op1->isDict()) { -- obj1 = op1->dictLookupNF("Resources"); -+ obj1 = op1->dictLookupNF("Resources").copy(); - if (!obj1.isNull()) { - pdf_add_name(pdf, "Resources"); - copyObject(pdf, pdf_doc, &obj1); -diff --git a/texk/web2c/luatexdir/lua/lepdflib.cc b/texk/web2c/luatexdir/lua/lepdflib.cc ---- a/texk/web2c/luatexdir/lua/lepdflib.cc -+++ b/texk/web2c/luatexdir/lua/lepdflib.cc -@@ -240,7 +240,7 @@ static int l_new_Attribute(lua_State * L) - if (uobj->pd != NULL && uobj->pd->pc != uobj->pc) - pdfdoc_changed_error(L); - uout = new_Attribute_userdata(L); -- uout->d = new Attribute(n, nlen, (Object *)uobj->d); -+ uout->d = new Attribute((GooString)n, (Object *)uobj->d); - uout->atype = ALLOC_LEPDF; - uout->pc = uobj->pc; - uout->pd = uobj->pd; -@@ -496,7 +496,7 @@ static int l_new_Object(lua_State * L) - double numA = lua_tonumber(L,1); - double genA = lua_tonumber(L,2); - if ( ((numA)==(int)(numA)) && ((genA)==(int)(genA)) ){ -- uout->d = new Object((int)(numA), (int)(genA)); -+ uout->d = new Object({(int)(numA), (int)(genA)}); - uout->atype = ALLOC_LEPDF; - uout->pc = 0; - uout->pd = NULL; -@@ -596,7 +596,7 @@ static int m_##in##_##function(lua_State * L) \ - uin = (udstruct *) luaL_checkudata(L, 1, M_##in); \ - if (uin->pd != NULL && uin->pd->pc != uin->pc) \ - pdfdoc_changed_error(L); \ -- o = ((in *) uin->d)->function(); \ -+ o = (out *) ((in *) uin->d)->function(); \ - if (o != NULL) { \ - uout = new_##out##_userdata(L); \ - uout->d = o; \ -@@ -889,7 +889,7 @@ static int m_Array_getNF(lua_State * L) - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- *((Object *) uout->d) = ((Array *) uin->d)->getNF(i - 1); -+ *((Object *) uout->d) = ((Array *) uin->d)->getNF(i - 1).copy(); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -1125,12 +1125,12 @@ m_poppler_get_INT(Dict, getLength); - - static int m_Dict_add(lua_State * L) - { -- char *s; -+ const char *s; - udstruct *uin, *uobj; - uin = (udstruct *) luaL_checkudata(L, 1, M_Dict); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); -- s = copyString(luaL_checkstring(L, 2)); -+ s = luaL_checkstring(L, 2); - uobj = (udstruct *) luaL_checkudata(L, 3, M_Object); - ((Dict *) uin->d)->add(s, std::move(*((Object *) uobj->d))); - return 0; -@@ -1190,7 +1190,7 @@ static int m_Dict_lookupNF(lua_State * L) - s = luaL_checkstring(L, 2); - uout = new_Object_userdata(L); - uout->d = new Object(); -- *((Object *) uout->d) = ((Dict *) uin->d)->lookupNF(s); -+ *((Object *) uout->d) = ((Dict *) uin->d)->lookupNF(s).copy(); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -1263,7 +1263,7 @@ static int m_Dict_getValNF(lua_State * L) - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- *((Object *) uout->d) = ((Dict *) uin->d)->getValNF(i - 1); -+ *((Object *) uout->d) = ((Dict *) uin->d)->getValNF(i - 1).copy(); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -1653,7 +1653,7 @@ static int m_Object_initRef(lua_State * L) - pdfdoc_changed_error(L); - num = luaL_checkint(L, 2); - gen = luaL_checkint(L, 3); -- *((Object *) uin->d) = Object(num, gen); -+ *((Object *) uin->d) = Object({num, gen}); - return 0; - } - -@@ -2011,7 +2011,7 @@ static int m_Object_arrayGetNF(lua_State * L) - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- *((Object *) uout->d) = ((Object *) uin->d)->arrayGetNF(i - 1); -+ *((Object *) uout->d) = ((Object *) uin->d)->arrayGetNF(i - 1).copy(); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -2051,7 +2051,7 @@ static int m_Object_dictAdd(lua_State * L) - pdfdoc_changed_error(L); - if (!((Object *) uin->d)->isDict()) - luaL_error(L, "Object is not a Dict"); -- ((Object *) uin->d)->dictAdd(copyString(s), std::move(*((Object *) uobj->d))); -+ ((Object *) uin->d)->dictAdd(s, std::move(*((Object *) uobj->d))); - return 0; - } - -@@ -2104,7 +2104,7 @@ static int m_Object_dictLookupNF(lua_State * L) - if (((Object *) uin->d)->isDict()) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- *((Object *) uout->d) = ((Object *) uin->d)->dictLookupNF(s); -+ *((Object *) uout->d) = ((Object *) uin->d)->dictLookupNF(s).copy(); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -2169,7 +2169,7 @@ static int m_Object_dictGetValNF(lua_State * L) - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- *((Object *) uout->d) = ((Object *) uin->d)->dictGetValNF(i - 1); -+ *((Object *) uout->d) = ((Object *) uin->d)->dictGetValNF(i - 1).copy(); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -2470,7 +2470,7 @@ static int m_PDFDoc_getFileName(lua_State * L) - uin = (udstruct *) luaL_checkudata(L, 1, M_PDFDoc); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); -- gs = ((PdfDocument *) uin->d)->doc->getFileName(); -+ gs = (GooString *) ((PdfDocument *) uin->d)->doc->getFileName(); - if (gs != NULL) - lua_pushlstring(L, gs->getCString(), gs->getLength()); - else -@@ -2559,7 +2559,7 @@ static int m_PDFDoc_readMetadata(lua_State * L) - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); - if (((PdfDocument *) uin->d)->doc->getCatalog()->isOk()) { -- gs = ((PdfDocument *) uin->d)->doc->readMetadata(); -+ gs = (GooString *) ((PdfDocument *) uin->d)->doc->readMetadata(); - if (gs != NULL) - lua_pushlstring(L, gs->getCString(), gs->getLength()); - else -@@ -2577,7 +2577,7 @@ static int m_PDFDoc_getStructTreeRoot(lua_State * L) - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); - if (((PdfDocument *) uin->d)->doc->getCatalog()->isOk()) { -- obj = ((PdfDocument *) uin->d)->doc->getStructTreeRoot(); -+ obj = (StructTreeRoot *) ((PdfDocument *) uin->d)->doc->getStructTreeRoot(); - uout = new_StructTreeRoot_userdata(L); - uout->d = obj; - uout->pc = uin->pc; ---- texlive-source/texk/web2c/luatexdir/lua/lepdflib.cc.orig 2019-04-24 09:41:05.090522664 +0000 -+++ texlive-source/texk/web2c/luatexdir/lua/lepdflib.cc 2019-04-24 09:43:37.119184926 +0000 -@@ -994,7 +994,8 @@ - pdfdoc_changed_error(L); - num = luaL_checkint(L, 2); - gen = luaL_checkint(L, 3); -- i = ((Catalog *) uin->d)->findPage(num, gen); -+ Ref numgen = {num, gen}; -+ i = ((Catalog *) uin->d)->findPage(numgen); - if (i > 0) - lua_pushinteger(L, i); - else -@@ -2596,8 +2597,9 @@ - pdfdoc_changed_error(L); - num = luaL_checkint(L, 2); - gen = luaL_checkint(L, 3); -+ Ref numgen = {num, gen}; - if (((PdfDocument *) uin->d)->doc->getCatalog()->isOk()) { -- i = ((PdfDocument *) uin->d)->doc->findPage(num, gen); -+ i = ((PdfDocument *) uin->d)->doc->findPage(numgen); - if (i > 0) - lua_pushinteger(L, i); - else ---- texlive-source/texk/web2c/luatexdir/image/pdftoepdf.w.orig 2019-04-24 09:56:38.406498975 +0000 -+++ texlive-source/texk/web2c/luatexdir/image/pdftoepdf.w 2019-04-24 09:56:57.020081327 +0000 -@@ -630,7 +630,7 @@ - if (link == NULL || !link->isOk()) - formatted_error("pdf inclusion","invalid destination '%s'",img_pagename(idict)); - Ref ref = link->getPageRef(); -- img_pagenum(idict) = catalog->findPage(ref.num, ref.gen); -+ img_pagenum(idict) = catalog->findPage(ref); - if (img_pagenum(idict) == 0) - formatted_error("pdf inclusion","destination is not a page '%s'",img_pagename(idict)); - delete link; diff --git a/gnu/packages/patches/texlive-bin-poppler-0.83.patch b/gnu/packages/patches/texlive-bin-poppler-0.83.patch new file mode 100644 index 0000000000..5e57e3efac --- /dev/null +++ b/gnu/packages/patches/texlive-bin-poppler-0.83.patch @@ -0,0 +1,52 @@ +Fix build with Poppler 0.83 and later. + +Taken from Arch Linux, but adjusted to patch the versioned Poppler +files, as upstream applies it after copying them in place. +https://git.archlinux.org/svntogit/packages.git/tree/trunk/texlive-poppler-0.83.patch?h=packages/texlive-bin + +diff -ru texlive-source-orig/texk/web2c/pdftexdir/pdftoepdf-poppler0.76.0.cc texlive-source/texk/web2c/pdftexdir/pdftoepdf-poppler0.76.0.cc +--- texlive-source-orig/texk/web2c/pdftexdir/pdftoepdf-poppler0.76.0.cc ++++ texlive-source/texk/web2c/pdftexdir/pdftoepdf-poppler0.76.0.cc +@@ -723,7 +723,7 @@ + #endif + // initialize + if (!isInit) { +- globalParams = new GlobalParams(); ++ globalParams.reset(new GlobalParams()); + globalParams->setErrQuiet(false); + isInit = true; + } +@@ -1108,6 +1108,5 @@ + delete_document(p); + } + // see above for globalParams +- delete globalParams; + } + } +diff -ru texlive-source-orig/texk/web2c/pdftexdir/pdftosrc-poppler0.76.0.cc texlive-source/texk/web2c/pdftexdir/pdftosrc-poppler0.76.0.cc +--- texlive-source-orig/texk/web2c/pdftexdir/pdftosrc-poppler0.76.0.cc ++++ texlive-source/texk/web2c/pdftexdir/pdftosrc-poppler0.76.0.cc +@@ -79,7 +79,7 @@ + exit(1); + } + fileName = new GString(argv[1]); +- globalParams = new GlobalParams(); ++ globalParams.reset(new GlobalParams()); + doc = new PDFDoc(fileName); + if (!doc->isOk()) { + fprintf(stderr, "Invalid PDF file\n"); +@@ -100,7 +100,7 @@ + if (objnum == 0) { + srcStream = catalogDict.dictLookup("SourceObject"); + static char const_SourceFile[] = "SourceFile"; +- if (!srcStream.isStream(const_SourceFile)) { ++ if (!srcStream.isDict(const_SourceFile)) { + fprintf(stderr, "No SourceObject found\n"); + exit(1); + } +@@ -202,5 +202,4 @@ + fprintf(stderr, "Cross-reference table extracted to %s\n", outname); + fclose(outfile); + delete doc; +- delete globalParams; + } diff --git a/gnu/packages/patches/vigra-python-compat.patch b/gnu/packages/patches/vigra-python-compat.patch new file mode 100644 index 0000000000..63c6abb326 --- /dev/null +++ b/gnu/packages/patches/vigra-python-compat.patch @@ -0,0 +1,18 @@ +Fix build with Boost + Python 3.7. + +Taken from upstream: +https://github.com/ukoethe/vigra/commit/a6fa62663c6a6b752ed0707e95f643e25867a0f9 + +diff --git a/vigranumpy/src/core/vigranumpycore.cxx b/vigranumpy/src/core/vigranumpycore.cxx +index ec38d3636..c81c6ae52 100644 +--- a/vigranumpy/src/core/vigranumpycore.cxx ++++ b/vigranumpy/src/core/vigranumpycore.cxx +@@ -61,7 +61,7 @@ UInt32 pychecksum(python::str const & s) + return checksum(data, size); + #else + Py_ssize_t size = 0; +- char * data = PyUnicode_AsUTF8AndSize(s.ptr(), &size); ++ const char * data = PyUnicode_AsUTF8AndSize(s.ptr(), &size); + return checksum(data, size); + #endif + } diff --git a/gnu/packages/patches/webkitgtk-icu-65.patch b/gnu/packages/patches/webkitgtk-icu-65.patch new file mode 100644 index 0000000000..66819c566b --- /dev/null +++ b/gnu/packages/patches/webkitgtk-icu-65.patch @@ -0,0 +1,47 @@ +Fix build with ICU 65. + +Taken from upstream: +https://bugs.webkit.org/show_bug.cgi?id=202600 +https://trac.webkit.org/r250747 + +diff --git a/Source/WTF/wtf/URLHelpers.cpp b/Source/WTF/wtf/URLHelpers.cpp +index 18e7f13cd615..c584f1a0cb7e 100644 +--- a/Source/WTF/wtf/URLHelpers.cpp ++++ b/Source/WTF/wtf/URLHelpers.cpp +@@ -301,7 +301,7 @@ static bool allCharactersInIDNScriptWhiteList(const UChar* buffer, int32_t lengt + Optional<UChar32> previousCodePoint; + while (i < length) { + UChar32 c; +- U16_NEXT(buffer, i, length, c) ++ U16_NEXT(buffer, i, length, c); + UErrorCode error = U_ZERO_ERROR; + UScriptCode script = uscript_getScript(c, &error); + if (error != U_ZERO_ERROR) { +diff --git a/Source/WebCore/dom/Document.cpp b/Source/WebCore/dom/Document.cpp +index 2443e24c9bc4..1fbb3a716006 100644 +--- a/Source/WebCore/dom/Document.cpp ++++ b/Source/WebCore/dom/Document.cpp +@@ -4954,12 +4954,12 @@ static bool isValidNameNonASCII(const UChar* characters, unsigned length) + unsigned i = 0; + + UChar32 c; +- U16_NEXT(characters, i, length, c) ++ U16_NEXT(characters, i, length, c); + if (!isValidNameStart(c)) + return false; + + while (i < length) { +- U16_NEXT(characters, i, length, c) ++ U16_NEXT(characters, i, length, c); + if (!isValidNamePart(c)) + return false; + } +@@ -5019,7 +5019,7 @@ ExceptionOr<std::pair<AtomString, AtomString>> Document::parseQualifiedName(cons + + for (unsigned i = 0; i < length; ) { + UChar32 c; +- U16_NEXT(qualifiedName, i, length, c) ++ U16_NEXT(qualifiedName, i, length, c); + if (c == ':') { + if (sawColon) + return Exception { InvalidCharacterError }; diff --git a/gnu/packages/pciutils.scm b/gnu/packages/pciutils.scm index f8b79cf907..0a55299c93 100644 --- a/gnu/packages/pciutils.scm +++ b/gnu/packages/pciutils.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014, 2015, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,6 +23,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (gnu packages compression) #:use-module (gnu packages pkg-config) @@ -31,7 +33,7 @@ (define-public pciutils (package (name "pciutils") - (version "3.6.2") + (version "3.6.4") (source (origin (method url-fetch) (uri (string-append @@ -39,15 +41,29 @@ version ".tar.xz")) (sha256 (base32 - "1wwkpglvvr1sdj2gxz9khq507y02c4px48njy25divzdhv4jwifv")))) + "0mb0f2phdcmp4kfiqsszn2k6nlln0w160ffzrjjv4bbfjwrgfzzn")))) (build-system gnu-build-system) (arguments - '(#:phases + `(#:phases (modify-phases %standard-phases (replace 'configure (lambda* (#:key outputs #:allow-other-keys) ;; There's no 'configure' script, just a raw makefile. (substitute* "Makefile" + ,@(if (%current-target-system) + `((("^CROSS_COMPILE=.*$") + (string-append "CROSS_COMPILE=" + ,(%current-target-system) "-" + "\n")) + (("^HOST=.*$") + (string-append "HOST=" + ,(gnu-triplet->nix-system + (%current-target-system)) "\n")) + ;; Disable 'install' strip option, that would fail when + ;; we are cross-compiling. + (("^STRIP=.*$") + "STRIP=\n")) + '()) (("^PREFIX=.*$") (string-append "PREFIX := " (assoc-ref outputs "out") "\n")) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 368b2ce69e..62120b9cf9 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -90,14 +90,14 @@ (define-public poppler (package (name "poppler") - (version "0.79.0") + (version "0.85.0") (source (origin (method url-fetch) (uri (string-append "https://poppler.freedesktop.org/poppler-" version ".tar.xz")) (sha256 (base32 - "1j18jlv1q6h21azb939gqjsgcbsh5qcd8dwxdmad54p5ixha91gr")))) + "0jyr036scdly13hx5dxmsqp2p3jifc29h2by51msw0ih6bmpbj1b")))) (build-system cmake-build-system) ;; FIXME: ;; use libcurl: no @@ -433,7 +433,7 @@ using the DjVuLibre library.") (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("jbig2dec" ,jbig2dec) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("mujs" ,mujs) ("mupdf" ,mupdf) ("openjpeg" ,openjpeg) @@ -573,7 +573,7 @@ interaction.") `(("cppunit" ,cppunit) ("pkg-config" ,pkg-config))) (inputs - `(("libjpeg" ,libjpeg) + `(("libjpeg" ,libjpeg-turbo) ("libtiff" ,libtiff) ("fontconfig" ,fontconfig) ("freetype" ,freetype) @@ -632,7 +632,7 @@ extracting content or merging files.") ("freetype" ,freetype) ("harfbuzz" ,harfbuzz) ("jbig2dec" ,jbig2dec) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libx11" ,libx11) ("libxext" ,libxext) ("mujs" ,mujs) @@ -859,7 +859,7 @@ the PDF pages.") #:tests? #f #:make-flags (list "CC=gcc" (string-append "prefix=" (assoc-ref %outputs "out"))))) - (inputs `(("libjpeg" ,libjpeg) + (inputs `(("libjpeg" ,libjpeg-turbo) ("curl" ,curl) ("libtiff" ,libtiff) ("libudev" ,eudev) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 9fc3493a5d..590bd5083b 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -22,6 +22,7 @@ ;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> +;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019 Stephen J. Scheck <sscheck@cpan.org> ;;; ;;; This file is part of GNU Guix. @@ -69,14 +70,14 @@ ;; Yeah, Perl... It is required early in the bootstrap process by Linux. (package (name "perl") - (version "5.30.0") + (version "5.30.1") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/src/5.0/perl-" version ".tar.gz")) (sha256 (base32 - "1wkmz6xn3fswpqhz29akiklcxclnlykhp96a8bqcz36rak3i64l5")) + "0r7r8a7pkgxp3w5lza559ahxczw6hzpwvhkpc4c99vpi3xbjagdz")) (patches (search-patches "perl-no-sys-dirs.patch" "perl-autosplit-default-time.patch" @@ -84,7 +85,7 @@ "perl-reproducible-build-date.patch")))) (build-system gnu-build-system) (arguments - '(#:tests? #f + `(#:tests? #f #:configure-flags (let ((out (assoc-ref %outputs "out")) (libc (assoc-ref %build-inputs "libc"))) @@ -118,22 +119,12 @@ (lambda* (#:key configure-flags #:allow-other-keys) (format #t "Perl configure flags: ~s~%" configure-flags) (apply invoke "./Configure" configure-flags))) - (add-before - 'strip 'make-shared-objects-writable - (lambda* (#:key outputs #:allow-other-keys) - ;; The 'lib/perl5' directory contains ~50 MiB of .so. Make them - ;; writable so that 'strip' actually strips them. - (let* ((out (assoc-ref outputs "out")) - (lib (string-append out "/lib"))) - (for-each (lambda (dso) - (chmod dso #o755)) - (find-files lib "\\.so$")) - #t))) - (add-after 'install 'remove-extra-references (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (libc (assoc-ref inputs "libc")) + (libc (assoc-ref inputs + ,(if (%current-target-system) + "cross-libc" "libc"))) (config1 (car (find-files (string-append out "/lib/perl5") "^Config_heavy\\.pl$"))) (config2 (find-files (string-append out "/lib/perl5") diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 0867433245..0dfc442883 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -82,7 +82,7 @@ (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("libjpeg" ,libjpeg))) ;for lossy DNGs and old Kodak cameras + `(("libjpeg" ,libjpeg-turbo))) ;for lossy DNGs and old Kodak cameras (propagated-inputs `(("lcms" ,lcms))) ;for color profiles (home-page "https://www.libraw.org") @@ -258,7 +258,7 @@ and a wide variety of other metadata.") "1a4m3plmfcrrplqs9zfzhc5apibn10m5sajpizm1sd3q74w5fwq3")))) (build-system cmake-build-system) (inputs - `(("libjpeg" ,libjpeg) + `(("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) ("zlib" ,zlib))) @@ -300,7 +300,7 @@ overlapping images, as well as some command line tools.") `(("boost" ,boost) ("gsl" ,gsl) ("lcms" ,lcms) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) ("openexr" ,openexr) @@ -394,7 +394,7 @@ photographic equipment.") ("pugixml" ,pugixml) ("gtk+" ,gtk+) ("sqlite" ,sqlite) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("cairo" ,cairo) ("lcms" ,lcms) @@ -450,7 +450,7 @@ and enhance them.") ("freeglut" ,freeglut) ("glew" ,glew) ("lcms" ,lcms) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpano13" ,libpano13) ("libpng" ,libpng) ("libtiff" ,libtiff) @@ -535,7 +535,7 @@ a complete panorama and stitch any series of overlapping pictures.") ("lensfun" ,lensfun) ("libcanberra" ,libcanberra) ("libiptcdata" ,libiptcdata) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("librsvg" ,librsvg) ("libsigc++" ,libsigc++) diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm index a82257c582..ac0f991206 100644 --- a/gnu/packages/php.scm +++ b/gnu/packages/php.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019 Oleg Pykhalov <go.wigust@gmail.com> +;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -59,15 +60,15 @@ (define-public php (package (name "php") - (version "7.4.1") - (home-page "https://secure.php.net/") + (version "7.4.2") + (home-page "https://www.php.net/") (source (origin (method url-fetch) (uri (string-append home-page "distributions/" "php-" version ".tar.xz")) (sha256 (base32 - "0qn7zwf2jzj3h7p4b1l79lf9gv236mycwkhgw15hj2fmpmkbh6sn")) + "04yz9f7klh642syfh49rmribzwd1k5ssxv0pc510vnhpq3m4sa4q")) (modules '((guix build utils))) (snippet '(with-directory-excursion "ext" @@ -210,6 +211,14 @@ "ext/standard/tests/strings/setlocale_basic2.phpt" "ext/standard/tests/strings/setlocale_basic3.phpt" "ext/standard/tests/strings/setlocale_variation1.phpt" + ;; This failing test is skipped on PHP's Travis CI as it is + ;; supposedly inaccurate. + "ext/standard/tests/file/disk_free_space_basic.phpt" + ;; The two following tests erroneously expect the link count + ;; of a sub-directory to increase compared to its + ;; parent. + "ext/standard/tests/file/lstat_stat_variation8.phpt" + "ext/standard/tests/file/lstat_stat_variation9.phpt" ;; XXX: These gd tests fails. Likely because our version ;; is different from the (patched) bundled one. @@ -237,6 +246,13 @@ ;; complete. It's a warning in both cases and test ;; result is the same. "ext/gd/tests/bug77973.phpt" + ;; Test expects uninitialized value to be false, but + ;; instead gets "resource(5) of type (gd)". + "ext/gd/tests/bug79067.phpt" + ;; The following test fails with "The image size + ;; differs: expected 114x115, got 117x117". + "ext/gd/tests/bug79068.phpt" + ;; XXX: These iconv tests have the expected outcome, ;; but with different error messages. diff --git a/gnu/packages/pkg-config.scm b/gnu/packages/pkg-config.scm index c3bc3025a3..9c632532be 100644 --- a/gnu/packages/pkg-config.scm +++ b/gnu/packages/pkg-config.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2016 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -49,7 +50,17 @@ (base32 "14fmwzki1rlz8bs2p810lk6jqdxsk966d8drgsjmi54cd00rrikg")))) (build-system gnu-build-system) - (arguments `(#:configure-flags '("--with-internal-glib"))) + (arguments + `(#:configure-flags + '("--with-internal-glib" + ;; Those variables are guessed incorrectly when cross-compiling. + ;; See: https://developer.gimp.org/api/2.0/glib/glib-cross-compiling.html. + ,@(if (%current-target-system) + '("glib_cv_stack_grows=no" + "glib_cv_uscore=no" + "ac_cv_func_posix_getpwuid_r=yes" + "ac_cv_func_posix_getgrgid_r=yes") + '())))) (native-search-paths (list (search-path-specification (variable "PKG_CONFIG_PATH") diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm index 6f2b3f78ea..fc98478d4c 100644 --- a/gnu/packages/pretty-print.scm +++ b/gnu/packages/pretty-print.scm @@ -190,7 +190,7 @@ to @code{IOStreams}.") (define-public source-highlight (package (name "source-highlight") - (version "3.1.8") + (version "3.1.9") (source (origin (method url-fetch) @@ -198,7 +198,7 @@ to @code{IOStreams}.") version ".tar.gz")) (sha256 (base32 - "18xdalxg7yzrxc1njzgw7aryq2jdm7zq2yqz41sc7k6il5z6lcq1")))) + "148w47k3zswbxvhg83z38ifi85f9dqcpg7icvvw1cm6bg21x4zrs")))) (build-system gnu-build-system) ;; The ctags that comes with emacs does not support the --excmd options, ;; so can't be used diff --git a/gnu/packages/prolog.scm b/gnu/packages/prolog.scm index 00b471fb6a..bf992f6bd6 100644 --- a/gnu/packages/prolog.scm +++ b/gnu/packages/prolog.scm @@ -137,7 +137,7 @@ manner. It also features an interactive interpreter.") ("texinfo" ,texinfo) ("libarchive" ,libarchive) ("libunwind" ,libunwind) - ("libjpeg", libjpeg) + ("libjpeg", libjpeg-turbo) ("libxft" ,libxft) ("fontconfig" ,fontconfig) ("perl" ,perl) diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm index 5651127b38..62d555d788 100644 --- a/gnu/packages/pulseaudio.scm +++ b/gnu/packages/pulseaudio.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> +;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,6 +30,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix utils) #:use-module ((guix licenses) #:prefix l:) #:use-module (guix build-system gnu) #:use-module (guix build-system python) @@ -104,10 +106,28 @@ for reading and writing new sound file formats.") "1ha46i0nbibq0pl0pjwcqiyny4hj8lp1bnl4dpxm64zjw9lb2zha")))) (build-system gnu-build-system) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("automake" ,automake))) ;For up to date 'config.guess' and 'config.sub'. (propagated-inputs `(("libsndfile" ,libsndfile) ("fftw" ,fftw))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-configure + (lambda* (#:key inputs native-inputs #:allow-other-keys) + ;; Replace outdated config.sub and config.guess: + (with-directory-excursion "Cfg" + (for-each (lambda (file) + (install-file (string-append + (assoc-ref + (or native-inputs inputs) "automake") + "/share/automake-" + ,(version-major+minor + (package-version automake)) + "/" file) ".")) + '("config.sub" "config.guess"))) + #t))))) (home-page "http://www.mega-nerd.com/SRC/index.html") (synopsis "Audio sample rate conversion library") (description diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm index 7a0f3ae6ac..2eb0933116 100644 --- a/gnu/packages/python-compression.scm +++ b/gnu/packages/python-compression.scm @@ -254,6 +254,17 @@ wrapper. It provides a backport of the @code{Path} object.") ("python-unittest2" ,python2-unittest2) ,@(package-native-inputs base)))))) +;; This package is used to bootstrap pytest, via importlib-metadata. +(define-public python2-zipp-bootstrap + (hidden-package + (package/inherit + python2-zipp + (arguments + `(#:tests? #f + ,@(package-arguments python2-zipp))) + (native-inputs + `(("python-setuptools-scm" ,python2-setuptools-scm)))))) + (define-public python-zstandard (package (name "python-zstandard") diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index 71172701ac..f35540686c 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr> ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016, 2017, 2019 Leo Famulari <leo@famulari.name> -;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2016, 2017, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Ben Sturmfels <ben@sturm.com.au> ;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2015 Cyril Roelandt <tipecaml@gmail.com> @@ -488,7 +488,10 @@ message digests and key derivation functions.") (add-after 'install 'check (lambda* (#:key inputs outputs #:allow-other-keys) (add-installed-pythonpath inputs outputs) - (invoke "py.test" "-v" "-k" + ;; PyOpenSSL runs tests against a certificate with a fixed + ;; expiry time. To ensure successful builds in the future, + ;; set the time to roughly the release date. + (invoke "faketime" "2019-01-01" "py.test" "-v" "-k" (string-append ;; This test tries to look up certificates from ;; the compiled-in default path in OpenSSL, which @@ -503,7 +506,8 @@ message digests and key derivation functions.") (inputs `(("openssl" ,openssl))) (native-inputs - `(("python-flaky" ,python-flaky) + `(("libfaketime" ,libfaketime) + ("python-flaky" ,python-flaky) ("python-pretend" ,python-pretend) ("python-pytest" ,python-pytest))) (home-page "https://github.com/pyca/pyopenssl") diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 2fb121dfee..67d0582a4f 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -68,6 +68,7 @@ ;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz> ;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org> ;;; Copyright © 2019 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de> +;;; Copyright © 2020 Riku Viitanen <riku.viitanen@protonmail.com> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; ;;; This file is part of GNU Guix. @@ -442,7 +443,7 @@ Expressions are constructed from parsed strings or directly in Python.") (propagated-inputs `(("numpy" ,python-numpy))) (inputs `(("hdf4" ,hdf4) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("zlib" ,zlib))) (arguments `(#:phases @@ -1092,14 +1093,14 @@ from the Python interpreter, or as a small part of a larger application.") (define-public python-six (package (name "python-six") - (version "1.12.0") + (version "1.14.0") (source (origin (method url-fetch) (uri (pypi-uri "six" version)) (sha256 (base32 - "0wxs1q74v07ssjywbbm7x6h5v9qx209ld2yfsif4060sxi0h2sni")))) + "02lw67hprv57hyg3cfy02y3ixjk3nzwc0dx3c4ynlvkfwkfdnsr3")))) (build-system python-build-system) (arguments `(#:phases @@ -1108,8 +1109,7 @@ from the Python interpreter, or as a small part of a larger application.") (lambda _ (invoke "py.test" "-v")))))) (native-inputs - `(("python-py" ,python-py) - ("python-pytest" ,python-pytest-bootstrap))) + `(("python-pytest" ,python-pytest-bootstrap))) (home-page "https://pypi.python.org/pypi/six/") (synopsis "Python 2 and 3 compatibility utilities") (description @@ -1705,14 +1705,14 @@ server.") (define-public python-py (package (name "python-py") - (version "1.8.0") + (version "1.8.1") (source (origin (method url-fetch) (uri (pypi-uri "py" version)) (sha256 (base32 - "0lsy1gajva083pzc7csj1cvbmminb7b4l6a0prdzyb3fd829nqyw")))) + "1ajjazg3913n0sp3vjyva9c2qh5anx8ziryng935f89604a0h9sy")))) (build-system python-build-system) (arguments ;; FIXME: "ImportError: 'test' module incorrectly imported from @@ -3726,13 +3726,13 @@ library, libgit2 implements Git plumbing.") (define-public python-pyparsing (package (name "python-pyparsing") - (version "2.3.1") + (version "2.4.6") (source (origin (method url-fetch) (uri (pypi-uri "pyparsing" version)) (sha256 - (base32 "0yk6xl885b91dmlhlsap7x78hk2rdr879fln9anbq6k4ca42djb6")))) + (base32 "17wn5zlijc9m9zj26gy3f541y7smpj8rfhl51d025c2gm210b0sc")))) (build-system python-build-system) (outputs '("out" "doc")) (arguments @@ -4461,7 +4461,7 @@ the OleFileIO module from PIL, the Python Image Library.") (inputs `(("freetype" ,freetype) ("lcms" ,lcms) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libtiff" ,libtiff) ("libwebp" ,libwebp) ("openjpeg" ,openjpeg) @@ -4931,13 +4931,13 @@ child application and control it as if a human were typing commands.") (define-public python-setuptools-scm (package (name "python-setuptools-scm") - (version "3.2.0") + (version "3.4.3") (source (origin (method url-fetch) (uri (pypi-uri "setuptools_scm" version)) (sha256 (base32 - "0n3knn3p1sqlx31k2lahn7z9bacvlv8nhlfidj77vz50bxqlgasj")))) + "083k93wi7mrmp1cn28hcbnr6sivbgls0y7zz2m5qzn1wg04a3f16")))) (build-system python-build-system) (home-page "https://github.com/pypa/setuptools_scm/") (synopsis "Manage Python package versions in SCM metadata") @@ -4947,18 +4947,6 @@ child application and control it as if a human were typing commands.") them as the version argument or in a SCM managed file.") (license license:expat))) -;; Needed by python-lazy-object-proxy, remove on next update cycle. -(define-public python-setuptools-scm-3.3 - (package - (inherit python-setuptools-scm) - (version "3.3.3") - (source (origin - (method url-fetch) - (uri (pypi-uri "setuptools_scm" version)) - (sha256 - (base32 - "19cyndx23xmpbhz4qrwmfwsmnnaczd0dw7qg977ksq2dbvxy29dx")))))) - (define-public python2-setuptools-scm (package-with-python2 python-setuptools-scm)) @@ -4997,9 +4985,17 @@ older Python versions.") "0y3hg12iby1qyaspnbisz4s4vxax7syikk3skznwqizqyv89y9yk")))) (build-system python-build-system) (arguments - `(#:python ,python-2)) - (native-inputs - `(("python-wheel" ,python2-wheel))) + `(#:python ,python-2 + #:phases (modify-phases %standard-phases + ;; The build system tests for python-wheel, but it is + ;; not required for Guix nor the test suite. Just drop + ;; it to make bootstrapping pytest easier. + (add-after 'unpack 'drop-wheel-dependency + (lambda _ + (substitute* "setup.cfg" + (("^[[:blank:]]+wheel") + "")) + #t))))) (propagated-inputs `(("python-pathlib2" ,python2-pathlib2) ("python-typing" ,python2-typing))) @@ -5010,21 +5006,33 @@ older Python versions.") for older versions of Python.") (license license:asl2.0))) +;; For importlib-metadata-bootstrap below. +(define-public python2-importlib-resources-bootstrap + (hidden-package + (package/inherit + python2-importlib-resources + (name "python2-importlib-resources-bootstrap") + (propagated-inputs + `(("python-pathlib2-bootstrap" ,python2-pathlib2-bootstrap) + ("python-typing" ,python2-typing)))))) + (define-public python-importlib-metadata (package (name "python-importlib-metadata") - (version "1.4.0") + (version "1.5.0") (source (origin (method url-fetch) (uri (pypi-uri "importlib_metadata" version)) (sha256 - (base32 "1n76444v7zn910xrhh8954jdn4byxbn9f1jck6b85a716mbh2z7i")))) + (base32 + "00ikdj4gjhankdljnz7g5ggak4k9lql2926x0x117ir9j2lv7x86")))) (build-system python-build-system) (propagated-inputs `(("python-zipp" ,python-zipp))) (native-inputs `(("python-setuptools-scm" ,python-setuptools-scm) + ("python-pyfakefs" ,python-pyfakefs) ("python-packaging" ,python-packaging))) (home-page "https://importlib-metadata.readthedocs.io/") (synopsis "Read metadata from Python packages") @@ -5044,6 +5052,10 @@ need to use the older and less efficient @code{pkg_resources} package.") (package/inherit base (name "python2-importlib-metadata") + (native-inputs + `(("python-setuptools-scm" ,python2-setuptools-scm) + ("python-pyfakefs" ,python2-pyfakefs-bootstrap) + ("python-packaging" ,python2-packaging-bootstrap))) (propagated-inputs `(("python-configparser" ,python2-configparser) ("python-contextlib2" ,python2-contextlib2) @@ -5051,6 +5063,22 @@ need to use the older and less efficient @code{pkg_resources} package.") ("python-pathlib2" ,python2-pathlib2) ,@(package-propagated-inputs base)))))) +;; This package is used by python2-pytest, and thus must not depend on it. +(define-public python2-importlib-metadata-bootstrap + (hidden-package + (package/inherit + python2-importlib-metadata + (name "python2-importlib-metadata-bootstrap") + (arguments + `(#:tests? #f + ,@(package-arguments python2-importlib-metadata))) + (propagated-inputs + `(("python-zipp" ,python2-zipp-bootstrap) + ("python-pathlib2" ,python2-pathlib2-bootstrap) + ("python-configparser" ,python2-configparser) + ("python-contextlib2" ,python2-contextlib2-bootstrap) + ("python-importlib-resources" ,python2-importlib-resources-bootstrap)))))) + (define-public python-jaraco-packaging (package (name "python-jaraco-packaging") @@ -6549,13 +6577,13 @@ complexity of Python source code.") (define-public python-flake8 (package (name "python-flake8") - (version "3.7.7") + (version "3.7.9") (source (origin (method url-fetch) (uri (pypi-uri "flake8" version)) (sha256 (base32 - "0qg6zggqigrd4k3gv88shd1a27d0cwgfql8vfiq2c7rl7w3rd6c5")))) + "1yscj6avirm6m12bjh4fn2lfgxaamqsjh9pirdqfi0fcgq8ils25")))) (build-system python-build-system) (arguments `(#:phases @@ -6573,8 +6601,7 @@ complexity of Python source code.") ("python-mccabe" ,python-mccabe))) (native-inputs `(("python-mock" ,python-mock) - ("python-pytest" ,python-pytest-bootstrap) - ("python-pytest-runner" ,python-pytest-runner))) + ("python-pytest" ,python-pytest-bootstrap))) (home-page "https://gitlab.com/pycqa/flake8") (synopsis "The modular source code checker: pep8, pyflakes and co") @@ -6589,6 +6616,7 @@ complexity of Python source code.") (propagated-inputs `(("python2-configparser" ,python2-configparser) ("python2-enum34" ,python2-enum34) + ("python2-functools32" ,python2-functools32) ("python2-typing" ,python2-typing) ,@(package-propagated-inputs base)))))) @@ -6829,13 +6857,13 @@ add functionality and customization to your projects with their own plugins.") (define-public python-fonttools (package (name "python-fonttools") - (version "3.38.0") + (version "4.2.4") (source (origin (method url-fetch) (uri (pypi-uri "fonttools" version ".zip")) (sha256 (base32 - "12ripk3s7skgxr1bs9r8n13r94ym3s8iir7ivfixls9fa4dabmlh")))) + "0rz2fn707x8ri507bb5k5y3di851dwchn0886f77g5bgiflmnpwm")))) (build-system python-build-system) (native-inputs `(("unzip" ,unzip) @@ -6851,8 +6879,18 @@ also contains a tool called “TTX” which converts TrueType/OpenType fonts to from an XML-based format.") (license license:expat))) +;; Fonttools 4.x dropped support for Python 2, so stick with 3.x here. (define-public python2-fonttools - (package-with-python2 python-fonttools)) + (let ((base (package-with-python2 (strip-python2-variant python-fonttools)))) + (package/inherit + base + (version "3.44.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "fonttools" version ".zip")) + (sha256 + (base32 + "0v6399g755f2hn1ry62i5b6gdinf2fpx2966v3bxh6bjw1accb5p"))))))) (define-public python-ly (package @@ -8281,6 +8319,18 @@ the standard library.") (native-inputs `(("python2-unittest2" ,python2-unittest2)))))) +;; This package is used by python2-pytest via python2-importlib-metadata, +;; and thus can not depend on python-unittest2 (which depends on pytest). +(define-public python2-contextlib2-bootstrap + (hidden-package + (package/inherit + python2-contextlib2 + (name "python2-contextlib2-bootstrap") + (arguments + `(#:tests? #f + ,@(package-arguments python2-contextlib2))) + (native-inputs '())))) + (define-public python-texttable (package (name "python-texttable") @@ -8753,14 +8803,14 @@ library as well as on the command line.") (define-public python-pluggy (package (name "python-pluggy") - (version "0.11.0") + (version "0.13.1") (source (origin (method url-fetch) (uri (pypi-uri "pluggy" version)) (sha256 (base32 - "10511a54dvafw1jrk75mrhml53c7b7w4yaw7241696lc2hfvr895")))) + "1c35qyhvy27q9ih9n899f3h4sdnpgq027dbiilly2qb5cvgarchm")))) (build-system python-build-system) (native-inputs `(("python-setuptools-scm" ,python-setuptools-scm))) @@ -8768,10 +8818,30 @@ library as well as on the command line.") (description "Pluggy is an extraction of the plugin manager as used by Pytest but stripped of Pytest specific details.") (home-page "https://pypi.python.org/pypi/pluggy") + (properties `((python2-variant . ,(delay python2-pluggy)))) (license license:expat))) (define-public python2-pluggy - (package-with-python2 python-pluggy)) + (let ((base (package-with-python2 (strip-python2-variant + python-pluggy)))) + (package/inherit + base + (propagated-inputs + `(("python-importlib-metadata" ,python2-importlib-metadata)))))) + +;; This package requires python2-importlib-metadata, but that package +;; ends up needing python2-pluggy via python2-pytest, so we need this +;; variant to solve the circular dependency. +(define-public python2-pluggy-bootstrap + (hidden-package + (package/inherit + python2-pluggy + (name "python2-pluggy-bootstrap") + (arguments + `(#:tests? #f + ,@(package-arguments python2-pluggy))) + (propagated-inputs + `(("python-importlib-metadata" ,python2-importlib-metadata-bootstrap)))))) (define-public python-tox (package @@ -8925,13 +8995,16 @@ python-xdo for newer bindings.)") (arguments `(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ - (invoke "pytest" "-vv")))))) + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "nosetests" "-v") + (format #t "test suite not run~%")) + #t))))) (propagated-inputs `(("python-markupsafe" ,python-markupsafe))) (native-inputs `(("python-mock" ,python-mock) - ("python-pytest" ,python-pytest))) + ("python-nose" ,python-nose))) (home-page "https://www.makotemplates.org/") (synopsis "Templating language for Python") (description "Mako is a templating language for Python that compiles @@ -9456,13 +9529,13 @@ anymore.") (define-public python2-pathlib2 (package (name "python2-pathlib2") - (version "2.3.3") + (version "2.3.5") (source (origin (method url-fetch) (uri (pypi-uri "pathlib2" version)) (sha256 (base32 - "0hpp92vqqgcd8h92msm9slv161b1q160igjwnkf2ag6cx0c96695")))) + "0s4qa8c082fdkb17izh4mfgwrjd1n5pya18wvrbwqdvvb5xs9nbc")))) (build-system python-build-system) ;; We only need the the Python 2 variant, since for Python 3 our minimum ;; version is 3.4 which already includes this package as part of the @@ -10654,7 +10727,7 @@ it will manage (install/update) them for you.") (base32 "1w1aaay424ciz8fz3fkzxb0pxzfxn184f2whpyn4fx72bn50x47k")))) (native-inputs - `(("python-setuptools-scm" ,python-setuptools-scm-3.3))) + `(("python-setuptools-scm" ,python-setuptools-scm))) (build-system python-build-system) (home-page "https://github.com/ionelmc/python-lazy-object-proxy") (synopsis "Lazy object proxy for python") @@ -12371,13 +12444,13 @@ and bit flag values.") (define-public python-attrs (package (name "python-attrs") - (version "19.1.0") + (version "19.3.0") (source (origin (method url-fetch) (uri (pypi-uri "attrs" version)) (sha256 (base32 - "16g33zr5f449lqc5wgvzpknxryfzrfsxcr6kpgxwn7l5fkv71f7h")))) + "0wky4h28n7xnr6xv69p9z6kv8bzn50d10c3drmd9ds8gawbcxdzp")))) (build-system python-build-system) (arguments `(#:modules ((guix build utils) @@ -12719,14 +12792,16 @@ of @code{functools.lru_cache} from python 3.3.") (define-public python-configparser (package (name "python-configparser") - (version "3.7.1") + (version "4.0.2") (source (origin (method url-fetch) (uri (pypi-uri "configparser" version)) (sha256 (base32 - "0cnz213il9lhgda6x70fw7mfqr8da43s3wm343lwzhqx94mgmmav")))) + "1priacxym85yjcf68hh38w55nqswaxp71ryjyfdk222kg9l85ln7")))) + (native-inputs + `(("python-setuptools_scm" ,python-setuptools-scm))) (build-system python-build-system) (home-page "https://github.com/jaraco/configparser/") (synopsis "Backport of configparser from python 3.5") @@ -12951,13 +13026,13 @@ It supports both normal and Unicode strings.") (define-public python-scandir (package (name "python-scandir") - (version "1.9.0") + (version "1.10.0") (source (origin (method url-fetch) (uri (pypi-uri "scandir" version)) (sha256 - (base32 "0r3hvf1a9jm1rkqgx40gxkmccknkaiqjavs8lccgq9s8khh5x5s4")))) + (base32 "1bkqwmf056pkchf05ywbnf659wqlp6lljcdb0y88wr9f0vv32ijd")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -13092,7 +13167,11 @@ several utilities, as well as an API for building localization tools.") (arguments `(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ (invoke "py.test" "-vv")))))) + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "py.test" "-vv") + (format #t "test suite not run~%")) + #t))))) (native-inputs `(("python-pretend" ,python-pretend) ("python-pytest" ,python-pytest))) @@ -13113,6 +13192,29 @@ information.") (define-public python2-packaging (package-with-python2 python-packaging)) +;; Variants with minimal dependencies, for bootstrapping Pytest. +(define-public python-packaging-bootstrap + (hidden-package + (package/inherit + python-packaging + (name "python-packaging-bootstrap") + (native-inputs '()) + (propagated-inputs + `(("python-pyparsing" ,python-pyparsing))) + (arguments '(#:tests? #f))))) + +(define-public python2-packaging-bootstrap + (hidden-package + (package/inherit + python2-packaging + (name "python2-packaging-bootstrap") + (native-inputs '()) + (propagated-inputs + `(("python-pyparsing" ,python2-pyparsing))) + (arguments + `(#:tests? #f + ,@(package-arguments python2-packaging)))))) + (define-public python-relatorio (package (name "python-relatorio") @@ -14820,14 +14922,14 @@ based on the CPython 2.7 and 3.7 parsers.") (define-public python-typing (package (name "python-typing") - (version "3.6.6") + (version "3.7.4.1") (source (origin (method url-fetch) (uri (pypi-uri "typing" version)) (sha256 (base32 - "0ba9acs4awx15bf9v3nrs781msbd2nx826906nj6fqks2bvca9s0")))) + "08xs7s5pyq99hbrzw23inczmidz90krvpv9q5p1qrvh6yzrydpwi")))) (build-system python-build-system) (home-page "https://docs.python.org/3/library/typing.html") (synopsis "Type hints for Python") @@ -15048,14 +15150,14 @@ file system events on Linux.") (define-public python-more-itertools (package (name "python-more-itertools") - (version "7.1.0") + (version "8.2.0") (source (origin (method url-fetch) (uri (pypi-uri "more-itertools" version)) (sha256 (base32 - "16phg2f2dvm6ci5wr49ncha5lmc0m2in3bsl33c61vzca4gkvd4b")))) + "01x5nwm1zxmnd06cllbdd095xxc2nd25ing1a726m2kd30rbkpdi")))) (build-system python-build-system) (home-page "https://github.com/erikrose/more-itertools") (synopsis "More routines for operating on iterables, beyond itertools") @@ -15811,8 +15913,10 @@ that is accessible to other projects developed in Cython.") (base32 "0fm0w5id2yhqld95hg2m636vjgkz377rvgdfqaxc25vbylr9lklp")))) (build-system python-build-system) - (native-inputs - `(("python-tox" ,python-tox))) + (arguments + ;; FIXME: Tests require many extra dependencies, and would introduce + ;; a circular dependency on hypothesis, which uses this package. + '(#:tests? #f)) (home-page "http://www.grantjenks.com/docs/sortedcontainers/") (synopsis "Sorted List, Sorted Dict, Sorted Set") (description @@ -15820,6 +15924,9 @@ that is accessible to other projects developed in Cython.") pure-Python.") (license license:asl2.0))) +(define-public python2-sortedcontainers + (package-with-python2 python-sortedcontainers)) + (define-public python-cloudpickle (package (name "python-cloudpickle") diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 048941e8a9..96caaae0b3 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -38,7 +38,7 @@ ;;; Copyright © 2017 Frederick M. Muriithi <fredmanglis@gmail.com> ;;; Copyright © 2017, 2018 Adriano Peluso <catonano@gmail.com> ;;; Copyright © 2017 Ben Sturmfels <ben@sturm.com.au> -;;; Copyright © 2017, 2018 Mathieu Othacehe <m.othacehe@gmail.com> +;;; Copyright © 2017, 2018, 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.org> ;;; Copyright © 2017 Roel Janssen <roel@gnu.org> ;;; Copyright © 2017, 2018 Kei Kebreau <kkebreau@posteo.net> @@ -97,7 +97,7 @@ (define-public python-2.7 (package (name "python2") - (version "2.7.16") + (version "2.7.17") (source (origin (method url-fetch) @@ -105,12 +105,13 @@ version "/Python-" version ".tar.xz")) (sha256 (base32 - "1mqfcqp5y8r0bfyr7ppl74n0lig45p9mc4b8adlcpvj74rhfy8pj")) + "0hds28cg226m8j8sr394nm9yc4gxhvlv109w0avsf2mxrlrz0hsd")) (patches (search-patches "python-2.7-search-paths.patch" "python-2-deterministic-build-info.patch" "python-2.7-site-prefixes.patch" "python-2.7-source-date-epoch.patch" - "python-2.7-adjust-tests.patch")) + "python-2.7-adjust-tests.patch" + "python-cross-compile.patch")) (modules '((guix build utils))) (snippet '(begin @@ -151,6 +152,13 @@ "INSTALL=install -c" "MKDIR_P=mkdir -p" + ;; Disable runtime check failing if cross-compiling, see: + ;; https://lists.yoctoproject.org/pipermail/poky/2013-June/008997.html + ,@(if (%current-target-system) + '("ac_cv_buggy_getaddrinfo=no" + "ac_cv_file__dev_ptmx=no" + "ac_cv_file__dev_ptc=no") + '()) (string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref %outputs "out") "/lib")) ;; With no -j argument tests use all available cpus, so provide one. @@ -171,6 +179,12 @@ (add-before 'configure 'patch-lib-shells (lambda _ + ;; This variable is used in setup.py to enable cross compilation + ;; specific switches. As it is not set properly by configure + ;; script, set it manually. + ,@(if (%current-target-system) + '((setenv "_PYTHON_HOST_PLATFORM" "")) + '()) ;; Filter for existing files, since some may not exist in all ;; versions of python that are built with this recipe. (substitute* (filter file-exists? @@ -250,7 +264,9 @@ (if (null? opt) "none" (car opt))) (for-each (lambda (file) (apply invoke - `(,(string-append out "/bin/python") + `(,,(if (%current-target-system) + "python2" + '(string-append out "/bin/python")) ,@opt "-m" "compileall" "-f" ; force rebuild @@ -293,7 +309,12 @@ ("tcl" ,tcl) ("tk" ,tk))) ; for tkinter (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ;; When cross-compiling, a native version of Python itself is needed. + ,@(if (%current-target-system) + `(("python2" ,this-package) + ("which" ,which)) + '()))) (native-search-paths (list (search-path-specification (variable "PYTHONPATH") @@ -323,27 +344,28 @@ data types.") (name "python") (properties `((superseded . ,python-2))))) -(define-public python-3.7 +(define-public python-3.8 (package (inherit python-2) (name "python") - (version "3.7.4") + (version "3.8.1") (source (origin (method url-fetch) (uri (string-append "https://www.python.org/ftp/python/" version "/Python-" version ".tar.xz")) (patches (search-patches "python-3-fix-tests.patch" + "python-3.8-fix-tests.patch" "python-3-deterministic-build-info.patch" "python-3-search-paths.patch")) (sha256 (base32 - "0gxiv5617zd7dnqm5k9r4q2188lk327nf9jznwq9j6b8p0s92ygv")) + "1s4lwn5vzsajlc88m6hkghsvnjw4d00l2dsgng0m2w6vyqbl32bm")) (modules '((guix build utils))) (snippet '(begin ;; Delete the bundled copy of libexpat. (delete-file-recursively "Modules/expat") - (substitute* "Modules/Setup.dist" + (substitute* "Modules/Setup" ;; Link Expat instead of embedding the bundled one. (("^#pyexpat.*") "pyexpat pyexpat.c -lexpat\n")) #t)))) @@ -356,19 +378,15 @@ data types.") " --exclude test_mmap" ;; test_socket may hang and eventually run out of memory ;; on some systems: <https://bugs.python.org/issue34587>. - " test_socket" - ;; XXX: test_ctypes fails on some platforms due to a problem in - ;; libffi 3.2.1: <https://bugs.python.org/issue23249>. - ,@(if (string-prefix? "aarch64" (%current-system)) - '(" test_ctypes") - '())))) + " test_socket"))) ((#:phases phases) `(modify-phases ,phases (add-before 'check 'set-TZDIR - (lambda* (#:key inputs #:allow-other-keys) + (lambda* (#:key inputs native-inputs #:allow-other-keys) ;; test_email requires the Olson time zone database. (setenv "TZDIR" - (string-append (assoc-ref inputs "tzdata") + (string-append (assoc-ref + (or native-inputs inputs) "tzdata") "/share/zoneinfo")) #t)) ;; Unset SOURCE_DATE_EPOCH while running the test-suite and set it @@ -389,18 +407,24 @@ data types.") (if (null? opt) "none" (car opt))) (for-each (lambda (file) (apply invoke - `(,(string-append out "/bin/python3") - ,@opt - "-m" "compileall" - "-f" ; force rebuild - ;; Don't build lib2to3, because it's Python 2 code. - "-x" "lib2to3/.*" - ,file))) + `(,,(if (%current-target-system) + "python3" + '(string-append out + "/bin/python3")) + ,@opt + "-m" "compileall" + "-f" ; force rebuild + ;; Don't build lib2to3, because it's Python 2 code. + "-x" "lib2to3/.*" + ,file))) (find-files out "\\.py$"))) (list '() '("-O") '("-OO"))) #t))))))) (native-inputs `(("tzdata" ,tzdata-for-tests) + ,@(if (%current-target-system) + `(("python3" ,this-package)) + '()) ,@(package-native-inputs python-2))) (native-search-paths (list (search-path-specification @@ -409,33 +433,8 @@ data types.") (version-major+minor version) "/site-packages")))))))) -(define-public python-3.8 - (package - (inherit python-3.7) - (name "python-next") - (version "3.8.0") - (source - (origin - (inherit (package-source python-3.7)) - (uri (string-append "https://www.python.org/ftp/python/" - version "/Python-" version ".tar.xz")) - (sha256 (base32 "110d0did9rxn7rg85kf2fwli5hqq44xv2d8bi7d92m7v2d728mmk")) - (patches (search-patches - "python-3.8-search-paths.patch" - "python-3-fix-tests.patch" - "python-3.8-fix-tests.patch" - "python-3-deterministic-build-info.patch")) - (snippet - '(begin - ;; Delete the bundled copy of libexpat. - (delete-file-recursively "Modules/expat") - (substitute* "Modules/Setup" - ;; Link Expat instead of embedding the bundled one. - (("^#pyexpat.*") "pyexpat pyexpat.c -lexpat\n")) - #t)))))) - ;; Current 3.x version. -(define-public python-3 python-3.7) +(define-public python-3 python-3.8) ;; Current major version. (define-public python python-3) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 9b59dc0f46..ad99132400 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 John Soo <jsoo1@asu.edu> ;;; Copyright © 2020 Mike Rosset <mike.rosset@gmail.com> +;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -205,7 +206,7 @@ system, and the core design of Django is reused in Grantlee.") ("postgresql" ,postgresql) ("pulseaudio" ,pulseaudio) ("pcre2" ,pcre2) - ("sqlite" ,sqlite-with-column-metadata) + ("sqlite" ,sqlite) ("udev" ,eudev) ("unixodbc" ,unixodbc) ("wayland" ,wayland) @@ -339,7 +340,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") (define-public qtbase (package (name "qtbase") - (version "5.12.6") + (version "5.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -348,7 +349,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") version ".tar.xz")) (sha256 (base32 - "09wz7zs1x5mpgs2y4xnl2zv3naqls4sz6v2arwl1fz2dsx4jddba")) + "0pb68d30clksdhgy8n6rrs838bb3qcsfq4pv463yy2nr4p5kk2di")) ;; Use TZDIR to avoid depending on package "tzdata". (patches (search-patches "qtbase-use-TZDIR.patch")) (modules '((guix build utils))) @@ -364,6 +365,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") (build-system gnu-build-system) (propagated-inputs `(("mesa" ,mesa) + ;; Use which the package, not the function ("which" ,(@ (gnu packages base) which)))) (inputs `(("alsa-lib" ,alsa-lib) @@ -378,7 +380,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") ("harfbuzz" ,harfbuzz) ("icu4c" ,icu4c) ("libinput" ,libinput-minimal) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libmng" ,libmng) ("libpng" ,libpng) ("libx11" ,libx11) @@ -401,13 +403,14 @@ developers using C++ or QML, a CSS & JavaScript like language.") ("pcre2" ,pcre2) ("postgresql" ,postgresql) ("pulseaudio" ,pulseaudio) - ("sqlite" ,sqlite-with-column-metadata) + ("sqlite" ,sqlite) ("unixodbc" ,unixodbc) ("xcb-util" ,xcb-util) ("xcb-util-image" ,xcb-util-image) ("xcb-util-keysyms" ,xcb-util-keysyms) ("xcb-util-renderutil" ,xcb-util-renderutil) ("xcb-util-wm" ,xcb-util-wm) + ("xdg-utils" ,xdg-utils) ("zlib" ,zlib))) (native-inputs `(("bison" ,bison) @@ -429,6 +432,14 @@ developers using C++ or QML, a CSS & JavaScript like language.") "qmake/library/qmakebuiltins.cpp") (("/bin/sh") (which "sh"))) #t)) + (add-after 'configure 'patch-xdg-open + (lambda _ + (substitute* '("src/platformsupport/services/genericunix/qgenericunixservices.cpp") + (("^.*const char \\*browsers.*$" all) + (string-append "*browser = QStringLiteral(\"" + (which "xdg-open") + "\"); return true; \n" all))) + #t)) (replace 'configure (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) @@ -595,7 +606,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") (define-public qtsvg (package (inherit qtbase) (name "qtsvg") - (version "5.12.6") + (version "5.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -604,7 +615,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") version ".tar.xz")) (sha256 (base32 - "13zg5095ffm88dsrybyi075i9zw3yrkibqzvj57an9sq89n3w926")))) + "1f3vqv3s83gjillhgi0wghyf3825fgy1ffhvkxhdk673shb0kxjb")))) (propagated-inputs `()) (native-inputs `(("perl" ,perl))) (inputs @@ -670,7 +681,7 @@ HostData=lib/qt5 (define-public qtimageformats (package (inherit qtsvg) (name "qtimageformats") - (version "5.12.6") + (version "5.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -679,7 +690,7 @@ HostData=lib/qt5 version ".tar.xz")) (sha256 (base32 - "0n3qc5rx7kzb4csmcxaxdm2bqpciz2j2pz2zdfrlpi1ml4liq39k")) + "02zpcbx71dz6xvga07dnzqwdfz9pjmy673n706fj8pxq9zi9xlcv")) (modules '((guix build utils))) (snippet '(begin @@ -701,7 +712,7 @@ support for MNG, TGA, TIFF and WBMP image formats."))) (define-public qtx11extras (package (inherit qtsvg) (name "qtx11extras") - (version "5.12.6") + (version "5.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -710,7 +721,7 @@ support for MNG, TGA, TIFF and WBMP image formats."))) version ".tar.xz")) (sha256 (base32 - "0sqx785kb4kfxfl3cmg848dlxlxmfdg8jnfh3rrk8q0iazsr2faz")))) + "15hb90n47khsp3qnzyjd3mh8gi9qvy07dqdr4qspiww43r5mz293")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f))) ; TODO: Enable the tests @@ -725,7 +736,7 @@ from within Qt 5."))) (define-public qtxmlpatterns (package (inherit qtsvg) (name "qtxmlpatterns") - (version "5.12.6") + (version "5.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -734,7 +745,7 @@ from within Qt 5."))) version ".tar.xz")) (sha256 (base32 - "1l44476ibb8rv4rf80vbjdc3712lmrl1xcxswa513ip66k47p5vn")))) + "0ys1kf0zdn8gak1ik9p7i7bdyfz2frvklcyz013s9wm1550h20lh")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f) ; TODO: Enable the tests @@ -756,7 +767,7 @@ xmlpatternsvalidator."))) (define-public qtdeclarative (package (inherit qtsvg) (name "qtdeclarative") - (version "5.12.6") + (version "5.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -765,7 +776,7 @@ xmlpatternsvalidator."))) version ".tar.xz")) (sha256 (base32 - "1lw6nr26cjdrshin3gq5xwqb0bvslg0ml99cw8rx9wb2anpd3c9l")))) + "1gg9xbv8ah4p55ws97brwn0csl0k3j1x6zdknrrsnh7j6nh0bp2w")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f))) ; TODO: Enable the tests @@ -788,7 +799,7 @@ with JavaScript and C++."))) (define-public qtconnectivity (package (inherit qtsvg) (name "qtconnectivity") - (version "5.12.6") + (version "5.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -797,7 +808,7 @@ with JavaScript and C++."))) version ".tar.xz")) (sha256 (base32 - "1ni2x848dxf0c7ilk461vz0z46qis8zv6jxbpyhpbhzdg9rcdw8h")))) + "06h71pd5w5prh722mcbgmx7l71xvh5xpjrlbg17yblx0n6wlhwb4")))) (native-inputs `(("perl" ,perl) ("pkg-config" ,pkg-config) @@ -812,7 +823,7 @@ with Bluetooth and NFC."))) (define-public qtwebsockets (package (inherit qtsvg) (name "qtwebsockets") - (version "5.12.6") + (version "5.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -821,7 +832,7 @@ with Bluetooth and NFC."))) version ".tar.xz")) (sha256 (base32 - "07nnzqhsnb4q8pbka9dk5nxmqinbg9yicag7f4rlq2p6ffmgn2zh")))) + "05rv52pp5zg4g14zh7c6jc77l426056b8xyr40ps6cpmb0jkrlbg")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f))) ; TODO: Enable the tests @@ -839,7 +850,7 @@ consume data received from the server, or both."))) (define-public qtsensors (package (inherit qtsvg) (name "qtsensors") - (version "5.12.6") + (version "5.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -848,7 +859,7 @@ consume data received from the server, or both."))) version ".tar.xz")) (sha256 (base32 - "1x8f55qyix5bsd0hl9rzi56ndyv4h16z2qh8is9nv13jpk0a9nsr")))) + "0h77h34rn6cgy5qiqq163pj3bhbka1ydkfgjcx01ns1g9sgym6ib")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:parallel-tests? _ #f) #f) ; can lead to race condition @@ -872,7 +883,7 @@ recognition API for devices."))) (define-public qtmultimedia (package (inherit qtsvg) (name "qtmultimedia") - (version "5.12.6") + (version "5.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -881,7 +892,7 @@ recognition API for devices."))) version ".tar.xz")) (sha256 (base32 - "0w4mcxmj41b9phwirppn9ws1vxy3sww7prvhhmh0jsnaca4hwn4z")) + "07fvnjywn3hkrxfbxasmy83jr6jq9lf1grasfwij54hz6y0smg98")) (modules '((guix build utils))) (snippet '(begin @@ -923,7 +934,7 @@ set of plugins for interacting with pulseaudio and GStreamer."))) (define-public qtwayland (package (inherit qtsvg) (name "qtwayland") - (version "5.12.6") + (version "5.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -932,7 +943,7 @@ set of plugins for interacting with pulseaudio and GStreamer."))) version ".tar.xz")) (sha256 (base32 - "1i2i4d6qa512njm6gvd1ygcyb5p4d6axciqg9ys380yw9nl6m77s")) + "1ib61zh6jrab3yz592p47ldfgphi4i184kqf14vhwn31akibh6pw")) (modules '((guix build utils))) (snippet ;; The examples try to build and cause the build to fail @@ -975,7 +986,7 @@ compositor libraries."))) (define-public qtserialport (package (inherit qtsvg) (name "qtserialport") - (version "5.12.5") + (version "5.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -984,7 +995,7 @@ compositor libraries."))) version ".tar.xz")) (sha256 (base32 - "0qmq3yppc54vf7xrwyrwk91h6x04w0hf4bnw5b3y5kwyllhh7vzq")))) + "07vjv3p7n7n5v15wdpi8x5sbnvyjqdh85qfzf9mz8l6ppqp2hk12")))) (native-inputs `(("perl" ,perl))) (inputs `(("qtbase" ,qtbase) @@ -1009,7 +1020,7 @@ interacting with serial ports from within Qt."))) (define-public qtserialbus (package (inherit qtsvg) (name "qtserialbus") - (version "5.12.6") + (version "5.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1018,7 +1029,7 @@ interacting with serial ports from within Qt."))) version ".tar.xz")) (sha256 (base32 - "1ppmrwshj42lpx21m2gxblrlbigjf10fwg3fk5x5130ih89446q7")))) + "1bkyk1v7bcq657n88a6675lj55vl9y8v46h4kf27v58yjzgiw842")))) (inputs `(("qtbase" ,qtbase) ("qtserialport" ,qtserialport))) @@ -1030,7 +1041,7 @@ and others."))) (define-public qtwebchannel (package (inherit qtsvg) (name "qtwebchannel") - (version "5.12.6") + (version "5.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1039,7 +1050,7 @@ and others."))) version ".tar.xz")) (sha256 (base32 - "1my8vcsidx9r5wpd1iax8skhp5ac3234g9r7ax04k9z17mqd2i97")))) + "0xff3fbbpcl0kkq0rg9npj127ycirygicbkxlf0v593sjpjp5bmh")))) (native-inputs `(("perl" ,perl) ("qtdeclarative" ,qtdeclarative) @@ -1054,7 +1065,7 @@ popular web engines, Qt WebKit 2 and Qt WebEngine."))) (define-public qtwebglplugin (package (inherit qtsvg) (name "qtwebglplugin") - (version "5.12.6") + (version "5.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1063,7 +1074,7 @@ popular web engines, Qt WebKit 2 and Qt WebEngine."))) version ".tar.xz")) (sha256 (base32 - "1pahdyhinhq1xhsc7lsfprjjpz6fn9vgwqcyi72hc3wzyr98in11")))) + "0fswnmhb8fm7wqgzv8cjy1j2sgb5mhx80jl411laawn7bf2ysjg0")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:phases phases) @@ -1089,7 +1100,7 @@ OpenGL ES 2.0 and can be used in HTML5 canvas elements"))) (define-public qtwebview (package (inherit qtsvg) (name "qtwebview") - (version "5.12.6") + (version "5.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1098,7 +1109,7 @@ OpenGL ES 2.0 and can be used in HTML5 canvas elements"))) version ".tar.xz")) (sha256 (base32 - "0ykjwz3cwv718gvgvnlhq7wia8gllnj3cdzw3amj0rh63hy65h22")))) + "1rvvkg6dl34hklllnlzlcffik746f15lzxdnwggc97dmx8n2vy6k")))) (native-inputs `(("perl" ,perl))) (inputs @@ -1112,7 +1123,7 @@ native APIs where it makes sense."))) (define-public qtlocation (package (inherit qtsvg) (name "qtlocation") - (version "5.12.6") + (version "5.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1121,7 +1132,7 @@ native APIs where it makes sense."))) version ".tar.xz")) (sha256 (base32 - "0y12vs6jwiwljdn57jqs1dwi6wfw1l5l95dvj9g93h739p533qks")))) + "07vq4aycayq2bg8yi4awidb25xyvws2ajbnrmad3rnpg1fw0bsfi")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f))) ; TODO: Enable the tests @@ -1142,7 +1153,7 @@ positioning and geolocation plugins."))) (define-public qttools (package (inherit qtsvg) (name "qttools") - (version "5.12.6") + (version "5.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1151,7 +1162,7 @@ positioning and geolocation plugins."))) version ".tar.xz")) (sha256 (base32 - "0xy7sf8w2lln1l59lhrf0kb687avwirrh63izp7509jwi33r2jg9")))) + "0j1rl368sjknsmwp2f7bwqcb0sx13l3l4dxbm70873si9l8rf2l6")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f))) ; TODO: Enable the tests @@ -1170,7 +1181,7 @@ that helps in Qt development."))) (define-public qtscript (package (inherit qtsvg) (name "qtscript") - (version "5.12.6") + (version "5.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1179,7 +1190,7 @@ that helps in Qt development."))) version ".tar.xz")) (sha256 (base32 - "0z3p4bb2ddylb7y2xvagjbn7fc5d0ic08cmrrb67h8wf6fnq5051")) + "06a02230mj4bd8qvjaf2q97grzbj1c1rq36x7236fnhjsikbq7fa")) (patches (search-patches "qtscript-disable-tests.patch")))) (native-inputs `(("perl" ,perl) @@ -1194,7 +1205,7 @@ ECMAScript and Qt."))) (define-public qtquickcontrols (package (inherit qtsvg) (name "qtquickcontrols") - (version "5.12.6") + (version "5.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1203,7 +1214,7 @@ ECMAScript and Qt."))) version ".tar.xz")) (sha256 (base32 - "169cvwiav5d538cw81rbdimb1pis0z6fkaxlwhd4z4pzhyhrd3f4")))) + "1rar337vv0dx52r2gxwiwy1axn0fpy79rka09xizjlxsdg3vnf0h")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f))) ; TODO: Enable the tests @@ -1218,7 +1229,7 @@ can be used to build complete interfaces in Qt Quick."))) (define-public qtquickcontrols2 (package (inherit qtsvg) (name "qtquickcontrols2") - (version "5.12.6") + (version "5.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1227,7 +1238,7 @@ can be used to build complete interfaces in Qt Quick."))) version ".tar.xz")) (sha256 (base32 - "0w5910wblzc7q2llyb7fyfcbmy1fl369c6w5d6r5sh26z490gasw")))) + "0dx2jag6l5a80220fvmf49z1psliqf1ijqx6jsvvzv81mpjjd59s")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f))) ; TODO: Enable the tests @@ -1243,7 +1254,7 @@ not available."))) (define-public qtgraphicaleffects (package (inherit qtsvg) (name "qtgraphicaleffects") - (version "5.12.6") + (version "5.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1252,7 +1263,7 @@ not available."))) version ".tar.xz")) (sha256 (base32 - "1vvpq34433j94n9yyhh4if4yv51i8xiffpvyn3xgffx14iv35l6y")))) + "1knapc14a80cn2f5bbfj7lhq9flr3v0gwjg9ka7xl8y642235w02")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f))) ; TODO: Enable the tests @@ -1270,7 +1281,7 @@ coloring, and many more."))) (define-public qtgamepad (package (inherit qtsvg) (name "qtgamepad") - (version "5.12.6") + (version "5.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1279,7 +1290,7 @@ coloring, and many more."))) version ".tar.xz")) (sha256 (base32 - "1cxkqnhx0baxh3csjl7ar151v0zizf86f4338rr38liwb7rwbsz1")))) + "150y7bc755l9y8w7nkg3gfw5n6rlj9hhq0ibc9g1xgllpr18qqq7")))) (native-inputs `(("perl" ,perl) ("pkg-config" ,pkg-config))) @@ -1300,7 +1311,7 @@ and mobile applications targeting TV-like form factors."))) (define-public qtscxml (package (inherit qtsvg) (name "qtscxml") - (version "5.12.6") + (version "5.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1309,7 +1320,7 @@ and mobile applications targeting TV-like form factors."))) version ".tar.xz")) (sha256 (base32 - "12y6ga7j6xby9rz1c9h17r9ih4i16i1ylr6b4vmrn7svidy87msk")) + "1dpvjkvwc3fj86vay8q8vzym73cix7ri2ianx87ck0gqjny51adg")) (modules '((guix build utils))) (snippet '(begin @@ -1331,7 +1342,7 @@ also contains functionality to support data models and executable content."))) (define-public qtpurchasing (package (inherit qtsvg) (name "qtpurchasing") - (version "5.12.6") + (version "5.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1340,7 +1351,7 @@ also contains functionality to support data models and executable content."))) version ".tar.xz")) (sha256 (base32 - "1kbhmzrw612yb4brxi3fwslil31j31vm0zqpb52vcma7vbivg80z")))) + "0xjsn7p629ni68vk4xlw2cvcs53ipcqv1pa4hck0nabddcgcnzkg")))) (inputs `(("qtbase" ,qtbase) ("qtdeclarative" ,qtdeclarative))) @@ -1351,7 +1362,7 @@ purchasing goods and services."))) (define-public qtcanvas3d (package (inherit qtsvg) (name "qtcanvas3d") - (version "5.12.6") + (version "5.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1360,7 +1371,7 @@ purchasing goods and services."))) version ".tar.xz")) (sha256 (base32 - "024xglrb321rp3wb3fhprw7pl6zvmpgfkpwgabbyx8p58k4yccrd")) + "0l0c1p6jwz5rygyxslfw7jw3wbd23w5n9zg04aqlh5g15qx52fmn")) (modules '((guix build utils))) (snippet '(begin @@ -1390,7 +1401,7 @@ drawing calls from Qt Quick JavaScript."))) (define-public qtcharts (package (inherit qtsvg) (name "qtcharts") - (version "5.12.6") + (version "5.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1399,7 +1410,7 @@ drawing calls from Qt Quick JavaScript."))) version ".tar.xz")) (sha256 (base32 - "0gdark4z2g8j0kzjg1aqq91ap04h6hzjl163g8xlwxwdn5dxpnql")))) + "0pyg2lpxmhf4amj57zihp5ry0y9m39xq5hbcx4hqj78bdm96ah23")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f))) ; TODO: Enable the tests @@ -1417,7 +1428,7 @@ selecting one of the charts themes.") (define-public qtdatavis3d (package (inherit qtsvg) (name "qtdatavis3d") - (version "5.12.6") + (version "5.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1426,7 +1437,7 @@ selecting one of the charts themes.") version ".tar.xz")) (sha256 (base32 - "1zm4xfi2ijqr3n3g0lfs3yzil6w7c54r8vsj1d541lz7wnm92ka1")))) + "09wbv4g29sq5z2fphk2910albr3iv3l14nch3ml77w6drw9mgzq7")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f))) ; TODO: Enable the tests @@ -1444,7 +1455,7 @@ customized by using themes or by adding custom items and labels to them.") (define-public qtnetworkauth (package (inherit qtsvg) (name "qtnetworkauth") - (version "5.12.6") + (version "5.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1453,7 +1464,7 @@ customized by using themes or by adding custom items and labels to them.") version ".tar.xz")) (sha256 (base32 - "1gba6rdhcvljc4dnzhnkxrdlaxm3y095ljqg1sz3p1k0m632s4pa")))) + "0sspni7zllhspk70yjj2d0li9r4rs3iflnksj8mvjx2yl9qpryyb")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:phases phases) @@ -1473,7 +1484,7 @@ implementation of OAuth and OAuth2 authenticathon methods for Qt."))) (define-public qtremoteobjects (package (inherit qtsvg) (name "qtremoteobjects") - (version "5.12.6") + (version "5.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1482,7 +1493,7 @@ implementation of OAuth and OAuth2 authenticathon methods for Qt."))) version ".tar.xz")) (sha256 (base32 - "16fna70pljn45yj6hv3g4qvb1imcnfj43jchvydspdhg08ykbda9")))) + "03qjj7l63wn1zqkmlja9yrnc38rf6b3apnmsn0kw0h61x72awskd")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:phases phases) @@ -1506,7 +1517,7 @@ processes or computers."))) (define-public qtspeech (package (inherit qtsvg) (name "qtspeech") - (version "5.12.6") + (version "5.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1515,7 +1526,7 @@ processes or computers."))) version ".tar.xz")) (sha256 (base32 - "12l7rycjfa6d9gnnjd6i097pf1qqzjnz9c1jgxhpldvkf0n7pbi7")))) + "0q30m9l28zsdzdmny7wjskd2fjfrgh1l595wir6bhwhil95g3i0c")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) @@ -1549,7 +1560,8 @@ message."))) "/submodules/" name "-everywhere-src-" version ".tar.xz")) (sha256 - (base32 "08c60nh95m98mcqk444axs76xi6m9x0wvdxrzk9c2cxwqdbz59fa")) + (base32 + "1yj6pcj945fpbc7nihav0plxpx8ikylmxjy7wqdv5znslgf59dw3")) (modules '((ice-9 ftw) (ice-9 match) (srfi srfi-1) @@ -2385,10 +2397,10 @@ different kinds of sliders, and much more.") `(("icu" ,icu4c) ("glib" ,glib) ("gst-plugins-base" ,gst-plugins-base) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libwebp" ,libwebp) - ("sqlite" ,sqlite-with-column-metadata) + ("sqlite" ,sqlite) ("fontconfig" ,fontconfig) ("libxrender" ,libxrender) ("qtbase" ,qtbase) diff --git a/gnu/packages/rdesktop.scm b/gnu/packages/rdesktop.scm index 71464237f4..2e364b2b8e 100644 --- a/gnu/packages/rdesktop.scm +++ b/gnu/packages/rdesktop.scm @@ -103,7 +103,7 @@ to remotely control a user's Windows desktop.") `(("alsa-lib" ,alsa-lib) ("cups" ,cups) ("ffmpeg" ,ffmpeg) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libx11" ,libx11) ("libxkbcommon" ,libxkbcommon) ("libxkbfile" ,libxkbfile) diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index b086d2f00f..c69e9cb892 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -217,7 +217,7 @@ taxonomic inference capability.") ("libxml2" ,libxml2) ("mpfr" ,mpfr) ("pcre" ,pcre) - ("util-linux" ,util-linux))) + ("util-linux" ,util-linux "lib"))) (propagated-inputs `(("raptor2" ,raptor2))) ; stipulated by rasqal.pc (arguments diff --git a/gnu/packages/readline.scm b/gnu/packages/readline.scm index 57d550d67f..9f886f9b6e 100644 --- a/gnu/packages/readline.scm +++ b/gnu/packages/readline.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,22 +31,29 @@ #:use-module (guix utils) #:use-module (ice-9 format)) -(define (patch-url seqno) - (format #f "mirror://gnu/readline/readline-7.0-patches/readline70-~3,'0d" seqno)) +(define (patch-url version seqno) + (format #f "mirror://gnu/readline/readline-~a-patches/readline~a-~3,'0d" + version (string-join (string-split version #\.) "") seqno)) -(define (readline-patch seqno sha256) +(define (readline-patch version seqno sha256) "Return the origin of Readline patch SEQNO, with expected hash SHA256" (origin (method url-fetch) - (uri (patch-url seqno)) + (uri (patch-url version seqno)) (sha256 sha256))) -(define-syntax-rule (patch-series (seqno hash) ...) - (list (readline-patch seqno (base32 hash)) +(define-syntax-rule (patch-series version (seqno hash) ...) + (list (readline-patch version seqno (base32 hash)) ...)) +(define %patch-series-8.0 + (patch-series + "8.0" + (1 "0sfh7wn0pr743xspnb1zndxndlv9rc0hcg14cbw5cmyg6f4ykrfq"))) + (define %patch-series-7.0 (patch-series + "7.0" (1 "0xm3sxvwmss7ddyfb11n6pgcqd1aglnpy15g143vzcf75snb7hcs") (2 "0n1dxmqsbjgrfxb1hgk5c6lsraw4ncbnzxlsx7m35nym6lncjiw7") (3 "1027kmymniizcy0zbdlrczxfx3clxcdln5yq05q9yzlc6y9slhwy") @@ -55,7 +63,8 @@ (define-public readline (package (name "readline") - (version "8.0") + (version (string-append "8.0." + (number->string (length %patch-series-8.0)))) (source (origin (method url-fetch) (uri (string-append "mirror://gnu/readline/readline-" @@ -63,7 +72,8 @@ (sha256 (base32 "0qg4924hf4hg0r0wbx2chswsr08734536fh5iagkd3a7f4czafg3")) - (patches (search-patches "readline-link-ncurses.patch")) + (patches (append %patch-series-8.0 + (search-patches "readline-link-ncurses.patch"))) (patch-flags '("-p0")))) (build-system gnu-build-system) (propagated-inputs `(("ncurses" ,ncurses))) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 98868cdda3..018b75feeb 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2015, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2017 ng0 <ng0@n0.is> -;;; Copyright © 2017, 2019 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2017, 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> @@ -19,6 +19,7 @@ ;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com> ;;; Copyright © 2019 Collin J. Doering <collin@rekahsoft.ca> ;;; Copyright © 2019 Diego N. Barbato <dnbarbato@posteo.de> +;;; Copyright © 2019 Brett Gilio <brettg@posteo.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -77,7 +78,7 @@ (define-public ruby (package (name "ruby") - (version "2.5.3") + (version "2.6.5") (source (origin (method url-fetch) @@ -86,7 +87,7 @@ "/ruby-" version ".tar.xz")) (sha256 (base32 - "0vrhrw7kcz9mg0jkqnihkcxqy5k05v8k1j0y2735z8wfk8sx1j8w")) + "0qhsw2mr04f3lqinkh557msr35pb5rdaqy4vdxcj91flgxqxmmnm")) (modules '((guix build utils))) (snippet `(begin ;; Remove bundled libffi @@ -95,6 +96,7 @@ (build-system gnu-build-system) (arguments `(#:test-target "test" + #:configure-flags '("--enable-shared") ; dynamic linking #:phases (modify-phases %standard-phases (add-before 'configure 'replace-bin-sh-and-remove-libffi @@ -116,8 +118,9 @@ `(("readline" ,readline) ("openssl" ,openssl) ("libffi" ,libffi) - ("gdbm" ,gdbm) - ("zlib" ,zlib))) + ("gdbm" ,gdbm))) + (propagated-inputs + `(("zlib" ,zlib))) (native-search-paths (list (search-path-specification (variable "GEM_PATH") @@ -128,10 +131,29 @@ a focus on simplicity and productivity.") (home-page "https://www.ruby-lang.org") (license license:ruby))) +(define-public ruby-2.5 + (package + (inherit ruby) + (version "2.5.7") + (source + (origin + (method url-fetch) + (uri (string-append "http://cache.ruby-lang.org/pub/ruby/" + (version-major+minor version) + "/ruby-" version ".tar.xz")) + (sha256 + (base32 + "159zka4sbx1p4ayxqi7a5ybbzxvn3n5mivrz4d1damw9ypl70610")) + (modules '((guix build utils))) + (snippet `(begin + ;; Remove bundled libffi + (delete-file-recursively "ext/fiddle/libffi-3.2.1") + #t)))))) + (define-public ruby-2.4 (package (inherit ruby) - (version "2.4.3") + (version "2.4.9") (source (origin (method url-fetch) @@ -140,8 +162,7 @@ a focus on simplicity and productivity.") "/ruby-" version ".tar.xz")) (sha256 (base32 - "0l9bv67dgsphk42lmiskhrnh47hbyj6rfg2rcjx22xivpx07srr3")) - (patches (search-patches "ruby-rubygems-276-for-ruby24.patch")) + "0546ymj2h3iai679fvx17bb2hksrqyhh22llxgz8fwggac100khc")) (modules '((guix build utils))) (snippet `(begin ;; Remove bundled libffi @@ -297,14 +318,32 @@ a menu system for providing multiple options to the user.") (define-public ruby-hoe (package (name "ruby-hoe") - (version "3.16.2") + (version "3.21.0") (source (origin (method url-fetch) (uri (rubygems-uri "hoe" version)) (sha256 (base32 - "12q6dn2irsfamdbjpqvs0dwl4i1vl7wflxrcg972h9jw0ds38f3a")))) + "0qid0n56mgsjvq5ksxajv0gb92akky8imwgvw22ajms5g4fd6nf4")))) (build-system ruby-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + ;; One of the tests fails if the SOURCE_DATE_EPOCH environment + ;; variable is set, so unset it for the duration of the tests. + ;; + ;; TestHoe#test_possibly_better + ;; [/tmp/guix-build-ruby-hoe-3.20.0.drv-0/gem/test/test_hoe.rb:250]: + ;; Expected: 2019-11-12 00:00:00 UTC + ;; Actual: 1970-01-01 00:00:00 UTC + (add-before 'check 'unset-SOURCE-DATE-EPOCH + (lambda _ + (unsetenv "SOURCE_DATE_EPOCH") + #t)) + (add-after 'check 'set-SOURCE-DATE-EPOCH-again + (lambda _ + (setenv "SOURCE_DATE_EPOCH" "1") + #t))))) (synopsis "Ruby project management helper") (description "Hoe is a rake/rubygems helper for project Rakefiles. It helps manage, @@ -1951,6 +1990,40 @@ two hashes.") (home-page "https://github.com/liufengyun/hashdiff") (license license:expat))) +(define-public ruby-hydra + ;; No releases yet. + (let ((commit "5abfa378743756ae4d9306cc134bcc482f5c9525") + (revision "0")) + (package + (name "ruby-hydra") + (version (git-version "0.0" revision commit)) + (home-page "https://github.com/hyphenation/hydra") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1cik398l2765y3d9sdhjzki3303hkry58ac6jlkiy7iy62nm529f")))) + (build-system ruby-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'make-files-writable + (lambda _ + (for-each make-file-writable (find-files ".")) + #t)) + (replace 'check + (lambda _ + (invoke "rspec")))))) + (native-inputs + `(("ruby-rspec" ,ruby-rspec))) + (propagated-inputs + `(("ruby-byebug" ,ruby-byebug))) + (synopsis "Ruby hyphenation patterns") + (description + "ruby-hydra is a Ruby library for working with hyphenation patterns.") + (license license:expat)))) + (define-public ruby-shindo (package (name "ruby-shindo") @@ -2238,14 +2311,16 @@ using Net::HTTP, supporting reconnection and retry according to RFC 2616.") (define-public ruby-power-assert (package (name "ruby-power-assert") - (version "0.2.7") + (version "1.1.5") (source (origin (method url-fetch) (uri (rubygems-uri "power_assert" version)) (sha256 (base32 - "0ka6w71lcan4wgf111xi3pcn9ma9lhakv31jg8w007nwzi0xfjbi")))) + "1dii0wkfa0jm8sk9b20zl1z4980dmrjh0zqnii058485pp3ws10s")))) (build-system ruby-build-system) + (arguments + '(#:tests? #f)) ; No included tests (native-inputs `(("bundler" ,bundler))) (synopsis "Assert library with descriptive assertion messages") @@ -4052,6 +4127,16 @@ utilities for Ruby.") (base32 "09dpbrih054mn42flbbcdpzk2727mzfvjrgqb12zdafhx7p9rrzp")))) (build-system ruby-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-safe-tests + (lambda _ + (substitute* "test/test_utils.rb" + (("def safe_test\\(options = \\{\\}\\)") + "def safe_test(options = {}) + skip('The Guix build environment has an unsafe load path')")) + #t))))) (propagated-inputs `(("ruby-thread-safe" ,ruby-thread-safe))) (synopsis "Time zone library for Ruby") @@ -4442,13 +4527,13 @@ a native C extension.") (define-public ruby-json-pure (package (name "ruby-json-pure") - (version "2.1.0") + (version "2.2.0") (source (origin (method url-fetch) (uri (rubygems-uri "json_pure" version)) (sha256 (base32 - "12yf9fmhr4c2jm3xl20vf1qyz5i63vc8a6ngz9j0f86nqwhmi2as")))) + "0m0j1mfwv0mvw72kzqisb26xjl236ivqypw1741dkis7s63b8439")))) (build-system ruby-build-system) (arguments `(#:phases @@ -4482,7 +4567,7 @@ a native C extension.") (synopsis "JSON implementation in pure Ruby") (description "This package provides a JSON implementation written in pure Ruby.") - (home-page "https://flori.github.com/json") + (home-page "https://flori.github.com/json/") (license license:ruby))) (define-public ruby-jwt @@ -4548,7 +4633,7 @@ a native C extension.") (define-public ruby-listen (package (name "ruby-listen") - (version "3.1.5") + (version "3.2.0") (source (origin ;; The gem does not include a Rakefile, so fetch from the Git @@ -4560,7 +4645,7 @@ a native C extension.") (file-name (git-file-name name version)) (sha256 (base32 - "1hqmkfa9f2xb5jlvqbafdxjd5ax75jm8gqj5nh3k22xq0kacsvgg")))) + "1hkp1g6hk5clsmbd001gkc12ma6s459x820piajyasv61m87if24")))) (build-system ruby-build-system) (arguments `(#:test-target "spec" @@ -5412,14 +5497,14 @@ It is intended be used by all Cucumber implementations to parse (define-public ruby-aruba (package (name "ruby-aruba") - (version "0.14.8") + (version "0.14.14") (source (origin (method url-fetch) (uri (rubygems-uri "aruba" version)) (sha256 (base32 - "0zdd81l1lp0x78sxa6kkfqclpj5il3xl70nz05wqv2sfzzhqydxh")))) + "0l2mfpdxc03gdrbwc2hv4vdhjhqhfcdp6d02j05j64ncpi9srlqn")))) (build-system ruby-build-system) (arguments '(#:test-target "spec" @@ -5451,11 +5536,7 @@ It is intended be used by all Cucumber implementations to parse ((".*cucumber.*") "\n") ((".*license_finder.*") "\n") ((".*rake.*") "gem 'rake'\n") - ((".*simplecov.*") "\n") ((".*relish.*") "\n")) - (substitute* "spec/spec_helper.rb" - ((".*simplecov.*") "") - (("^SimpleCov.*") "")) (substitute* "aruba.gemspec" (("spec\\.add\\_runtime\\_dependency 'cucumber'.*") "spec.add_runtime_dependency 'cucumber'")) @@ -5465,7 +5546,8 @@ It is intended be used by all Cucumber implementations to parse (native-inputs `(("bundler" ,bundler) ("ruby-rspec" ,ruby-rspec) - ("ruby-fuubar" ,ruby-fuubar))) + ("ruby-fuubar" ,ruby-fuubar) + ("ruby-simplecov" ,ruby-simplecov))) (propagated-inputs `(("ruby-childprocess" ,ruby-childprocess) ("ruby-contracts" ,ruby-contracts) @@ -5757,7 +5839,7 @@ A modified copy of yajl is used, and included in the package.") (define-public ruby-yard (package (name "ruby-yard") - (version "0.9.16") + (version "0.9.20") (source (origin (method git-fetch) @@ -5768,20 +5850,24 @@ A modified copy of yajl is used, and included in the package.") (file-name (git-file-name name version)) (sha256 (base32 - "0a4r1pfs0ms4vlccsf1x2jckx35lqm8b8lh6rdjxqfr5fia5izpf")))) + "1v48zz8hzazrg79jksj9siys21d2axvzijvkxw2j42zh86syi1wi")))) (build-system ruby-build-system) (arguments `(#:phases (modify-phases %standard-phases (replace 'check (lambda _ + ;; Delete the Gemfile to avoid errors relating to it + (delete-file "Gemfile") ;; $HOME needs to be set to somewhere writeable for tests to run (setenv "HOME" "/tmp") ;; Run tests without using 'rake' to avoid dependencies. (invoke "rspec")))))) (native-inputs `(("ruby-rspec" ,ruby-rspec) - ("ruby-rack" ,ruby-rack))) + ("ruby-rack" ,ruby-rack) + ("ruby-redcloth" ,ruby-redcloth) + ("ruby-asciidoc" ,ruby-asciidoctor))) (synopsis "Documentation generation tool for Ruby") (description "YARD is a documentation generation tool for the Ruby programming @@ -7434,17 +7520,17 @@ in standard Ruby syntax.") (home-page "https://github.com/ruby/rake") (license license:expat))) -(define-public ruby-childprocess-0.6 +(define-public ruby-childprocess (package (name "ruby-childprocess") - (version "0.6.3") + (version "3.0.0") (source (origin (method url-fetch) (uri (rubygems-uri "childprocess" version)) (sha256 (base32 - "1p3f43scdzx9zxmy2kw5zsc3az6v46nq4brwcxmnscjy4w4racbv")))) + "1ic028k8xgm2dds9mqnvwwx3ibaz32j8455zxr9f4bcnviyahya5")))) (build-system ruby-build-system) (arguments `(#:tests? #f)) @@ -7456,22 +7542,9 @@ in standard Ruby syntax.") (synopsis "Control external programs running in the background, in Ruby") (description "@code{childprocess} provides a gem to control external programs running in the background, in Ruby.") - (home-page "http://github.com/enkessler/childprocess") + (home-page "https://github.com/enkessler/childprocess") (license license:expat))) -(define-public ruby-childprocess - (package - (inherit ruby-childprocess-0.6) - (name "ruby-childprocess") - (version "0.9.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "childprocess" version)) - (sha256 - (base32 - "0a61922kmvcxyj5l70fycapr87gz1dzzlkfpq85rfqk5vdh3d28p")))))) - (define-public ruby-public-suffix (package (name "ruby-public-suffix") diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index cec565bbc8..8bed56ff72 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -91,7 +91,7 @@ (let ((rustc-version "1.19.0")) (package (name "mrustc") - (version "0.8.0") + (version "0.9") (source (origin (method git-fetch) (uri (git-reference @@ -100,57 +100,61 @@ (file-name (git-file-name name version)) (sha256 (base32 - "0a7v8ccyzp1sdkwni8h1698hxpfz2sxhcpx42n6l2pbm0rbjp08i")) - (patches - (search-patches "mrustc-0.8.0-fix-variable-length-integer-receiving.patch")))) + "194ny7vsks5ygiw7d8yxjmp1qwigd71ilchis6xjl6bb2sj97rd2")))) (outputs '("out" "cargo")) (build-system gnu-build-system) (inputs - `(("llvm" ,llvm-3.9.1))) + `(("zlib" ,zlib))) (native-inputs `(("bison" ,bison) ("flex" ,flex) ;; Required for the libstd sources. ("rustc" ,(package-source rust-1.19)))) (arguments - `(#:test-target "local_tests" - #:make-flags (list (string-append "LLVM_CONFIG=" - (assoc-ref %build-inputs "llvm") - "/bin/llvm-config")) + `(#:test-target "test" + #:make-flags + (list ,(string-append "RUSTC_TARGET=" + (or (%current-target-system) + (nix-system->gnu-triplet-for-rust)))) #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-date (lambda _ (substitute* "Makefile" (("shell date") "shell date -d @1")) + (substitute* "run_rustc/Makefile" + (("[$]Vtime ") "$V ")) #t)) (add-after 'patch-date '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-for-rust))))) (invoke "tar" "xf" (assoc-ref inputs "rustc")) - (chdir "rustc-1.19.0-src") - (invoke "patch" "-p0" "../rust_src.patch") + (chdir ,(string-append "rustc-" rustc-version "-src")) + (invoke "patch" "-p0" ,(string-append "../rustc-" rustc-version + "-src.patch")) (chdir "..") + (setenv "RUSTC_VERSION" ,rustc-version) + (setenv "MRUSTC_TARGET_VER" + ,(version-major+minor rustc-version)) + (setenv "OUTDIR_SUF" "") #t)) (replace 'configure (lambda* (#:key inputs #:allow-other-keys) - (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc")) + (setenv "CC" (string-append (assoc-ref inputs "gcc") + "/bin/gcc")) + (setenv "CXX" (string-append (assoc-ref inputs "gcc") + "/bin/g++")) #t)) (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"))) + (lambda* (#:key make-flags #:allow-other-keys) + ;; TODO: minicargo.mk: RUSTC_VERSION=$(RUSTC_VERSION) RUSTC_CHANNEL=$(RUSTC_SRC_TY) OUTDIR_SUF=$(OUTDIR_SUF) + (apply invoke "make" "-f" "minicargo.mk" "LIBS" make-flags) + (apply invoke "make" "-C" "tools/minicargo" make-flags))) + ;(add-after 'check 'check-locally + ; (lambda* (#:key make-flags #:allow-other-keys) + ; ;; The enum test wouldn't work otherwise. + ; ;; See <https://github.com/thepowersgang/mrustc/issues/137>. + ; (setenv "MRUSTC_TARGET_VER" ,(version-major+minor rustc-version)) + ; (apply invoke "make" "local_tests" make-flags))) (replace 'install (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -160,11 +164,13 @@ (cargo-bin (string-append cargo-out "/bin")) (lib (string-append out "/lib")) (lib/rust (string-append lib "/mrust")) - (gcc (assoc-ref inputs "gcc"))) + (gcc (assoc-ref inputs "gcc")) + (run_rustc (string-append out + "/share/mrustc/run_rustc"))) ;; These files are not reproducible. (for-each delete-file (find-files "output" "\\.txt$")) - (delete-file-recursively "output/local_tests") - (mkdir-p lib) + ;(delete-file-recursively "output/local_tests") + (mkdir-p (dirname lib/rust)) (copy-recursively "output" lib/rust) (mkdir-p bin) (mkdir-p tools-bin) @@ -172,6 +178,9 @@ ;; minicargo uses relative paths to resolve mrustc. (install-file "tools/bin/minicargo" tools-bin) (install-file "tools/bin/minicargo" cargo-bin) + (mkdir-p run_rustc) + (copy-file "run_rustc/Makefile" + (string-append run_rustc "/Makefile")) #t)))))) (synopsis "Compiler for the Rust progamming language") (description "Rust is a systems programming language that provides memory @@ -289,8 +298,12 @@ test = { path = \"../libtest\" } (setenv "CFG_RELEASE_CHANNEL" "stable") (setenv "CFG_LIBDIR_RELATIVE" "lib") (setenv "CFG_VERSION" "1.19.0-stable-mrustc") + (setenv "MRUSTC_TARGET_VER" ,(version-major+minor version)) ; bad: (setenv "CFG_PREFIX" "mrustc") ; FIXME output path. (mkdir-p "output") + ;; mrustc 0.9 doesn't check the search paths for crates anymore. + (copy-recursively (string-append rustc-bootstrap "/lib/mrust") + "output") (invoke (string-append rustc-bootstrap "/tools/bin/minicargo") "src/rustc" "--vendor-dir" "src/vendor" "--output-dir" "output/rustc-build" diff --git a/gnu/packages/scanner.scm b/gnu/packages/scanner.scm index 6adaba18cd..d3c63f6231 100644 --- a/gnu/packages/scanner.scm +++ b/gnu/packages/scanner.scm @@ -123,7 +123,7 @@ package contains the library, but no drivers.") (name "sane-backends") (inputs `(("hplip" ,(@ (gnu packages cups) hplip-minimal)) - ("libjpeg" ,libjpeg) ; wanted by pixma, epsonds, others + ("libjpeg" ,libjpeg-turbo) ; wanted by pixma, epsonds, others ("libpng" ,libpng) ; support ‘scanimage --format=png’ ,@(package-inputs sane-backends-minimal))) (arguments @@ -219,7 +219,7 @@ package contains the library and drivers."))) (inputs `(("gtk+" ,gtk+-2) ("lcms" ,lcms) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libtiff" ,libtiff) ("sane-backends" ,sane-backends) diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index 1009896a70..5fef20c92c 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -533,7 +533,7 @@ implementation techniques and as an expository tool.") ("glu" ,glu) ("gmp" ,gmp) ("gtk+" ,gtk+) ; propagates gdk-pixbuf+svg - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libx11" ,libx11) ("mesa" ,mesa) diff --git a/gnu/packages/scribus.scm b/gnu/packages/scribus.scm index e9c998c7b6..385017f2c2 100644 --- a/gnu/packages/scribus.scm +++ b/gnu/packages/scribus.scm @@ -87,7 +87,7 @@ ("lcms" ,lcms) ("libcdr" ,libcdr) ("libfreehand" ,libfreehand) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libmspub" ,libmspub) ("libpagemaker" ,libpagemaker) ("librevenge" ,librevenge) diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index 26c9bd5eb3..81393bf1a3 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -240,7 +240,7 @@ other supporting functions for SDL.") ;; propagated input because the pkg-config file refers to SDL's pkg-config ;; file. (propagated-inputs `(("sdl" ,sdl) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) ("libwebp" ,libwebp))) @@ -557,7 +557,7 @@ directory.") `(("pkg-config" ,pkg-config) ;; Required by test suite. ("xorg-server" ,xorg-server) - ("libjpeg" ,libjpeg))) + ("libjpeg" ,libjpeg-turbo))) (inputs `(("guile" ,guile-2.2) ("sdl-union" ,(sdl-union)))) diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm index 3b7bc36889..5410263d5b 100644 --- a/gnu/packages/search.scm +++ b/gnu/packages/search.scm @@ -59,7 +59,7 @@ (base32 "0ja95vn0lkf6qkjhg2blkx306i10hg4fr8wlrhalmly93307lnlp")))) (build-system gnu-build-system) (inputs `(("zlib" ,zlib) - ("util-linux" ,util-linux))) + ("util-linux" ,util-linux "lib"))) (arguments `(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/selinux.scm b/gnu/packages/selinux.scm index 1c45cb8c7e..1502d167c4 100644 --- a/gnu/packages/selinux.scm +++ b/gnu/packages/selinux.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -39,7 +40,6 @@ #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages swig) - #:use-module (gnu packages textutils) #:use-module (gnu packages xml)) ;; Update the SELinux packages together! @@ -47,8 +47,8 @@ (define-public libsepol (package (name "libsepol") - (version "2.7") - (source (let ((release "20170804")) + (version "3.0") + (source (let ((release "20191204")) (origin (method git-fetch) (uri (git-reference @@ -57,20 +57,25 @@ (file-name (string-append "selinux-" release "-checkout")) (sha256 (base32 - "1l1nn8bx08v4cxkw5kb0wgr61rfqj5ra9dh1dy5jslillj93vivq"))))) + "05rpzm72cgprd0ccr6lvx9hm8j8b5nkqi4avshlsyg7s3sdlcxjs"))))) (build-system gnu-build-system) (arguments `(#:tests? #f ; tests require checkpolicy, which requires libsepol #:test-target "test" #:make-flags - (let ((out (assoc-ref %outputs "out"))) + (let ((out (assoc-ref %outputs "out")) + (target ,(%current-target-system))) (list (string-append "PREFIX=" out) - (string-append "DESTDIR=" out) + (string-append "SHLIBDIR=" out "/lib") (string-append "MAN3DIR=" out "/share/man/man3") (string-append "MAN5DIR=" out "/share/man/man5") (string-append "MAN8DIR=" out "/share/man/man8") (string-append "LDFLAGS=-Wl,-rpath=" out "/lib") - "CC=gcc")) + (string-append "CC=" + (if target + (string-append (assoc-ref %build-inputs "cross-gcc") + "/bin/" target "-gcc") + "gcc")))) #:phases (modify-phases %standard-phases (delete 'configure) @@ -101,12 +106,17 @@ boolean settings).") (arguments `(#:tests? #f ; there is no check target #:make-flags - (let ((out (assoc-ref %outputs "out"))) + (let ((out (assoc-ref %outputs "out")) + (target ,(%current-target-system))) (list (string-append "PREFIX=" out) (string-append "LIBSEPOLA=" (assoc-ref %build-inputs "libsepol") "/lib/libsepol.a") - "CC=gcc")) + (string-append "CC=" + (if target + (string-append (assoc-ref %build-inputs "cross-gcc") + "/bin/" target "-gcc") + "gcc")))) #:phases (modify-phases %standard-phases (delete 'configure) @@ -139,7 +149,7 @@ module into a binary representation.") (string-append "LIBSEPOLA=" (assoc-ref %build-inputs "libsepol") "/lib/libsepol.a") - (string-append "PYSITEDIR=" + (string-append "PYTHONLIBDIR=" (assoc-ref %outputs "python") "/lib/python" ,(version-major+minor (package-version python)) @@ -150,19 +160,17 @@ module into a binary representation.") (delete 'portability) (replace 'enter-dir (lambda _ (chdir ,name) #t)) - (add-after 'enter-dir 'remove-Werror - (lambda _ - ;; GCC complains about the fact that the output does not (yet) - ;; have an "include" directory, even though it is referenced. - (substitute* '("src/Makefile" - "utils/Makefile") - (("-Werror ") "")) - #t)) (add-after 'build 'pywrap (lambda* (#:key make-flags #:allow-other-keys) (apply invoke "make" "pywrap" make-flags))) (add-after 'install 'install-pywrap - (lambda* (#:key make-flags #:allow-other-keys) + (lambda* (#:key make-flags outputs #:allow-other-keys) + ;; The build system uses "python setup.py install" to install + ;; Python bindings. Instruct it to use the correct output. + (substitute* "src/Makefile" + (("--prefix=\\$\\(PREFIX\\)") + (string-append "--prefix=" (assoc-ref outputs "python")))) + (apply invoke "make" "install-pywrap" make-flags))))))) ;; These libraries are in "Requires.private" in libselinux.pc. (propagated-inputs @@ -191,7 +199,7 @@ the core SELinux management utilities.") (substitute-keyword-arguments (package-arguments libsepol) ((#:make-flags flags) `(cons* "PYTHON=python3" - (string-append "PYSITEDIR=" + (string-append "PYTHONLIBDIR=" (assoc-ref %outputs "out") "/lib/python" ,(version-major+minor (package-version python)) @@ -202,6 +210,12 @@ the core SELinux management utilities.") (delete 'portability) (replace 'enter-dir (lambda _ (chdir ,name) #t)) + (add-before 'install 'adjust-semanage-conf-location + (lambda _ + (substitute* "src/Makefile" + (("DEFAULT_SEMANAGE_CONF_LOCATION=/etc") + "DEFAULT_SEMANAGE_CONF_LOCATION=$(PREFIX)/etc")) + #t)) (add-after 'build 'pywrap (lambda* (#:key make-flags #:allow-other-keys) (apply invoke "make" "pywrap" make-flags))) @@ -212,7 +226,6 @@ the core SELinux management utilities.") `(("libsepol" ,libsepol) ("libselinux" ,libselinux) ("audit" ,audit) - ("ustr" ,ustr) ;; For pywrap phase ("python" ,python-wrapper))) (native-inputs @@ -393,11 +406,6 @@ tools, and libraries designed to facilitate SELinux policy analysis.") (lambda _ (chdir ,name) #t)) (add-after 'enter-dir 'ignore-/usr-tests (lambda* (#:key inputs #:allow-other-keys) - ;; The Makefile decides to build restorecond only if it finds the - ;; inotify header somewhere under /usr. - (substitute* "Makefile" - (("ifeq.*") "") - (("endif.*") "")) ;; Rewrite lookup paths for header files. (substitute* '("newrole/Makefile" "setfiles/Makefile" diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm index 72cc70e3c4..8149b05c95 100644 --- a/gnu/packages/serialization.scm +++ b/gnu/packages/serialization.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015, 2017, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org> ;;; Copyright © 2016 David Craven <david@craven.ch> -;;; Copyright © 2016, 2019 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2016, 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Corentin Bocquillon <corentin@nybble.fr> ;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net> @@ -40,6 +40,7 @@ #:use-module (gnu packages boost) #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages cmake) #:use-module (gnu packages cpp) #:use-module (gnu packages databases) #:use-module (gnu packages documentation) @@ -296,7 +297,13 @@ that implements both the msgpack and msgpack-rpc specifications.") "037d1b1qdmn3rksmn1j71j26bv4hkjv7sn7da261k853xb5899sg")))) (build-system cmake-build-system) (arguments - `(#:configure-flags '("-DBUILD_SHARED_LIBS:BOOL=YES"))) + `(#:configure-flags '("-DBUILD_SHARED_LIBS:BOOL=YES" + ,@(if (%current-target-system) + `("-DJSONCPP_WITH_POST_BUILD_UNITTEST=OFF") + '())) + ,@(if (%current-target-system) + '() + `(#:cmake ,cmake-bootstrap)))) (synopsis "C++ library for interacting with JSON") (description "JsonCpp is a C++ library that allows manipulating JSON values, including serialization and deserialization to and from strings. It can also diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index a679810e97..f5e839fd58 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2019 Meiyo Peng <meiyo.peng@gmail.com> ;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com> +;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; ;;; This file is part of GNU Guix. @@ -334,7 +335,7 @@ written by Paul Haahr and Byron Rakitzis.") (define-public tcsh (package (name "tcsh") - (version "6.20.00") + (version "6.22.02") (source (origin (method url-fetch) ;; Old tarballs are moved to old/. @@ -344,9 +345,8 @@ written by Paul Haahr and Byron Rakitzis.") "old/tcsh-" version ".tar.gz"))) (sha256 (base32 - "17ggxkkn5skl0v1x0j6hbv5l0sgnidfzwv16992sqkdm983fg7dq")) - (patches (search-patches "tcsh-fix-autotest.patch" - "tcsh-fix-out-of-bounds-read.patch")) + "0nw8prz1n0lmr82wnpyhrzmki630afn7p9cfgr3vl00vr9c72a7d")) + (patches (search-patches "tcsh-fix-autotest.patch")) (patch-flags '("-p0")))) (build-system gnu-build-system) (native-inputs @@ -357,6 +357,14 @@ written by Paul Haahr and Byron Rakitzis.") (arguments `(#:phases (modify-phases %standard-phases + ,@(if (%current-target-system) + '((add-before 'configure 'set-cross-cc + (lambda _ + (substitute* "configure" + (("CC_FOR_GETHOST=\"cc\"") + "CC_FOR_GETHOST=\"gcc\"")) + #t))) + '()) (add-before 'check 'patch-test-scripts (lambda _ ;; Take care of pwd diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm index 2f07e996a2..8d5788545f 100644 --- a/gnu/packages/simulation.scm +++ b/gnu/packages/simulation.scm @@ -479,8 +479,7 @@ FFC is part of the FEniCS Project.") ("petsc" ,petsc-openmpi) ("slepc" ,slepc-openmpi))) (arguments - `(#:cmake ,cmake-3.15.5 - #:configure-flags + `(#:configure-flags `("-DDOLFIN_ENABLE_DOCS:BOOL=OFF" "-DDOLFIN_ENABLE_HDF5:BOOL=ON" "-DDOLFIN_ENABLE_MPI:BOOL=ON" diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index a57e0151ca..12461914bc 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -146,7 +146,7 @@ which allows users to view a desktop computing environment.") ("gobject-introspection" ,gobject-introspection) ("json-glib" ,json-glib) ("libepoxy" ,libepoxy) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libxcb" ,libxcb) ("lz4" ,lz4) ("mesa" ,mesa) diff --git a/gnu/packages/sqlite.scm b/gnu/packages/sqlite.scm index 6d6df17f90..8468131ddf 100644 --- a/gnu/packages/sqlite.scm +++ b/gnu/packages/sqlite.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2016 David Craven <david@craven.ch> -;;; Copyright © 2016, 2017, 2018 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> @@ -46,7 +46,7 @@ (define-public sqlite (package (name "sqlite") - (version "3.28.0") + (version "3.31.1") (source (origin (method url-fetch) (uri (let ((numeric-version @@ -58,13 +58,14 @@ (map (cut string-pad <> 2 #\0) other-digits)) 6 #\0)))))) - (string-append "https://sqlite.org/2019/sqlite-autoconf-" + (string-append "https://sqlite.org/2020/sqlite-autoconf-" numeric-version ".tar.gz"))) (sha256 (base32 - "1hxpi45crbqp6lacl7z611lna02k956m9bsy2bjzrbb2y23546yn")))) + "1bj936svd8i5g25xd1bj52hj4zca01fgl3sqkj86z9q5pkz4wa32")))) (build-system gnu-build-system) (inputs `(("readline" ,readline))) + (outputs '("out" "static")) (arguments `(#:configure-flags ;; Add -DSQLITE_SECURE_DELETE, -DSQLITE_ENABLE_FTS3, @@ -74,7 +75,25 @@ (list (string-append "CFLAGS=-O2 -DSQLITE_SECURE_DELETE " "-DSQLITE_ENABLE_FTS3 " "-DSQLITE_ENABLE_UNLOCK_NOTIFY " - "-DSQLITE_ENABLE_DBSTAT_VTAB")))) + "-DSQLITE_ENABLE_DBSTAT_VTAB " + ;; Column metadata is required by GNU Jami and Qt, et.al. + "-DSQLITE_ENABLE_COLUMN_METADATA")) + #:phases (modify-phases %standard-phases + (add-after 'install 'move-static-library + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (static (assoc-ref outputs "static")) + (source (string-append out "/lib/libsqlite3.a"))) + (mkdir-p (string-append static "/lib")) + (link source (string-append static "/lib/libsqlite3.a")) + (delete-file source) + + ;; Remove reference to the static library from the .la file + ;; so that Libtool looks for it in the usual places. + (substitute* (string-append out "/lib/libsqlite3.la") + (("^old_library=.*") + "old_library=''\n")) + #t)))))) (home-page "https://www.sqlite.org/") (synopsis "The SQLite database management system") (description @@ -84,14 +103,7 @@ widely deployed SQL database engine in the world. The source code for SQLite is in the public domain.") (license license:public-domain))) -;; This is used by Qt. +;; Column metadata support was added to the regular 'sqlite' package with +;; commit fad5b1a6d8d9c36bea5785ae4fbc1beb37e644d7. (define-public sqlite-with-column-metadata - (package/inherit sqlite - (name "sqlite-with-column-metadata") - (arguments - (substitute-keyword-arguments (package-arguments sqlite) - ((#:configure-flags flags) - `(list (string-append "CFLAGS=-O2 -DSQLITE_SECURE_DELETE " - "-DSQLITE_ENABLE_UNLOCK_NOTIFY " - "-DSQLITE_ENABLE_DBSTAT_VTAB " - "-DSQLITE_ENABLE_COLUMN_METADATA"))))))) + (deprecated-package "sqlite-with-column-metadata" sqlite)) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index d203bb1455..2e1ffd76b4 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2017 ng0 <ng0@n0.is> ;;; Copyright © 2018 Manuel Graf <graf@init.at> ;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com> +;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -165,7 +166,15 @@ a server that supports the SSH-2 protocol.") "--with-libedit" ;; Enable PAM support in sshd. - "--with-pam") + "--with-pam" + + ;; "make install" runs "install -s" by default, + ;; which doesn't work for cross-compiled binaries + ;; because it invokes 'strip' instead of + ;; 'TRIPLET-strip'. Work around this. + ,,@(if (%current-target-system) + '("--disable-strip") + '())) #:phases (modify-phases %standard-phases diff --git a/gnu/packages/sssd.scm b/gnu/packages/sssd.scm index 7bb71dce13..905f0b11ca 100644 --- a/gnu/packages/sssd.scm +++ b/gnu/packages/sssd.scm @@ -164,7 +164,7 @@ fundamental object types for C.") ("libxml2" ,libxml2) ; for xmllint ("libxslt" ,libxslt) ("pkg-config" ,pkg-config) - ("util-linux" ,util-linux))) ; for uuid.h, reqired for KCM + ("util-linux" ,util-linux "lib"))) ;for uuid.h, reqired for KCM (home-page "https://pagure.io/SSSD/sssd/") (synopsis "System security services daemon") (description "SSSD is a system daemon. Its primary function is to provide diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 172779035e..18ca274482 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -343,7 +343,7 @@ as.POSIXct(if (\"\" != Sys.getenv(\"SOURCE_DATE_EPOCH\")) {\ ("openblas" ,openblas) ("gfortran" ,gfortran) ("icu4c" ,icu4c) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) ("libxt" ,libxt) diff --git a/gnu/packages/storage.scm b/gnu/packages/storage.scm index 73d88f76ee..e3a883a535 100644 --- a/gnu/packages/storage.scm +++ b/gnu/packages/storage.scm @@ -202,7 +202,7 @@ ("python-sphinx" ,python-sphinx) ("yasm" ,yasm))) (inputs - `(("boost" ,boost-with-python3) + `(("boost" ,boost) ("curl" ,curl) ("cryptsetup" ,cryptsetup) ("expat" ,expat) @@ -231,6 +231,7 @@ ("snappy" ,snappy) ("udev" ,eudev) ("util-linux" ,util-linux) + ("util-linux:lib" ,util-linux "lib") ("xfsprogs" ,xfsprogs) ("zlib" ,zlib))) (home-page "https://ceph.com/") diff --git a/gnu/packages/swig.scm b/gnu/packages/swig.scm index b1b17fc68d..3de6343da8 100644 --- a/gnu/packages/swig.scm +++ b/gnu/packages/swig.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2015, 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,34 +25,28 @@ #:use-module (guix licenses) #:use-module (guix build-system gnu) #:use-module (gnu packages) - #:use-module (gnu packages pcre) - #:use-module (gnu packages guile) #:use-module (gnu packages boost) - #:use-module (gnu packages python) - #:use-module (gnu packages perl)) + #:use-module (gnu packages guile) + #:use-module (gnu packages pcre) + #:use-module (gnu packages perl) + #:use-module (gnu packages python)) (define-public swig (package (name "swig") - (version "3.0.12") + (version "4.0.1") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/" name "/" name "/" name "-" version "/" name "-" version ".tar.gz")) - (patches (search-patches "swig-guile-gc.patch")) (sha256 (base32 - "0kf99ygrjs5616gsqhz1l7bib3a12izmxi7g48bwblbymr3z9ybw")))) + "1ac7g0gd8ndwv3ybqn5vjgqxa7090bby4db164a7mn9ssp8b803s")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases - (add-after 'unpack 'set-env - ;; Required since Perl 5.26.0's removal of the current - ;; working directory from @INC. - ;; TODO Try removing this for later versions of SWIG. - (lambda _ (setenv "PERL_USE_UNSAFE_INC" "1") #t)) (add-before 'configure 'workaround-gcc-bug (lambda _ ;; XXX: Don't add the -isystem flag, or GCCs #include_next @@ -60,17 +55,12 @@ (("-isystem ") "-I")) #t))))) (native-inputs `(("boost" ,boost) - ("pcre" ,pcre "bin"))) ;for 'pcre-config' - (inputs `(;; Provide these to run the corresponding tests. - ("guile" ,guile-2.0) - ("perl" ,perl))) - ;; FIXME: reactivate input python as soon as the test failures - ;; fatal error: Python.h: No such file or directory - ;; # include <Python.h> - ;; are fixed. - ;; The python part probably never worked and does not seem to - ;; be needed for currently dependent packages. -;; ("python" ,python-wrapper))) + ("pcre" ,pcre "bin") ;for 'pcre-config' + ;; The following are for tests and examples: + ("guile" ,guile-2.2) + ("perl" ,perl))) + ;;("python" ,python-wrapper) + (inputs `(("pcre" ,pcre))) (home-page "http://swig.org/") (synopsis "Interface compiler that connects C/C++ code to higher-level languages") diff --git a/gnu/packages/task-management.scm b/gnu/packages/task-management.scm index 701e14a5e2..a0313c17c2 100644 --- a/gnu/packages/task-management.scm +++ b/gnu/packages/task-management.scm @@ -40,7 +40,7 @@ (inputs `(("gnutls" ,gnutls) ("lua" ,lua) - ("util-linux" ,util-linux))) + ("util-linux" ,util-linux "lib"))) (arguments `(#:tests? #f ; No tests implemented. #:phases diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm index 1e4aa13cc9..f17e138bdb 100644 --- a/gnu/packages/tcl.scm +++ b/gnu/packages/tcl.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu> +;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -43,17 +44,18 @@ (define-public tcl (package (name "tcl") - (version "8.6.9") + (version "8.6.10") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/tcl/Tcl/" version "/tcl" version "-src.tar.gz")) (sha256 (base32 - "0kjzj7mkzfnb7ksxanbibibfpciyvsh5ffdlhs0bmfc75kgd435d")))) + "1vc7imilx6kcb5319r7hnrp4jn5pqb41an3vr3azhgcfcgvdp5ji")) + (patches (search-patches "tcl-fix-cross-compilation.patch")))) (build-system gnu-build-system) (arguments - '(#:phases (modify-phases %standard-phases + `(#:phases (modify-phases %standard-phases (add-before 'configure 'pre-configure (lambda _ (chdir "unix") #t)) (add-after 'install 'install-private-headers @@ -73,9 +75,16 @@ ;; PREFIX/share/man. The 'validate-documentation-location' phase is ;; not able to fix this up because the default install populates both ;; PREFIX/man and PREFIX/share/man. - #:configure-flags (list (string-append "--mandir=" - (assoc-ref %outputs "out") - "/share/man")) + #:configure-flags + (list (string-append "--mandir=" + (assoc-ref %outputs "out") + "/share/man") + ;; This is needed when cross-compiling, see: + ;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=719247 + ,@(if (%current-target-system) + '("tcl_cv_strtod_buggy=1" + "ac_cv_func_strtod=yes") + '())) ;; XXX: There are a few test failures (related to HTTP, most ;; likely related to name resolution), but that doesn't cause @@ -138,7 +147,7 @@ X11 GUIs.") (define-public tk (package (name "tk") - (version "8.6.9.1") + (version "8.6.10") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/tcl/Tcl/" @@ -146,7 +155,7 @@ X11 GUIs.") version "-src.tar.gz")) (sha256 (base32 - "1d7bfkxpacy33w5nahf73lkwxqpff44w1jplg7i2gmwgiaawvjwg")) + "11p3ycqbr5116vpaxv6fl6md6gcav1ffspgr8wrlc2lxhn543pv3")) (patches (search-patches "tk-find-library.patch")))) (build-system gnu-build-system) (arguments @@ -179,9 +188,16 @@ X11 GUIs.") "/lib -lfontconfig"))) #t)))) - #:configure-flags (list (string-append "--with-tcl=" - (assoc-ref %build-inputs "tcl") - "/lib")) + #:configure-flags + (list (string-append "--with-tcl=" + (assoc-ref %build-inputs "tcl") + "/lib") + ;; This is needed when cross-compiling, see: + ;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=719247 + ,@(if (%current-target-system) + '("tcl_cv_strtod_buggy=1" + "ac_cv_func_strtod=yes") + '())) ;; The tests require a running X server, so we just skip them. #:tests? #f)) @@ -216,7 +232,7 @@ interfaces (GUIs) in the Tcl language.") (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("libx11" ,libx11) ("libpng" ,libpng) - ("libjpeg" ,libjpeg))) + ("libjpeg" ,libjpeg-turbo))) (arguments `(#:make-maker-flags `(,(string-append "X11=" (assoc-ref %build-inputs "libx11"))) diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index a645c58562..9f38b53883 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -64,7 +64,6 @@ #:use-module (gnu packages qt) #:use-module (gnu packages serialization) #:use-module (gnu packages speech) - #:use-module (gnu packages sqlite) #:use-module (gnu packages tls) #:use-module (gnu packages upnp) #:use-module (gnu packages video) @@ -637,7 +636,7 @@ calls and messages") ("libsrtp" ,libsrtp) ("gnutls" ,gnutls) ("resample", resample) - ("util-linux" ,util-linux))) + ("util-linux" ,util-linux "lib"))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -912,19 +911,7 @@ This package provides a library common to all Jami clients.") ("clutter-gtk" ,clutter-gtk) ("gettext" ,gnu-gettext) ("libcanberra" ,libcanberra) - ("webkitgtk" ,webkitgtk) - ;; TODO: We must wrap ring-client-gnome to force using the - ;; `sqlite-with-column-metadata' package instead of `sqlite' or else it - ;; fails with: - ;; - ;; /gnu/store/...-qtbase-5.11.2/lib/qt5/plugins/sqldrivers/libqsqlite.so: - ;; undefined symbol: sqlite3_column_table_name16 - ;; - ;; qtbase is built against sqlite-with-column-metadata but somehow - ;; jami-client-gnome ends up with both `sqlite' and - ;; `sqlite-with-column-metadata' as inputs and it seems that - ;; libqsqlite.so gets confused. - ("sqlite" ,sqlite-with-column-metadata))) + ("webkitgtk" ,webkitgtk))) (native-inputs `(("pkg-config" ,pkg-config) ("glib:bin" ,glib "bin") @@ -940,13 +927,6 @@ This package provides a library common to all Jami clients.") (add-after 'unpack 'change-directory (lambda _ (chdir "client-gnome") - #t)) - (add-after 'install 'wrap - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (path (string-append (assoc-ref inputs "sqlite") "/lib"))) - (wrap-program (string-append out "/bin/jami-gnome") - `("LD_LIBRARY_PATH" ":" prefix (,path)))) #t))))) (synopsis "Distributed, privacy-respecting communication program") (description "Jami (formerly GNU Ring) is a secure and distributed voice, diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index e4346d1232..d95434aa8f 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> -;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2017, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Danny Milosavljevic <dannym+a@scratchpost.org> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> @@ -143,19 +143,17 @@ copied to their outputs; otherwise the TEXLIVE-BUILD-SYSTEM is used." "-checkout")) (sha256 (base32 - "1ix8h637hwhz4vrdhilf84kzzdza0wi8fp26nh7iws0bq08sl517")))) + "0lk7shx768sxvgr85y8bnmmnj8x4bbkgpxrz3z8jp8avi33prw83")))) (define (texlive-hyphen-package name code locations hash) + "Return a TeX Live hyphenation package with the given NAME, using source +files from LOCATIONS with expected checksum HASH. CODE is not currently in use." (let ((parent (simple-texlive-package name locations hash #:trivial? #t))) (package (inherit parent) (arguments (substitute-keyword-arguments (package-arguments parent) - ((#:modules _ '()) - '((guix build gnu-build-system) - (guix build utils) - (ice-9 match))) ((#:phases phases) `(modify-phases ,phases (replace 'build @@ -168,12 +166,8 @@ copied to their outputs; otherwise the TEXLIVE-BUILD-SYSTEM is used." (string-append root "/tex/generic/hyph-utf8/loadhyph")) (ptex (string-append root "/tex/generic/hyph-utf8/patterns/ptex")) - (filter-expression - (match ',code - ((? string?) - (format #f "\nlanguages.select!{|l| l.code == \"~a\"}\n" ',code)) - ((a b ...) - (format #f "\nlanguages.select!{|l| [~{\"~a\",~}].include? l.code }\n" ',code))))) + (quote + (string-append root "/tex/generic/hyph-utf8/patterns/quote"))) (mkdir "scripts") (copy-recursively (assoc-ref inputs "hyph-utf8-scripts") "scripts") @@ -182,74 +176,69 @@ copied to their outputs; otherwise the TEXLIVE-BUILD-SYSTEM is used." (mkdir-p patterns) (mkdir-p loaders) (mkdir-p ptex) + (mkdir-p quote) ;; Generate plain patterns (with-directory-excursion "scripts" - (substitute* "languages.rb" - (("../../../tex/generic/") "../tex/generic/")) + (substitute* "lib/tex/hyphen/path.rb" + (("^([[:blank:]]+)TeXROOT = .*" _ indent) + (string-append indent "TeXROOT = \"" + (getcwd) "/..\"\n"))) + (substitute* "generate-plain-patterns.rb" ;; Ruby 2 does not need this. (("require 'unicode'") "") - (("Unicode.upcase\\(ch\\)") "ch.upcase") ;; Write directly to the output directory - (("\\$path_root=File.*") - (string-append "$path_root=\"" out "/share/texmf-dist/\"\n")) - ;; Create quote directory when needed - (("f = File.open\\(\"#\\{\\$path_quote\\}" m) - (string-append "require 'fileutils'; FileUtils.mkdir_p $path_quote;" m)) - ;; Only generate patterns for this language. - (("languages =.*" m) - (string-append m filter-expression))) + (("File\\.join\\(PATH::TXT") + (string-append "File.join(\"" patterns "\"")) + (("File\\.join\\(PATH::QUOTE") + (string-append "File.join(\"" quote "\""))) (invoke "ruby" "generate-plain-patterns.rb") ;; Build pattern loaders (substitute* "generate-pattern-loaders.rb" - (("\\$path_tex_generic=File.*") - (string-append "$path_tex_generic=\"" root "/tex/generic\"\n")) - ;; Only generate loader for this language. - (("languages =.*" m) - (string-append m filter-expression))) + (("File\\.join\\(PATH::LOADER") + (string-append "File.join(\"" loaders "\""))) + (invoke "ruby" "generate-pattern-loaders.rb") ;; Build ptex patterns (substitute* "generate-ptex-patterns.rb" - (("\\$path_root=File.*") - (string-append "$path_root=\"" root "\"\n")) - ;; Only generate ptex patterns for this language. - (("languages =.*" m) - (string-append m filter-expression))) + (("File\\.join\\(PATH::PTEX") + (string-append "File.join(\"" ptex "\""))) (invoke "ruby" "generate-ptex-patterns.rb"))))))))) (native-inputs `(("ruby" ,ruby) + ("ruby-hydra" ,ruby-hydra) ("hyph-utf8-scripts" ,hyph-utf8-scripts))) (home-page "https://ctan.org/pkg/hyph-utf8")))) (define texlive-extra-src (origin (method url-fetch) - (uri "ftp://tug.org/historic/systems/texlive/2018/texlive-20180414-extra.tar.xz") + (uri "ftp://tug.org/historic/systems/texlive/2019/texlive-20190410-extra.tar.xz") (sha256 (base32 - "0a83kymxc8zmlxjb0y1gf6mx7qnf0hxffwkivwh5yh138y2rfhsv")))) + "13ncf2an4nlqv18lki6y2p6pcsgs1i54zqkhfwprax5j53bk70j8")))) (define texlive-texmf-src (origin (method url-fetch) - (uri "ftp://tug.org/historic/systems/texlive/2018/texlive-20180414-texmf.tar.xz") + (uri "ftp://tug.org/historic/systems/texlive/2019/texlive-20190410-texmf.tar.xz") (sha256 (base32 - "1b8zigzg8raxkhhzphcmynf84rbdbj2ym2qkz24v8n0qx82zmqms")))) + "00n4qh9fj8v9zzy3y488hpfq1g3dnnh72y4yjsaikfcqpi59gv62")))) (define-public texlive-bin (package (name "texlive-bin") - (version "20180414") + (version "20190410") (source (origin (method url-fetch) - (uri (string-append "ftp://tug.org/historic/systems/texlive/2018/" + (uri (string-append "ftp://tug.org/historic/systems/texlive/2019/" "texlive-" version "-source.tar.xz")) (sha256 (base32 - "0khyi6h015r2zfqgg0a44a2j7vmr1cy42knw7jbss237yvakc07y")) + "1dfps39q6bdr1zsbp9p74mvalmy3bycihv19sb9c6kg30kprz8nj")) (patches (let ((arch-patch (lambda (name revision hash) @@ -260,14 +249,28 @@ copied to their outputs; otherwise the TEXLIVE-BUILD-SYSTEM is used." "&id=" revision)) (file-name (string-append "texlive-bin-" name)) (sha256 (base32 hash))))) - (arch-revision "c4b99aba97213ea554b6592a4916d3c7394a6d7b")) - (append (search-patches "texlive-bin-CVE-2018-17407.patch" - "texlive-bin-luatex-poppler-compat.patch") - (list - (arch-patch "pdftex-poppler0.76.patch" arch-revision - "15ypbh21amfsdxy7ca825x28lkmmkklxk1w660gpgvzdi7s70h0b") - (arch-patch "xetex-poppler-fixes.patch" arch-revision - "1jj1p5zkjljb7id9pjv29cw0cf8mwrgrh4ackgzz9c200vaqpsvx"))))))) + (arch-revision "49d7fe25e5ea63f136ebc20270c1d8fc9b00041c")) + (list + (arch-patch "pdftex-poppler0.76.patch" arch-revision + "03vc88dz37mjjyaspzv0fik2fp5gp8qv82114869akd1dhszbaax") + (search-patch "texlive-bin-poppler-0.83.patch") + (arch-patch "texlive-poppler-0.84.patch" arch-revision + "1ia6cr99krk4ipx4hdi2qdb98bh2h26mckjlpxdzrjnfhlnghksa")))) + (modules '((guix build utils) + (ice-9 ftw))) + (snippet + '(begin + (with-directory-excursion "libs" + (let ((preserved-directories '("." ".." "lua53" "luajit"))) + ;; Delete bundled software, except Lua which cannot easily be + ;; used as an external dependency. + (for-each delete-file-recursively + (scandir "." + (lambda (file) + (and (not (member file preserved-directories)) + (eq? 'directory (stat:type (stat file))))))))) + ;; TODO: Unbundle stuff in texk/dvisvgm/dvisvgm-src/libs too. + #t)))) (build-system gnu-build-system) (inputs `(("texlive-extra-src" ,texlive-extra-src) @@ -284,7 +287,7 @@ copied to their outputs; otherwise the TEXLIVE-BUILD-SYSTEM is used." "-checkout")) (sha256 (base32 - "0wrjls1y9b4k1z10l9l8w2l3yjcw7v7by2y16kchdpkiyldlkry6")))) + "1cj04svl8bpfwjr4gqfcc04rmklz3aggrxvgj7q5bxrh7c7g18xh")))) ("cairo" ,cairo) ("fontconfig" ,fontconfig) ("fontforge" ,fontforge) @@ -315,7 +318,8 @@ copied to their outputs; otherwise the TEXLIVE-BUILD-SYSTEM is used." (arguments `(#:out-of-source? #t #:configure-flags - `("--disable-native-texlive-build" + '("--disable-static" + "--disable-native-texlive-build" "--with-system-cairo" "--with-system-freetype2" "--with-system-gd" @@ -362,18 +366,13 @@ copied to their outputs; otherwise the TEXLIVE-BUILD-SYSTEM is used." (copy-file "texk/web2c/pdftexdir/pdftosrc-poppler0.76.0.cc" "texk/web2c/pdftexdir/pdftosrc.cc") #t)) - (add-after 'use-code-for-new-poppler 'use-code-for-even-newer-poppler + (add-after 'unpack 'patch-dvisvgm-build-files (lambda _ - ;; Adjust for deprecated types in Poppler 0.73 and later. - (substitute* (append - (find-files "texk/web2c/luatexdir/" "\\.(cc|w)$") - '("texk/web2c/pdftexdir/pdftosrc.cc")) - (("GBool") "bool") - (("gFalse") "false") - (("gTrue") "true") - (("getCString") "c_str") - (("Guint") "unsigned int") - (("Guchar") "unsigned char")) + ;; XXX: Ghostscript is detected, but HAVE_LIBGS is never set, so + ;; the appropriate linker flags are not added. + (substitute* "texk/dvisvgm/configure" + (("^have_libgs=yes" all) + (string-append all "\nHAVE_LIBGS=1"))) #t)) (add-after 'unpack 'disable-failing-test (lambda _ @@ -450,7 +449,7 @@ This package contains the binaries.") "texlive-docstrip" (list "/tex/latex/base/docstrip.tex") (base32 - "17vdy43d9vknldz7wb69hp33r8awmdvn4xszamvgs5ikcl4cp289") + "1f9sx1lp7v34zwm186msf03q2h28rrg0lh65z59zc0cvqffs6dvb") #:trivial? #t)) (home-page "https://www.ctan.org/texlive") (synopsis "Utility to strip documentation from TeX files.") @@ -465,7 +464,7 @@ documentation from TeX files. It is part of the LaTeX base.") (list "/tex/generic/unicode-data/" "/doc/generic/unicode-data/") (base32 - "1j63kz29arfiydb8r1a53q1r4zyk1yjbcq0w9i93zddczgqzgbfb") + "0zy4v9y667cka5fi4dnc6x500907812y7pcaf63s5qxi8l7khxxy") #:trivial? #t)) (home-page "https://www.ctan.org/pkg/unicode-data") (synopsis "Unicode data and loaders for TeX") @@ -498,7 +497,7 @@ out to date by @code{unicode-letters.tex}. ") "/tex/generic/hyphen/hypht1.tex" "/tex/generic/hyphen/zerohyph.tex") (base32 - "002g5zhzbj3ikgg8zidagdp605ac9f4qmfl148mp0mbpz1svk0ni") + "0f19nml4hdx9lh7accqdk1b9ismwfm2523l5zsc4kb4arysgcakz") #:trivial? #t)) (home-page "https://tug.org/texlive/") (synopsis "Core hyphenation support files") @@ -627,7 +626,7 @@ build fonts using the Metafont system.") "/scripts/texlive/fontinst.sh") (base32 - "09drlb0krhnizw92xlm5wxzzpgn3shcxd684xlg0zc5p16l47w6h") + "0lprwib7n2ygfxvrw675vhif7ghyip2x6k70kqs9syp8lqxiizf8") #:trivial? #t))) (package (inherit template) @@ -716,7 +715,7 @@ documents.") "/fonts/map/dvips/cm/cmtext-bsr-interpolated.map" "/doc/fonts/cm/") (base32 - "1h0q71paqmg1xjg6k35ni2i6m93kmlq9rdwm913xg9n4qngywl18") + "09mvl94qrwlb9b4pkigi151l256v3djhwl4m5lgvk6yhn5y75zrp") #:trivial? #t))) (package (inherit template) @@ -1278,7 +1277,7 @@ incorporates the e-TeX extensions.") "texlive-tex-plain" (list "/tex/plain/") (base32 - "1rrfay4d7lbyj02wlf23mwvbpjd160nwlgryx97hq1vb7dva4swr") + "1m4qpaszwfv7j8a85rlwl7rs4iv5nlj67c1vvn6ysly72h9gjydb") #:trivial? #t)) (home-page "https://www.ctan.org/pkg/plain") (synopsis "Plain TeX format and supporting files") @@ -1294,7 +1293,7 @@ discussed in the book).") "texlive-hyphen-afrikaans" "af" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-af.tex") (base32 - "1vb3jccqnn1pm0680yqx52kvz595fmxnwa0cbf8qman6zglsssiw"))) + "1k9k27a27bbrb0gz36191w32l2v6d3zbdh8zhrp4l3ild2pj3n4l"))) (synopsis "Hyphenation patterns for Afrikaans") (description "The package provides hyphenation patterns for the Afrikaans language.") @@ -1308,7 +1307,7 @@ language.") "/tex/generic/hyphen/grahyph5.tex" "/tex/generic/hyphen/ibyhyph.tex") (base32 - "0kwrqsz7wdr1d9kylzwp60ka3wfbj8iad029k5h6y94nb86mf7zv"))) + "01326lb6z0s8krcfgs8i1pnjfrm4gr33rc53gy80f63qbv4ssxrw"))) (synopsis "Hyphenation patterns for ancient Greek") (description "The package provides hyphenation patterns for ancient Greek.") @@ -1317,33 +1316,11 @@ Greek.") (define-public texlive-hyphen-armenian (let ((template (texlive-hyphen-package "texlive-hyphen-armenian" "hy" - (list "/source/generic/hyph-utf8/languages/hy/generate_patterns_hy.rb") + (list "/tex/generic/hyph-utf8/patterns/tex/hyph-hy.tex") (base32 - "0z666y580w1kpxssdanz67ykq257lf11a1mnp1jrn08zijvfrw9c")))) + "0hzny0npynsb07syxrpbfa5pkpj8r0j51pj64yxyfl1c0bak1fwp")))) (package (inherit template) - (arguments - (substitute-keyword-arguments (package-arguments template) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'build 'build-patterns - (lambda _ - (let ((target (string-append (getcwd) - "/tex/generic/hyph-utf8/patterns/tex"))) - (mkdir-p target) - (with-directory-excursion "source/generic/hyph-utf8/languages/hy/" - (substitute* "generate_patterns_hy.rb" - (("\\$file = File.new.*") - (string-append "$file = File.new(\"" target - "/hyph-hy.tex\",\"w\")\n"))) - (invoke "ruby" "generate_patterns_hy.rb")) - #t))) - (add-after 'install 'install-hyph-hy.tex - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (target (string-append out "/share/texmf-dist/tex"))) - (copy-recursively "tex" target) - #t))))))) (synopsis "Hyphenation patterns for Armenian") (description "The package provides hyphenation patterns for the Armenian language.") @@ -1353,39 +1330,17 @@ language.") (define-public texlive-hyphen-basque (let ((template (texlive-hyphen-package "texlive-hyphen-basque" "eu" - (list "/source/generic/hyph-utf8/languages/eu/generate_patterns_eu.rb") + (list "/tex/generic/hyph-utf8/patterns/tex/hyph-eu.tex") (base32 - "1yhsbzf1g9dm70jfixsz51hsfvn26cwfkfxvhg7xv2piynr4v51l")))) + "15w969g1jqzn68l2b2lzf7iv7g3kil02aba3if6cag3qcnq92ra9")))) (package (inherit template) - (arguments - (substitute-keyword-arguments (package-arguments template) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'build 'build-patterns - (lambda _ - (let ((target (string-append (getcwd) - "/tex/generic/hyph-utf8/patterns/tex"))) - (mkdir-p target) - (with-directory-excursion "source/generic/hyph-utf8/languages/eu/" - (substitute* "generate_patterns_eu.rb" - (("\\$file = File.new.*") - (string-append "$file = File.new(\"" target - "/hyph-eu.tex\",\"w\")\n"))) - (invoke "ruby" "generate_patterns_eu.rb")) - #t))) - (add-after 'install 'install-hyph-eu.tex - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (target (string-append out "/share/texmf-dist/tex"))) - (copy-recursively "tex" target) - #t))))))) (synopsis "Hyphenation patterns for Basque") (description "The package provides hyphenation patterns for the Basque language.") - ;; "Free for any purpose". + ;; Similar to Unicode license. (license (license:fsf-free - "/source/generic/hyph-utf8/languages/eu/generate_patterns_eu.rb"))))) + "/tex/generic/hyph-utf8/patterns/tex/hyph-eu.tex"))))) (define-public texlive-hyphen-belarusian (package @@ -1393,7 +1348,7 @@ language.") "texlive-hyphen-belarusian" "be" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-be.tex") (base32 - "1xvffph824rg43gi2xs3ny9gzlp708fyxj9zfhckmg8pzh9vv3n6"))) + "0ppm12wndaxv9da62dwkbnk7w9nijikn6jkc97m76xis338g2h02"))) (synopsis "Hyphenation patterns for Belarusian") (description "The package provides hyphenation patterns for the Belarusian language.") @@ -1407,7 +1362,7 @@ language.") "/doc/generic/hyph-utf8/bg/azbukaExtended.tex" "/tex/generic/hyph-utf8/patterns/tex/hyph-bg.tex") (base32 - "06dxkk9azsggbri04i6g62lswygzadsx3rpqvbyzvbxc5wxz1dj1"))) + "0ngrgw2rmipxss76rgfk62x9nnsgwmaxxna2jqxxhybai3q39mx5"))) (synopsis "Hyphenation patterns for Bulgarian") (description "The package provides hyphenation patterns for the Bulgarian language in T2A and UTF-8 encodings.") @@ -1421,7 +1376,7 @@ language in T2A and UTF-8 encodings.") "texlive-hyphen-catalan" "ca" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-ca.tex") (base32 - "0cisx76jpw8kpd3an37m9h8ppiysnizgfzl48y9d9n3fvx8jyykb"))) + "10zzlfz5v8d9csg85ibpp2vfvmpqa56vbl85qy5gws099vygpayg"))) (synopsis "Hyphenation patterns for Catalan") (description "The package provides hyphenation patterns for Catalan in T1/EC and UTF-8 encodings.") @@ -1433,7 +1388,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-chinese" "zh-latn-pinyin" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-zh-latn-pinyin.tex") (base32 - "07gbrn5fcl5d3hyg1zpai3zp1ggl73cmvpalwvh7ah313f57gjkk"))) + "1j68mry2zy91m1kbzwhin5q2jajf6xh48npdds8wvp1sqmzih2a3"))) (synopsis "Hyphenation patterns for unaccented Chinese pinyin") (description "The package provides hyphenation patterns for unaccented Chinese pinyin T1/EC and UTF-8 encodings.") @@ -1445,7 +1400,7 @@ Chinese pinyin T1/EC and UTF-8 encodings.") "texlive-hyphen-churchslavonic" "cu" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-cu.tex") (base32 - "0xkqlz3ixyl4fxsnzrbxqrb82p0n67rhgpddbiyv3qwfnbr2b5a4"))) + "0fhbwaapq2213msbhgr0d1lw06ihmrqirxj092mn73d8ynl13qlh"))) (synopsis "Hyphenation patterns for Church Slavonic") (description "The package provides hyphenation patterns for Church Slavonic in UTF-8 encoding.") @@ -1458,7 +1413,7 @@ Slavonic in UTF-8 encoding.") (list "/tex/generic/hyph-utf8/patterns/tex-8bit/copthyph.tex" "/tex/generic/hyph-utf8/patterns/tex/hyph-cop.tex") (base32 - "07i03jpdfy4ip7zbg4gnk4hk8zwj8rlni9dgrb1p8mfw2w19d80c"))) + "1jlxxvyfa2aljizaa3qlcxyhqsrb4dawv3q3fbyp2lxz6ag9fy6m"))) (synopsis "Hyphenation patterns for Coptic") (description "The package provides hyphenation patterns for Coptic in UTF-8 encoding as well as in ASCII-based encoding for 8-bit engines.") @@ -1471,7 +1426,7 @@ UTF-8 encoding as well as in ASCII-based encoding for 8-bit engines.") "texlive-hyphen-croatian" "hr" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-hr.tex") (base32 - "129nz2nqilyq2477n2clx20xfbxh1qxm69zg4n2f6c4d4a8711nc"))) + "12n9r2winai15jc622sqdwclgcs1s68r6vcf7ic8vvq0x9qhwc5v"))) (synopsis "Hyphenation patterns for Croatian") (description "The package provides hyphenation patterns for Croatian in T1/EC and UTF-8 encodings.") @@ -1483,7 +1438,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-czech" "cs" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-cs.tex") (base32 - "1k5516gbfp1d5p97j247byag9sdgds5zwc11bwxfk58i6zq1v0m6"))) + "1q37s6p8yfyi3rp1azbz421lg4lr4aiki8m631i4x9rmps89m8iq"))) (synopsis "Hyphenation patterns for Czech") (description "The package provides hyphenation patterns for Czech in T1/EC and UTF-8 encodings.") @@ -1495,7 +1450,7 @@ and UTF-8 encodings.") "texlive-hyphen-danish" "da" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-da.tex") (base32 - "0zxzs1b1723mav76i0wiyq4w82x8715cykvwa2bc60ldc2amv0vs"))) + "1vj8nip64rzcrcg3skm4vqad1ggqwgan74znrdns610wjcm1z9qd"))) (synopsis "Hyphenation patterns for Danish") (description "The package provides hyphenation patterns for Danish in T1/EC and UTF-8 encodings.") @@ -1508,7 +1463,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-dutch" "nl" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-nl.tex") (base32 - "0cq46cmgjc4y2x0xs9b0a5zca3jmszv4rkzmrhgjb5z2nm3xkrpi"))) + "1bg9g790ksq5cn8qihai6pacmkp9vpf35h4771z361nvwa40l8yk"))) (synopsis "Hyphenation patterns for Dutch") (description "The package provides hyphenation patterns for Dutch in T1/EC and UTF-8 encodings.") @@ -1521,7 +1476,7 @@ and UTF-8 encodings.") (list "/tex/generic/hyph-utf8/patterns/tex/hyph-en-gb.tex" "/tex/generic/hyph-utf8/patterns/tex/hyph-en-us.tex") (base32 - "08hyih8hn2w2q12gc4zygz0ckbz00mkzzn9898z2bicky02zg3kc"))) + "08b3jihjaamcl1pvffi0s47nwavkm66l9mrrmby3l32dfpkprrc5"))) (synopsis "Hyphenation patterns for American and British English") (description "The package provides additional hyphenation patterns for American and British English in ASCII encoding.") @@ -1535,7 +1490,7 @@ American and British English in ASCII encoding.") "texlive-hyphen-esperanto" "eo" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-eo.tex") (base32 - "03xbjbzasznsyf4wd45bya6f4snfmzpdzg5zpvqj5q6gjykdg54k"))) + "1503kzn9bk4mm4ba35cka2hm8rz0v3j5l30v5rrsd4rqgpibcgic"))) (synopsis "Hyphenation patterns for Esperanto") (description "The package provides hyphenation patterns for Esperanto ISO Latin 3 and UTF-8 encodings.") @@ -1547,7 +1502,7 @@ Latin 3 and UTF-8 encodings.") "texlive-hyphen-estonian" "et" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-et.tex") (base32 - "0idl6xajkkgxqngjn19jcfd29is5rhfn59v0z8h4sv8yjv6k934m"))) + "1rdas2450ib02rwy65i69l86nyc9h15bl07xbbwhmhxfnj8zj4v8"))) (synopsis "Hyphenation patterns for Estonian") (description "The package provides hyphenation patterns for Estonian in T1/EC and UTF-8 encodings.") @@ -1557,53 +1512,17 @@ T1/EC and UTF-8 encodings.") (define-public texlive-hyphen-ethiopic (let ((template (texlive-hyphen-package "texlive-hyphen-ethiopic" "mul-ethi" - (list "/source/generic/hyph-utf8/languages/mul-ethi/generate_patterns_mul-ethi.lua") + (list "/tex/generic/hyph-utf8/patterns/tex/hyph-mul-ethi.tex") (base32 - "1dp5qn1mhv62kj27lqc7s0ca65z9bziyavkvif9ds5ivk7aq9drw")))) + "1b93fc6j4aybh0pgq23hsn1njm6asf7sfz803fbj3ai0whsxd10l")))) (package (inherit template) - (arguments - (substitute-keyword-arguments (package-arguments template) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'build 'build-patterns - (lambda* (#:key inputs #:allow-other-keys) - (let ((tex (string-append (getcwd) - "/tex/generic/hyph-utf8/patterns/tex/"))) - (mkdir-p tex) - (with-directory-excursion "source/generic/hyph-utf8/languages/mul-ethi/" - (substitute* "generate_patterns_mul-ethi.lua" - (("\"UnicodeData.txt\"") - (string-append "\"" - (assoc-ref inputs "UnicodeData.txt") - "\""))) - (invoke "texlua" "generate_patterns_mul-ethi.lua") - (rename-file "hyph-mul-ethi.tex" - (string-append tex "/hyph-mul-ethi.tex")) - #t)))) - (add-after 'install 'install-hyph-mul-ethi.tex - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (target (string-append out "/share/texmf-dist/tex"))) - (copy-recursively "tex" target) - #t))))))) - (native-inputs - `(,@(package-native-inputs template) - ("texlive-bin" ,texlive-bin) - ("UnicodeData.txt" - ,(origin - (method url-fetch) - (uri (string-append "http://www.unicode.org/Public/10.0.0/ucd/" - "UnicodeData.txt")) - (sha256 - (base32 - "1cfak1j753zcrbgixwgppyxhm4w8vda8vxhqymi7n5ljfi6kwhjj")))))) (synopsis "Hyphenation patterns for Ethiopic scripts") (description "The package provides hyphenation patterns for languages written using the Ethiopic script for Unicode engines. They are not supposed to be linguistically relevant in all cases and should, for proper typography, be replaced by files tailored to individual languages.") - (license license:lppl)))) + (license license:expat)))) (define-public texlive-hyphen-finnish (package @@ -1611,7 +1530,7 @@ be replaced by files tailored to individual languages.") "texlive-hyphen-finnish" "fi" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-fi.tex") (base32 - "03n6s8dwwa5vfk9bbyhcdf7p0bc0d1rrr312hpgbz8jfc9fbgd7n"))) + "1f72b4ydb4zddvw2i004948khmwzigxkdkwfym5v1kkq0183sfpj"))) (synopsis "Hyphenation patterns for Finnish") (description "The package provides hyphenation patterns for Finnish in T1/EC and UTF-8 encodings.") @@ -1623,7 +1542,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-french" "fr" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-fr.tex") (base32 - "1q82mmwvy7fdkm42958ajb53w89qkcdwybswxlwcvqngvhpy3zf0"))) + "0jc3kqys6cxjw8x8pzjln7z78l8s7f5rlyrkv7dzr1kiwnwilk9d"))) (synopsis "Hyphenation patterns for French") (description "The package provides hyphenation patterns for French in T1/EC and UTF-8 encodings.") @@ -1635,7 +1554,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-friulan" "fur" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-fur.tex") (base32 - "07m975p0ghzs9sjqqgxy7qdkqmgvg4rx4xp08zwm1parqsdlwd5d"))) + "1dlnh8slpf50mryxv7zzbx08xp54zkdfs1j7y37ipwbrajvd740f"))) (synopsis "Hyphenation patterns for Friulan") (description "The package provides hyphenation patterns for Friulan in ASCII encodings.") @@ -1644,50 +1563,15 @@ ASCII encodings.") (define-public texlive-hyphen-galician (let ((template (texlive-hyphen-package "texlive-hyphen-galician" "gl" - (list "/source/generic/hyph-utf8/languages/gl/README" - "/source/generic/hyph-utf8/languages/gl/glhybiox.tex" - "/source/generic/hyph-utf8/languages/gl/glhyextr.tex" - "/source/generic/hyph-utf8/languages/gl/glhymed.tex" - "/source/generic/hyph-utf8/languages/gl/glhyquim.tex" - "/source/generic/hyph-utf8/languages/gl/glhytec.tex" - "/source/generic/hyph-utf8/languages/gl/glhyxeog.tex" - "/source/generic/hyph-utf8/languages/gl/glpatter-utf8.tex") + (list "/tex/generic/hyph-utf8/patterns/tex/hyph-gl.tex") (base32 - "1yj1gxhkqqlyaand5gd6ij6xwffskryzlbcigdam3871a9p8x18w")))) + "13zx2r3nrxdr025g2lxrph0ga6wf7cs8dxixn4fhbl6xr1cx028g")))) (package (inherit template) - (arguments - (substitute-keyword-arguments (package-arguments template) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'build 'build-patterns - (lambda* (#:key inputs #:allow-other-keys) - (let ((tex (string-append (getcwd) - "/tex/generic/hyph-utf8/patterns/tex/"))) - (mkdir-p tex) - (with-directory-excursion "source/generic/hyph-utf8/languages/gl/" - (setenv "TEXINPUTS" - (string-append (getcwd) "//:" - (assoc-ref inputs "texlive-mkpattern") "//")) - (invoke "tex" "-ini" "-8bit" "glpatter-utf8.tex") - (rename-file "hyph-gl.tex" - (string-append tex "/hyph-gl.tex")) - #t)))) - (add-after 'install 'install-hyph-gl.tex - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (target (string-append out "/share/texmf-dist/tex"))) - (copy-recursively "tex" target) - #t))))))) - (native-inputs - `(,@(package-native-inputs template) - ("texlive-bin" ,texlive-bin) - ("texlive-mkpattern" ,texlive-mkpattern))) (synopsis "Hyphenation patterns for Galician") (description "The package provides hyphenation patterns for Galician in T1/EC and UTF-8 encodings.") - ;; glhyextr.tex is the only file in the public domain. - (license (list license:lppl1.3 license:public-domain))))) + (license license:lppl1.3)))) (define-public texlive-hyphen-georgian (package @@ -1695,7 +1579,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-georgian" "ka" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-ka.tex") (base32 - "01zhn6mflpiqw4lyi8dx8syiz5mky9jrxm87cgw31hanis5cml4l"))) + "0l0hk7ka04fr8x11nnw95x151cxyycy0fph772m3a3p8qk4x9wp7"))) (synopsis "Hyphenation patterns for Georgian") (description "The package provides hyphenation patterns for Georgian in T8M, T8K, and UTF-8 encodings.") @@ -1708,12 +1592,12 @@ T8M, T8K, and UTF-8 encodings.") (list "/tex/generic/hyph-utf8/patterns/tex/hyph-de-1901.tex" "/tex/generic/hyph-utf8/patterns/tex/hyph-de-1996.tex" "/tex/generic/hyph-utf8/patterns/tex/hyph-de-ch-1901.tex" - "/tex/generic/hyphen/dehyphn.tex" - "/tex/generic/hyphen/dehypht.tex" - "/tex/generic/hyphen/dehyphtex.tex" - "/tex/generic/hyphen/ghyphen.README") + "/tex/generic/dehyph/dehyphn.tex" + "/tex/generic/dehyph/dehypht.tex" + "/tex/generic/dehyph/dehyphtex.tex" + "/tex/generic/dehyph/README") (base32 - "1g0vhpvl2l69rn2lx7lkw0inrjbcxkj2sjgwd2fq7hdi4yb2ms76"))) + "0wp5by5kkf4ac6li5mbppqzw11500wa7f22p5vpz3m1kwd15zavw"))) (synopsis "Hyphenation patterns for German") (description "This package provides hyphenation patterns for German in T1/EC and UTF-8 encodings, for traditional and reformed spelling, including @@ -1732,7 +1616,7 @@ Swiss German.") "/tex/generic/hyphen/grmhyph5.tex" "/tex/generic/hyphen/grphyph5.tex") (base32 - "04626jhlrv2flgdygm7sfv6xpqhfwiavi16gy2ac04iliyk4rypg"))) + "1qyr6m1nh6d4wj68616cfxv4wjpiy1w2rlldxlx2ajzba381w3hf"))) (synopsis "Hyphenation patterns for Greek") (description "This package provides hyphenation patterns for Modern Greek in monotonic and polytonic spelling in LGR and UTF-8 encodings.") @@ -1746,7 +1630,7 @@ in monotonic and polytonic spelling in LGR and UTF-8 encodings.") "/doc/generic/hyph-utf8/hu/" "/tex/generic/hyph-utf8/patterns/tex/hyph-hu.tex") (base32 - "0c81w2569cqsi4j56azwz0lfx16541zhiqgmn3m4iwh7mpx3rji8"))) + "1j1b8kksg9r8nmjyjvvz8fr3hgcrjj6jlybf9p06nwrrwm2r8j8f"))) (synopsis "Hyphenation patterns for Hungarian") (description "This package provides hyphenation patterns for Hungarian in T1/EC and UTF-8 encodings.") @@ -1759,7 +1643,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-icelandic" "is" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-is.tex") (base32 - "1ah1f82lgfhqgid4ngsfiypybx10v8gwxnb12396vfsj3bq6j0ba"))) + "1m9xj41csj3ldym09d82zjbd3345sg2z10d8pxpvhgibf97mb66h"))) (synopsis "Hyphenation patterns for Icelandic") (description "This package provides hyphenation patterns for Icelandic in T1/EC and UTF-8 encodings.") @@ -1782,7 +1666,7 @@ T1/EC and UTF-8 encodings.") "/tex/generic/hyph-utf8/patterns/tex/hyph-ta.tex" "/tex/generic/hyph-utf8/patterns/tex/hyph-te.tex") (base32 - "1v8zc3wdbkhzjrflndmz4gdj11syz8vrcg0vwvm5bwhkx23g91lv"))) + "02d2kcd3lpk95fykjwhzw9s2a1s2w1skz8h2mmszrz979d1xzhpm"))) (synopsis "Indic hyphenation patterns") (description "This package provides hyphenation patterns for Assamese, Bengali, Gujarati, Hindi, Kannada, Malayalam, Marathi, Oriya, Panjabi, Tamil @@ -1795,7 +1679,7 @@ and Telugu for Unicode engines.") "texlive-hyphen-indonesian" "id" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-id.tex") (base32 - "0mf0hr9c952kb2hmzid7fqg5whshwpribbyndb3ba092wh02abh5"))) + "1r62w02rf0i4z0jgij54d16qjbj0zyfwm9dwdkqka76jrivij83q"))) (synopsis "Indonesian hyphenation patterns") (description "This package provides hyphenation patterns for Indonesian (Bahasa Indonesia) in ASCII encoding. They are probably also @@ -1808,7 +1692,7 @@ usable for Malay (Bahasa Melayu).") "texlive-hyphen-interlingua" "ia" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-ia.tex") (base32 - "1aihgma3rix4jkc1z5k1lh6hlfrncn66yj0givd3j6xjqflafr2g"))) + "0a9na20vjnzhgjbicaxay0jk4rm5zg1rjyiswr377mjhd9mx5cg3"))) (synopsis "Interlingua hyphenation patterns") (description "This package provides hyphenation patterns for Interlingua in ASCII encoding.") @@ -1820,7 +1704,7 @@ in ASCII encoding.") "texlive-hyphen-irish" "ga" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-ga.tex") (base32 - "02k1fykgj3xamczjq16i9fsjjsh78pp5ypmh93p64izk2vymfwk0"))) + "1h1l9jzkpsb91nyhz6s6c9jfrbz8jx5ip8vyq3dkz0rl6g960i6b"))) (synopsis "Irish hyphenation patterns") (description "This package provides hyphenation patterns for Irish (Gaeilge) in T1/EC and UTF-8 encodings.") @@ -1833,7 +1717,7 @@ Irish (Gaeilge) in T1/EC and UTF-8 encodings.") "texlive-hyphen-italian" "it" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-it.tex") (base32 - "1a65q3hjn2p212cgv6p7wa0wcn34qnxcz2pl3v3ip0xmb16qqsk5"))) + "03c7jiqslfxvl3gbdx79hggbvrfi2l4z2bnwxc0na8f8lkp1m787"))) (synopsis "Italian hyphenation patterns") (description "This package provides hyphenation patterns for Italian in ASCII encoding. Compliant with the Recommendation UNI 6461 on hyphenation @@ -1847,7 +1731,7 @@ UNI).") "texlive-hyphen-kurmanji" "kmr" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-kmr.tex") (base32 - "1145ykfd0b0hgklindlxdgkqmsnj3cai3cwgllz411yqmrhjc6y9"))) + "01ylbsi5wymrdrxr9b28nmjmcj72mdhqr657lwsb6m9aj33c9ql6"))) (synopsis "Kurmanji hyphenation patterns") (description "This package provides hyphenation patterns for Kurmanji (Northern Kurdish) as spoken in Turkey and by the Kurdish diaspora in @@ -1862,7 +1746,7 @@ Europe, in T1/EC and UTF-8 encodings.") "/tex/generic/hyph-utf8/patterns/tex/hyph-la-x-liturgic.tex" "/tex/generic/hyph-utf8/patterns/tex/hyph-la.tex") (base32 - "1d8d6b47r4r000gqgzyl0sy9is0y0dg41jp8fw4gqq8qmcgdxgsg"))) + "0rxg8a4s5cpj8vlkz5a74a036axda5jqgvr3f9aj2cc2x9f2f3w9"))) (synopsis "Liturgical Latin hyphenation patterns") (description "This package provides hyphenation patterns for Latin in T1/EC and UTF-8 encodings, mainly in modern spelling (u when u is needed and v @@ -1883,7 +1767,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-latvian" "lv" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-lv.tex") (base32 - "1xbh5s6nwfjbv7g4kmcpjkm02a6s767p7jn9qjcnz5ip0ndl5g66"))) + "00jf8xma4ldz0zpqwma97k9q3j0mqx7qdj6b7baph3n5xgc24aaw"))) (synopsis "Latvian hyphenation patterns") (description "This package provides hyphenation patterns for Latvian in L7X and UTF-8 encodings.") @@ -1896,7 +1780,7 @@ L7X and UTF-8 encodings.") "texlive-hyphen-lithuanian" "lt" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-lt.tex") (base32 - "0v9spw0qkygkihj5app2immzqqr98w81pz460bcgvj1ah35jdfsl"))) + "1kfq7j2ajg6nj952s1ygd520sj9z9kl0bqvd291a36ni2b1frzgd"))) (synopsis "Lithuanian hyphenation patterns") (description "This package provides hyphenation patterns for Lithuanian in L7X and UTF-8 encodings.") @@ -1911,7 +1795,7 @@ L7X and UTF-8 encodings.") (list "/tex/generic/hyph-utf8/patterns/tex/hyph-mn-cyrl-x-lmc.tex" "/tex/generic/hyph-utf8/patterns/tex/hyph-mn-cyrl.tex") (base32 - "0lqq3jgwgnclb1cn3x99xmk90xra9q51b00ypwy5crssmy023hqc"))) + "1y1b91ihrdl9bad3rxlsfjpd9wmyd5zzgci3qv9w8qqk33jxhwya"))) (synopsis "Mongolian hyphenation patterns in Cyrillic script") (description "This package provides hyphenation patterns for Mongolian in T2A, LMC and UTF-8 encodings.") @@ -1926,7 +1810,7 @@ T2A, LMC and UTF-8 encodings.") "/tex/generic/hyph-utf8/patterns/tex/hyph-nn.tex" "/tex/generic/hyph-utf8/patterns/tex/hyph-no.tex") (base32 - "1fxnf671yz0p3lmdkspna7fjh96br1jy6yf7v17yh4fxwry3s4yz"))) + "08gbwj64p4fckm199k52yp5lx65h9f4wwdkvl4pv4aa7k370jq9y"))) (synopsis "Norwegian Bokmal and Nynorsk hyphenation patterns") (description "This package provides hyphenation patterns for Norwegian Bokmal and Nynorsk in T1/EC and UTF-8 encodings.") @@ -1940,7 +1824,7 @@ Bokmal and Nynorsk in T1/EC and UTF-8 encodings.") "texlive-hyphen-occitan" "oc" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-oc.tex") (base32 - "1y6j6ac9ncn79p7hnp6mdwdsw9ij14zyjby5iwdhpvzzn7yyc7p8"))) + "0vhjbq2nr58vhqwwky3cwx4dqiwjmmfwp81rb65mfpf0m8yypdfg"))) (synopsis "Occitan hyphenation patterns") (description "This package provides hyphenation patterns for Occitan in T1/EC and UTF-8 encodings. They are supposed to be valid for all the Occitan @@ -1949,13 +1833,26 @@ It ranges from the Val d'Aran within Catalunya, to the South Western Italian Alps encompassing the southern half of the French pentagon.") (license license:lppl1.0+))) +(define-public texlive-hyphen-pali + (package + (inherit (texlive-hyphen-package + "texlive-hyphen-pali" "pi" + (list "/tex/generic/hyph-utf8/patterns/tex/hyph-pi.tex") + (base32 + "1fak853s4ijdqgrnhwymaq1lh8jab3qfyxapdmf6qpg6bqd20kxq"))) + (synopsis "Panjabi hyphenation patterns") + (description "This package provides hyphenation patterns for Panjabi in +T1/EC encoding.") + ;; Can be used with either license. + (license (list license:expat license:lgpl3+ license:gpl3+)))) + (define-public texlive-hyphen-piedmontese (package (inherit (texlive-hyphen-package "texlive-hyphen-piedmontese" "pms" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-pms.tex") (base32 - "00fqzymkg374r3dzf1y82k6b18bqrf688vnjv0vkvw5a45srlb5r"))) + "0xva3l2gwzkqw1sz64k5g5iprhdyr27w1mv8rxp8x62i5y3aqr1k"))) (synopsis "Piedmontese hyphenation patterns") (description "This package provides hyphenation patterns for Piedmontese in ASCII encoding. Compliant with 'Gramatica dla lengua piemonteisa' by @@ -1968,7 +1865,7 @@ Camillo Brero.") "texlive-hyphen-polish" "pl" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-pl.tex") (base32 - "0dzq8ca96q7m5bslh51x8d30pdb86glh2gn3mmvq5ip813ckwh3s"))) + "1c22g99isxapv4xjrmsw24hhp1xb83wbgcxyd8j24mxdnizywxzm"))) (synopsis "Polish hyphenation patterns") (description "This package provides hyphenation patterns for Polish in QX and UTF-8 encodings.") @@ -1981,7 +1878,7 @@ and UTF-8 encodings.") "texlive-hyphen-portuguese" "pt" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-pt.tex") (base32 - "1waxrmm33fd2qfc4kiaiblg8kwzasrvgq4j3l14z733d0hlg4rfz"))) + "00rkjy4p7893zs940bq3s4hp7al0skgxqggj5qfax0bx8karf30b"))) (synopsis "Portuguese hyphenation patterns") (description "This package provides hyphenation patterns for Portuguese in T1/EC and UTF-8 encodings.") @@ -1993,7 +1890,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-romanian" "ro" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-ro.tex") (base32 - "12i1vryl51yhdpj163ahfyiy21rjmf4gkqgslpriirdjmyrwrs65"))) + "1ykb5v7ip6p3n34wq8qypfyrap4gg946by5rsl6ab0k5gv6ypsbf"))) (synopsis "Romanian hyphenation patterns") (description "This package provides hyphenation patterns for Romanian in T1/EC and UTF-8 encodings.") @@ -2006,7 +1903,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-romansh" "rm" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-rm.tex") (base32 - "06wan8i4appc1zfvc0q4cgnfv1nj0qgk02w3sg56zc11hf8sywl9"))) + "0a1q9p6sp5n6a9w6xhwk03vmkrrmnh2md7g1k4qhnf0dc4h7dy9r"))) (synopsis "Romansh hyphenation patterns") (description "This package provides hyphenation patterns for Romansh in ASCII encodings. They are supposed to comply with the rules indicated by the @@ -2019,7 +1916,7 @@ Lia Rumantscha (Romansh language society).") "texlive-hyphen-russian" "ru" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-ru.tex") (base32 - "09s4vq23x4vff08ykmf08dvcdradjzzwvyys8p2wk6jxaqp980s3"))) + "00sy7qh5f8ryxw36fwbyd1yi2hxhv7hmk99yp7dwh73n4mxv6lpl"))) (synopsis "Russian hyphenation patterns") (description "This package provides hyphenation patterns for Russian in T2A and UTF-8 encodings.") @@ -2032,7 +1929,7 @@ T2A and UTF-8 encodings.") (list "/doc/generic/hyph-utf8/sa/hyphenmin.txt" "/tex/generic/hyph-utf8/patterns/tex/hyph-sa.tex") (base32 - "0grnn09l4i5yridx10yhm6dg9sbhgc2pmsp1p6hrcy7lzkqwdvs3"))) + "0gi2qk0wf388h9n25gzhv0cdz67ph83wal8h3iz2sqnpdjsw8kpc"))) (synopsis "Sanskrit hyphenation patterns") (description "This package provides hyphenation patterns for Sanskrit and Prakrit in longdesc transliteration, and in Devanagari, Bengali, Kannada, @@ -2049,7 +1946,7 @@ Malayalam longdesc and Telugu scripts for Unicode engines.") "/tex/generic/hyph-utf8/patterns/tex/hyph-sh-latn.tex" "/tex/generic/hyph-utf8/patterns/tex/hyph-sr-cyrl.tex") (base32 - "0fhdfydyaspb8dwirlf24vn7y9dzwmhsld0mmw0fz1lmcfaj252n"))) + "0pwc9z0m5y6acq1vqm0da9akg156jbhxzvsfp2f8bsz5b99y5z45"))) (synopsis "Serbian hyphenation patterns") (description "This package provides hyphenation patterns for Serbian in T1/EC, T2A and UTF-8 encodings.") @@ -2062,7 +1959,7 @@ T1/EC, T2A and UTF-8 encodings.") "texlive-hyphen-slovak" "sk" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-sk.tex") (base32 - "1cgw6fmyci3za3vsa49b6m74wqv582w0rpca7s9xva3hqm1m5qdg"))) + "0ppp53bbclp5c8wvx748krvrp5y5053khgkjnnv966a90fvp3vgd"))) (synopsis "Slovak hyphenation patterns") (description "This package provides hyphenation patterns for Slovak in T1/EC and UTF-8 encodings.") @@ -2074,7 +1971,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-slovenian" "sl" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-sl.tex") (base32 - "1ixf2pxir9xf1gggq9k28xxglsq9bwqlghd9cl4amk5vrn5bjbds"))) + "02n8l9yf4hqyhbpsc1n6b2mggy09z6lq4dcb8ndiwawb6h0mp7s4"))) (synopsis "Slovenian hyphenation patterns") (description "This package provides hyphenation patterns for Slovenian in T1/EC and UTF-8 encodings.") @@ -2090,7 +1987,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-spanish" "es" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-es.tex") (base32 - "0jgs0zzyk2wwrjbx2hqdh5qggrnik9xmsxygbfhlb7gdrcrs0mbj"))) + "1h3yg9vcq0lf7hxv0ahkqmyg269dxjs8m2mz8sgz5l1fxmvahvaj"))) (synopsis "Hyphenation patterns for Spanish") (description "The package provides hyphenation patterns for Spanish in T1/EC and UTF-8 encodings.") @@ -2102,7 +1999,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-swedish" "sv" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-sv.tex") (base32 - "12sf9f43zwyzb4cn57yry8r4zmwdc7cfdljn3qwxwrny4m3sw4w8"))) + "1n7incy7n24pix1q2i8c3h7i78zpql5ayhskavlmy6mhd7ayncaw"))) (synopsis "Swedish hyphenation patterns") (description "This package provides hyphenation patterns for Swedish in T1/EC and UTF-8 encodings.") @@ -2114,7 +2011,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-thai" "th" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-th.tex") (base32 - "15k1n4xdw8zzd5nrh76s53z4j95gxa4i2h1av5gx5vrjgblzzl97"))) + "00gxcs4jfqifd5cnrjipn77m73fmpw2qms4lp216jj3kz4a7h9kf"))) (synopsis "Thai hyphenation patterns") (description "This package provides hyphenation patterns for Thai in LTH and UTF-8 encodings.") @@ -2123,33 +2020,11 @@ and UTF-8 encodings.") (define-public texlive-hyphen-turkish (let ((template (texlive-hyphen-package "texlive-hyphen-turkish" "tr" - (list "/source/generic/hyph-utf8/languages/tr/generate_patterns_tr.rb") + (list "/tex/generic/hyph-utf8/patterns/tex/hyph-tr.tex") (base32 - "0rvlhs2z2sn312lqsf44bzknid5dry7d2sl2q1whfvr0y4qj1g8f")))) + "04sihjgpm31i5bi67rrfp15w3imn7hxwwk70v0vhx053ghxy72vh")))) (package (inherit template) - (arguments - (substitute-keyword-arguments (package-arguments template) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'build 'build-patterns - (lambda _ - (let ((target (string-append (getcwd) - "/tex/generic/hyph-utf8/patterns/tex"))) - (mkdir-p target) - (with-directory-excursion "source/generic/hyph-utf8/languages/tr/" - (substitute* "generate_patterns_tr.rb" - (("\\$file = File.new.*") - (string-append "$file = File.new(\"" target - "/hyph-tr.tex\",\"w\")\n"))) - (invoke "ruby" "generate_patterns_tr.rb")) - #t))) - (add-after 'install 'install-hyph-tr.tex - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (target (string-append out "/share/texmf-dist/tex"))) - (copy-recursively "tex" target) - #t))))))) (synopsis "Hyphenation patterns for Turkish") (description "The package provides hyphenation patterns for Turkish in T1/EC and UTF-8 encodings. The patterns for Turkish were first produced for @@ -2162,37 +2037,15 @@ compatibility with 8-bit engines.") (define-public texlive-hyphen-turkmen (let ((template (texlive-hyphen-package "texlive-hyphen-turkmen" "tk" - (list "/source/generic/hyph-utf8/languages/tk/generate_patterns_tk.rb") + (list "/tex/generic/hyph-utf8/patterns/tex/hyph-tk.tex") (base32 - "1wlqx8wb0wsqhdv823brc3i8w1vf4m4bkb2vg917j5dq8p8p71aw")))) + "0g5ip2lw9g47s61mv3cypswc6qm7zy9c4iqq4h19ysvds81adzkr")))) (package (inherit template) - (arguments - (substitute-keyword-arguments (package-arguments template) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'build 'build-patterns - (lambda _ - (let ((target (string-append (getcwd) - "/tex/generic/hyph-utf8/patterns/tex"))) - (mkdir-p target) - (with-directory-excursion "source/generic/hyph-utf8/languages/tk/" - (substitute* "generate_patterns_tk.rb" - (("\\$file = File.new.*") - (string-append "$file = File.new(\"" target - "/hyph-tr.tex\",\"w\")\n"))) - (invoke "ruby" "generate_patterns_tk.rb")) - #t))) - (add-after 'install 'install-hyph-tk.tex - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (target (string-append out "/share/texmf-dist/tex"))) - (copy-recursively "tex" target) - #t))))))) (synopsis "Hyphenation patterns for Turkmen") (description "The package provides hyphenation patterns for Turkmen in T1/EC and UTF-8 encodings.") - (license license:public-domain)))) + (license license:expat)))) (define-public texlive-hyphen-ukrainian (package @@ -2200,7 +2053,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-ukrainian" "uk" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-uk.tex") (base32 - "17z0gmw5svsf5zlhjkckwk4y21g7prfwj473jlqnwcsr8a941gsf"))) + "0fbfhx1fmbshxr4ihsjaqgx251h69h7i288p8gh3w6ysgxr53p60"))) (synopsis "Ukrainian hyphenation patterns") (description "This package provides hyphenation patterns for Ukrainian in T2A and UTF-8 encodings.") @@ -2213,7 +2066,7 @@ T2A and UTF-8 encodings.") "texlive-hyphen-uppersorbian" "hsb" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-hsb.tex") (base32 - "1q42s32cfbynlnzn9hpcldi77fszi5xkn1c85l8xqjmfydqbqdyi"))) + "0x0051wph3sqmzzw6prvjy6bp7gn02rbmys1bmbc210jk3pkylfj"))) (synopsis "Upper Sorbian hyphenation patterns") (description "This package provides hyphenation patterns for Upper Sorbian in T1/EC and UTF-8 encodings.") @@ -2225,7 +2078,7 @@ in T1/EC and UTF-8 encodings.") "texlive-hyphen-welsh" "cy" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-cy.tex") (base32 - "0h8yjj5zdg0hvpb2vx9gi376536nl59hp8w286z1a13diaayg1m2"))) + "1bpxp3jiifdw7waw2idz5j9xgi3526nkxm8mbmsspr4mlf2xyr76"))) (synopsis "Welsh hyphenation patterns") (description "This package provides hyphenation patterns for Welsh in T1/EC and UTF-8 encodings.") @@ -2254,7 +2107,7 @@ T1/EC and UTF-8 encodings.") "/doc/generic/hyph-utf8/img/miktex-languages.png" "/doc/generic/hyph-utf8/img/texlive-collection.png") (base32 - "10y8svgk68sivmgzrv8gv137r7kv49cs256cq2wja9ms437pxvbj"))) + "1bar5mc808ch20anhqrdxcwiych359qsvr7mggxpg2l2kq5xdyq0"))) (outputs '("out" "doc")) (build-system gnu-build-system) (arguments @@ -2387,7 +2240,7 @@ converters, will completely supplant the older patterns.") (list "/tex/generic/dehyph-exptl/" "/doc/generic/dehyph-exptl/") (base32 - "1w2danvvy2f52hcb4acvjks53kcanwxr9s990fap6mj279hpgmh2") + "1fnqc63gz8gvdyfz45bx8dxn1r1rwrypahs3bqd2vlc8ff76xp86") #:trivial? #t)) (propagated-inputs `(("texlive-hyphen-base" ,texlive-hyphen-base) @@ -2494,7 +2347,7 @@ UCY (Omega Unicode Cyrillic), LCY, LWN (OT2), and koi8-r.") "/web2c/tcvn-t5.tcx" "/web2c/viscii-t5.tcx") (base32 - "0ajfp9kr330lcm2ymr3kl9zn6y2xjkrzpa0c0azc4qdm5jllawb9") + "191i8n3g46p53bb9dkx2ggwpzy7skgg0pbklsrpx8x4ayd86wcaf") #:trivial? #t)) (home-page "https://www.tug.org/texlive/") (synopsis "Files related to the path searching library for TeX") @@ -2527,18 +2380,16 @@ formats.") ;; these are not: "/tex/latex/base/idx.tex" "/tex/latex/base/lablst.tex" - "/tex/latex/base/lppl.tex" "/tex/latex/base/ltnews.cls" "/tex/latex/base/ltxcheck.tex" "/tex/latex/base/ltxguide.cls" "/tex/latex/base/minimal.cls" "/tex/latex/base/sample2e.tex" "/tex/latex/base/small2e.tex" - "/tex/latex/base/source2e.tex" "/tex/latex/base/testpage.tex" "/tex/latex/base/texsys.cfg") (base32 - "0f8d41wk1gb7i6xq1a10drwhhayc50pg9nwzjkrqnxrv0pcc08w5") + "0m0gjb4hbsf2iqkkx3px4f28r2scjvsjv4zb2whkbnb44apyw1f0") #:trivial? #t))) (package (inherit template) @@ -2551,6 +2402,13 @@ formats.") (srfi srfi-26))) ((#:phases phases) `(modify-phases ,phases + ;; The literal tab in the dtx file is translated to the string + ;; "^^I" in the generated Lua file, which causes a syntax error. + (add-after 'unpack 'fix-lua-sources + (lambda _ + (substitute* "source/latex/base/ltluatex.dtx" + ((" ") " ")) + #t)) (replace 'build (lambda* (#:key inputs #:allow-other-keys) ;; Find required fonts @@ -2593,6 +2451,7 @@ formats.") '("aleph aleph" "lamed aleph" "uptex uptex" "euptex euptex" "eptex eptex" "ptex ptex" "pdfxmltex pdftex" "platex eptex" "csplain pdftex" "mf mf-nowin" "mex pdftex" "pdfmex pdftex" + "luacsplain luatex" "cont-en xetex" "cont-en pdftex" "pdfcsplain xetex" "pdfcsplain pdftex" "pdfcsplain luatex" "cslatex pdftex" "mptopdf pdftex" "uplatex euptex" "jadetex pdftex" @@ -2651,7 +2510,7 @@ formats.") "/tex/generic/config/luatexiniconfig.tex" "/web2c/texmfcnf.lua") (base32 - "0cs67a8wwh4s5p5gn8l49jyccgy7glw8mfq5klgn3dfsl2fdlhk7"))))) + "1gi87wy12r8w8fhx9ajcid382dmqzf6b9070b5nndvbbjrvhwf23"))))) (propagated-inputs `(("texlive-dehyph-exptl" ,texlive-dehyph-exptl) ("texlive-etex" ,texlive-etex) @@ -2696,6 +2555,7 @@ formats.") ("texlive-hyphen-mongolian" ,texlive-hyphen-mongolian) ("texlive-hyphen-norwegian" ,texlive-hyphen-norwegian) ("texlive-hyphen-occitan" ,texlive-hyphen-occitan) + ("texlive-hyphen-pali" ,texlive-hyphen-pali) ("texlive-hyphen-piedmontese" ,texlive-hyphen-piedmontese) ("texlive-hyphen-polish" ,texlive-hyphen-polish) ("texlive-hyphen-portuguese" ,texlive-hyphen-portuguese) @@ -2737,7 +2597,7 @@ contain.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0swkbxv8vg0yizadfnvrwjb4cj0pn34v9wm6v7wqq903fdav7k7q")))) + "1h78zw0vhldx478zs4v86ajg7vpkysd1kg3npc480qqls3q6ba40")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/filecontents")) (home-page "https://www.ctan.org/pkg/filecontents") @@ -2802,19 +2662,13 @@ users, via its Plain TeX version.)") (define-public texlive-latex-fancyvrb (package - (name "texlive-latex-fancyvrb") - (version (number->string %texlive-revision)) - (source (origin - (method svn-fetch) - (uri (texlive-ref "latex" "fancyvrb")) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "03l7140y031rr14h02i4z9zqsfvrbn7wzwxbjsrjcgrk6sdr71wv")))) - (build-system texlive-build-system) - (arguments - '(#:tex-directory "latex/fancyvrb" - #:tex-format "latex")) + (inherit (simple-texlive-package + "texlive-latex-fancyvrb" + (list "/doc/latex/fancyvrb/README" + "/tex/latex/fancyvrb/") + (base32 + "1dwkcradz9nwpjwmv1sjzn77lvw25ypr0rrgmf1kd8pd2mw7dxcn") + #:trivial? #t)) (home-page "https://www.ctan.org/pkg/fancyvrb") (synopsis "Sophisticated verbatim text") (description @@ -2967,7 +2821,7 @@ pdf and HTML backends. The package is distributed with the @code{backref} and (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1m9fg8ddhpsl1212igr9a9fmj012lv780aghjn6fpidg2wqrffmn")))) + "0pi2d6gsddcs9wprdbar46s91kdc5fxl1m79g7xrbccsx8s9xbml")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/oberdiek" @@ -3000,7 +2854,7 @@ arrows; record information about document class(es) used; and many more.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0vj7h1fgf1396h4qjdc2m07y08i54gbbfrxl8y327cn3r1n093s6")))) + "1wqvn4z0s92h5iqzrvxw7hinzp95avjk9v8lnqbqr4kz6nv4xb9l")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/tools" @@ -3069,7 +2923,7 @@ Live distribution.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0p3fsxap1ilwjz356aq4s5ygwvdscis8bh93g8klf8mhrd8cr2jy")))) + "0s77z2cbv841l45qrpf0s8qhzfa4wi689lg7zkw88qg18nzvy0ly")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/l3kernel")) @@ -3093,7 +2947,7 @@ that the LaTeX3 conventions can be used with regular LaTeX 2e packages.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0pyx0hffiyss363vv7fkrcdiaf7p099xnq0mngzqc7v8v9q849hs")))) + "1cv4fk9pabh7mkxhfsdmh4k8xpmzg1psgcsvd11c869m7n3a629h")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/l3packages" @@ -3148,7 +3002,7 @@ programming tools and kernel support. Packages provided in this release are: (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1p0mkn6iywl0k4m9cx3hnhylpi499inisff3f72pcf349baqsnvq")))) + "1223cw029n6zff7pqpwbsq1x8v3w63smczkmnybqxkw5h2za8gbz")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/fontspec" @@ -3331,7 +3185,7 @@ loading fonts by their proper names instead of file names.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0arvk7gn32mshnfdad5qkgf3i1arxq77k3vq7wnpm4nwnrzclxal")))) + "0qgk2332dacsxn1z95qzp35gbs7wrzl1ipjdhnmk1r897msm4sf5")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/amsmath")) (home-page "https://www.ctan.org/pkg/amsmath") @@ -3384,7 +3238,7 @@ distribution.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0yhlfiz3fjc8jd46f1zrjj4jig48l8rrzh8cmd8ammml8z9a01z6")))) + "1rwqq841i1rxywymzwkw0cw2yhgvxwjx5mgygfasvypwrwll6f6s")))) (build-system texlive-build-system) (arguments '(#:tex-directory "generic/babel" @@ -3441,7 +3295,7 @@ for Canadian and USA text.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0h47s67gnhdaxfgbf8pirp5vw4z6rrhxl8zav803yjxka0096i3y")))) + "129f9w41cb6yyrr6kpv3zz9ml6334hyq1wcz7j9jn47p0hlxqfk8")))) (build-system texlive-build-system) (arguments '(#:tex-directory "generic/babel-german")) (home-page "https://www.ctan.org/pkg/babel-german") @@ -3655,7 +3509,7 @@ standard LaTeX packages." (number->string %texlive-revision))) (sha256 (base32 - "06mwpy5i218g5k3sf4gba0fmxgas82hkzx9fhwn67z5ik37d8apq")))))) + "0faqknqxs80qp9ywk0by5k85s0yalg97c4lja4q56lsyblrr4j7i")))))) (home-page (package-home-page texlive-bin)) (synopsis "Union of TeX Live packages") (description "This package provides a subset of the TeX Live @@ -4130,10 +3984,10 @@ to something that's not a float.") (package (inherit (simple-texlive-package "texlive-doi" - (list "/doc/latex/doi/README" + (list "/doc/latex/doi/README.md" "/tex/latex/doi/") (base32 - "17lnnhfmb8g4nh4fnyc9616h8xg3vjrzmlvfmlfqwwlfpma9xnnw") + "18z9922lqb3hliqn95h883fndqs4lgyi5yqbnq2932ya0imc3j7h") #:trivial? #t)) (home-page "https://www.ctan.org/pkg/doi") (synopsis "Create correct hyperlinks for DOI numbers") @@ -4157,7 +4011,7 @@ hyperlink to the target of the DOI.") (list "/doc/latex/etoolbox/" "/tex/latex/etoolbox/") (base32 - "1qg4x5r4ibinl6zy5lq70lv4zcrjsn54n6hwv31k5kl7mwv0mvr3") + "1cc1vw1ach55g4ff4x30by8k1mg01w199ccxvn72f5khlnnxial0") #:trivial? #t)) (home-page "https://www.ctan.org/pkg/etoolbox") (synopsis "e-TeX tools for LaTeX") @@ -4259,7 +4113,7 @@ course of the framed/shaded matter. There is also a command (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0sikazkg0dpkcpzlbqw8qzxr81paf2f443vsrh14jnw7s4gswvc5")))) + "1br4kv9y17cvngp83ykpvy7gy3jqfan5plk7sggcgbdfhndi5dsr")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/g-brief" @@ -4332,7 +4186,7 @@ BibLaTeX, and is considered experimental.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0yw6bjfgsli3s1dldsgb7mkr7lnk329cgdjbgs8z2xn59pmmdsn4")))) + "0a8f38c2ds1flxcr0apdpyaaz3k6fyalz6dkbrmcv9srjc40mh3n")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/geometry")) (propagated-inputs @@ -4383,7 +4237,7 @@ array environments; verbatim handling; and syntax diagrams.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "03ma58z3ypsbp7zgkzb1ylpn2ygr27cxzkf042ns0rif4g8s491f")))) + "0na7v4hsyx5s67cpjj2dbnq8j67k8lln6b19hmj631gfs27slss1")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/polyglossia")) (home-page "https://www.ctan.org/pkg/polyglossia") @@ -4429,7 +4283,7 @@ situations where longtable has problems.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "06cf821y1j7jdg93pb41ayigrfwgn0y49d7w1025zlijjxi6bvjp")))) + "16jy02m089m7n6v9vbfi4xjgngc1fnvsmmppk8axfwzbhdky3c9c")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -4603,7 +4457,7 @@ copy-and-paste functions work properly.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "190pmq8la2rq07xry8bn8z8yywzxv6fqyqaj7yjfj5rgw6x0mas8")))) + "16vd99p01a0y30xr5yf1z2j5da9x8gy21vb30wk08jh31zffbaqj")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/colortbl")) (home-page "https://www.ctan.org/pkg/colortbl") @@ -4662,7 +4516,7 @@ floats, center, flushleft, and flushright, lists, and pages.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1xsnzx7vgdfh9zh2m7bjz6bgdpxsgb1kyc19p50vhs34x5nbgsnr")))) + "0hrwspqkqfahxyzzsnjyrxlgxj06zw1f3636gx76pvl4xhvdj1cj")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -4740,7 +4594,7 @@ footnotes with symbols rather than numbers.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1nsn9wp3wl12b36c0sqrim33lf33cr5wky0h4ncnw8lvqgm7h8wf")))) + "1fbrhqj22vzakn30j71fc41l8nliqbv1dmxm0zlwi2qjjbq6fwav")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/listings" @@ -4874,7 +4728,7 @@ fonts are available in (traced) Adobe Type 1 format, as part of the set, Latin Modern, is not actually a direct development of the EC set, and differs from the EC in a number of particulars.") (license (license:fsf-free "https://www.tug.org/svn/texlive/tags/\ -texlive-2018.2/Master/texmf-dist/doc/fonts/ec/copyrite.txt")))) +texlive-2019.3/Master/texmf-dist/doc/fonts/ec/copyrite.txt")))) ;; FIXME: the fonts should be built from source, but running "tex aefonts.tex" ;; fails with obscure TeX-typical error messages. @@ -5069,7 +4923,7 @@ one of the packages @code{calrsfs} and @code{mathrsfs}.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1xvmms28mvvfpks9x7lfya2xhh5k8jy3qnlih1mzcnf156xnb89z")))) + "0y2y08kr3w6asm9lblj9yywqmhaal36fq71zzcbfsc7cvwf641q7")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/eso-pic")) (home-page "https://www.ctan.org/pkg/eso-pic") @@ -5131,7 +4985,7 @@ splines, and filled circles and ellipses. The package uses @code{tpic} (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0q24b1bkdi9l6bw787bpggww83jh2vj8955aw2m5yccqbx4vgr5r")))) + "1vm9xp67hzif0pqab4r3ialf0cyhi0fa4p8kxgp1ymcf85pqip14")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -5163,7 +5017,7 @@ in the form @code{key=value} are available, for example: (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0qlxy47f1f8plgch3jqfsnrdgpyz20sz46yp33i2jwvf9hvfczf0")))) + "07vbcp6avdwldr870cwf65av2s9lfyzcpp8gpld53yw6lcxgaipj")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/multirow")) (home-page "https://www.ctan.org/pkg/multirow") @@ -5188,7 +5042,7 @@ entry at the \"natural\" width of its text.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1rpx4ibjncj5416rg19v0xjbj3z9avhfdfn2gzp8r8sz9vz25c6g")))) + "1pr6ym3ad7x14ng7gmhsmywh3685d2cnm5qgyrqbigng2r6fcc1k")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -5224,7 +5078,7 @@ positions; a grid for orientation is available.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "14r6h9hqb0qgccxj5l1208694fx8sb8avmgzps36lsbbpszl7i7m")))) + "0j1fhm1m9k6rz80lmch3x44g20y9nm4abaaf8czb0q8hzwlx5aq5")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -5575,7 +5429,7 @@ OT2 encoded fonts, CM bright shaped fonts and Concrete shaped fonts.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0sf18pc6chgy26p9bxxn44xcqhzjrfb53jxjr2y7l3jb6xllhblq")))) + "1xyd57c8z1xi0kbqpbad61flcazz68i9ssxrag0gjvci3irxi8xh")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -5604,7 +5458,7 @@ than the bitmaps Metafont creates.") (uri (texlive-ref "latex" "acmart")) (sha256 (base32 - "0n62cs8dhcbn29y9ij1nnyigzr76yhk36kyahhqkkmvbafbys9s7")) + "18rl67p2zhngskisnhv78mksv8q8q658l6igkswzswldixmkpphq")) (file-name (string-append name "-" version "-checkout")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/acmart")) @@ -5842,7 +5696,7 @@ e-TeX.") (file-name (string-append name "-map-" version "-checkout")) (sha256 (base32 - "18jvcm0vwpg6wwzijvnb92xx78la45kkh71k6l44425krp2vnwm0")))))) + "03rfif2631pgd8g1ar4xblcdh078kky7fvw3kfsj5a47rxxgicp2")))))) (home-page "https://www.ctan.org/pkg/pdftex") (synopsis "TeX extension for direct creation of PDF") (description @@ -5853,7 +5707,7 @@ directly generate PDF documents instead of DVI.") (define texlive-texmf (package (name "texlive-texmf") - (version "20180414") + (version "20190410") (source texlive-texmf-src) (build-system gnu-build-system) (inputs @@ -5930,7 +5784,7 @@ This package contains the complete tree of texmf-dist data.") (define-public texlive (package (name "texlive") - (version "20180414") + (version "20190410") (source #f) (build-system trivial-build-system) (inputs `(("bash" ,bash) ; for wrap-program @@ -6336,7 +6190,7 @@ required: automatic sectioning and pagination, spell checking and so forth.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0lhb2h5hxjq9alpk4r3gvg21pwyifs4ah6hqzp92k55mkp1xv73j")))) + "0s86v2b6b1vky1svmmn8pn0l2gz3v280mvjbr2d9l2sjyarlgz9w")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -6376,7 +6230,7 @@ specification. It replaces the now obsolete @code{movie15} package.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0zp00jg058djx8xp0xqwas92y3j97clkyd8z6pqr890yqy06myqb")))) + "1yhp51w8yr10c10pc9196q7hlw80brzqinnqbjw81d0sf2p0llc5")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -6577,7 +6431,7 @@ striking out (line through words) and crossing out (/// over words).") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1dq8p10pz8wn0vx412m7d7d5gj1syxly3yqdqvf7lv2xl8zndn5h")))) + "1dscrgwyr71vgx35mzb316xl669arzagfgq50fdv3nxga63959b3")))) (build-system trivial-build-system) (native-inputs `(("texlive-latex-pgf-generic" @@ -6591,7 +6445,7 @@ striking out (line through words) and crossing out (/// over words).") (file-name (string-append "texlive-latex-pgf-generic" version "-checkout")) (sha256 (base32 - "0xkxw26sjzr5npjpzpr28yygwdbhzpdd0hsk80gjpidhcxmz393i")))))) + "0hk5x2j15n4pps279cmkbjl1dvhasq3mbhna5xdvp2qgh635ahks")))))) (propagated-inputs `(("texlive-latex-xcolor" ,texlive-latex-xcolor))) (arguments @@ -6635,7 +6489,7 @@ produce either PostScript or PDF output.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0nqwf0sr4mf3v9gqa6apv6ml2xhcdwax0vgyf12a672g7rpdyvgm")))) + "1vz9zg7s5w52xr323zgglzprfrvba2zvyzf6b8vrdf4wdghlpv4z")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils) @@ -6695,7 +6549,7 @@ typearea (which are the main parts of the bundle).") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0hs28fc0v2l92ad9las9b8xcckyrdrwmyhcx1yzmbr6s7s6nvsx8")))) + "1x4wnpca97rnbvvg6wjmbkxxvnfva274q9ahzx746b435q93z3i1")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -6884,7 +6738,7 @@ AMS-LaTeX, AMS-TeX, and plain TeX). The distribution includes Michael Barr's (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0hnbs0s1znbn32hfcsyijl39z81sdb00jf092a4blqz421qs2mbv")))) + "1wijqq605cbhn2bdaryby3xpkwmnk9ixcrjn5zwlfrxbgfblzfmz")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -6943,7 +6797,7 @@ Support for use with LaTeX is available in @code{freenfss}, part of (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0rlx4qqijms1n64gjx475kvip8l322fh7v17zkmwp1l1g0w3vlyz")))) + "0d7d74giz5knvj4rj6mbzd6c05mwg9jrxab86jxdqbc3jy7cl4kz")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -6969,7 +6823,7 @@ of support information.") (list "/doc/latex/beamer/" "/tex/latex/beamer/") (base32 - "00z1a32wkz1ffif7dc8h3ar2fn2hlvfnljgim2szjam2k14l82x3") + "1fqzbkmw2kfxihab8j4dadc3v68xap6v2ghpp2064fna47xlwy1c") #:trivial? #t)) (propagated-inputs `(("texlive-latex-hyperref" ,texlive-latex-hyperref) @@ -7028,7 +6882,7 @@ the file to which it applies.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0ikxg8yzq78hy5b9x13d4nah46d0yvmwlqmdri06pygbx116dcac")))) + "18294h0cr05fs424m3x6aq24z5hf5zmiflalkj4kvpmsyyqqsj74")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/pdfx" @@ -7062,7 +6916,7 @@ the file to which it applies.") (file-name (string-append "texlive-tex-latex-pdfx-" version "-checkout")) (sha256 (base32 - "14j1zsvqc59ims3sk34v6km8db6cimks28y5fcxcr5mi2ykvj4vf")))))) + "171ffvpkj2fab4ljcxv3l6l5c8ga8zavdhmhfq07id8zyyr619ip")))))) (home-page "https://www.ctan.org/pkg/pdfx") (synopsis "PDF/X and PDF/A support for pdfTeX, LuaTeX and XeTeX") (description @@ -7126,7 +6980,7 @@ change.") "/tex/generic/pstricks/" "/tex/latex/pstricks/") (base32 - "04566354c77claxl1sznc490cda0m5gaa5ck6ms4q7mm44rj3rzk") + "0sdxdd0qi4sccw9il7d4s7jivs24pq99cdzfnrf0gkqjb1y8s7cl") #:trivial? #t))) (package (inherit template) @@ -7150,12 +7004,11 @@ or shading the cells of tables.") (let ((template (simple-texlive-package "texlive-pst-text" (list "/doc/generic/pst-text/" - "/source/generic/pst-text/Makefile" "/dvips/pst-text/pst-text.pro" "/tex/generic/pst-text/" "/tex/latex/pst-text/") (base32 - "0s2bbkdfy0shqrrkjflrn0x0pnvxzbdc38pjbdfw46wnmnxrnasm") + "146fpzd1xlqi94q5r48z8ni8qww713yh6nwkbr9pw27mjrqdadb9") #:trivial? #t))) (package (inherit template) @@ -7194,7 +7047,7 @@ LuaTeX (respectively) is not the engine in use.") (list "/doc/latex/tools/" "/source/latex/tools/") (base32 - "0v3zqcpy0w5bzy1xdcv1wnxbmxrn1j6x03h3y2af7qmjggph2a09")))) + "1ivhij7171wvrgcjn4wah84wxwpd21d0chh3zxab4pj067c8d0mh")))) (package (inherit template) (arguments @@ -7337,7 +7190,7 @@ The behaviour in standalone mode may adjusted using a configuration file (list "/source/latex/siunitx/siunitx.dtx" "/doc/latex/siunitx/README.md") (base32 - "0dmljnxgv2bwl3mi74iil41q03swvrm1b0ziwxlhc4m9lx31b1q1"))) + "11kf6znkgw7y5qmw75qk6px6pqf57bwr53q0673zaiyq20lif96c"))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/siunitx" diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm index 6f0aeac534..acb607a7da 100644 --- a/gnu/packages/texinfo.scm +++ b/gnu/packages/texinfo.scm @@ -4,6 +4,8 @@ ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2017, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2019 Pierre-Moana Levesque <pierre.moana.levesque@gmail.com> +;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,10 +23,12 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages texinfo) + #:use-module (gnu packages autotools) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix utils) #:use-module (guix download) + #:use-module (guix utils) #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (gnu packages) @@ -38,17 +42,37 @@ (define-public texinfo (package (name "texinfo") - (version "6.6") + (version "6.7") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/texinfo/texinfo-" version ".tar.xz")) (sha256 (base32 - "0rixv4c301djr0d0cnsxs8c1wjndi6bf9vi5axz6mwjkv80cmfcv")))) + "1aicn1v3czqii08wc91jw089n1x3gfchkf808q2as59dak0h714q")))) (build-system gnu-build-system) - (inputs `(("ncurses" ,ncurses) - ("perl" ,perl))) + (arguments + ;; When cross-compiling, the package is configured twice: once with the + ;; native compiler and once with the cross-compiler. During the configure + ;; with the native compiler, the environment is reset. This leads to + ;; multiple environment variables missing. Do not reset the environment + ;; to prevent that. + (if (%current-target-system) + '(#:phases + (modify-phases %standard-phases + (add-before 'configure 'fix-cross-configure + (lambda _ + (substitute* "configure" + (("env -i") + "env ")) + #t)))) + '())) + (inputs `(("ncurses" ,ncurses))) + ;; When cross-compiling, texinfo will build some of its own binaries with + ;; the native compiler. This means ncurses is needed both in both inputs + ;; and native-inputs. + (native-inputs `(("perl" ,perl) + ("ncurses" ,ncurses))) (native-search-paths ;; This is the variable used by the standalone Info reader. @@ -67,18 +91,6 @@ their source and the command-line Info reader. The emphasis of the language is on expressing the content semantically, avoiding physical markup commands.") (license gpl3+))) -(define-public texinfo-6.7 - (package - (inherit texinfo) - (version "6.7") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/texinfo/texinfo-" - version ".tar.xz")) - (sha256 - (base32 - "1aicn1v3czqii08wc91jw089n1x3gfchkf808q2as59dak0h714q")))))) - (define-public texinfo-5 (package (inherit texinfo) (version "5.2") @@ -89,8 +101,7 @@ is on expressing the content semantically, avoiding physical markup commands.") (patches (search-patches "texinfo-5-perl-compat.patch")) (sha256 (base32 - "1njfwh2z34r2c4r0iqa7v24wmjzvsfyz4vplzry8ln3479lfywal")))) - (native-inputs '()))) + "1njfwh2z34r2c4r0iqa7v24wmjzvsfyz4vplzry8ln3479lfywal")))))) (define-public texinfo-4 (package (inherit texinfo) @@ -104,8 +115,37 @@ is on expressing the content semantically, avoiding physical markup commands.") (sha256 (base32 "1rf9ckpqwixj65bw469i634897xwlgkm5i9g2hv3avl6mv7b0a3d")))) - (native-inputs '()) - (inputs `(("ncurses" ,ncurses) ("xz" ,xz))))) + (inputs `(("ncurses" ,ncurses) + ("xz" ,xz))) + (native-inputs + `(("automake" ,automake) + ,@(package-native-inputs texinfo))) + (arguments + (substitute-keyword-arguments (package-arguments texinfo) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'fix-configure + (lambda* (#:key inputs native-inputs #:allow-other-keys) + ;; Replace outdated config.sub and config.guess. + (with-directory-excursion "build-aux" + (for-each + (lambda (file) + (install-file (string-append + (assoc-ref + (or native-inputs inputs) "automake") + "/share/automake-" + ,(version-major+minor + (package-version automake)) + "/" file) ".")) + '("config.sub" "config.guess"))) + #t)) + ;; Build native version of tools before running 'build phase. + ,@(if (%current-target-system) + `((add-before 'build 'make-native-gnu-lib + (lambda* (#:key inputs #:allow-other-keys) + (invoke "make" "-C" "tools/gnulib/lib") + #t))) + '()))))))) (define-public info-reader ;; The idea of this package is to have the standalone Info reader without @@ -114,32 +154,32 @@ is on expressing the content semantically, avoiding physical markup commands.") (inherit texinfo) (name "info-reader") (arguments - `(#:disallowed-references ,(assoc-ref (package-inputs texinfo) - "perl") + `(,@(substitute-keyword-arguments (package-arguments texinfo) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'install 'keep-only-info-reader + (lambda* (#:key outputs #:allow-other-keys) + ;; Remove everything but 'bin/info' and associated + ;; files. + (define (files) + (scandir "." (lambda (file) + (not (member file '("." "..")))))) + (let ((out (assoc-ref outputs "out"))) + (with-directory-excursion out + (for-each delete-file-recursively + (fold delete (files) '("bin" "share")))) + (with-directory-excursion (string-append out "/bin") + (for-each delete-file (delete "info" (files)))) + (with-directory-excursion (string-append out "/share") + (for-each delete-file-recursively + (fold delete (files) + '("info" "locale")))) + #t)))))) + #:disallowed-references ,(assoc-ref (package-inputs texinfo) + "perl") #:modules ((ice-9 ftw) (srfi srfi-1) - ,@%gnu-build-system-modules) - - #:phases (modify-phases %standard-phases - (add-after 'install 'keep-only-info-reader - (lambda* (#:key outputs #:allow-other-keys) - ;; Remove everything but 'bin/info' and associated - ;; files. - (define (files) - (scandir "." (lambda (file) - (not (member file '("." "..")))))) - - (let ((out (assoc-ref outputs "out"))) - (with-directory-excursion out - (for-each delete-file-recursively - (fold delete (files) '("bin" "share")))) - (with-directory-excursion (string-append out "/bin") - (for-each delete-file (delete "info" (files)))) - (with-directory-excursion (string-append out "/share") - (for-each delete-file-recursively - (fold delete (files) - '("info" "locale")))) - #t)))))) + ,@%gnu-build-system-modules))) (synopsis "Standalone Info documentation reader"))) (define-public texi2html diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm index 0ec9a102a5..63227d7bf5 100644 --- a/gnu/packages/time.scm +++ b/gnu/packages/time.scm @@ -166,14 +166,14 @@ Pendulum instances.") (define-public python-dateutil (package (name "python-dateutil") - (version "2.8.0") + (version "2.8.1") (source (origin (method url-fetch) (uri (pypi-uri "python-dateutil" version)) (sha256 (base32 - "17nsfhy4xdz1khrfxa61vd7pmvd5z0wa3zb6v4gb4kfnykv0b668")))) + "0g42w7k5007iv9dam6gnja2ry8ydwirh99mgdll35s12pyfzxsvk")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -190,6 +190,7 @@ Pendulum instances.") (invoke "pytest" "-vv")))))) (native-inputs `(("python-pytest" ,python-pytest) + ("python-pytest-cov" ,python-pytest-cov) ("python-setuptools-scm" ,python-setuptools-scm))) (propagated-inputs `(("python-six" ,python-six))) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 8e66cbd0b7..c7fb38f468 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> +;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -70,7 +71,7 @@ (define-public libtasn1 (package (name "libtasn1") - (version "4.14") + (version "4.16.0") (source (origin (method url-fetch) @@ -78,7 +79,7 @@ version ".tar.gz")) (sha256 (base32 - "025sqnlzji78ss2fi78dajc0v0h5fi02wp39hws41sn8qnjlnq4y")))) + "179jskl7dmfp1rd2khkzmlibzgki4wi6hvmmwfv7q49r728b03qf")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--disable-static"))) @@ -162,7 +163,7 @@ living in the same process.") (define-public gnutls (package (name "gnutls") - (version "3.6.9") + (version "3.6.12") (source (origin (method url-fetch) (uri @@ -174,7 +175,7 @@ living in the same process.") (patches (search-patches "gnutls-skip-trust-store-test.patch")) (sha256 (base32 - "1jqz5s3lv8sa53348cfi9nr5pw5l55n8m40b8msdvv0pb2jzqca3")))) + "0jvca1qahn9lrwv6f5kfs95icirc15b2a8x9fzczyj996ipg3b5z")))) (build-system gnu-build-system) (arguments `(; Ensure we don't keep a reference to this buggy software. @@ -299,8 +300,7 @@ required structures.") (define-public openssl (package (name "openssl") - (version "1.1.1c") - (replacement openssl-1.1.1d) + (version "1.1.1d") (source (origin (method url-fetch) (uri (list (string-append "https://www.openssl.org/source/openssl-" @@ -312,7 +312,7 @@ required structures.") "/openssl-" version ".tar.gz"))) (sha256 (base32 - "142c7zdlz06hjrrvinb9f276czc78bnkyhd9xma621qmmmwk1yzn")) + "1whinyw402z3b9xlb3qaxv4b9sk4w1bgh9k0y8df1z4x3yy92fhy")) (patches (search-patches "openssl-1.1-c-rehash-in.patch")))) (build-system gnu-build-system) (outputs '("out" @@ -320,9 +320,7 @@ required structures.") "static")) ;6.4 MiB of .a files (native-inputs `(("perl" ,perl))) (arguments - `(#:disallowed-references (,perl) - #:parallel-build? #f - #:parallel-tests? #f + `(#:parallel-tests? #f #:test-target "test" ;; Changes to OpenSSL sometimes cause Perl to "sneak in" to the closure, @@ -330,6 +328,23 @@ required structures.") #:disallowed-references ,(list (canonical-package perl)) #:phases (modify-phases %standard-phases + ,@(if (%current-target-system) + '((add-before + 'configure 'set-cross-compile + (lambda* (#:key target outputs #:allow-other-keys) + (setenv "CROSS_COMPILE" (string-append target "-")) + (setenv "CONFIGURE_TARGET_ARCH" + (cond + ((string-prefix? "i686" target) + "linux-x86") + ((string-prefix? "x86_64" target) + "linux-x86_64") + ((string-prefix? "arm" target) + "linux-armv4") + ((string-prefix? "aarch64" target) + "linux-aarch64"))) + #t))) + '()) (replace 'configure (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -339,7 +354,9 @@ required structures.") (("/usr/bin/env") (string-append (assoc-ref %build-inputs "coreutils") "/bin/env"))) - (invoke "./config" + (invoke ,@(if (%current-target-system) + '("./Configure") + '("./config")) "shared" ;build shared libraries "--libdir=lib" @@ -350,7 +367,10 @@ required structures.") "/share/openssl-" ,version) (string-append "--prefix=" out) - (string-append "-Wl,-rpath," lib))))) + (string-append "-Wl,-rpath," lib) + ,@(if (%current-target-system) + '((getenv "CONFIGURE_TARGET_ARCH")) + '()))))) (add-after 'install 'move-static-libraries (lambda* (#:key outputs #:allow-other-keys) ;; Move static libraries to the "static" output. @@ -402,29 +422,11 @@ required structures.") (license license:openssl) (home-page "https://www.openssl.org/"))) -(define openssl-1.1.1d - (package/inherit - openssl - (version "1.1.1d") - (source (origin - (method url-fetch) - (uri (list (string-append "https://www.openssl.org/source/openssl-" - version ".tar.gz") - (string-append "ftp://ftp.openssl.org/source/" - "openssl-" version ".tar.gz") - (string-append "ftp://ftp.openssl.org/source/old/" - (string-trim-right version char-set:letter) - "/openssl-" version ".tar.gz"))) - (patches (search-patches "openssl-1.1-c-rehash-in.patch")) - (sha256 - (base32 - "1whinyw402z3b9xlb3qaxv4b9sk4w1bgh9k0y8df1z4x3yy92fhy")))))) - (define-public openssl-1.0 (package (inherit openssl) (name "openssl") - (version "1.0.2t") + (version "1.0.2u") (source (origin (method url-fetch) (uri (list (string-append "https://www.openssl.org/source/openssl-" @@ -436,7 +438,7 @@ required structures.") "/openssl-" version ".tar.gz"))) (sha256 (base32 - "1g67ra0ph7gpz6fgvv1i96d792jmd6ymci5kk53vbikszr74djql")) + "05lxcs4hzyfqd5jn0d9p0fvqna62v2s4pc9qgmq0dpcknkzwdl7c")) (patches (search-patches "openssl-runpath.patch" "openssl-c-rehash-in.patch")))) (outputs '("out" @@ -466,21 +468,26 @@ required structures.") (("^MANDIR[[:blank:]]*=.*$") (string-append "MANDIR = " out "/share/man\n"))) #t))) - (replace 'configure - ;; Override this phase because OpenSSL 1.0 does not understand -rpath. - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (invoke "./config" - "shared" ;build shared libraries - "--libdir=lib" - - ;; The default for this catch-all directory is - ;; PREFIX/ssl. Change that to something more - ;; conventional. - (string-append "--openssldir=" out - "/share/openssl-" ,version) - - (string-append "--prefix=" out))))) + (replace 'configure + ;; Override this phase because OpenSSL 1.0 does not understand -rpath. + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (invoke ,@(if (%current-target-system) + '("./Configure") + '("./config")) + "shared" ;build shared libraries + "--libdir=lib" + + ;; The default for this catch-all directory is + ;; PREFIX/ssl. Change that to something more + ;; conventional. + (string-append "--openssldir=" out + "/share/openssl-" ,version) + + (string-append "--prefix=" out) + ,@(if (%current-target-system) + '((getenv "CONFIGURE_TARGET_ARCH")) + '()))))) (delete 'move-extra-documentation) (add-after 'install 'move-man3-pages (lambda* (#:key outputs #:allow-other-keys) diff --git a/gnu/packages/upnp.scm b/gnu/packages/upnp.scm index 8f3c887a68..c7ad33c17b 100644 --- a/gnu/packages/upnp.scm +++ b/gnu/packages/upnp.scm @@ -144,7 +144,7 @@ and others.") ("gettext" ,gettext-minimal))) (inputs `(("libexif" ,libexif) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libid3tag" ,libid3tag) ("flac" ,flac) ("libvorbis" ,libvorbis) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 20db6b4b08..ac1d68f8f3 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -143,6 +143,10 @@ changes to project files over time. It supports both a distributed workflow as well as the classic centralized workflow.") (license license:gpl2+))) +(define git-cross-configure-flags + '("ac_cv_fread_reads_directories=yes" + "ac_cv_snprintf_returns_bogus=no")) + (define-public git (package (name "git") @@ -240,7 +244,10 @@ as well as the classic centralized workflow.") ;; absolute file name to 'wish'. #:configure-flags (list (string-append "--with-tcltk=" (assoc-ref %build-inputs "tk") - "/bin/wish8.6")) ; XXX + "/bin/wish8.6") ; XXX + ,@(if (%current-target-system) + git-cross-configure-flags + '())) #:modules ((srfi srfi-1) (srfi srfi-26) @@ -257,6 +264,15 @@ as well as the classic centralized workflow.") (remove (cut string-prefix? bash-full <>) path) ":")) #t))) + ;; Add cross curl-config script to PATH when cross-compiling. + ,@(if (%current-target-system) + '((add-before 'configure 'add-cross-curl-config + (lambda* (#:key inputs #:allow-other-keys) + (setenv "PATH" + (string-append (assoc-ref inputs "curl") "/bin:" + (getenv "PATH"))) + #t))) + '()) (add-after 'configure 'patch-makefiles (lambda _ (substitute* "Makefile" @@ -515,7 +531,10 @@ everything from small to very large projects with speed and efficiency.") ((#:make-flags flags) `(delete "USE_LIBPCRE2=yes" ,flags)) ((#:configure-flags flags) - ''()) + `(list + ,@(if (%current-target-system) + git-cross-configure-flags + '()))) ((#:disallowed-references lst '()) `(,perl ,@lst)))) (outputs '("out")) @@ -554,7 +573,14 @@ everything from small to very large projects with speed and efficiency.") (build-system cmake-build-system) (outputs '("out" "debug")) (arguments - `(#:configure-flags '("-DUSE_SHA1DC=ON") ; SHA-1 collision detection + `(#:configure-flags + (list "-DUSE_SHA1DC=ON" ; SHA-1 collision detection + ,@(if (%current-target-system) + `((string-append + "-DPKG_CONFIG_EXECUTABLE=" + (assoc-ref %build-inputs "pkg-config") + "/bin/" ,(%current-target-system) "-pkg-config")) + '())) #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-hardcoded-paths @@ -569,9 +595,13 @@ everything from small to very large projects with speed and efficiency.") (lambda _ (for-each make-file-writable (find-files ".")) #t)) - ;; Run checks more verbosely. + ;; Run checks more verbosely, unless we are cross-compiling. (replace 'check - (lambda _ (invoke "./libgit2_clar" "-v" "-Q")))))) + (lambda* (#:key (tests? #t) #:allow-other-keys) + (if tests? + (invoke "./libgit2_clar" "-v" "-Q") + ;; Tests may be disabled if cross-compiling. + (format #t "Test suite not run.~%"))))))) (inputs `(("libssh2" ,libssh2) ("http-parser" ,http-parser))) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 8c94f0e34a..d4a48bb503 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -745,7 +745,7 @@ libebml is a C++ library to read and write EBML files.") (define-public libva (package (name "libva") - (version "2.5.0") + (version "2.6.1") (source (origin (method url-fetch) @@ -757,7 +757,7 @@ libebml is a C++ library to read and write EBML files.") (string-append "https://www.freedesktop.org/software/vaapi/releases/" "libva/libva-" version "/libva-" version ".tar.bz2"))) (sha256 - (base32 "0y38mw1ggxm15zq06r4qpwhd5wx4bppw1rsxpr6sq1m5d79rra1s")))) + (base32 "19df3r02k1p4cbyvifkdjyc8q7hi23f5b3x3390z52l25mjfnmvc")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1288,7 +1288,7 @@ streaming protocols.") ("libass" ,libass) ("libdvdcss" ,libdvdcss) ("libdvdnav" ,libdvdnav) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libmpeg2" ,libmpeg2) ("libmpg123" ,mpg123) ; audio codec for MP3 ("libpng" ,libpng) @@ -1386,7 +1386,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") ("libcdio-paranoia" ,libcdio-paranoia) ("libdvdread" ,libdvdread) ("libdvdnav" ,libdvdnav) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libva" ,libva) ("libvdpau" ,libvdpau) ("libx11" ,libx11) @@ -2341,7 +2341,7 @@ tools, XML authoring components, and an extensible plug-in based API.") (inputs `(("alsa-lib" ,alsa-lib) ("glu" ,glu) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libx11" ,libx11) ("qtbase" ,qtbase) ("eudev" ,eudev))) @@ -3343,7 +3343,7 @@ It counts more than 100 plugins.") ("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (inputs - `(("libjpeg" ,libjpeg) + `(("libjpeg" ,libjpeg-turbo) ("ffmpeg" ,ffmpeg-3.4) ("libmicrohttpd" ,libmicrohttpd) ("sqlite" ,sqlite))) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 3670b396a5..e16405fc9c 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -487,7 +487,7 @@ manage system or application containers.") ("libpcap" ,libpcap) ("libnl" ,libnl) ("libtirpc" ,libtirpc) ;for <rpc/rpc.h> - ("libuuid" ,util-linux) + ("libuuid" ,util-linux "lib") ("lvm2" ,lvm2) ;for libdevmapper ("curl" ,curl) ("openssl" ,openssl) @@ -1343,7 +1343,7 @@ override CC = " (assoc-ref inputs "cross-gcc") "/bin/i686-linux-gnu-gcc")) ("pixman" ,pixman) ("qemu" ,qemu-minimal) ("seabios" ,seabios) - ("util-linux" ,util-linux) ; uuid + ("util-linux" ,util-linux "lib") ; uuid ; TODO: ocaml-findlib, ocaml-nox. ("xz" ,xz) ; for liblzma ("zlib" ,zlib))) diff --git a/gnu/packages/vnc.scm b/gnu/packages/vnc.scm index e1cba08952..2b5adb899a 100644 --- a/gnu/packages/vnc.scm +++ b/gnu/packages/vnc.scm @@ -259,7 +259,7 @@ where the server is installed."))) (inputs `(("gnutls" ,gnutls) ("libgcrypt" ,libgcrypt) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("lzo" ,lzo) ("sdl2" ,sdl2))) diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index 1610561aec..1983b65e51 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -78,7 +78,7 @@ (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("fltk" ,fltk) ("fontconfig" ,fontconfig) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libxcursor" ,libxcursor) ("libxft" ,libxft) @@ -126,7 +126,7 @@ older or slower computers and embedded systems.") (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("zlib" ,zlib) ("openssl" ,openssl) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libtiff" ,libtiff) ("libevent" ,libevent) ("libpng" ,libpng) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 3d73bfec2b..cd83613c6e 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -35,6 +35,8 @@ ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.lonestar.org> +;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> +;;; Copyright © 2019 Pierre-Moana Levesque <pierre.moana.levesque@gmail.com> ;;; Copyright © 2019 Florian Pelz <pelzflorian@pelzflorian.de> ;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si> ;;; @@ -107,6 +109,7 @@ #:use-module (gnu packages jemalloc) #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) + #:use-module (gnu packages kde) #:use-module (gnu packages libevent) #:use-module (gnu packages libidn) #:use-module (gnu packages libunistring) @@ -830,6 +833,50 @@ instances, while JSON's objects will be mapped to @code{QVariantMap}.") ;; Only version 2.1 of the license (license license:lgpl2.1))) +(define-public qoauth + (package + (name "qoauth") + (version "2.0.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ayoy/qoauth.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1b2jdqs526ac635yb2whm049spcsk7almnnr6r5b4yqhq922anw3")))) + (build-system gnu-build-system) + (inputs + `(("qca" ,qca) + ("qtbase" ,qtbase))) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-code + (lambda _ + (make-file-writable "src/qoauth.pc") + (substitute* "src/src.pro" + (("/lib64") "/lib")) + #t)) + (delete 'configure) ; no configure script + (delete 'check) ; no test target + (add-before 'build 'qmake + (lambda _ + (let ((qca (assoc-ref %build-inputs "qca"))) + (invoke + "qmake" + (string-append "PREFIX=" (assoc-ref %outputs "out")) + (string-append "QMAKE_INCDIR+=" qca "/include/Qca-qt5/QtCrypto") + (string-append "LIBS+=-L" qca "/lib") + (string-append "LIBS+=-lqca-qt5")))))))) + (home-page "https://github.com/ayoy/qoauth") + (synopsis "Qt-based C++ library for OAuth authorization scheme") + (description "QOAuth is an attempt to support interaction with +OAuth-powered network services in a Qt way, i.e. simply, clearly and +efficiently. It gives the application developer no more than 4 methods.") + (license license:lgpl2.1+))) + (define-public krona-tools (package (name "krona-tools") @@ -5031,7 +5078,7 @@ w3c webidl files and a binding configuration file.") ("openssl" ,openssl) ("utf8proc" ,utf8proc) ("libpng" ,libpng) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libcss" ,libcss) ("libdom" ,libdom) ("libnsbmp" ,libnsbmp) @@ -5635,10 +5682,22 @@ into your tests. It automatically starts up a HTTP server in a separate thread #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")) - "CC=gcc" "library") + "library" + ,@(if (%current-target-system) + '() + '("CC=gcc"))) #:phases (modify-phases %standard-phases - (delete 'configure)))) + ,@(if (%current-target-system) + '((replace 'configure + (lambda* (#:key target #:allow-other-keys) + (substitute* (find-files "." "Makefile") + (("CC\\?=.*$") + (string-append "CC=" target "-gcc\n")) + (("AR\\?=.*$") + (string-append "AR=" target "-ar\n"))) + #t))) + '((delete 'configure)))))) (synopsis "HTTP request/response parser for C") (description "This is a parser for HTTP messages written in C. It parses both requests and responses. The parser is designed to be used in @@ -6838,8 +6897,7 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.") (define-public nghttp2 (package (name "nghttp2") - (version "1.39.1") - (replacement nghttp2-1.39.2) + (version "1.40.0") (source (origin (method url-fetch) @@ -6848,7 +6906,7 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.") "nghttp2-" version ".tar.xz")) (sha256 (base32 - "0j0lk37k8k3f61r9nw647hg4b22z1753l36n3xrp9x01civ614b7")))) + "0wwhwv7cvi1vxpdjwvg0kpa4jzhszclpnwrwfcw728zz53a47z09")))) (build-system gnu-build-system) (outputs (list "out" "lib")) ; only libnghttp2 @@ -6886,9 +6944,10 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.") (assoc-ref outputs "lib"))) #t)) (add-before 'check 'set-timezone-directory - (lambda* (#:key inputs #:allow-other-keys) - (setenv "TZDIR" (string-append (assoc-ref inputs "tzdata") - "/share/zoneinfo")) + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (setenv "TZDIR" (string-append + (assoc-ref (or native-inputs inputs) "tzdata") + "/share/zoneinfo")) #t))))) (home-page "https://nghttp2.org/") (synopsis "HTTP/2 protocol client, proxy, server, and library") @@ -6917,19 +6976,6 @@ compressed JSON header blocks. @end itemize\n") (license license:expat))) -(define nghttp2-1.39.2 - (package - (inherit nghttp2) - (version "1.39.2") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/nghttp2/nghttp2/" - "releases/download/v" version "/" - "nghttp2-" version ".tar.xz")) - (sha256 - (base32 - "12yfsjghbaypp4w964d45ih9vs38g6anih80wbsflaxx192idlm2")))))) - (define-public hpcguix-web (let ((commit "f39c90b35e99e4122b0866ec4337020d61c81508") (revision "4")) diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index 8ceee90018..b3a87e798a 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -126,6 +126,7 @@ engine that uses Wayland for graphics output.") (method url-fetch) (uri (string-append "https://www.webkitgtk.org/releases/" "webkitgtk-" version ".tar.xz")) + (patches (search-patches "webkitgtk-icu-65.patch")) (sha256 (base32 "04g6y0sv04d20bw401myq3k828ikysjhx383ly81vh9wji9i3mdd")))) @@ -206,7 +207,7 @@ engine that uses Wayland for graphics output.") ("hyphen" ,hyphen) ("icu4c" ,icu4c) ("libgcrypt" ,libgcrypt) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libnotify" ,libnotify) ("libpng" ,libpng) ("libseccomp" ,libseccomp) diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index ca5c969fff..f5b879ae36 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -112,7 +112,7 @@ ("libsane" ,sane-backends) ("libpcap" ,libpcap) ("libpng" ,libpng) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libtiff" ,libtiff) ("libICE" ,libice) ("libX11" ,libx11) diff --git a/gnu/packages/wv.scm b/gnu/packages/wv.scm index 866cfee222..37881a4d0f 100644 --- a/gnu/packages/wv.scm +++ b/gnu/packages/wv.scm @@ -45,7 +45,7 @@ (inputs `(("glib" ,glib) ("libgsf" ,libgsf) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("zlib" ,zlib))) (native-inputs diff --git a/gnu/packages/wxwidgets.scm b/gnu/packages/wxwidgets.scm index 48e6c31f6c..c2eedad5cb 100644 --- a/gnu/packages/wxwidgets.scm +++ b/gnu/packages/wxwidgets.scm @@ -67,7 +67,7 @@ ;; XXX gstreamer-0.10 builds fail ;; ("gstreamer" ,gstreamer-0.10) ("gtk" ,gtk+) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libmspack" ,libmspack) ("libsm" ,libsm) ("libtiff" ,libtiff) @@ -114,7 +114,7 @@ and many other languages.") (base32 "1gjs9vfga60mk4j4ngiwsk9h6c7j22pw26m3asxr1jwvqbr8kkqk")))) (inputs `(("gtk" ,gtk+-2) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libtiff" ,libtiff) ("libmspack" ,libmspack) ("sdl" ,sdl) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 45f431c7bb..5d8cac61dd 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -305,14 +305,14 @@ avoiding password prompts when X11 forwarding has already been setup.") (define-public libxkbcommon (package (name "libxkbcommon") - (version "0.9.1") + (version "0.10.0") (source (origin (method url-fetch) (uri (string-append "https://xkbcommon.org/download/libxkbcommon-" version ".tar.xz")) (sha256 (base32 - "1q4v378sr9ad8fy9znl7k8xpf0wch655r9m6z0bcc7sw1azsminl")))) + "1wmnl0hngn6vrqrya4r8hvimlkr4jag39yjprls4gyrqvh667hsp")))) (build-system meson-build-system) (inputs `(("libx11" ,libx11) @@ -453,6 +453,8 @@ following the mouse.") "1ryxzdf048x7wsx4dlvrr1p00gzwfs7lybnhgc7ygbj0dvyxcrns")) (patches (search-patches "pixman-CVE-2016-5296.patch")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (inputs `(("libpng" ,libpng) ("zlib" ,zlib))) @@ -1240,7 +1242,7 @@ protocol.") ("libglade" ,libglade) ("libxml2" ,libxml2) ("libsm" ,libsm) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("linux-pam" ,linux-pam) ("pango" ,pango) ("gtk+" ,gtk+) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index 7489624646..ff3d6c9ece 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -289,7 +289,7 @@ merging features essential for loading menus modified with menu editors.") ("gdk-pixbuf" ,gdk-pixbuf) ("cairo" ,cairo) ;; Needed for pdf thumbnails (poppler-glibc.pc) ("freetype" ,freetype) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libgsf" ,libgsf) ("poppler" ,poppler) ;; FIXME Provide gstreamer and gstreamer-tag to get video thumbnails diff --git a/gnu/packages/xfig.scm b/gnu/packages/xfig.scm index 09c7597761..c3d02619b4 100644 --- a/gnu/packages/xfig.scm +++ b/gnu/packages/xfig.scm @@ -47,7 +47,7 @@ `(("desktop-file-utils" ,desktop-file-utils))) (inputs `(("libxaw3d" ,libxaw3d) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libxpm" ,libxpm) ("libx11" ,libx11) @@ -90,7 +90,7 @@ selected in various ways. For text, 35 fonts are available.") ("makedepend" ,makedepend))) (inputs `(("xfig" ,xfig) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libxpm" ,libxpm) ("libx11" ,libx11) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 5e40ba1ec2..b93ca0077b 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -67,8 +67,7 @@ (define-public expat (package (name "expat") - (version "2.2.7") - (replacement expat-2.2.9) + (version "2.2.9") (source (let ((dot->underscore (lambda (c) (if (char=? #\. c) #\_ c)))) (origin (method url-fetch) @@ -80,8 +79,10 @@ "/expat-" version ".tar.xz"))) (sha256 (base32 - "1y5yax6bq8p9xk49zqkd62pxk8bq266wrgbrqgaxp3wsrw5g9qrh"))))) + "1960mmgbb4cm64n1p0nz3hrs1pw03hkrfcw8prmnn4622mdrd9hy"))))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (home-page "https://libexpat.github.io/") (synopsis "Stream-oriented XML parser library written in C") (description @@ -90,23 +91,6 @@ stream-oriented parser in which an application registers handlers for things the parser might find in the XML document (like start tags).") (license license:expat))) -(define expat-2.2.9 - (package - (inherit expat) - (version "2.2.9") - (source (let ((dot->underscore (lambda (c) (if (char=? #\. c) #\_ c)))) - (origin - (method url-fetch) - (uri (list (string-append "mirror://sourceforge/expat/expat/" - version "/expat-" version ".tar.xz") - (string-append - "https://github.com/libexpat/libexpat/releases/download/R_" - (string-map dot->underscore version) - "/expat-" version ".tar.xz"))) - (sha256 - (base32 - "1960mmgbb4cm64n1p0nz3hrs1pw03hkrfcw8prmnn4622mdrd9hy"))))))) - (define-public libebml (package (name "libebml") @@ -134,14 +118,14 @@ hierarchical form with variable field lengths.") (define-public libxml2 (package (name "libxml2") - (version "2.9.9") + (version "2.9.10") (source (origin (method url-fetch) (uri (string-append "ftp://xmlsoft.org/libxml2/libxml2-" version ".tar.gz")) (sha256 (base32 - "0wd881jzvqayx0ihzba29jl80k06xj9ywp16kxacdqs3064p1ywl")))) + "07xynh8hcxb2yb1fs051xrgszjvj37wnxvxgsj10rzmqzy9y3zma")))) (build-system gnu-build-system) (outputs '("out" "static")) (arguments @@ -183,9 +167,12 @@ project (but it is usable outside of the Gnome platform).") (license license:x11))) (define-public python-libxml2 - ;; TODO: Merge with 'python-libxml2/fixed' on the next rebuild cycle. (package/inherit libxml2 (name "python-libxml2") + (source (origin + (inherit (package-source libxml2)) + (patches (cons (search-patch "python-libxml2-utf8.patch") + (origin-patches (package-source libxml2)))))) (build-system python-build-system) (outputs '("out")) (arguments @@ -211,40 +198,41 @@ project (but it is usable outside of the Gnome platform).") (inputs `(("libxml2" ,libxml2))) (synopsis "Python bindings for the libxml2 library"))) -(define-public python-libxml2/fixed - ;; This variant fixes a crash when processing UTF-8 sequences: - ;; <https://bugs.gnu.org/37468> - ;; TODO: Merge with 'python-libxml2' on the next rebuild cycle. - (package/inherit - python-libxml2 - (version (string-append (package-version python-libxml2) "-1")) - (source (origin - (inherit (package-source libxml2)) - (patches (cons (search-patch "python-libxml2-utf8.patch") - (origin-patches (package-source libxml2)))))))) - (define-public python2-libxml2 (package-with-python2 python-libxml2)) (define-public libxslt (package (name "libxslt") - (version "1.1.33") + (version "1.1.34") (source (origin (method url-fetch) (uri (string-append "ftp://xmlsoft.org/libxslt/libxslt-" version ".tar.gz")) (sha256 (base32 - "1j1q1swnsy8jgi9x7mclvkrqhfgn09886gdlr9wzk7a08i8n0dlf")) + "0zrzz6kjdyavspzik6fbkpvfpbd25r2qg6py5nnjaabrsr3bvccq")) (patches (search-patches "libxslt-generated-ids.patch")))) (build-system gnu-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (add-before 'check 'disable-fuzz-tests + (lambda _ + ;; Disable libFuzzer tests, because they require + ;; instrumentation builds of libxml2 and libxslt. + (substitute* "tests/Makefile" + (("exslt plugins fuzz") + "exslt plugins")) + #t))))) (home-page "http://xmlsoft.org/XSLT/index.html") (synopsis "C library for applying XSLT stylesheets to XML documents") (inputs `(("libgcrypt" ,libgcrypt) ("libxml2" ,libxml2) ("python" ,python-minimal-wrapper) - ("zlib" ,zlib))) + ("zlib" ,zlib) + ("xz" ,xz))) + (native-inputs + `(("pkg-config" ,pkg-config))) (description "Libxslt is an XSLT C library developed for the GNOME project. It is based on libxml for XML parsing, tree manipulation and XPath support.") @@ -955,6 +943,8 @@ code for classes that correspond to data structures defined by XMLSchema.") (assoc-ref %build-inputs "util-linux") "/bin/getopt")))) + (native-inputs + `(("util-linux" ,util-linux))) (inputs `(("util-linux" ,util-linux) ; for 'getopt' ("libxml2" ,libxml2) ; for 'xmllint' diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 2392dc1cba..ab86b228bb 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -20,6 +20,7 @@ ;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net> ;;; Copyright © 2019 nee <nee@cock.li> ;;; Copyright © 2019 Yoshinori Arai <kumagusu08@gmail.com> +;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at> ;;; ;;; This file is part of GNU Guix. @@ -212,14 +213,14 @@ which can be read by any architecture.") (define-public xorgproto (package (name "xorgproto") - (version "2019.1") + (version "2019.2") (source (origin (method url-fetch) (uri (string-append "mirror://xorg/individual/proto/" "xorgproto-" version ".tar.bz2")) (sha256 (base32 - "16yll1kaffnslik5sizlw3qrigj1gpsgfgyq6903g3mwdixamnm6")))) + "13kvir8dz9dvzhvyfndpff1z7k8h14s7kkl7mbl427andhax1v26")))) (build-system gnu-build-system) (propagated-inputs ;; To get util-macros in (almost?) all package inputs. @@ -1040,6 +1041,8 @@ of new capabilities and controls for text keyboards.") (base32 "0hvjfhrcym770cr0zpqajdy3cda30aiwbjzv16iafkqkbl090gr5")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (inputs `(("xorgproto" ,xorgproto) ("libxext" ,libxext) @@ -1066,6 +1069,8 @@ of new capabilities and controls for text keyboards.") (base32 "1ir0j92mnd1nk37mrv9bz5swnccqldicgszvfsh62jd14q6k115q")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("xorgproto" ,xorgproto))) (home-page "https://www.x.org/") @@ -1093,6 +1098,8 @@ synchronization between the X server and direct-rendering clients.") (base32 "0y90170dp8wsidr1dzza0grxr1lfh30ji3b5vkjz4j6x1n0wxz1c")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (inputs `(("zlib" ,zlib) ("xorgproto" ,xorgproto))) @@ -1220,11 +1227,13 @@ hit when running single-threaded.") (base32 "1fwwfq9v3sqmpzpscymswxn76xhxnysa24pfim1mcpxhvjcl89id")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("libice" ,libice))) ; SMlib.h includes ICElib.h (inputs `(("xtrans" ,xtrans) - ("util-linux" ,util-linux))) + ("libuuid" ,util-linux "lib"))) (native-inputs `(("pkg-config" ,pkg-config))) (home-page "https://www.x.org/wiki/") @@ -1279,6 +1288,8 @@ with the Cygwin XWin server when running X11 in a rootless mode.") (base32 "13sfcglvz87vl58hd9rszwr73z0z4nwga3c12rfh7f5s2ln8l8dk")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs ;; xcomposite.pc refers to all these. `(("xorgproto" ,xorgproto) @@ -1308,6 +1319,8 @@ with the Cygwin XWin server when running X11 in a rootless mode.") (base32 "0ab53h0rkq721ihk5hi469x500f3pgbkm1wy01yf24x5m923nli0")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (inputs `(("libbsd" ,libbsd) ("xorgproto" ,xorgproto))) @@ -1334,6 +1347,8 @@ with the Cygwin XWin server when running X11 in a rootless mode.") (base32 "05lja9s54090xwh31r0bqms4v3pimng5xr09g2rdnafx2vk6hp12")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs ;; xft.pc refers to all these. `(("libxrender" ,libxrender) @@ -1368,6 +1383,8 @@ configuration files.") (base32 "1irq9crvscd3yb8sr802dhvvfr35jdy1n2yz094xplmd42mbv3bm")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (inputs `(("libx11" ,libx11))) (native-inputs @@ -1393,6 +1410,8 @@ configuration files.") (base32 "0cdpqnx6258i4l6qhphvkdiyspysg0i5caqjy820kp63wwjk4d4w")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (inputs `(("libxt" ,libxt) ("xorgproto" ,xorgproto) @@ -1413,7 +1432,7 @@ treat it as part of their software base when porting.") (define-public libxpm (package (name "libxpm") - (version "3.5.12") + (version "3.5.13") (source (origin (method url-fetch) @@ -1423,15 +1442,17 @@ treat it as part of their software base when porting.") ".tar.bz2")) (sha256 (base32 - "1v5xaiw4zlhxspvx76y3hq4wpxv7mpj6parqnwdqvpj8vbinsspx")))) + "09dc6nwlb2122h02vl64k9x56mxnyqz2gwpga0abfv4bb1bxmlcw")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (inputs - `(("gettext" ,gettext-minimal) - ("libxt" ,libxt) + `(("libxt" ,libxt) ("xorgproto" ,xorgproto) ("libxext" ,libxext))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("gettext" ,gettext-minimal) + ("pkg-config" ,pkg-config))) (home-page "https://www.x.org/wiki/") (synopsis "Xorg XPM library") (description "XPM (X Pixmap) image file format library.") @@ -1453,6 +1474,8 @@ treat it as part of their software base when porting.") (base32 "1m0jr0lbz9ixpp9ihk68349q0i7ry2379lnfzdy4mrl86ijc2xgz")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (inputs `(("xorgproto" ,xorgproto) ("libxext" ,libxext) @@ -1480,6 +1503,8 @@ treat it as part of their software base when porting.") (base32 "1y4vx1vabg7j9hamp0vrfrax5b0lmgm3h0lbgbb3hnkv3dd0f5zr")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (inputs `(("libxext" ,libxext) ("libx11" ,libx11))) @@ -1505,6 +1530,8 @@ treat it as part of their software base when porting.") (sha256 (base32 "00vjvcdlc1sga251jkxn6gkxmx9h5n290ffxxpa40qbca1gvr61b")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("xorgproto" ,xorgproto))) (inputs @@ -3692,7 +3719,7 @@ alternative implementations like XRandR or TwinView.") (define-public xinput (package (name "xinput") - (version "1.6.2") + (version "1.6.3") (source (origin (method url-fetch) @@ -3702,7 +3729,7 @@ alternative implementations like XRandR or TwinView.") ".tar.bz2")) (sha256 (base32 - "1i75mviz9dyqyf7qigzmxq8vn31i86aybm662fzjz5c086dx551n")))) + "1vb6xdd1xmk5f7pwc5zcbxfray5sf1vbnscqwf2yl8lv7gfq38im")))) (build-system gnu-build-system) (inputs `(("libxrender" ,libxrender) @@ -3837,7 +3864,7 @@ extension to the X11 protocol. It includes: (define-public xkeyboard-config (package (name "xkeyboard-config") - (version "2.27") + (version "2.28") (source (origin (method url-fetch) @@ -3847,7 +3874,7 @@ extension to the X11 protocol. It includes: ".tar.bz2")) (sha256 (base32 - "07wh443lhwv1j0q6xnxnji7f7ahh7xphxj90fv02cdd6zv4aw3b9")))) + "1kmxc8hdw4qpvdlzp4ag8ygl34lqhs6sn3pcz1sl0kn61xdv5bb9")))) (build-system gnu-build-system) (inputs `(("gettext" ,gettext-minimal) @@ -4552,6 +4579,13 @@ cannot be adequately worked around on the client side of the wire.") (base32 "0azqxllcsfxc3ilhz6kwc6x7m8wc477p59ir9p0yrsldx766zbar")))) (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list "--disable-static" + ;; Disable zero malloc check that fails when cross-compiling. + ,@(if (%current-target-system) + '("--disable-malloc0returnsnull") + '())))) (propagated-inputs `(("xorgproto" ,xorgproto))) (inputs @@ -4581,6 +4615,8 @@ cannot be adequately worked around on the client side of the wire.") (base32 "086p0axqj57nvkaqa6r00dnr9kyrn1m8blgf0zjy25zpxkbxn200")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("xorgproto" ,xorgproto))) (inputs @@ -4637,6 +4673,13 @@ cannot be adequately worked around on the client side of the wire.") (base32 "0j89cnb06g8x79wmmnwzykgkkfdhin9j7hjpvsxwlr3fz1wmjvf0")))) (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list "--disable-static" + ;; Disable zero malloc check that fails when cross-compiling. + ,@(if (%current-target-system) + '("--disable-malloc0returnsnull") + '())))) (propagated-inputs `(("xorgproto" ,xorgproto))) (inputs @@ -4663,6 +4706,8 @@ cannot be adequately worked around on the client side of the wire.") (base32 "012jpyj7xfm653a9jcfqbzxyywdmwb2b5wr1dwylx14f3f54jma6")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("libxi" ,libxi) ("xorgproto" ,xorgproto))) @@ -4700,6 +4745,8 @@ protocol and arbitrary X extension protocol.") (base32 "125hn06bd3d8y97hm2pbf5j55gg4r2hpd3ifad651i4sr7m16v6j")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("xorgproto" ,xorgproto))) (inputs @@ -4728,8 +4775,21 @@ protocol and arbitrary X extension protocol.") "0c3563kw9fg15dpgx4dwvl12qz6sdqdns1pxa574hc7i5m42mman")))) (build-system gnu-build-system) (arguments - '(#:phases + `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-configure + (lambda* (#:key inputs native-inputs #:allow-other-keys) + ;; Replace outdated config.sub and config.guess: + (for-each (lambda (file) + (install-file (string-append + (assoc-ref + (or native-inputs inputs) "automake") + "/share/automake-" + ,(version-major+minor + (package-version automake)) + "/" file) ".")) + '("config.sub" "config.guess")) + #t)) (add-after 'install 'wrap-mkfontdir (lambda* (#:key inputs outputs #:allow-other-keys) (wrap-program (string-append (assoc-ref outputs "out") @@ -4741,7 +4801,8 @@ protocol and arbitrary X extension protocol.") (inputs `(("mkfontscale" ,mkfontscale))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("automake" ,automake))) ;For up to date 'config.guess' and 'config.sub'. (home-page "https://www.x.org/wiki/") (synopsis "Create an index of X font files in a directory") (description @@ -4798,6 +4859,8 @@ common definitions and porting layer.") (base32 "0j638yvmyna2k4mz465jywgdybgdchdqppfx6xfazg7l5khxr1kg")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("xorgproto" ,xorgproto))) (inputs @@ -4826,6 +4889,8 @@ common definitions and porting layer.") (base32 "1v3krc6x0zliaa66qq1bf9j60x5nqfy68v8axaiglxpnvgqcpy6c")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("xorgproto" ,xorgproto))) (native-inputs @@ -4852,6 +4917,8 @@ an X Window System display.") (base32 "1miana3y4hwdqdparsccmygqr3ic3hs5jrqfzp70hvi2zwxd676y")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("xorgproto" ,xorgproto))) (inputs @@ -4878,6 +4945,8 @@ an X Window System display.") (base32 "0hiji1bvpl78aj3a3141hkk353aich71wv8l5l2z51scfy878zqs")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("freetype" ,freetype) ("libfontenc" ,libfontenc) @@ -4925,6 +4994,8 @@ new API's in libXft, or the legacy API's in libX11.") (base32 "0q8hz3slga3w3ch8wp0k7ay9ilhz315qnab0w1y2x9w3cf7hv8rn")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("xorgproto" ,xorgproto) ("libx11" ,libx11) @@ -4952,6 +5023,8 @@ new API's in libXft, or the legacy API's in libX11.") (base32 "08z0mqywrm7ij8bxlfrx0d2wy6kladdmkva1nw5k6qix82z0xsla")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs ;; In accordance with xrandr.pc. `(("libx11" ,libx11) @@ -4981,6 +5054,8 @@ new API's in libXft, or the legacy API's in libX11.") (base32 "1kbdjsvkm5l7axv7g477qj18sab2wnqhliy6197syzizgfbsfgbb")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("libxv" ,libxv))) (inputs @@ -5009,6 +5084,8 @@ new API's in libXft, or the legacy API's in libX11.") (base32 "0mydhlyn72i7brjwypsqrpkls3nm6vxw0li8b2nw0caz7kwjgvmg")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("libxext" ,libxext) ("xorgproto" ,xorgproto))) @@ -5050,7 +5127,8 @@ protocol.") `(("pkg-config" ,pkg-config) ("python" ,python-minimal-wrapper))) (arguments - `(#:configure-flags '("--enable-xkb"))) + `(#:configure-flags '("--enable-xkb" + "--disable-static"))) (home-page "https://xcb.freedesktop.org/") (synopsis "The X C Binding (XCB) library") (description @@ -5204,16 +5282,7 @@ draggable titlebars and borders.") (define-public xorg-server-for-tests (hidden-package (package - (inherit xorg-server) - (version "1.20.5") - (source (origin - (inherit (package-source xorg-server)) - (uri (string-append - "mirror://xorg/individual/xserver/" - "xorg-server-" version ".tar.bz2")) - (sha256 - (base32 - "17dc3g8cc55nbkx3np64dsz04n621dnzjmcc9wys0xbyyd1q47d8"))))))) + (inherit xorg-server)))) (define-public xorg-server-xwayland (package @@ -5239,7 +5308,7 @@ draggable titlebars and borders.") (define-public libx11 (package (name "libx11") - (version "1.6.8") + (version "1.6.9") (source (origin (method url-fetch) @@ -5249,21 +5318,29 @@ draggable titlebars and borders.") ".tar.bz2")) (sha256 (base32 - "1mbkwhhprhf49s2iwx7kiliprsdvd690zk44x3h53ql9q52si2dj")))) + "1ldyn9c6pyx54sxzaw120n3q42rqi7b503aqmyjky6fn038fiiww")))) (build-system gnu-build-system) (outputs '("out" "doc")) ;8 MiB of man pages + XML (arguments - '(#:configure-flags (list (string-append "--mandir=" - (assoc-ref %outputs "doc") - "/share/man")))) + `(#:configure-flags + (list (string-append "--mandir=" + (assoc-ref %outputs "doc") + "/share/man") + "--disable-static" + + ;; Disable zero malloc check that fails when cross-compiling. + ,@(if (%current-target-system) + '("--disable-malloc0returnsnull") + '())))) (propagated-inputs `(("xorgproto" ,xorgproto) ("libxcb" ,libxcb))) (inputs `(("xtrans" ,xtrans))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("xorgproto" ,xorgproto))) (home-page "https://www.x.org/wiki/") (synopsis "Xorg Core X11 protocol client library") (description "Xorg Core X11 protocol client library.") @@ -5286,6 +5363,8 @@ draggable titlebars and borders.") (base32 "10l7c9fm0jmpkm9ab9dz8r6m1pr87vvgqjnbx1psz50h4pwfklrs")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("libx11" ,libx11) ("libxrender" ,libxrender) @@ -5326,9 +5405,15 @@ draggable titlebars and borders.") (outputs '("out" "doc")) ;2 MiB of man pages + XML (arguments - '(#:configure-flags (list (string-append "--mandir=" - (assoc-ref %outputs "doc") - "/share/man")))) + `(#:configure-flags + (list (string-append "--mandir=" + (assoc-ref %outputs "doc") + "/share/man") + "--disable-static" + ;; Disable zero malloc check that fails when cross-compiling. + ,@(if (%current-target-system) + '("--disable-malloc0returnsnull") + '())))) (propagated-inputs `(("libx11" ,libx11) ("libice" ,libice) @@ -5358,6 +5443,8 @@ draggable titlebars and borders.") (base32 "1kdhxplwrn43d9jp3v54llp05kwx210lrsdvqb6944jp29rhdy4f")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("libxext" ,libxext) ("libxmu" ,libxmu) @@ -5417,6 +5504,8 @@ keyboard focus, and user-specified key and pointer button bindings.") (base32 "1sahmrgbpyki4bb72hxym0zvxwnycmswsxiisgqlln9vrdlr9r26")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("libxcb" ,libxcb))) (native-inputs @@ -5453,6 +5542,8 @@ The XCB util module provides the following libraries: (base32 "0krr4rcw6r42cncinzvzzdqnmxk3nrgpnadyg2h8k9x10q3hm885")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (native-inputs `(("m4" ,m4) ("pkg-config" ,pkg-config))) @@ -5535,6 +5626,8 @@ numbers.") (base32 "1z1gxacg7q4cw6jrd26gvi5y04npsyavblcdad1xccc8swvnmf9d")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("libxcb" ,libxcb))) (inputs @@ -5569,6 +5662,8 @@ The XCB util-image module provides the following library: (base32 "1nbd45pzc1wm6v5drr5338j4nicbgxa5hcakvsvm5pnyy47lky0f")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("libxcb" ,libxcb))) (native-inputs @@ -5601,6 +5696,8 @@ The XCB util-keysyms module provides the following library: (base32 "0nza1csdvvxbmk8vgv8vpmq7q8h05xrw3cfx9lwxd1hjzd47xsf6")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("libxcb" ,libxcb))) (native-inputs @@ -5633,6 +5730,8 @@ The XCB util-renderutil module provides the following library: (base32 "0gra7hfyxajic4mjd63cpqvd20si53j1q3rbdlkqkahfciwq3gr8")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("libxcb" ,libxcb))) (native-inputs @@ -6021,7 +6120,7 @@ basic eye-candy effects.") (inputs `(("ffmpeg" ,ffmpeg) ("flac" ,flac) ("gtk+-2" ,gtk+-2) ;; no full GTK3 support yet - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libvpx" ,libvpx) ("libx264" ,libx264) @@ -6385,25 +6484,28 @@ output.") " "))) #t)) (add-before 'build 'make-doubled-bdfs - (lambda* (#:key inputs #:allow-other-keys) + (lambda* (#:key native-inputs inputs #:allow-other-keys) (invoke "make" "-C" "Fonts" "doubled_bdfs" (string-append "SHELL=" - (assoc-ref inputs "bash") + (assoc-ref (or native-inputs inputs) + "bash") "/bin/bash")))) (replace 'install - (lambda* (#:key inputs outputs #:allow-other-keys) + (lambda* (#:key native-inputs inputs outputs #:allow-other-keys) (let ((out (assoc-ref %outputs "out"))) (invoke "make" "install-linux" (string-append "prefix=" out) (string-append "SHELL=" - (assoc-ref inputs "bash") + (assoc-ref (or native-inputs inputs) + "bash") "/bin/bash")))))))) (native-inputs `(("pkg-config" ,pkg-config) ("bdftopcf" ,bdftopcf) ("bdfresize" ,bdfresize) - ("sharutils" ,sharutils))) ;for 'uuencode' + ("sharutils" ,sharutils) ;for 'uuencode' + ("perl" ,perl))) (inputs `(("perl" ,perl))) ;used by 'ckbcomp' (synopsis "Set up the Linux console font and keyboard") |