diff --git a/Makefile.am b/Makefile.am index 7474b7f375..c6a2e6cf6c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -426,6 +426,7 @@ SCM_TESTS = \ tests/scripts-build.scm \ tests/search-paths.scm \ tests/services.scm \ + tests/services/linux.scm \ tests/sets.scm \ tests/size.scm \ tests/snix.scm \ diff --git a/build-aux/git-authenticate.scm b/build-aux/git-authenticate.scm index 980a6d8e9f..d92da90758 100644 --- a/build-aux/git-authenticate.scm +++ b/build-aux/git-authenticate.scm @@ -166,8 +166,12 @@ "0154 E1B9 1CC9 D9EF 7764 8DE7 F3A7 27DB 44FC CA36") ("roelj" "17CB 2812 EB63 3DFF 2C7F 0452 C3EC 1DCA 8430 72E1") - ("roptat" + ("roptat (old)" "B5FA E628 5B41 3728 B2A0 FAED 4311 1F45 2008 6A0C") + ("roptat" + ;; From commit 2cbede5935eb6a40173bbdf30a9ad22bf7574c22 (Jan. 2020). See + ;; . + "1EFB 0909 1F17 D28C CBF9 B13A 53D4 57B2 D636 EE82") ("samplet" ;; primary: "D6B0 C593 DA8C 5EDC A44C 7A58 C336 91F7 1188 B004" "A02C 2D82 0EF4 B25B A6B5 1D90 2AC6 A5EC 1C35 7C59") diff --git a/doc/guix.texi b/doc/guix.texi index d674b9484f..bd9d896c78 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -47,8 +47,8 @@ Copyright @copyright{} 2017 Thomas Danckaert@* Copyright @copyright{} 2017 humanitiesNerd@* Copyright @copyright{} 2017 Christopher Allan Webber@* Copyright @copyright{} 2017, 2018, 2019 Marius Bakke@* -Copyright @copyright{} 2017, 2019 Hartmut Goebel@* -Copyright @copyright{} 2017, 2019 Maxim Cournoyer@* +Copyright @copyright{} 2017, 2019, 2020 Hartmut Goebel@* +Copyright @copyright{} 2017, 2019, 2020 Maxim Cournoyer@* Copyright @copyright{} 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice@* Copyright @copyright{} 2017 George Clemmer@* Copyright @copyright{} 2017 Andy Wingo@* @@ -310,6 +310,7 @@ Services * Version Control Services:: Providing remote access to Git repositories. * Game Services:: Game servers. * PAM Mount Service:: Service to mount volumes when logging in. +* Linux Services:: Services tied to the Linux kernel. * Miscellaneous Services:: Other services. Defining Services @@ -6447,10 +6448,24 @@ Which Perl package is used can be specified with @code{#:perl}. This variable is exported by @code{(guix build-system qt)}. It is intended for use with applications using Qt or KDE. -This build system adds the phase @code{qt-wrap} to the ones defined by -@code{cmake-build-system}, after the @code{install} phase. +This build system adds the following two phases to the ones defined by +@code{cmake-build-system}: -This phase searches for Qt5 plugin paths, QML paths and some XDG in the inputs +@table @code +@item check-setup +The phase @code{check-setup} prepares the environment for running +the checks as commonly used by Qt test programs. +For now this only sets some environment variables: +@code{QT_QPA_PLATFORM=offscreen}, +@code{DBUS_FATAL_WARNINGS=0} and +@code{CTEST_OUTPUT_ON_FAILURE=1}. + +This phase is added before the @code{check} phase. +It's a separate phase to ease adjusting if necessary. + +@item qt-wrap +The phase @code{qt-wrap} +searches for Qt5 plugin paths, QML paths and some XDG in the inputs and output. In case some path is found, all programs in the output's @file{bin/}, @file{sbin/}, @file{libexec/} and @file{lib/libexec/} directories are wrapped in scripts defining the necessary environment variables. @@ -6460,6 +6475,9 @@ by listing their names in the @code{#:qt-wrap-excluded-outputs} parameter. This is useful when an output is known not to contain any Qt binaries, and where wrapping would gratuitously add a dependency of that output on Qt, KDE, or such. + +This phase is added after the @code{install} phase. +@end table @end defvr @defvr {Scheme Variable} r-build-system @@ -12084,6 +12102,7 @@ declaration. * Game Services:: Game servers. * PAM Mount Service:: Service to mount volumes when logging in. * Guix Services:: Services relating specifically to Guix. +* Linux Services:: Services tied to the Linux kernel. * Miscellaneous Services:: Other services. @end menu @@ -25129,6 +25148,71 @@ list. @end table @end deftp +@node Linux Services +@subsubheading Linux Services + +@cindex oom +@cindex out of memory killer +@cindex earlyoom +@cindex early out of memory daemon +@subsection Early OOM Service + +@uref{https://github.com/rfjakob/earlyoom,Early OOM}, also known as +Earlyoom, is a minimalist out of memory (OOM) daemon that runs in user +space and provides a more responsive and configurable alternative to the +in-kernel OOM killer. It is useful to prevent the system from becoming +unresponsive when it runs out of memory. + +@deffn {Scheme Variable} earlyoom-service-type +The service type for running @command{earlyoom}, the Early OOM daemon. +Its value must be a @code{earlyoom-configuration} object, described +below. The service can be instantiated in its default configuration +with: + +@lisp +(service earlyoom-service-type) +@end lisp +@end deffn + +@deftp {Data Type} earlyoom-configuration +This is the configuration record for the @code{earlyoom-service-type}. + +@table @asis +@item @code{earlyoom} (default: @var{earlyoom}) +The Earlyoom package to use. + +@item @code{minimum-available-memory} (default: @code{10}) +The threshold for the minimum @emph{available} memory, in percentages. + +@item @code{minimum-free-swap} (default: @code{10}) +The threshold for the minimum free swap memory, in percentages. + +@item @code{prefer-regexp} (default: @code{#f}) +A regular expression (as a string) to match the names of the processes +that should be preferably killed. + +@item @code{avoid-regexp} (default: @code{#f}) +A regular expression (as a string) to match the names of the processes +that should @emph{not} be killed. + +@item @code{memory-report-interval} (default: @code{0}) +The interval in seconds at which a memory report is printed. It is +disabled by default. + +@item @code{ignore-positive-oom-score-adj?} (default: @code{#f}) +A boolean indicating whether the positive adjustments set in +@file{/proc/*/oom_score_adj}. + +@item @code{show-debug-messages?} (default: @code{#f}) +A boolean indicating whether debug messages should be printed. The logs +are saved at @file{/var/log/earlyoom.log}. + +@item @code{send-notification-command} (default: @code{#f}) +This can be used to provide a custom command used for sending +notifications. +@end table +@end deftp + @node Miscellaneous Services @subsection Miscellaneous Services @@ -26101,9 +26185,22 @@ must @emph{not} be an OS device name such as @file{/dev/sda1}. @end table @end deftp +@cindex HDPI +@cindex HiDPI +@cindex resolution @c FIXME: Write documentation once it's stable. -For now only GRUB has theme support. GRUB themes are created using -the @code{grub-theme} form, which is not documented yet. +For now only GRUB has theme support. GRUB themes are created using +the @code{grub-theme} form, which is not fully documented yet. + +@deftp {Data Type} grub-theme +Data type representing the configuration of the GRUB theme. + +@table @asis +@item @code{gfxmode} (default: @code{'("auto")}) +The GRUB @code{gfxmode} to set (a list of screen resolution strings, see +@pxref{gfxmode,,, grub, GNU GRUB manual}). +@end table +@end deftp @defvr {Scheme Variable} %default-theme This is the default GRUB theme used by the operating system if no @@ -26114,6 +26211,17 @@ It comes with a fancy background image displaying the GNU and Guix logos. @end defvr +For example, to override the default resolution, you may use something +like + +@lisp +(bootloader + (grub-configuration + ;; @dots{} + (theme (grub-theme + (inherit %default-theme) + (gfxmode '("1024x786x32" "auto")))))) +@end lisp @node Invoking guix system @section Invoking @code{guix system} diff --git a/etc/guix-install.sh b/etc/guix-install.sh index b57d71981f..bfd3842933 100755 --- a/etc/guix-install.sh +++ b/etc/guix-install.sh @@ -395,10 +395,16 @@ sys_authorize_build_farms() sys_create_init_profile() { # Create /etc/profile.d/guix.sh for better desktop integration + [ -d "/etc/profile.d" ] || mkdir /etc/profile.d # Just in case cat <<"EOF" > /etc/profile.d/guix.sh # _GUIX_PROFILE: `guix pull` profile _GUIX_PROFILE="$HOME/.config/guix/current" -[ -L $_GUIX_PROFILE ] && export PATH="$_GUIX_PROFILE/bin${PATH:+:}$PATH" +if [ -L $_GUIX_PROFILE ]; then + export PATH="$_GUIX_PROFILE/bin${PATH:+:}$PATH" + # Export INFOPATH so that the updated info pages can be found + # and read by both /usr/bin/info and/or $GUIX_PROFILE/bin/info + export INFOPATH="$_GUIX_PROFILE/share/info${INFOPATH:+:}$INFOPATH" +fi # GUIX_PROFILE: User's default profile GUIX_PROFILE="$HOME/.guix-profile" @@ -409,7 +415,7 @@ export GUIX_PROFILE GUIX_LOCPATH eval `guix package --search-paths=prefix 2> /dev/null` # set XDG_DATA_DIRS to include Guix installations -export XDG_DATA_DIRS="$GUIX_PROFILE/share${XDG_DATA_DIRS:+:}$XDG_DATA_DIRS" +export XDG_DATA_DIRS="$GUIX_PROFILE/share:${XDG_DATA_DIRS:-/usr/local/share/:/usr/share/}" EOF } diff --git a/etc/news.scm b/etc/news.scm index e0894ca7ab..6b58e7742b 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -1,6 +1,6 @@ ;; GNU Guix news, for use by 'guix pull'. ;; -;; Copyright © 2019 Ludovic Courtès +;; Copyright © 2019, 2020 Ludovic Courtès ;; ;; Copying and distribution of this file, with or without modification, are ;; permitted in any medium without royalty provided the copyright notice and @@ -9,6 +9,29 @@ (channel-news (version 0) + (entry (commit "8234fe653e61d0090138cbd4c48d877568355439") + (title (en "Guix now runs on Guile 3.0") + (de "Guix läuft jetzt auf Guile 3.0") + (nl "Guix draait nu op Guile 3.0")) + (body (en "The Guix revision you just pulled runs on version 3.0 of +GNU@tie{}Guile (previously it would run on version 2.2). Guile 3.0 improves +performance through the use of just-in-time (JIT) native code generation. The +switch should be entirely transparent to you. See +@uref{https://gnu.org/software/guile} for more information on Guile 3.0.") + (de "Die Guix-Version, die Sie gerade gepullt haben, läuft auf +Version 3.0 von GNU@tie{}Guile (und nicht mehr auf Version 2.2). Guile 3.0 +verbessert die Rechenleistung, indem native Maschinenbefehle „just in time“ +erzeugt werden (JIT-Kompilierung). Der Wechsel sollte für Sie völlig +transparent sein und Guix verhält sich gleich. Siehe +@uref{https://gnu.org/software/guile} für weitere Informationen zu Guile +3.0.") + (nl "De Guix die u net heeft gepulld gebruikt versie 3.0 van +GNU@tie{}Guile (voorheen was dat versie 2.2). Guile@tie{}3.0 draait dezelfde +programma's doorgaans sneller door ze ‘just-in-time’ (JIT) te vertalen naar +machine-instructies. De omschakeling zou voor u volledig naadloos moeten +zijn. Lees @uref{https://gnu.org/software/guile} voor meer informatie over +Guile@tie{}3.0."))) + (entry (commit "828a39da68a9169ef1d9f9ff02a1c66b1bcbe884") (title (en "New @option{--diff} option for @command{guix challenge}") (de "Neue @option{--diff}-Option für @command{guix challenge}")) diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm index f13685ac9d..b99f5fa4f4 100644 --- a/gnu/bootloader/grub.scm +++ b/gnu/bootloader/grub.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016 Chris Marusich ;;; Copyright © 2017 Leo Famulari ;;; Copyright © 2017 Mathieu Othacehe +;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -88,7 +89,9 @@ denoting a file name." (color-normal grub-theme-color-normal (default '((fg . cyan) (bg . blue)))) (color-highlight grub-theme-color-highlight - (default '((fg . white) (bg . blue))))) + (default '((fg . white) (bg . blue)))) + (gfxmode grub-gfxmode + (default '("auto")))) ;list of string (define %background-image (grub-image @@ -149,8 +152,16 @@ system string---e.g., \"x86_64-linux\"." ;; most other modern architectures have no other mode and therefore don't ;; need to be switched. (if (string-match "^(x86_64|i[3-6]86)-" system) - " - # Leave 'gfxmode' to 'auto'. + (string-append + " +" + (let ((gfxmode (and=> + (and=> config bootloader-configuration-theme) + grub-gfxmode))) + (if gfxmode + (string-append "set gfxmode=" (string-join gfxmode ";")) + "# Leave 'gfxmode' to 'auto'.")) + " insmod video_bochs insmod video_cirrus insmod gfxterm @@ -166,7 +177,7 @@ system string---e.g., \"x86_64-linux\"." insmod vbe insmod vga fi -" +") "")) (define (setup-gfxterm config font-file) diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm index 3e892c5475..6f41d0abe9 100644 --- a/gnu/bootloader/u-boot.scm +++ b/gnu/bootloader/u-boot.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 David Craven ;;; Copyright © 2017, 2019 Mathieu Othacehe +;;; Copyright © 2020 Julien Lepiller ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,6 +29,7 @@ u-boot-a20-olinuxino-micro-bootloader u-boot-bananapi-m2-ultra-bootloader u-boot-beaglebone-black-bootloader + u-boot-cubietruck-bootloader u-boot-firefly-rk3399-bootloader u-boot-mx6cuboxi-bootloader u-boot-nintendo-nes-classic-edition-bootloader @@ -180,6 +182,11 @@ (inherit u-boot-allwinner-bootloader) (package u-boot-bananapi-m2-ultra))) +(define u-boot-cubietruck-bootloader + (bootloader + (inherit u-boot-allwinner-bootloader) + (package u-boot-cubietruck))) + (define u-boot-firefly-rk3399-bootloader ;; SD and eMMC use the same format (bootloader diff --git a/gnu/ci.scm b/gnu/ci.scm index d6eb2d018f..89f499e25f 100644 --- a/gnu/ci.scm +++ b/gnu/ci.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2017 Jan Nieuwenhuizen ;;; Copyright © 2018, 2019 Clément Lassieur ;;; @@ -130,6 +130,7 @@ SYSTEM." "arm-linux-gnueabihf" "aarch64-linux-gnu" "powerpc-linux-gnu" + "riscv64-linux-gnu" "i586-pc-gnu" ;aka. GNU/Hurd "i686-w64-mingw32" "x86_64-w64-mingw32")) diff --git a/gnu/local.mk b/gnu/local.mk index 88ce141c13..1040e4dafd 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 \ @@ -706,6 +709,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 \ @@ -767,6 +773,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 \ @@ -1066,6 +1073,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 \ @@ -1234,7 +1242,6 @@ dist_patch_DATA = \ %D%/packages/patches/openjdk-10-idlj-reproducibility.patch \ %D%/packages/patches/openmpi-mtl-priorities.patch \ %D%/packages/patches/openocd-nrf52.patch \ - %D%/packages/patches/opensmtpd-fix-crash.patch \ %D%/packages/patches/openssl-runpath.patch \ %D%/packages/patches/openssl-1.1-c-rehash-in.patch \ %D%/packages/patches/openssl-c-rehash-in.patch \ @@ -1249,6 +1256,12 @@ dist_patch_DATA = \ %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 \ + %D%/packages/patches/sdl-pango-fix-explicit-SDLPango_CopyFTBitmapToSurface.patch \ + %D%/packages/patches/sdl-pango-matrix_declarations.patch \ + %D%/packages/patches/sdl-pango-sans-serif.patch \ %D%/packages/patches/patchutils-test-perms.patch \ %D%/packages/patches/patch-hurd-path-max.patch \ %D%/packages/patches/perl-autosplit-default-time.patch \ @@ -1335,6 +1348,9 @@ dist_patch_DATA = \ %D%/packages/patches/python-unittest2-remove-argparse.patch \ %D%/packages/patches/python-waitress-fix-tests.patch \ %D%/packages/patches/qemu-glibc-2.27.patch \ + %D%/packages/patches/qemu-CVE-2020-7039.patch \ + %D%/packages/patches/qemu-CVE-2020-7211.patch \ + %D%/packages/patches/qemu-fix-documentation-build-failure.patch \ %D%/packages/patches/qt4-ldflags.patch \ %D%/packages/patches/qtbase-use-TZDIR.patch \ %D%/packages/patches/qtscript-disable-tests.patch \ @@ -1391,7 +1407,6 @@ dist_patch_DATA = \ %D%/packages/patches/spice-fix-test-armhf.patch \ %D%/packages/patches/steghide-fixes.patch \ %D%/packages/patches/superlu-dist-awpm-grid.patch \ - %D%/packages/patches/superlu-dist-fix-mpi-deprecations.patch \ %D%/packages/patches/superlu-dist-scotchmetis.patch \ %D%/packages/patches/supertux-unbundle-squirrel.patch \ %D%/packages/patches/swish-e-search.patch \ @@ -1403,6 +1418,7 @@ dist_patch_DATA = \ %D%/packages/patches/t1lib-CVE-2010-2642.patch \ %D%/packages/patches/t1lib-CVE-2011-0764.patch \ %D%/packages/patches/t1lib-CVE-2011-1552+.patch \ + %D%/packages/patches/t4k-common-libpng16.patch \ %D%/packages/patches/tar-remove-wholesparse-check.patch \ %D%/packages/patches/tar-skip-unreliable-tests.patch \ %D%/packages/patches/tcc-boot-0.9.27.patch \ @@ -1426,6 +1442,7 @@ dist_patch_DATA = \ %D%/packages/patches/tomb-fix-errors-on-open.patch \ %D%/packages/patches/tuxpaint-stamps-path.patch \ %D%/packages/patches/txr-shell.patch \ + %D%/packages/patches/u-boot-riscv64-fix-extlinux.patch \ %D%/packages/patches/ucx-tcp-iface-ioctl.patch \ %D%/packages/patches/udiskie-no-appindicator.patch \ %D%/packages/patches/unzip-CVE-2014-8139.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index c40529f817..878d9ad307 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1205,7 +1205,7 @@ system administrator.") (define-public sudo (package (name "sudo") - (version "1.8.30") + (version "1.8.31") (source (origin (method url-fetch) (uri @@ -1215,7 +1215,7 @@ system administrator.") version ".tar.gz"))) (sha256 (base32 - "1rvrqlqrrjsd06dczgj9cwjdkpkqil5zzlwh87h06ms6qzfx6nm3")) + "0ks5mm9hda5idivncyfpiz4lrd8fv0dpmsl711788k7f7ixdka3y")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index 56d69fdb05..0b9f0de9de 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2016 Theodoros Foradis ;;; Copyright © 2016, 2017, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2019 Jens Mølgaard +;;; Copyright © 2020 Timotej Lazar ;;; ;;; This file is part of GNU Guix. ;;; @@ -310,6 +311,14 @@ dictionaries, including personal ones.") (base32 "0ip6nq43hcr7vvzbv4lwwmlwgfa60hrhsldh9xy3zg2prv6bcaaw"))) +(define-public aspell-dict-sl + (aspell-dictionary "sl" "Slovenian" + #:version "0.50-0" + #:prefix "aspell-" + #:sha256 + (base32 + "1l9kc5g35flq8kw9jhn2n0bjb4sipjs4qkqzgggs438kywkx2rp5"))) + (define-public aspell-dict-sv (aspell-dictionary "sv" "Swedish" #:version "0.51-0" diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index b526b8cc51..fbb2d90979 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; Copyright © 2015 Andreas Enge ;;; Copyright © 2015 Alex Kost @@ -23,7 +23,7 @@ ;;; Copyright © 2019 Rutger Helling ;;; Copyright © 2019 Arun Isaac ;;; Copyright © 2019 Mathieu Othacehe -;;; Copyright © 2019 Alexandros Theodotou +;;; Copyright © 2019, 2020 Alexandros Theodotou ;;; Copyright © 2019 Christopher Lemmer Webber ;;; Copyright © 2019 Jan Wielkiewicz ;;; Copyright © 2019 Hartmt Goebel @@ -54,6 +54,7 @@ #:use-module (guix build-system waf) #:use-module (guix build-system trivial) #:use-module (guix build-system cmake) + #:use-module (guix build-system meson) #:use-module (guix build-system python) #:use-module (guix build-system glib-or-gtk) #:use-module (gnu packages) @@ -1512,25 +1513,23 @@ well suited to all musical instruments and vocals.") (define-public ir (package (name "ir") - (version "1.3.2") + (version "1.3.4") (source (origin - (method url-fetch) - ;; The original home-page is gone. Download the tarball from an - ;; archive mirror instead. - (uri (list (string-append - "https://web.archive.org/web/20150803095032/" - "http://factorial.hu/system/files/ir.lv2-" - version ".tar.gz") - (string-append - "https://mirrors.kernel.org/gentoo/distfiles/ir.lv2-" - version ".tar.gz"))) + (method git-fetch) + (uri (git-reference + (url "https://github.com/tomszilagyi/ir.lv2") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1jh2z01l9m4ar7yz0n911df07dygc7n4cl59p7qdjbh0nvkm747g")))) + "0svmjhg4r6wy5ci5rwz43ybll7yxjv7nnj7nyqscbzhr3gi5aib0")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests - #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:make-flags + (list (string-append "PREFIX=" (assoc-ref %outputs "out")) + (string-append "INSTDIR=" + (assoc-ref %outputs "out") "/lib/lv2")) #:phases (modify-phases %standard-phases (delete 'configure)))) ; no configure script (inputs @@ -1546,9 +1545,7 @@ well suited to all musical instruments and vocals.") (list (search-path-specification (variable "LV2_PATH") (files '("lib/lv2"))))) - ;; Link to an archived copy of the home-page since the original is gone. - (home-page (string-append "https://web.archive.org/web/20150803095032/" - "http://factorial.hu/plugins/lv2/ir")) + (home-page "https://tomszilagyi.github.io/plugins/ir.lv2") (synopsis "LV2 convolution reverb") (description "IR is a low-latency, real-time, high performance signal convolver @@ -2047,7 +2044,7 @@ lv2-c++-tools.") (define-public openal (package (name "openal") - (version "1.20.0") + (version "1.20.1") (source (origin (method url-fetch) (uri (string-append @@ -2055,7 +2052,7 @@ lv2-c++-tools.") version ".tar.bz2")) (sha256 (base32 - "03p6s5gap0lvig2fs0a8nib5rxsc24dbqjsydpwvlm5l49wlk2f0")))) + "0vax0b1lgd4212bpxa1rciz52d4mv3dkfvcbbhzw4cjp698v1kmn")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; no check target @@ -4013,3 +4010,33 @@ in the package.") ;; (see the file 'COPYING.LGPL'). This allows writing ECI applications ;; that are not licensed under GPL. (license (list license:gpl2 license:lgpl2.1)))) + +(define-public libaudec + (package + (name "libaudec") + (version "0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.zrythm.org/git/libaudec") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0lfydvs92b0hr72z71ci3yi356rjzi162pgms8dphgg18bz8dazv")))) + (build-system meson-build-system) + (arguments + `(#:configure-flags `("-Denable_tests=true -Denable_ffmpeg=true"))) + (inputs + `(("libsamplerate" ,libsamplerate) + ("libsndfile" ,libsndfile) + ("ffmpeg" ,ffmpeg))) + (native-inputs + `(("pkg-config", pkg-config))) + (synopsis "Library for reading and resampling audio files") + (description "libaudec is a wrapper library over ffmpeg, sndfile and +libsamplerate for reading and resampling audio files, based on Robin Gareus' +@code{audio_decoder} code.") + (home-page "https://git.zrythm.org/cgit/libaudec") + (license license:agpl3+))) diff --git a/gnu/packages/bdw-gc.scm b/gnu/packages/bdw-gc.scm index 7196ffcd32..cc492105d1 100644 --- a/gnu/packages/bdw-gc.scm +++ b/gnu/packages/bdw-gc.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2016, 2017 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2016, 2017, 2020 Ludovic Courtès ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2016, 2018 Leo Famulari ;;; Copyright © 2017 Rene Saavedra @@ -91,6 +91,18 @@ C or C++ programs, though that is not its primary goal.") (license (x11-style (string-append home-page "license.txt"))))) +(define-public libgc-8.0 + (package/inherit + libgc + (version "8.0.4") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/ivmai/bdwgc/releases" + "/download/v" version "/gc-" version ".tar.gz")) + (sha256 + (base32 + "1798rp3mcfkgs38ynkbg2p47bq59pisrc6mn0l20pb5iczf0ssj3")))))) + (define-public libgc/back-pointers (package (inherit libgc) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index e2b4f6ea7f..c1da8ac106 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -694,6 +694,34 @@ annotations.") "This is a manifest package for Illumina's EPIC methylation arrays.") (license license:artistic2.0))) +;; This is a CRAN package, but it depends on r-bsgenome-hsapiens-ucsc-hg19 +;; from Bioconductor. +(define-public r-deconstructsigs + (package + (name "r-deconstructsigs") + (version "1.8.0") + (source (origin + (method url-fetch) + (uri (cran-uri "deconstructSigs" version)) + (sha256 + (base32 + "014x0nb23jb98666kaav2phkvmkr38pi38jv0dqd4jv7zp0gdf1a")))) + (properties + `((upstream-name . "deconstructSigs"))) + (build-system r-build-system) + (propagated-inputs + `(("r-bsgenome" ,r-bsgenome) + ("r-bsgenome-hsapiens-ucsc-hg19" ,r-bsgenome-hsapiens-ucsc-hg19) + ("r-genomeinfodb" ,r-genomeinfodb) + ("r-reshape2" ,r-reshape2))) + (home-page "https://github.com/raerose01/deconstructSigs") + (synopsis "Identifies signatures present in a tumor sample") + (description "This package takes sample information in the form of the +fraction of mutations in each of 96 trinucleotide contexts and identifies +the weighted combination of published signatures that, when summed, most +closely reconstructs the mutational profile.") + (license license:gpl2+))) + (define-public r-do-db (package (name "r-do-db") @@ -2160,14 +2188,14 @@ possible, parallelization is achieved using the BiocParallel framework.") (define-public r-destiny (package (name "r-destiny") - (version "3.0.0") + (version "3.0.1") (source (origin (method url-fetch) (uri (bioconductor-uri "destiny" version)) (sha256 (base32 - "0vj9nk8g6i4vzm6cnzvbsqcvyk6fhmx0a0nxxrciarffyhqk81yz")))) + "1hzg53p1cz21bvnfyyz40bpvjhg89zi3rahlqf0c4w85iwc1i4vi")))) (build-system r-build-system) (propagated-inputs `(("r-biobase" ,r-biobase) @@ -3165,14 +3193,14 @@ are standardized and usable by the accompanying mutossGUI package.") (define-public r-metap (package (name "r-metap") - (version "1.2") + (version "1.3") (source (origin (method url-fetch) (uri (cran-uri "metap" version)) (sha256 (base32 - "0pfbcixjrzx81l9wqhlp55khg9k63zf8pvg2n39c19akr4ppzhvf")))) + "1jmmmmjiklaxfl604hwqil193ydaghvd5jv8xsr4bx3pzn5i9kvz")))) (build-system r-build-system) (propagated-inputs `(("r-lattice" ,r-lattice) @@ -5164,14 +5192,14 @@ packages.") (define-public r-ropls (package (name "r-ropls") - (version "1.18.6") + (version "1.18.8") (source (origin (method url-fetch) (uri (bioconductor-uri "ropls" version)) (sha256 (base32 - "1sm2fmygrra9gdcs90lmk5y1ag6arga6159kggx4ij8bkhyc66vb")))) + "033i39r4037nd54jnp5zdn1vpzh61r671vmq0sf8dqrfblhm4w7a")))) (build-system r-build-system) (propagated-inputs `(("r-biobase" ,r-biobase) @@ -7177,14 +7205,14 @@ access.") (define-public r-multiassayexperiment (package (name "r-multiassayexperiment") - (version "1.12.1") + (version "1.12.2") (source (origin (method url-fetch) (uri (bioconductor-uri "MultiAssayExperiment" version)) (sha256 (base32 - "0xpi5qpffg9pn8szkvicpc43a0r534wngyqwvsip8w66zi8c9kpc")))) + "0722f3jl1xq8k8w7vrv986jd16bgysqp3n07pgmdn0hh1zh2mcqc")))) (properties `((upstream-name . "MultiAssayExperiment"))) (build-system r-build-system) @@ -7349,7 +7377,7 @@ analytics on packages.") (description "BiocSet displays different biological sets in a triple tibble format. These three tibbles are @code{element}, @code{set}, and @code{elementset}. -The user has the abilty to activate one of these three tibbles to perform +The user has the ability to activate one of these three tibbles to perform common functions from the @code{dplyr} package. Mapping functionality and accessing web references for elements/sets are also available in BiocSet.") (license license:artistic2.0))) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index e8dac2a12b..b7b80cec02 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7349,13 +7349,13 @@ checks on R packages that are to be submitted to the Bioconductor repository.") (define-public r-s4vectors (package (name "r-s4vectors") - (version "0.24.2") + (version "0.24.3") (source (origin (method url-fetch) (uri (bioconductor-uri "S4Vectors" version)) (sha256 (base32 - "1s1h00k2ki7sd0hz4l8n41xr6ixszag7lm0ryrbb08idgcy16ipn")))) + "01f7dms4kw9ajwqlvh5s47riv748xrrs41na03byhjvn4fbdc44y")))) (properties `((upstream-name . "S4Vectors"))) (build-system r-build-system) @@ -7930,13 +7930,13 @@ as well as query and modify the browser state, such as the current viewport.") (define-public r-genomicfeatures (package (name "r-genomicfeatures") - (version "1.38.0") + (version "1.38.1") (source (origin (method url-fetch) (uri (bioconductor-uri "GenomicFeatures" version)) (sha256 (base32 - "0xd9rlsicycbanbcfhc97cj8b8vk94g7lkbmhk37w1511bq35wz5")))) + "1c1x29f447dv0i1wi88paji645lfsgmg4ckn19hyhlra72smhzqc")))) (properties `((upstream-name . "GenomicFeatures"))) (build-system r-build-system) @@ -10317,14 +10317,14 @@ family of feature/genome hypotheses.") (define-public r-gviz (package (name "r-gviz") - (version "1.30.0") + (version "1.30.1") (source (origin (method url-fetch) (uri (bioconductor-uri "Gviz" version)) (sha256 (base32 - "1p7n4yc77272rd8ybsim3rcg6kf6wmc95pwwav40b754imxn263z")))) + "03jj193fzmhvkjw8f5zk6wgflkvm3phny0q38scawcplfsyb8z64")))) (properties `((upstream-name . "Gviz"))) (build-system r-build-system) (propagated-inputs @@ -12937,14 +12937,14 @@ analyses in addition to large-scale sequence-level searches.") (define-public r-diversitree (package (name "r-diversitree") - (version "0.9-11") + (version "0.9-13") (source (origin (method url-fetch) (uri (cran-uri "diversitree" version)) (sha256 (base32 - "1jqfjmmaigq581l4zxysmkhld0xv6izlbr1hihf9zplkix36majc")))) + "00vi4klywi35hd170ksjv3xja3hqqbkcidcnrrlpgv4179k0azix")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) @@ -14626,21 +14626,23 @@ let before_space s = (let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin"))) (copy-recursively "bin" bin)) - #t))))) + #t))) + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (inputs `(("zlib" ,zlib "static") ("gsl" ,gsl) - ("ocaml-ounit" ,ocaml-ounit) - ("ocaml-batteries" ,ocaml-batteries) - ("ocaml-camlzip" ,camlzip) - ("ocaml-csv" ,ocaml-csv) - ("ocaml-sqlite3" ,ocaml-sqlite3) - ("ocaml-xmlm" ,ocaml-xmlm) - ("ocaml-mcl" ,ocaml-mcl) - ("ocaml-gsl" ,ocaml-gsl-1))) + ("ocaml-ounit" ,(package-with-ocaml4.07 ocaml-ounit)) + ("ocaml-batteries" ,(package-with-ocaml4.07 ocaml-batteries)) + ("ocaml-camlzip" ,(package-with-ocaml4.07 camlzip)) + ("ocaml-csv" ,(package-with-ocaml4.07 ocaml-csv)) + ("ocaml-sqlite3" ,ocaml4.07-sqlite3) + ("ocaml-xmlm" ,(package-with-ocaml4.07 ocaml-xmlm)) + ("ocaml-mcl" ,(package-with-ocaml4.07 ocaml-mcl)) + ("ocaml-gsl" ,ocaml4.07-gsl-1))) (native-inputs `(("cddlib-src" ,(package-source cddlib)) - ("ocamlbuild" ,ocamlbuild) + ("ocamlbuild" ,(package-with-ocaml4.07 ocamlbuild)) ("pkg-config" ,pkg-config))) (propagated-inputs `(("pplacer-scripts" ,pplacer-scripts))) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index d3773bf6df..e3d27874e8 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -751,6 +751,21 @@ to Novena upstream, does not load u-boot.img from the first partition.") ("firmware-m0" ,rk3399-cortex-m0) ,@(package-native-inputs base)))))) +(define-public u-boot-qemu-riscv64 + (make-u-boot-package "qemu-riscv64" "riscv64-linux-gnu")) + +(define-public u-boot-qemu-riscv64-smode + (let ((base (make-u-boot-package "qemu-riscv64_smode" "riscv64-linux-gnu"))) + (package + (inherit base) + (source (origin + (inherit (package-source u-boot)) + (patches + (search-patches "u-boot-riscv64-fix-extlinux.patch"))))))) + +(define-public u-boot-sifive-fu540 + (make-u-boot-package "sifive_fu540" "riscv64-linux-gnu")) + (define-public u-boot-rock64-rk3328 (let ((base (make-u-boot-package "rock64-rk3328" "aarch64-linux-gnu"))) (package diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm index 5a88c98456..060e4d18ad 100644 --- a/gnu/packages/calendar.scm +++ b/gnu/packages/calendar.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2016 Troy Sankey ;;; Copyright © 2016 Stefan Reichoer ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2020 Marius Bakke ;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Marius Bakke -;;; Copyright © 2017, 2018 Ludovic Courtès +;;; Copyright © 2017, 2018, 2020 Ludovic Courtès ;;; Copyright © 2018 Fis Trivial ;;; Copyright © 2019 Pierre Langlois ;;; Copyright © 2019 Chris Marusich @@ -1491,8 +1491,6 @@ C/C++, R, and more, and uploads it to the @code{codecov.io} service.") #:modules ((guix build python-build-system) (guix build utils) (srfi srfi-1)) - #:imported-modules (,@%python-build-system-modules - (srfi srfi-1)) #:phases (modify-phases %standard-phases (delete 'install) @@ -2504,7 +2502,7 @@ grew out of the @dfn{Vc} project.") (define-public python-pyfakefs (package (name "python-pyfakefs") - (version "3.5.8") + (version "3.7.1") (source (origin (method url-fetch) ;; We use the PyPI URL because there is no proper release @@ -2513,7 +2511,7 @@ grew out of the @dfn{Vc} project.") (uri (pypi-uri "pyfakefs" version)) (sha256 (base32 - "0qb9jp0bqhc0dv0rn805fv99029fvx135f3bvka6scfkcl6jgllc")) + "1cp2yw96fa2qkgi39xa3nlr3inf8wb5rgh9kdq53256ca2r8pdhy")) (patches (search-patches "python-pyfakefs-remove-bad-test.patch")) (file-name (string-append name "-" version ".tar.gz")))) diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index 2006dc5173..24de11b713 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -47,8 +47,8 @@ #:use-module (guix build-system gnu)) (define-public cuirass - (let ((commit "46f73b6b7c05389c67b02d32c8946ca665611cba") - (revision "27")) + (let ((commit "b9031db946ff89a39e1507b430f64402b0e9572a") + (revision "28")) (package (name "cuirass") (version (string-append "0.0.1-" revision "." (string-take commit 7))) @@ -60,7 +60,7 @@ (file-name (string-append name "-" version)) (sha256 (base32 - "1zw4g4y0cc76i0s0hdc7jbyhwkn8pz03k6x02dslq42000cyjgi2")))) + "103smfbdpgaw17xw3vc9cb3nfisrx64k71rpzn8g35f3jz7bxdcf")))) (build-system gnu-build-system) (arguments '(#:modules ((guix build utils) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 851bb02163..ced13eb075 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -24,8 +24,6 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages commencement) - #:use-module ((guix licenses) - #:select (gpl3+ lgpl2.0+ public-domain)) #:use-module (gnu packages) #:use-module (gnu packages bootstrap) #:use-module (gnu packages base) @@ -56,10 +54,8 @@ #:use-module (guix memoization) #:use-module (guix utils) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-26) #:use-module (ice-9 vlist) #:use-module (ice-9 match) - #:use-module (ice-9 regex) #:export (make-gcc-toolchain)) ;;; Commentary: diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 3368d60042..d5622f1216 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -423,14 +423,14 @@ such as copy/paste from an R session.") (define-public r-callr (package (name "r-callr") - (version "3.4.0") + (version "3.4.1") (source (origin (method url-fetch) (uri (cran-uri "callr" version)) (sha256 (base32 - "1hvxw2glizq8g0qnxakcxh8jc5scn0hp1x8i70fdpqwwbgx49slr")))) + "0nyba0knzd44zz2xmr7zd9qh3rny0q8msysxf49843d9rlyv6y70")))) (build-system r-build-system) (propagated-inputs `(("r-r6" ,r-r6) @@ -1293,14 +1293,14 @@ coordinates.") (define-public r-rgooglemaps (package (name "r-rgooglemaps") - (version "1.4.5.1") + (version "1.4.5.2") (source (origin (method url-fetch) (uri (cran-uri "RgoogleMaps" version)) (sha256 (base32 - "1lrbl0nax7rzk460mh6rq9hydahdi3ckxk4kxx3xij29jl3lmijh")))) + "1y2dinxmzx6mg6ynpk2q7f4k4rxjm66my185gafdcvpc4rl7svs7")))) (properties `((upstream-name . "RgoogleMaps"))) (build-system r-build-system) (propagated-inputs `(("r-png" ,r-png))) @@ -2034,14 +2034,14 @@ statistical functions and other utilities to ease their usage.") (define-public r-prettyunits (package (name "r-prettyunits") - (version "1.1.0") + (version "1.1.1") (source (origin (method url-fetch) (uri (cran-uri "prettyunits" version)) (sha256 (base32 - "0453vvslpkj1ysyv0cy9hw98q5wlnj7bvvz7vzl5ld8ij82lwy5c")))) + "1ibmzgknw5896q2i6r59jz2izblxwgb29ivvjzx50pkd1jl9l6cs")))) (build-system r-build-system) (home-page "https://github.com/gaborcsardi/prettyunits") (synopsis "Pretty, human readable formatting of quantities") @@ -2438,14 +2438,14 @@ topics for ecologists (ISBN 978-0-691-12522-0).") (define-public r-lpsolve (package (name "r-lpsolve") - (version "5.6.13.3") + (version "5.6.15") (source (origin (method url-fetch) (uri (cran-uri "lpSolve" version)) (sha256 (base32 - "1xazby8amb47vw5n12k13awv7x3bjci3q8vdd3vk1ms0ii16ahg6")))) + "1fpkyjyqykwa1dxnhiky01pm09syxg169lm7hpy39bdbg10vw9s6")))) (properties `((upstream-name . "lpSolve"))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/lpSolve") @@ -3065,14 +3065,14 @@ by base R methods related to model fitting.") (define-public r-broom (package (name "r-broom") - (version "0.5.3") + (version "0.5.4") (source (origin (method url-fetch) (uri (cran-uri "broom" version)) (sha256 (base32 - "177m249dxbf9pf249610qrl58v025ws41ipfihy66751pwsv2n8d")))) + "1w35v1qrg8d0bm7a4gsdqkmrl9nmymsvmamy48vc046a1axzgzq1")))) (build-system r-build-system) (propagated-inputs `(("r-backports" ,r-backports) @@ -3563,14 +3563,14 @@ training models for classification or ranking.") (define-public r-xts (package (name "r-xts") - (version "0.11-2") + (version "0.12-0") (source (origin (method url-fetch) (uri (cran-uri "xts" version)) (sha256 (base32 - "1f0kxrvn13py3hk2gh2m56cqm39x3bqp1i350r5viddacrm2yxqj")))) + "0q4cc8ynp7ndmgll1jj3lxyl6wmgg89ad3wq09kjc2ngszdfc4fz")))) (build-system r-build-system) (propagated-inputs `(("r-zoo" ,r-zoo))) (home-page "https://github.com/joshuaulrich/xts") @@ -3887,14 +3887,14 @@ timeout. It can also poll several processes at once.") (define-public r-tsp (package (name "r-tsp") - (version "1.1-7") + (version "1.1-8") (source (origin (method url-fetch) (uri (cran-uri "TSP" version)) (sha256 (base32 - "0rxxhvqi55869dg2p82hzg5kvgcqf9h60cjcg00k3pv9aw4x07kb")))) + "0g44f2a4m7rfx6y51cdbr6vcmmpbwgyzpvfjksq3lb7gcpbr7xrx")))) (properties `((upstream-name . "TSP"))) (build-system r-build-system) (propagated-inputs `(("r-foreach" ,r-foreach))) @@ -4067,22 +4067,20 @@ to variables on the left-hand side of the assignment.") (define-public r-vctrs (package (name "r-vctrs") - (version "0.2.1") + (version "0.2.2") (source (origin (method url-fetch) (uri (cran-uri "vctrs" version)) (sha256 (base32 - "0rlwjfvvhv3s5mj4lqhwlqwddpizyp46i1qbcvw0mzb5q8b0nkz0")))) + "008xjmlj5a5vm303wxac7bliamqwaj7mcj0jv6n9ibc8p8h93aqd")))) (build-system r-build-system) (propagated-inputs - `(("r-backports" ,r-backports) - ("r-digest" ,r-digest) + `(("r-digest" ,r-digest) ("r-ellipsis" ,r-ellipsis) ("r-glue" ,r-glue) - ("r-rlang" ,r-rlang) - ("r-zeallot" ,r-zeallot))) + ("r-rlang" ,r-rlang))) (home-page "https://github.com/r-lib/vctrs") (synopsis "Vector helpers") (description @@ -4322,14 +4320,14 @@ rules with R.") (define-public r-leaps (package (name "r-leaps") - (version "3.0") + (version "3.1") (source (origin (method url-fetch) (uri (cran-uri "leaps" version)) (sha256 (base32 - "11gjmn1azrjw5xlvdb4gknj9985kck9x8zb9np1rnk2smp6pka2m")))) + "1dn3yl1p03n0iynd1vsdkrr0fhmvgrmfkv37y7n371765h83lz1x")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) (home-page "https://cran.r-project.org/web/packages/leaps/") @@ -5940,14 +5938,14 @@ clustering.") (define-public r-factominer (package (name "r-factominer") - (version "2.0") + (version "2.1") (source (origin (method url-fetch) (uri (cran-uri "FactoMineR" version)) (sha256 (base32 - "0qiw60ypf3bf5xsqz2b9l82i4jvprjm8lzpp12lhl8d9j5s8m0j8")))) + "1b2jsv8vlaynknd7nlra6fdmr56n7678q5s28rqmagbadiqwvj4h")))) (properties `((upstream-name . "FactoMineR"))) (build-system r-build-system) (propagated-inputs @@ -6409,22 +6407,18 @@ information are missing.") (define-public r-sjlabelled (package (name "r-sjlabelled") - (version "1.1.1") + (version "1.1.2") (source (origin (method url-fetch) (uri (cran-uri "sjlabelled" version)) (sha256 (base32 - "0c9wy0gsr2sbkrv2638xbi7qm0gl6jyr6sfricavhkm7l4hljjkz")))) + "1vnx067mxnvz4jzhmpiarda8ln6habzj02qikvkix5piiy85sqcw")))) (build-system r-build-system) (propagated-inputs `(("r-haven" ,r-haven) - ("r-insight" ,r-insight) - ("r-magrittr" ,r-magrittr) - ("r-purrr" ,r-purrr) - ("r-rlang" ,r-rlang) - ("r-tidyselect" ,r-tidyselect))) + ("r-insight" ,r-insight))) (home-page "https://github.com/strengejacke/sjlabelled") (synopsis "Labelled data utility functions") (description @@ -7808,14 +7802,14 @@ multiple-imputation datasets.") (define-public r-magick (package (name "r-magick") - (version "2.2") + (version "2.3") (source (origin (method url-fetch) (uri (cran-uri "magick" version)) (sha256 (base32 - "1xh5mhaks3wk1iwqs9d3lnbfv121lc1yz5fqdzk5il9ppr831l85")))) + "182b4wahkq9q0scn99mql4vm9fp92nja0r5yizc4x9rjl492ahd8")))) (build-system r-build-system) (inputs `(("imagemagick" ,imagemagick) @@ -7841,14 +7835,14 @@ console, resulting in an interactive editing environment.") (define-public r-survey (package (name "r-survey") - (version "3.36") + (version "3.37") (source (origin (method url-fetch) (uri (cran-uri "survey" version)) (sha256 (base32 - "0xclsy4ram4k48vzh5m5bpmknnpwxnss85v73s4czsjj5ffjxwwh")))) + "1f31dvh48gzzan13pdrwh84ls35x9116095i7mdrcbrhz809r8dy")))) (build-system r-build-system) (propagated-inputs `(("r-lattice" ,r-lattice) @@ -8407,18 +8401,19 @@ detection, parallelism through BLAS and parallel user templates.") (define-public r-sjstats (package (name "r-sjstats") - (version "0.17.7") + (version "0.17.8") (source (origin (method url-fetch) (uri (cran-uri "sjstats" version)) (sha256 - (base32 "029rl05p88bp01favz300m980r1khcx2a2kn88yqbnbgkjjgqqc6")))) + (base32 "0gagqbcmimlvxhpjkmd3s17mbrz5n937qksca1hvm6kj4rk37hzb")))) (build-system r-build-system) (propagated-inputs `(("r-bayestestr" ,r-bayestestr) ("r-broom" ,r-broom) ("r-dplyr" ,r-dplyr) + ("r-effectsize" ,r-effectsize) ("r-emmeans" ,r-emmeans) ("r-insight" ,r-insight) ("r-lme4" ,r-lme4) @@ -8481,14 +8476,14 @@ differentiation.") (define-public r-bayestestr (package (name "r-bayestestr") - (version "0.4.0") + (version "0.5.1") (source (origin (method url-fetch) (uri (cran-uri "bayestestR" version)) (sha256 (base32 - "1d3f50rzjzgzclwd6j887dssyhv7hdq7pik9nnlr3w775v3f69zc")))) + "01kqvky1ndd1q64rzmqh5yfzz36ci8yhy4w16gjnw4c257ikhvd8")))) (properties `((upstream-name . "bayestestR"))) (build-system r-build-system) (propagated-inputs @@ -8506,14 +8501,14 @@ ROPE percentage and pd).") (define-public r-performance (package (name "r-performance") - (version "0.4.2") + (version "0.4.3") (source (origin (method url-fetch) (uri (cran-uri "performance" version)) (sha256 (base32 - "1pcjmqqm178dvdcpzkv5p4sj7glsppcny7znljb2nqkxh539a59p")))) + "1164585ywbnrcy7an57kifh2gdb6g08z9pxw75ywqdcfyd51i3dz")))) (build-system r-build-system) (propagated-inputs `(("r-bayestestr" ,r-bayestestr) @@ -8564,14 +8559,14 @@ results using @code{ggplot2}.") (define-public r-effectsize (package (name "r-effectsize") - (version "0.0.1") + (version "0.1.1") (source (origin (method url-fetch) (uri (cran-uri "effectsize" version)) (sha256 (base32 - "07vgmxdl75798hgdh90zysafjh97rmmj2wjjyr6xff4fbhi8rlkb")))) + "0dd7nbkg8kmash9zh2gg08m7hbpsqwpkvkdhinfqkbg5d0jinhq8")))) (properties `((upstream-name . "effectsize"))) (build-system r-build-system) (propagated-inputs @@ -8589,13 +8584,13 @@ conversion of indices such as Cohen's d, r, odds, etc.") (define-public r-sjplot (package (name "r-sjplot") - (version "2.8.1") + (version "2.8.2") (source (origin (method url-fetch) (uri (cran-uri "sjPlot" version)) (sha256 - (base32 "0rmfc2pq80w0kxh6icljhqm31q580s0czvllsfxk6crmpyfgxkp7")))) + (base32 "16721a5006q0gv45zjcwnkykxhjkzpq5n35vhik0g0ixgm3a2vci")))) (properties `((upstream-name . "sjPlot"))) (build-system r-build-system) (propagated-inputs @@ -8605,17 +8600,11 @@ conversion of indices such as Cohen's d, r, odds, etc.") ("r-forcats" ,r-forcats) ("r-ggeffects" ,r-ggeffects) ("r-ggplot2" ,r-ggplot2) - ("r-ggrepel" ,r-ggrepel) - ("r-glmmtmb" ,r-glmmtmb) ("r-insight" ,r-insight) ("r-knitr" ,r-knitr) - ("r-lme4" ,r-lme4) - ("r-magrittr" ,r-magrittr) ("r-mass" ,r-mass) - ("r-modelr" ,r-modelr) ("r-parameters" ,r-parameters) ("r-performance" ,r-performance) - ("r-psych" ,r-psych) ("r-purrr" ,r-purrr) ("r-rlang" ,r-rlang) ("r-scales" ,r-scales) @@ -8660,17 +8649,18 @@ back to file after modifications.") (define-public r-gh (package (name "r-gh") - (version "1.0.1") + (version "1.1.0") (source (origin (method url-fetch) (uri (cran-uri "gh" version)) (sha256 (base32 - "1llinfajb0g7006jd2w1hpskxpmkjhnqarcjb71r1qvsccb2ph7k")))) + "1bc9bn1078s664hc806dh0y1ncxif77q479rfmxfir9z7hwaz7yy")))) (build-system r-build-system) (propagated-inputs - `(("r-httr" ,r-httr) + `(("r-cli" ,r-cli) + ("r-httr" ,r-httr) ("r-ini" ,r-ini) ("r-jsonlite" ,r-jsonlite))) (home-page "https://github.com/r-lib/gh#readme") @@ -9087,14 +9077,14 @@ analysing multivariate abundance data in community ecology.") (define-public r-afex (package (name "r-afex") - (version "0.25-1") + (version "0.26-0") (source (origin (method url-fetch) (uri (cran-uri "afex" version)) (sha256 (base32 - "12n020y7rjm7402940gkqxa5j901p093f381i23p66fa3fyrshkf")))) + "0h3p1svgk1ap3lj08fi8nzdb3710h99bv150krf1x8wci1a0r1if")))) (build-system r-build-system) (propagated-inputs `(("r-car" ,r-car) @@ -10663,14 +10653,14 @@ preparing, executing, and processing HTTP requests.") (define-public r-gmp (package (name "r-gmp") - (version "0.5-13.5") + (version "0.5-13.6") (source (origin (method url-fetch) (uri (cran-uri "gmp" version)) (sha256 (base32 - "042mzsl6z6s61fy5m21yf9q83l08vnyqljn4iax7kqyiycpsp0gn")))) + "0j2sz2nw41y9306rl1b8hbn0spz7453z5iawcq0bvslyrhc1d9ir")))) (build-system r-build-system) (arguments '(#:phases @@ -10690,20 +10680,23 @@ limitations\" using the GNU Multiple Precision library.") (define-public r-rmpfr (package (name "r-rmpfr") - (version "0.7-2") + (version "0.8-1") (source (origin (method url-fetch) (uri (cran-uri "Rmpfr" version)) (sha256 (base32 - "1zq3as34r27v2yc729731997wdhxb6cs5ilmak4nmsljabnac7gc")))) + "09kw7hyca8xc09r2d88qj81cclar8acaq5q9q5rw9f49iffda0rr")))) (properties `((upstream-name . "Rmpfr"))) (build-system r-build-system) (inputs - `(("mpfr" ,mpfr))) + `(("mpfr" ,mpfr) + ("gmp" ,gmp))) (propagated-inputs `(("r-gmp" ,r-gmp))) + (native-inputs + `(("pkg-config" ,pkg-config))) (home-page "http://rmpfr.r-forge.r-project.org/") (synopsis "R bindings to the MPFR library") (description @@ -11656,14 +11649,14 @@ them in distributed compute environments.") (define-public r-future (package (name "r-future") - (version "1.15.1") + (version "1.16.0") (source (origin (method url-fetch) (uri (cran-uri "future" version)) (sha256 (base32 - "101hi8warqa0py9l6c5p98f7i9xjhx01w655z6a35jx1dhspykzd")))) + "1xaqh0b2knf5bp23mc0kriq0iqhqna31q3b7d960piqjhzrb03dm")))) (build-system r-build-system) (propagated-inputs `(("r-digest" ,r-digest) @@ -11795,20 +11788,19 @@ heuristics.") (define-public r-dorng (package (name "r-dorng") - (version "1.7.1") + (version "1.8.2") (source (origin (method url-fetch) (uri (cran-uri "doRNG" version)) (sha256 (base32 - "1sb75aqkliprglfxc4x4wds6alqgzhvl2n812g1d32a88ra3slr7")))) + "1jff27zzrvd1fd61x2m9468h8xn3s1c9f6wibviy5zdhj5dx9s9k")))) (properties `((upstream-name . "doRNG"))) (build-system r-build-system) (propagated-inputs `(("r-foreach" ,r-foreach) ("r-iterators" ,r-iterators) - ("r-pkgmaker" ,r-pkgmaker) ("r-rngtools" ,r-rngtools))) (home-page "https://renozao.github.io/doRNG/") (synopsis "Generic reproducible parallel backend for foreach loops") @@ -12029,14 +12021,14 @@ numbers (e.g. concentrations).") (define-public r-cobs (package (name "r-cobs") - (version "1.3-3") + (version "1.3-4") (source (origin (method url-fetch) (uri (cran-uri "cobs" version)) (sha256 (base32 - "1pqvz7czcchri4x79g78hbwyagb3bqzdqb047zkbdinyz067c7kb")))) + "0hiw5smk6kgk0gb9840kcqkhkybl7n30s77xhjc395x09izbgix1")))) (build-system r-build-system) (propagated-inputs `(("r-quantreg" ,r-quantreg) @@ -13215,14 +13207,14 @@ spanning tree.") (define-public r-adegenet (package (name "r-adegenet") - (version "2.1.1") + (version "2.1.2") (source (origin (method url-fetch) (uri (cran-uri "adegenet" version)) (sha256 (base32 - "0ynfblp0hbd3dp3k86fn1wyhqr28lk6hs2bg4q7gyf0sfdfzwhrh")))) + "01fgrgbiddz2q4l3mx637hhwbs7r0c43yw7vpwl8p8pwbm3nykz0")))) (build-system r-build-system) (propagated-inputs `(("r-ade4" ,r-ade4) @@ -14063,14 +14055,14 @@ consists of @code{grid} grobs and viewports that can then be manipulated with (define-public r-farver (package (name "r-farver") - (version "2.0.1") + (version "2.0.3") (source (origin (method url-fetch) (uri (cran-uri "farver" version)) (sha256 (base32 - "0aq1hk561pz3s3lpay1adwsihha6mxp7zbj4n1m6307g34awlhhn")))) + "1k75v07dsfkjra2gsgxg9s55cw3b46b1nh960kqphq7cg7gr058f")))) (build-system r-build-system) (home-page "https://github.com/thomasp85/farver") (synopsis "Vectorized color conversion and comparison") @@ -14444,14 +14436,14 @@ and Learning to Rank measures (LambdaMart).") (define-public r-threejs (package (name "r-threejs") - (version "0.3.1") + (version "0.3.3") (source (origin (method url-fetch) (uri (cran-uri "threejs" version)) (sha256 (base32 - "1s3rdlzy7man6177ycayg6xsh6k8y1r9rdj9yzn3b93j2rs0nxbi")))) + "1711h351nzxfkbbdwvfzyhciyvi9c6wx3jq1g97lzcqgnb45kivn")))) (build-system r-build-system) (arguments `(#:modules ((guix build utils) @@ -14468,8 +14460,8 @@ and Learning to Rank measures (LambdaMart).") (unzip2 `((,(assoc-ref inputs "js-jquery") "htmlwidgets/lib/jquery/jquery.min.js") - (,(assoc-ref inputs "js-threejs-85") - "htmlwidgets/lib/threejs-85/three.min.js")))) + (,(assoc-ref inputs "js-threejs-111") + "htmlwidgets/lib/threejs-111/three.min.js")))) (lambda (sources targets) (for-each (lambda (source target) (format #t "Processing ~a --> ~a~%" @@ -14491,17 +14483,17 @@ and Learning to Rank measures (LambdaMart).") ("js-jquery" ,(origin (method url-fetch) - (uri "https://code.jquery.com/jquery-3.3.1.js") + (uri "https://code.jquery.com/jquery-1.12.4.js") (sha256 (base32 - "1b8zxrp6xwzpw25apn8j4qws0f6sr7qr7h2va5h1mjyfqvn29anq")))) - ("js-threejs-85" + "0x9mrc1668icvhpwzvgafm8xm11x9lfai9nwr66aw6pjnpwkc3s3")))) + ("js-threejs-111" ,(origin (method url-fetch) - (uri "https://raw.githubusercontent.com/mrdoob/three.js/r85/build/three.js") + (uri "https://raw.githubusercontent.com/mrdoob/three.js/r111/build/three.js") (sha256 (base32 - "17khh3dmijdjw4qb9qih1rqhxgrmm3pc6w8lzdx6rf6a3mrc9xnl")))))) + "1cxdkw3plmlw1xvhbx5dm39gqczgzxip2dm887v6whhsxqxl9cky")))))) (home-page "https://bwlewis.github.io/rthreejs") (synopsis "Interactive 3D scatter plots, networks and globes") (description @@ -15462,14 +15454,14 @@ path of values for the regularization parameter.") (define-public r-rhpcblasctl (package (name "r-rhpcblasctl") - (version "0.18-205") + (version "0.20-17") (source (origin (method url-fetch) (uri (cran-uri "RhpcBLASctl" version)) (sha256 (base32 - "1ls2286fvrp1g7p8v4l6axznychh3qndranfpzqz806cm9ml1cdp")))) + "0iwc06blr5sx7rylwczi2jrha8sk8qs0jklflwpidl0zj1jxdggp")))) (properties `((upstream-name . "RhpcBLASctl"))) (build-system r-build-system) (home-page "http://prs.ism.ac.jp/~nakama/Rhpc/") @@ -15530,14 +15522,14 @@ computed using the L1 (Manhattan, taxicab) metric.") (define-public r-leiden (package (name "r-leiden") - (version "0.3.1") + (version "0.3.2") (source (origin (method url-fetch) (uri (cran-uri "leiden" version)) (sha256 (base32 - "19gq27zin4gf4sh7h24gyq3f8jjir20n2l36a7pk1pbzcr4ixyhp")))) + "0kf6fxqf5l5vilm9g7vspc18daw84cwhpafs5szb1skwd6vrfdzw")))) (properties `((upstream-name . "leiden"))) (build-system r-build-system) (propagated-inputs @@ -15877,14 +15869,14 @@ in pipelines.") (define-public r-parameters (package (name "r-parameters") - (version "0.4.0") + (version "0.4.1") (source (origin (method url-fetch) (uri (cran-uri "parameters" version)) (sha256 (base32 - "0z1hdxgippchij28h8xbbz6l29kkyakwxxj5vxnpic40cpkqqdd6")))) + "0xkdn1079sr6kgyhc1zmn9imca4bghnxs3f91h0z7vkzjj73qdbi")))) (properties `((upstream-name . "parameters"))) (build-system r-build-system) (propagated-inputs @@ -16124,14 +16116,14 @@ as a boxplot function.") (define-public r-bio3d (package (name "r-bio3d") - (version "2.4-0") + (version "2.4-1") (source (origin (method url-fetch) (uri (cran-uri "bio3d" version)) (sha256 (base32 - "0ikpk1ppdp50m9kd289z616i382j9i7ji1zchyd4xqfyk8lnxf4s")))) + "07rw6c2d95gb5myxh31727j0jrchd0xisa3x89jjmf4zzs3vv7v7")))) (properties `((upstream-name . "bio3d"))) (build-system r-build-system) (inputs `(("zlib" ,zlib))) @@ -16967,14 +16959,14 @@ facilitates insertion into pipelines, and content inspection.") (define-public r-rngwell (package (name "r-rngwell") - (version "0.10-5") + (version "0.10-6") (source (origin (method url-fetch) (uri (cran-uri "rngWELL" version)) (sha256 (base32 - "0b4ys525gksgqwqx9id4bdgyi9mwj6n3r87xdzf4fc9hp3cc16jb")))) + "0pjjcs9pqj7mf0mhb2cwd0aanqpwnm65bm86hk6mi2vw8rgnj2vv")))) (properties `((upstream-name . "rngWELL"))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/rngWELL/") @@ -18766,14 +18758,14 @@ these algorithms also allow to detect anomalies (outliers).") (define-public r-idpmisc (package (name "r-idpmisc") - (version "1.1.19") + (version "1.1.20") (source (origin (method url-fetch) (uri (cran-uri "IDPmisc" version)) (sha256 (base32 - "13qcvfm703frs367paddz1wq9k3p17f9p5347m56bhky5hjkaphd")))) + "0zy6mxqa8arq0vvhsdcifzm3085c23rnwa1n36fhircph1xwvfdw")))) (properties `((upstream-name . "IDPmisc"))) (build-system r-build-system) (propagated-inputs @@ -18944,14 +18936,14 @@ problems (food web problems, linear programming problems).") (define-public r-shinycssloaders (package (name "r-shinycssloaders") - (version "0.2.0") + (version "0.3") (source (origin (method url-fetch) (uri (cran-uri "shinycssloaders" version)) (sha256 (base32 - "1bpzsm7m7c366sjl1qndp4m5dg2vlm68rjgdy9n1ija9xbp0r2g4")))) + "1gzq1lhcnhqd145ys3ixf0l13l560fiqr2sc3m2nrijwxlgcw54d")))) (properties `((upstream-name . "shinycssloaders"))) (build-system r-build-system) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 19a84f5cdb..a5f224f99e 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -4408,10 +4408,12 @@ the regex engine it uses pluggable.") "1wjc3gsan20gapga8nji6jcrmwn9n85q5zf2yfq6g50c7abkc2ql")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-grep-matcher" ,rust-grep-matcher-0.1) ("rust-pcre2" ,rust-pcre2-0.2)))) + (native-inputs + `(("pcre2" ,pcre2) + ("pkg-config" ,pkg-config))) (home-page "https://github.com/BurntSushi/ripgrep") (synopsis "Use PCRE2 with the grep crate") @@ -5328,10 +5330,13 @@ wasm-bindgen crate.") (origin (method url-fetch) (uri (crate-uri "jemalloc-sys" version)) - (file-name (string-append name "-" version ".crate")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0ify9vlql01qhfxlj7d4p9jvcp90mj2h69nkbq7slccvbhzryfqd")))) + "0ify9vlql01qhfxlj7d4p9jvcp90mj2h69nkbq7slccvbhzryfqd")) + (modules '((guix build utils))) + (snippet + '(begin (delete-file-recursively "jemalloc") #t)))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -5344,11 +5349,6 @@ wasm-bindgen crate.") (add-after 'configure 'override-jemalloc (lambda* (#:key inputs #:allow-other-keys) (let ((jemalloc (assoc-ref inputs "jemalloc"))) - (delete-file-recursively "jemalloc") - (delete-file-recursively - (string-append "guix-vendor/rust-jemalloc-sys-" - ,(package-version rust-jemalloc-sys-0.3) - ".crate/jemalloc")) (setenv "JEMALLOC_OVERRIDE" (string-append jemalloc "/lib/libjemalloc_pic.a"))) #t))))) @@ -5603,10 +5603,13 @@ values of all the exported APIs match the platform that libc is compiled for.") (origin (method url-fetch) (uri (crate-uri "libgit2-sys" version)) - (file-name (string-append name "-" version ".crate")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0l9fvki7qxsl97vgzqwlv75nl213a5vxw7b1jaik97ala356pv6r")))) + "0l9fvki7qxsl97vgzqwlv75nl213a5vxw7b1jaik97ala356pv6r")) + (modules '((guix build utils))) + (snippet + '(begin (delete-file-recursively "libgit2") #t)))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -5623,21 +5626,6 @@ values of all the exported APIs match the platform that libc is compiled for.") (lambda* (#:key inputs #:allow-other-keys) (let ((openssl (assoc-ref inputs "openssl"))) (setenv "OPENSSL_DIR" openssl)) - (delete-file-recursively "libgit2") - (delete-file-recursively - (string-append "guix-vendor/rust-libgit2-sys-" - ,(package-version rust-libgit2-sys-0.10) - ".crate/libgit2")) - (delete-file-recursively - (string-append "guix-vendor/rust-libz-sys-" - ,(package-version rust-libz-sys-1.0) - ".crate/src/zlib")) - (delete-file-recursively - (string-append "guix-vendor/rust-libssh2-sys-" - ,(package-version rust-libssh2-sys-0.2) - ".crate/libssh2")) - (setenv "LIBGIT2_SYS_USE_PKG_CONFIG" "1") - (setenv "LIBSSH2_SYS_USE_PKG_CONFIG" "1") #t))))) (native-inputs `(("libgit2" ,libgit2) @@ -5720,10 +5708,13 @@ functions and static variables these libraries contain.") (origin (method url-fetch) (uri (crate-uri "libssh2-sys" version)) - (file-name (string-append name "-" version ".crate")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "042gsgbvxgm5by4mk906j3zm4qdvzcfhjxrb55is1lrr6f0nxain")))) + "042gsgbvxgm5by4mk906j3zm4qdvzcfhjxrb55is1lrr6f0nxain")) + (modules '((guix build utils))) + (snippet + '(begin (delete-file-recursively "libssh2") #t)))) (build-system cargo-build-system) (arguments `(#:skip-build? #t ; it wants rust-openssl-src @@ -5741,16 +5732,6 @@ functions and static variables these libraries contain.") (lambda* (#:key inputs #:allow-other-keys) (let ((openssl (assoc-ref inputs "openssl"))) (setenv "OPENSSL_DIR" openssl)) - (delete-file-recursively "libssh2") - (delete-file-recursively - (string-append "guix-vendor/rust-libssh2-sys-" - ,(package-version rust-libssh2-sys-0.2) - ".crate/libssh2")) - (delete-file-recursively - (string-append "guix-vendor/rust-libz-sys-" - ,(package-version rust-libz-sys-1.0) - ".crate/src/zlib")) - (setenv "LIBSSH2_SYS_USE_PKG_CONFIG" "1") #t))))) (native-inputs `(("libssh2" ,libssh2) @@ -5903,26 +5884,19 @@ functions and static variables these libraries contain.") (origin (method url-fetch) (uri (crate-uri "lzma-sys" version)) - (file-name (string-append name "-" version ".crate")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "14gyj256yh0wm77jbvmlc39v7lfn0navpfrja4alczarzlc8ir2k")))) + "14gyj256yh0wm77jbvmlc39v7lfn0navpfrja4alczarzlc8ir2k")) + (modules '((guix build utils))) + (snippet + '(begin (delete-file-recursively "xz-5.2") #t)))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2) ("rust-cc" ,rust-cc-1.0) - ("rust-pkg-config" ,rust-pkg-config-0.3)) - #:phases - (modify-phases %standard-phases - (add-after 'configure 'unbundle-xz - (lambda _ - (delete-file-recursively "xz-5.2") - (delete-file-recursively - (string-append "guix-vendor/rust-lzma-sys-" - ,(package-version rust-lzma-sys-0.1) - ".crate/xz-5.2")) - #t))))) + ("rust-pkg-config" ,rust-pkg-config-0.3)))) (native-inputs `(("pkg-config" ,pkg-config) ("xz" ,xz))) @@ -6591,10 +6565,13 @@ types as proposed in RFC 1158.") (origin (method url-fetch) (uri (crate-uri "libz-sys" version)) - (file-name (string-append name "-" version ".crate")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1gjycyl2283525abks98bhxa4r259m617xfm5z52p3p3c8ry9d9f")))) + "1gjycyl2283525abks98bhxa4r259m617xfm5z52p3p3c8ry9d9f")) + (modules '((guix build utils))) + (snippet + '(begin (delete-file-recursively "src/zlib") #t)))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -6602,17 +6579,7 @@ types as proposed in RFC 1158.") ;; Build dependencies: ("rust-cc" ,rust-cc-1.0) ("rust-pkg-config" ,rust-pkg-config-0.3) - ("rust-vcpkg" ,rust-vcpkg-0.2)) - #:phases - (modify-phases %standard-phases - (add-after 'configure 'delete-vendored-zlib - (lambda _ - (delete-file-recursively "src/zlib") - (delete-file-recursively - (string-append "guix-vendor/rust-libz-sys-" - ,(package-version rust-libz-sys-1.0) - ".crate/src/zlib")) - #t))))) + ("rust-vcpkg" ,rust-vcpkg-0.2)))) (native-inputs `(("pkg-config" ,pkg-config) ("zlib" ,zlib))) @@ -7522,12 +7489,14 @@ deserialization, and interpreter in Rust.") "103i66a998g1fjrqf9sdyvi8qi83hwglz3pjdcq9n2r207hsagb0")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2) ("rust-log" ,rust-log-0.4) ("rust-pcre2-sys" ,rust-pcre2-sys-0.2) ("rust-thread-local" ,rust-thread-local-0.3)))) + (native-inputs + `(("pcre2" ,pcre2) + ("pkg-config" ,pkg-config))) (home-page "https://github.com/BurntSushi/rust-pcre2") (synopsis "High level wrapper library for PCRE2") (description @@ -7546,23 +7515,16 @@ deserialization, and interpreter in Rust.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0nwdvc43dkb89qmm5q8gw1zyll0wsfqw7kczpn23mljra3874v47")))) + "0nwdvc43dkb89qmm5q8gw1zyll0wsfqw7kczpn23mljra3874v47")) + (modules '((guix build utils))) + (snippet + '(begin (delete-file-recursively "pcre2") #t)))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2) ("rust-pkg-config" ,rust-pkg-config-0.3) - ("rust-cc" ,rust-cc-1.0)) - #:phases - (modify-phases %standard-phases - (add-after 'configure 'unbundle-sources - (lambda _ - (delete-file-recursively "pcre2") - (delete-file-recursively - (string-append "guix-vendor/rust-pcre2-sys-" - ,(package-version rust-pcre2-sys-0.2) - ".tar.gz/pcre2")) - #t))))) + ("rust-cc" ,rust-cc-1.0)))) (native-inputs `(("pcre2" ,pcre2) ("pkg-config" ,pkg-config))) @@ -9544,7 +9506,7 @@ uses finite automata and guarantees linear time matching on all inputs.") (("rust-hex" ,rust-hex-0.3)))) (home-page "https://github.com/sru-systems/rust-argon2") (synopsis "Rust implementation of the Argon2 password hashing function") - (description "This package contans a rust implementation of the Argon2 + (description "This package contains a rust implementation of the Argon2 password hashing function.") (license (list license:expat license:asl2.0)))) @@ -10219,7 +10181,7 @@ proven statistical guarantees.") ("rust-serde-test" ,rust-serde-test-1.0)))) (home-page "https://github.com/serde-rs/bytes") (synopsis - "Hanlde of integer arrays and vectors for Serde") + "Handle of integer arrays and vectors for Serde") (description "Optimized handling of @code{&[u8]} and @code{Vec} for Serde.") (license (list license:expat license:asl2.0)))) @@ -13582,7 +13544,7 @@ attribute that is not in the shared backend crate.") (synopsis "Rust equivalent of Unix command \"which\"") (description "This package provides a Rust equivalent of Unix command \"which\". -Locate installed execuable in cross platforms.") +Locate installed executable in cross platforms.") (license license:expat))) (define-public rust-widestring-0.4 diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm index 6be2b7f9fc..998a71aeab 100644 --- a/gnu/packages/diffoscope.scm +++ b/gnu/packages/diffoscope.scm @@ -67,7 +67,7 @@ #:use-module (ice-9 match)) (define-public diffoscope - (let ((version "135")) + (let ((version "136")) (package (name "diffoscope") (version version) @@ -79,7 +79,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "0rkpvajkp3qryi6dxkrh8aq5xg79aybnw8iy73wsblcnfq6yhba7")))) + "1wp4fnmwcsgv17dmvk9xr3h63gp4nmmpysr248qvxs8s5qy5xlyk")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 36c527c0c4..c6cfd50eae 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2018, 2019 Pierre Neidhardt ;;; Copyright © 2019 Leo Famulari ;;; Copyright © 2019 Pierre Langlois +;;; Copyright © 2020 Pkill -9 ;;; ;;; This file is part of GNU Guix. ;;; @@ -62,11 +63,14 @@ #:use-module (gnu packages sphinx) #:use-module (gnu packages sqlite) #:use-module (gnu packages swig) + #:use-module (gnu packages terminals) + #:use-module (gnu packages textutils) #:use-module (gnu packages vim) #:use-module (gnu packages w3m) #:use-module (gnu packages web) #:use-module (gnu packages xml) #:use-module (guix build-system gnu) + #:use-module (guix build-system go) #:use-module (guix build-system python) #:use-module (guix build-system trivial) #:use-module (guix build-system scons) @@ -824,3 +828,30 @@ on your file system and offers to remove it. @command{rmlint} can find: @item files with broken user and/or group ID. @end itemize\n") (license license:gpl3+))) + +(define-public lf + (package + (name "lf") + (version "13") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gokcehan/lf.git") + (commit (string-append "r" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ld3q75v8rvp169w5p85z1vznqs9bhck6bm2f6fykxx16hmpb6ga")))) + (build-system go-build-system) + (native-inputs + `(("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth) + ("go-github.com-nsf-termbox-go" ,go-github.com-nsf-termbox-go))) + (arguments + `(#:import-path "github.com/gokcehan/lf")) + (home-page "https://github.com/gokcehan/lf") + (synopsis "Console file browser similar to Ranger") + (description "lf (as in \"list files\") is a terminal file manager +written in Go. It is heavily inspired by ranger with some missing and +extra features. Some of the missing features are deliberately omitted +since they are better handled by external tools.") + (license license:expat))) diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index ecb8678b02..b0297e9075 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016 Hartmut Goebel ;;; Copyright © 2017, 2018, 2019 Efraim Flashner ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice -;;; Copyright © 2018, 2019 Nicolas Goaziou +;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou ;;; ;;; This file is part of GNU Guix. ;;; @@ -36,6 +36,7 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) + #:use-module (gnu packages image) #:use-module (gnu packages javascript) #:use-module (gnu packages kde) #:use-module (gnu packages kde-frameworks) ; extra-cmake-modules @@ -254,7 +255,7 @@ easy.") (define-public snap (package (name "snap") - (version "5.4.0") + (version "5.4.5") (source (origin (method git-fetch) @@ -263,8 +264,7 @@ easy.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "05m3x8yc9a7x9hfkrz2bm3yqkc63cdb8v3yznkjqq04sfx5dfd04")))) + (base32 "1z6dbcsgvxxs40p23qysfsk4vzpg8jlrr5pqfnjf8q3kpz1xvzxf")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -485,17 +485,119 @@ letters of the alphabet, spelling, eye-hand coordination, etc.") (home-page "http://www.schoolsplay.org") (license license:gpl3+))) +(define-public omnitux + (package + (name "omnitux") + (version "1.2.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/omnitux/omnitux/" + "v" version "/omnitux-" version ".tar.bz2")) + (sha256 + (base32 "1wmmmbzmxd0blhn00d4g91xwavnab143a31ca3i8hrqgzh6qz9w6")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove pre-compiled .pyc files from source. + (for-each delete-file (find-files "bin" "\\.pyc$")) + #t)))) + (build-system python-build-system) + (inputs + `(("python2-pygame" ,python2-pygame) + ("python2-pygtk" ,python2-pygtk))) + (arguments + `(#:tests? #f ;no test + #:python ,python-2 + #:phases + (modify-phases %standard-phases + (delete 'build) ;no setup.py + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share")) + (data (string-append share "/omnitux"))) + ;; Install documentation. + (let ((doc (string-append share "/doc/" ,name "-" ,version))) + (for-each (lambda (f) (install-file f doc)) + '("LICENSE.txt" "README.txt"))) + ;; Install data. + (install-file "omnitux.sh" data) + (for-each (lambda (d) + (copy-recursively d (string-append data "/" d))) + '("bin" "data")) + ;; Install the launcher. + (let* ((bin (string-append out "/bin")) + (script (string-append bin "/omnitux")) + (bash (string-append (assoc-ref %build-inputs "bash") + "/bin/bash")) + (python (string-append (assoc-ref %build-inputs "python") + "/bin/python2"))) + (mkdir-p bin) + (with-output-to-file script + (lambda () + (format #t "#!~a~%" bash) + (format #t + "cd ~a; ~a menu.py~%" + (string-append data "/bin") + python))) + (chmod script #o755)) + ;; Install icon and desktop file. + (let ((pixmaps (string-append share "/pixmaps"))) + (install-file "data/default/icons/Omnitux_logo.svg" pixmaps)) + (let ((apps (string-append out "/share/applications"))) + (mkdir-p apps) + (with-output-to-file (string-append apps "/omnitux.desktop") + (lambda _ + (format #t + "[Desktop Entry]~@ + Name=Omnitux~@ + GenericName=Omnitux + Comment=An educational game based on multimedia elements.~@ + Comment[fr]=Un jeu ludo-éducatif basé sur des éléments multimédias.~@ + Exec=~a/bin/omnitux~@ + Type=Application~@ + Categories=Game;Education;~@ + Terminal=false~@ + Icon=Omnitux_logo.svg~@" + out)))) + #t)))))) + (home-page "http://omnitux.sourceforge.net/") + (synopsis "Educational activities based on multimedia elements") + (description "The project aims to provide various educational +activities around multimedia elements (images, sounds, texts). Types +of activities include: +@itemize +@item associations, +@item items to place on a map or a schema, +@item counting activities, +@item puzzles, +@item card faces to remember, +@item find differences between two pictures, +@item ... +@end itemize + +Activities are available in English, French, German, Polish, +Portuguese, Spanish and Italian.") + ;; Project's license is GPL3+, but multimedia elements are + ;; released under various licenses. + (license (list license:gpl3+ + license:gpl2+ + license:cc-by-sa2.0 + license:cc-by-sa3.0 + license:public-domain)))) + (define-public fet (package (name "fet") - (version "5.42.1") - (source (origin - (method url-fetch) - (uri (string-append "https://www.lalescu.ro/liviu/fet/download/" - "fet-" version ".tar.bz2")) - (sha256 - (base32 - "1dzlbhp42dxdxbcrjwrjl4kj65cibxgjqc3ir1w78yprikihdxca")))) + (version "5.42.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.lalescu.ro/liviu/fet/download/" + "fet-" version ".tar.bz2")) + (sha256 + (base32 "0z31i8kwd59c3hlq35qll61qhc3x63w330ss92glhp12iy0aja1y")))) (build-system gnu-build-system) (arguments `(#:phases @@ -612,3 +714,111 @@ each key. A collection of lessons are included for a wide range of different languages and keyboard layouts, and typing statistics are used to dynamically adjust the level of difficulty.") (license license:gpl2))) + +(define-public t4k-common + (package + (name "t4k-common") + (version "0.1.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tux4kids/t4kcommon") + (commit (string-append "upstream/" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "13q02xpmps9qg8zrzzy2gzv4a6afgi28lxk4z242j780v0gphchp")) + (patches + (search-patches "t4k-common-libpng16.patch")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ;FIXME: cannot find how to run tests + #:phases + (modify-phases %standard-phases + (add-after 'set-paths 'set-sdl-paths + (lambda* (#:key inputs #:allow-other-keys) + (setenv "CPATH" (string-append (assoc-ref inputs "sdl") + "/include/SDL:" + (or (getenv "CPATH") ""))))) + (add-after 'unpack 'fix-andika-font-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/t4k_sdl.c" + (("(/usr/share/.*?)/AndikaDesRevG\\.ttf") + (string-append (assoc-ref inputs "font-andika") + "/share/fonts/truetype"))) + #t))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("font-andika" ,font-sil-andika) + ("libpng" ,libpng) + ("librsvg" ,librsvg) + ("libxml2" ,libxml2) + ("sdl" ,(sdl-union (list sdl sdl-image sdl-mixer sdl-net sdl-pango))))) + (home-page "https://github.com/tux4kids/t4kcommon") + (synopsis "Library of code shared between TuxMath and TuxType") + (description "Tux4Kids-Common is a library of code shared between +TuxMath and TuxType.") + (license license:gpl3+))) + +(define-public tuxmath + (package + (name "tuxmath") + (version "2.0.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tux4kids/tuxmath") + (commit (string-append "upstream/" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1f1pz83w6d3mbik2h6xavfxmk5apxlngxbkh80x0m55lhniwkdxv")) + (modules '((guix build utils))) + ;; Unbundle fonts. + (snippet + `(begin + (for-each delete-file (find-files "data/fonts" "\\.ttf$")) + #t)))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;no test + #:phases + (modify-phases %standard-phases + (add-after 'set-paths 'set-sdl-paths + (lambda* (#:key inputs #:allow-other-keys) + (setenv "CPATH" + (string-append (assoc-ref inputs "sdl") + "/include/SDL:" + (or (getenv "CPATH") ""))) + #t)) + (add-after 'install 'install-desktop-file + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (apps (string-append out "/share/applications")) + (pixmaps (string-append out "/share/pixmaps"))) + (install-file "tuxmath.desktop" apps) + (for-each (lambda (f) (install-file f pixmaps)) + (find-files "data/images/icons/" + "tuxmath\\.(png|ico|svg)$")) + #t)))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("librsvg" ,librsvg) + ("libxml2" ,libxml2) + ("sdl" ,(sdl-union (list sdl sdl-image sdl-mixer sdl-net sdl-pango))) + ("t4k-common" ,t4k-common))) + (home-page "https://github.com/tux4kids/tuxmath") + (synopsis "Educational math tutorial game") + (description "@emph{Tux, of Math Command} is an educational math +tutorial game starring Tux, the Linux penguin, in which you play the +part of Commander Tux, as he defends his friends from an attack of +math equations. Comets are crashing towards the friendly penguins in +their igloos, and you must destroy the comets by solving their +equations. + +TuxMath also includes Factoroids, a game that gives practice in +factoring numbers and simplifying fractions, as well as zapping rocks +floating through space.") + (license license:gpl3+))) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 3359f89bc5..8adcf84f5d 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -46,12 +46,12 @@ ;;; Copyright © 2019 Brian Leung ;;; Copyright © 2019 mikadoZero ;;; Copyright © 2019 Gabriel Hondet -;;; Copyright © 2019 LaFreniere, Joseph +;;; Copyright © 2019, 2020 Joseph LaFreniere ;;; Copyright © 2019 Amar Singh ;;; Copyright © 2019 Baptiste Strazzulla ;;; Copyright © 2019 Giacomo Leidi ;;; Copyright © 2019 Jens Mølgaard -;;; Copyright © 2019 Amin Bandali +;;; Copyright © 2019, 2020 Amin Bandali ;;; Copyright © 2019 Jelle Licht ;;; Copyright © 2019 Björn Höfling ;;; Copyright © 2019 Stephen Webber @@ -105,6 +105,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages telephony) + #:use-module (gnu packages terminals) #:use-module (gnu packages tex) #:use-module (gnu packages texinfo) #:use-module (gnu packages tcl) @@ -959,15 +960,13 @@ in certain cases. It also enables recursion for anonymous functions.") (define-public emacs-xr (package (name "emacs-xr") - (version "1.13") + (version "1.15") (source (origin (method url-fetch) - (uri (string-append - "https://elpa.gnu.org/packages/xr-" version ".tar")) + (uri (string-append "https://elpa.gnu.org/packages/xr-" version ".tar")) (sha256 - (base32 - "1km4x92pii8c4bcimks4xzhmwpypdf183z0zh7raj062jz4jb74r")))) + (base32 "0pxzr6n0qa29ly8j3cl46rv9a65ajfcgahrhdylg4yfb9gh1x4ly")))) (build-system emacs-build-system) (home-page "https://elpa.gnu.org/packages/xr.html") (synopsis "Convert string regexp to rx notation") @@ -1065,14 +1064,14 @@ optional minor mode which can apply this command automatically on save.") (define-public emacs-relint (package (name "emacs-relint") - (version "1.11") + (version "1.13") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/relint-" version ".tar")) (sha256 - (base32 "0c7d35kp5k11fnyjrq9cg8i2r005gs57pmb3rvpf8ilwv0scn1m7")))) + (base32 "1kzzlixhd6kp0mkmgn02b7pqv6m55g708xsys7vjskdxbfb6jjib")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-xr" ,emacs-xr))) (home-page "https://github.com/mattiase/relint") @@ -8054,14 +8053,13 @@ passive voice.") (name "emacs-org") ;; emacs-org-contrib inherits from this package. Please update it as ;; well. - (version "9.3.1") - (source (origin - (method url-fetch) - (uri (string-append "https://elpa.gnu.org/packages/org-" - version ".tar")) - (sha256 - (base32 - "1n79h6ihhsaxxbnl9hw511aav0215m3pa51sa5fh3ddknjfplian")))) + (version "9.3.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/org-" version ".tar")) + (sha256 + (base32 "1275s3hzyka2wwxl6nc2sndnwyl7kbc1nnl0hrznxb3wpy2abfd6")))) (build-system emacs-build-system) (home-page "https://orgmode.org/") (synopsis "Outline-based notes management and organizer") @@ -8075,14 +8073,14 @@ programming and reproducible research.") (package (inherit emacs-org) (name "emacs-org-contrib") - (version "20191226") - (source (origin - (method url-fetch) - (uri (string-append "https://orgmode.org/elpa/" - "org-plus-contrib-" version ".tar")) - (sha256 - (base32 - "08h6qiplvm7rvrb1pv2arwdlv6p31p0a6h0fk64kb79g6br8rk8i")))) + (version "20200126") + (source + (origin + (method url-fetch) + (uri (string-append "https://orgmode.org/elpa/" + "org-plus-contrib-" version ".tar")) + (sha256 + (base32 "08yik0i8ya2x5j4vsnwxdcdlcxbiq58lvy30vcbdbf0hqrd40kjv")))) (arguments `(#:modules ((guix build emacs-build-system) (guix build utils) @@ -12355,7 +12353,7 @@ into sections while preserving the structure imposed by any timestamps.") (define-public emacs-org-make-toc (package (name "emacs-org-make-toc") - (version "0.3") + (version "0.4") (source (origin (method git-fetch) (uri (git-reference @@ -12364,7 +12362,7 @@ into sections while preserving the structure imposed by any timestamps.") (file-name (git-file-name name version)) (sha256 (base32 - "0syhj8q4pv33xgl5qa6x27yhwqvfhffw5xqp819hj4qs1ddlc7j5")))) + "0348iq3bc3rxs5bqdvskyly4agqxiapamqkfm0323620kxl70agw")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-org" ,emacs-org) @@ -15376,56 +15374,54 @@ try completing. See @code{fish-completion-fallback-on-bash-p}.") (license license:gpl3+))) (define-public emacs-gif-screencast - (let ((commit "248d1e158405e6cba2c65ecaed40e2c59b089cd8") - (revision "2")) - (package - (name "emacs-gif-screencast") - (version (git-version "1.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.com/Ambrevar/emacs-gif-screencast.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "19xqi5mgalnnhb4hw0fh7py2s2dllldx1xxbhwhknkdpifai8hl8")))) - (build-system emacs-build-system) - (inputs - `(("scrot" ,scrot) - ("imagemagick" ,imagemagick) - ("gifsicle" ,gifsicle))) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((scrot (assoc-ref inputs "scrot")) - (imagemagick (assoc-ref inputs "imagemagick")) - (gifsicle (assoc-ref inputs "gifsicle"))) - (make-file-writable "gif-screencast.el") - ;; Specify the absolute file names of the various - ;; programs so that everything works out-of-the-box. - (emacs-substitute-variables - "gif-screencast.el" - ("gif-screencast-program" - (string-append scrot "/bin/scrot")) - ("gif-screencast-convert-program" - (string-append imagemagick "/bin/convert")) - ("gif-screencast-cropping-program" - (string-append imagemagick "/bin/mogrify")) - ("gif-screencast-optimize-program" - (string-append gifsicle "/bin/gifsicle"))))))))) - (home-page - "https://gitlab.com/Ambrevar/emacs-gif-screencast") - (synopsis "One-frame-per-action GIF recording") - (description - "Call @code{gif-screencast} to start a recording. + (package + (name "emacs-gif-screencast") + (version "1.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/Ambrevar/emacs-gif-screencast.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1g1by8lvf8c9vzm4wwsi5kp285kaj0ahsl54048ympin4pi0njw9")))) + (build-system emacs-build-system) + (inputs + `(("scrot" ,scrot) + ("imagemagick" ,imagemagick) + ("gifsicle" ,gifsicle))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((scrot (assoc-ref inputs "scrot")) + (imagemagick (assoc-ref inputs "imagemagick")) + (gifsicle (assoc-ref inputs "gifsicle"))) + (make-file-writable "gif-screencast.el") + ;; Specify the absolute file names of the various + ;; programs so that everything works out-of-the-box. + (emacs-substitute-variables + "gif-screencast.el" + ("gif-screencast-program" + (string-append scrot "/bin/scrot")) + ("gif-screencast-convert-program" + (string-append imagemagick "/bin/convert")) + ("gif-screencast-cropping-program" + (string-append imagemagick "/bin/mogrify")) + ("gif-screencast-optimize-program" + (string-append gifsicle "/bin/gifsicle"))))))))) + (home-page + "https://gitlab.com/Ambrevar/emacs-gif-screencast") + (synopsis "One-frame-per-action GIF recording") + (description + "Call @code{gif-screencast} to start a recording. A screenshot is taken for every user action. Call @code{gif-screencast-stop} ( by default) to finish recording and create the GIF result.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-google-translate (package @@ -17398,6 +17394,73 @@ next, volume) and display and control the current playlist as well as your stored playlists.") (license license:gpl3+))) +(define-public emacs-vterm + (let ((version "0") + (revision "1") + (commit "7d7381fa8104b55b70148cf147523d9ab7f01fcd")) + (package + (name "emacs-vterm") + (version (git-version version revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/akermu/emacs-libvterm.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "04a2jlhmr20ipgzpnba3yryw3ly7qdxjgaw10dwn9wxy1yqmapz1")))) + (build-system emacs-build-system) + (arguments + `(#:modules ((guix build emacs-build-system) + ((guix build cmake-build-system) #:prefix cmake:) + (guix build emacs-utils) + (guix build utils)) + #:imported-modules (,@%emacs-build-system-modules + (guix build cmake-build-system)) + #:phases + (modify-phases %standard-phases + (add-before 'add-source-to-load-path 'remove-vterm-module-make + (lambda* (#:key outputs #:allow-other-keys) + ;; Remove the Emacs Lisp file. + (delete-file "vterm-module-make.el") + ;; Remove references to the removed file. + (make-file-writable "vterm.el") + (emacs-substitute-sexps "vterm.el" + ("(or (require 'vterm-module nil t)" + `(module-load + ,(string-append (assoc-ref outputs "out") + "/lib/vterm-module.so")))) + #t)) + (add-after 'build 'configure + ;; Run cmake. + (lambda* (#:key outputs #:allow-other-keys) + ((assoc-ref cmake:%standard-phases 'configure) + #:outputs outputs + #:out-of-source? #f + #:configure-flags '("-DUSE_SYSTEM_LIBVTERM=ON")) + #t)) + (add-after 'configure 'make + ;; Run make. + (lambda* (#:key (make-flags '()) outputs #:allow-other-keys) + ;; Compile the shared object file. + (apply invoke "make" "all" make-flags) + ;; Move the file into /lib. + (install-file + "vterm-module.so" + (string-append (assoc-ref outputs "out") "/lib")) + #t))) + #:tests? #f)) + (native-inputs + `(("cmake" ,cmake-minimal) + ("libtool" ,libtool) + ("libvterm" ,libvterm))) + (home-page "https://github.com/akermu/emacs-libvterm") + (synopsis "Emacs libvterm integration") + (description "This package implements a bridge to @code{libvterm} to +display a terminal in an Emacs buffer.") + (license license:gpl3+)))) + (define-public emacs-simple-mpc ;; There have been no releases. (let ((commit "bee8520e81292b4c7353e45b193f9a13b482f5b2") @@ -18931,6 +18994,29 @@ previewed by scrolling up and down within a @code{dired} buffer.") and searching through @code{Ctags} files.") (license license:gpl3+))) +(define-public emacs-ivy-clipmenu + (let ((commit "d2071f2c5043a05d610cd1952e84176ca78c31dc")) + (package + (name "emacs-ivy-clipmenu") + (version (git-version "0.0.1" "1" commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wpcarro/ivy-clipmenu.el.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0npd8glzk5z4n7y9mzbsbzi0cf3by19fqcki052jr3dga363lds7")))) + (propagated-inputs + `(("emacs-f" ,emacs-f) + ("emacs-ivy" ,emacs-ivy))) + (build-system emacs-build-system) + (home-page "https://github.com/wpcarro/ivy-clipmenu.el") + (synopsis "Ivy integration with clipmenu") + (description "Ivy integration with the clipboard manager, clipmenu.") + (license license:expat)))) + (define-public emacs-org-download (let ((commit "10c9d7c8eed928c88a896310c882e3af4d8d0f61") (revision "2")) @@ -20140,7 +20226,7 @@ Emacs that integrate with major modes like Org-mode.") (define-public emacs-modus-themes (package (name "emacs-modus-themes") - (version "0.3.0") + (version "0.4.0") (source (origin (method git-fetch) @@ -20149,8 +20235,7 @@ Emacs that integrate with major modes like Org-mode.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 - "1xrrjhpdxi9bgx877gvq8xrc2ph5qp9y5j3ssdphy333x9km1px1")))) + (base32 "0c4y3y9mjf6x2b9087fk6nkxvgvm9f5l1p2vdwqny80vp4krsb8r")))) (build-system emacs-build-system) (home-page "https://gitlab.com/protesilaos/modus-themes") (synopsis "Emacs themes designed for colour-contrast accessibility") @@ -20419,9 +20504,9 @@ fish-completion. It can be used in both Eshell and M-x shell.") ;; This package has versions newer than indicated on MELPA. ;; Get the current version from `telega-version` in telega.el. ;; or by running M-x telega-version. - (let ((commit "69565cc4de72e28148c8041de8930a122a39b800") - (revision "4") - (version "0.5.4")) + (let ((commit "ae09592498ce380e57fbb76725fd4c89ae248864") + (revision "0") + (version "0.6.0")) (package (name "emacs-telega") (version (git-version version revision commit)) @@ -20433,7 +20518,7 @@ fish-completion. It can be used in both Eshell and M-x shell.") (commit commit))) (sha256 (base32 - "0blvj07f1sbdmp68qwlwgnhnv42ib0mjai5ndf8scbi12drn4rmk")) + "0mv6i80958d9crzspzik5xh5g8326115bvg2frgv0dp9p6rm86m3")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments @@ -20631,6 +20716,31 @@ each slide with left/right keys.") execution of buffer-exposing commands.") (license license:gpl3+))) +(define-public emacs-eshell-toggle + (let ((commit "ddfbe0a693497c4d4bc5494a19970ba4f6ab9033") + (revision "1")) + (package + (name "emacs-eshell-toggle") + (version (git-version "0.10.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/4DA/eshell-toggle.git") + (commit commit))) + (sha256 + (base32 + "0xqrp8pwbmfxjdqipgpw5nw633mvhjjjm3k3j9sh9xdpmw05hhws")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash))) + (home-page "https://github.com/4DA/eshell-toggle") + (synopsis "Show and hide an @code{eshell} instance") + (description "This package toggles an @code{eshell} instance for the +current buffer.") + (license license:gpl3+)))) + (define-public emacs-repl-toggle (package (name "emacs-repl-toggle") @@ -20995,7 +21105,7 @@ data format @code{edn}. See @url{https://github.com/edn-format/edn}.") `(("emacs-helm" ,emacs-helm) ("emacs-edn" ,emacs-edn))) (synopsis "Search help on clojuredocs.org with Helm") - (description "This packages provides a Helm interface to lookup Clojure + (description "This package provides a Helm interface to lookup Clojure documentation on @url{https://clojuredocs.org} with Helm. Two function are exposed: @@ -21033,3 +21143,237 @@ pattern guessed from thing under current cursor position. mercury-mode provided by Emacs as a wrapper around prolog-mode.") (home-page "https://github.com/ahungry/metal-mercury-mode") (license license:gpl3+)))) + +(define-public emacs-boxquote + ;; The following commit is 2.1 release with a switch to GPL3+ license. + (let ((commit "7e47e0e2853bc1215739b2e28f260e9eed93b2c5") + (revision "0")) + (package + (name "emacs-boxquote") + (version (git-version "2.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/davep/boxquote.el.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1aqhg24gajvllbqxb0zxrnx6sddas37k2ldfinqyszd856sjhsg3")))) + (build-system emacs-build-system) + (home-page "https://github.com/davep/boxquote.el") + (synopsis "Quote text with different kinds of boxes") + (description "@code{boxquote} provides a set of functions for using +a text quoting style that partially boxes in the left hand side of an area of +text, such a marking style might be used to show externally included text or +example code.") + (license license:gpl3+)))) + +(define-public emacs-company-ebdb + (package + (name "emacs-company-ebdb") + (version "1.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "company-ebdb-" version ".el")) + (sha256 + (base32 "146qpiigz12zp1823ggxfrx090g0mxs7gz1ba7sa0iq6ibgzwwm9")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-company" ,emacs-company))) + (home-page "https://elpa.gnu.org/packages/company-ebdb.html") + (synopsis "Company completion backend for EBDB in Message mode") + (description "@code{company-ebdb} provides Company mode integration for +EBDB. It is copied more or less intact from @code{company-bbdb}, originally +by Jan Tatarik.") + (license license:gpl3+))) + +(define-public emacs-mwim + ;; Use the latest commit not in a release version as of yet, since it + ;; contains a bug fix for the cases where `comment-start-skip' is nil. + (let ((commit "b4f3edb4c0fb8f8b71cecbf8095c2c25a8ffbf85") + (revision "0")) + (package + (name "emacs-mwim") + (version (git-version "0.4" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alezost/mwim.el.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0l3k611gp9g2x2vfmh92wnhnda81dslpwwpb8mxmzk308man77ya")))) + (build-system emacs-build-system) + (home-page "https://github.com/alezost/mwim.el") + (synopsis "Move to the beginning/end of line, code or comment") + (description "@code{mwim} provides several commands to switch between +various line positions, like moving to the beginning/end of code, line, or +comment.") + (license license:gpl3+)))) + +(define-public emacs-delight + (package + (name "emacs-delight") + (version "1.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "delight-" version ".el")) + (sha256 + (base32 "0kzlvzwmn6zj0874086q2xw0pclyi7wlkq48zh2lkd2796xm8vw7")))) + (build-system emacs-build-system) + (home-page "https://elpa.gnu.org/packages/delight.html") + (synopsis "Dimmer switch for your mode-line lighter text") + (description "@code{delight} enables customizing or hiding the +mode-line text (lighter) of major and minor modes.") + (license license:gpl3+))) + +(define-public emacs-unkillable-scratch + ;; Use the latest (unreleased) commit as of now, since it contains a handy + ;; `unkillable-scratch-do-not-reset-scratch-buffer' customization to not + ;; repopulate the scratch buffer with `initial-scratch-message'. + (let ((commit "b24c2a760529833f230c14cb02ff6e7ec92288ab") + (revision "0")) + (package + (name "emacs-unkillable-scratch") + (version (git-version "1.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/EricCrosson/unkillable-scratch.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "13wjbcxr3km4s96yhpavgs5acs5pvqv3ih1p84diqb3x3i6wd4pa")))) + (build-system emacs-build-system) + (home-page "https://github.com/EricCrosson/unkillable-scratch") + (synopsis "Prevents the *scratch* buffer from being killed") + (description "@code{unkillable-scratch} helps prevent killing buffers +matching a given regexp.") + (license license:gpl2+)))) + +(define-public emacs-switch-buffer-functions + (package + (name "emacs-switch-buffer-functions") + (version "0.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/10sr/switch-buffer-functions-el.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0pq53b8wrjbrxd5hnrcdi0z7mffp4bax55hn90k9ca3j76lhbn1k")))) + (build-system emacs-build-system) + (home-page "https://github.com/10sr/switch-buffer-functions-el") + (synopsis "Hooks run when switching current buffer") + (description "This package provides a hook variable +@code{switch-buffer-functions}. The hooks will be run when the current buffer +is changed after an interactive command, i.e., when @code{post-command-hook} +hooks are run. The hooked functions will be called with both the previous and +the current buffer.") + (license license:unlicense))) + +(define-public emacs-erc-scrolltoplace + (package + (name "emacs-erc-scrolltoplace") + (version "0.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/jgkamat/erc-scrolltoplace.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "11zpqwh1mlfifbgnvhc63bvnhg340jgxssm3m43hr1sxsyb52lh6")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-switch-buffer-functions" ,emacs-switch-buffer-functions))) + (home-page "https://gitlab.com/jgkamat/erc-scrolltoplace") + (synopsis "ERC module to replace scrolltobottom while using keep-place") + (description "@code{erc-scrolltoplace} is an ERC module to try +to emulate @code{scrolltobottom} while @code{keep-place} is enabled.") + (license license:gpl3+))) + +(define-public emacs-dmenu + ;; Use the latest commit, as there are no tagged releases. + (let ((commit "e8cc9b27c79d3ecc252267c082ab8e9c82eab264") + (revision "0")) + (package + (name "emacs-dmenu") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lujun9972/el-dmenu.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "098ncygms1r33zhjlq4fj2p4jc91v5whqrm3fazzdk7sd6dilf25")))) + (build-system emacs-build-system) + (home-page "https://github.com/lujun9972/el-dmenu") + (synopsis "Simulate the @command{dmenu} command line program") + (description "This package provides a @command{dmenu} command for +launching other commands/applications from within Emacs, similar to the +@command{dmenu} program. This is especially useful when using EXWM.") + (license license:gpl3+)))) + +(define-public emacs-no-littering + (package + (name "emacs-no-littering") + (version "1.0.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacscollective/no-littering.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "17is06l0w6glppabv2kaclrnqi3dqb6p6alpslpg7lrjd8vd45ir")))) + (build-system emacs-build-system) + (home-page "https://github.com/emacscollective/no-littering") + (synopsis "Help keep ~/.emacs.d/ clean") + (description "The default paths used to store configuration files and +persistent data are not consistent across Emacs packages, be them built-in or +third-party ones. @code{no-littering} sets out to help clean +@file{~/.emacs.d/} by putting configuration files and persistent data files in +two user-defined directories, as well as using more descriptive names for +files and subdirectories when appropriate.") + (license license:gpl3+))) + +(define-public emacs-message-x + ;; Use the latest commit, as there are no tagged releases. + (let ((commit "5524de7bbfdd8749c110f48de5afb024d9f83133") + (revision "0")) + (package + (name "emacs-message-x") + (version (git-version "1.23" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacsmirror/message-x.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0qy1xf11j357lsnbb829hnbg7fq1cii4cx54fwf0wgjh1bv2abvj")))) + (build-system emacs-build-system) + (home-page "https://www.emacswiki.org/emacs/message-x.el") + (synopsis "Customizable completion in message headers") + (description "@code{message-x} assigns a context-sensitive function to +the TAB key in Message mode. When on a header line, it performs completion +based on which header we are in (for example, newsgroup name completion makes +sense on the @samp{Newsgroups} header, whereas mail alias expansion makes +sense in the @samp{To} and @samp{Cc} headers). When in the message body, this +executes a different function (default: @code{indent-relative}).") + (license license:gpl2+)))) diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index 1f73e78fe0..08c8533812 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus ;;; Copyright © 2016, 2017 Theodoros Foradis ;;; Copyright © 2016 David Craven -;;; Copyright © 2017 Efraim Flashner +;;; Copyright © 2017, 2020 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018, 2019 Clément Lassieur ;;; @@ -459,16 +459,16 @@ SEGGER J-Link and compatible devices.") (define-public jimtcl (package (name "jimtcl") - (version "0.77") + (version "0.79") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/msteveb/jimtcl" - "/archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/msteveb/jimtcl") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1cmk3qscqckg70chjyimzxa2qcka4qac0j4wq908kiijp45cax08")))) + "1k88hz0v3bi19xdvlp0i9nsx38imzwpjh632w7326zwbv2wldf0h")))) (build-system gnu-build-system) (arguments `(#:phases @@ -479,7 +479,7 @@ SEGGER J-Link and compatible devices.") (let ((out (assoc-ref outputs "out"))) (invoke "./configure" (string-append "--prefix=" out)))))))) - (home-page "http://jim.tcl.tk") + (home-page "http://jim.tcl.tk/index.html") (synopsis "Small footprint Tcl implementation") (description "Jim is a small footprint implementation of the Tcl programming language.") @@ -753,13 +753,14 @@ Propeller micro-controller development.") (name "openspin") (version "1.00.78") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/parallaxinc/" - "OpenSpin/archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/parallaxinc/OpenSpin") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1k2dbz1v604g4r2d9qhckg2m8dnhiya760mbsqfsg4waxal87yb7")))) + "0ghk8hj4717ydhqzx2pfs6737s1cxng6sgg2xgbkwvcfclxdbrd0")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests @@ -826,13 +827,14 @@ upload binaries to a Parallax Propeller micro-controller.") (name "spin2cpp") (version "3.6.4") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/totalspectrum/spin2cpp/" - "archive/v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/totalspectrum/spin2cpp") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "05qak187sn0xg7vhrxw27b19xhmid1b8ab8kax3gv0faavzablfw")))) + "0wznqvsckzzz4hdy2rpvj6jqpxw4yn7i0c7zxfm6i46k8gg9327b")))) (build-system gnu-build-system) (arguments `(#:tests? #f ;; The tests assume that a micro-controller is connected. @@ -1260,13 +1262,14 @@ and displaying decoded target responses. (version "1.5.1") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/texane/stlink/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/texane/stlink") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "01z1cz1a5xbbhd163qrqcgp4bi1k145pb80jmwdz50g7sfzmy570")))) + "1d5gxiqpsm8fc105cxlp27af9fk339fap5h6nay21x5a7n61jgyc")))) (build-system cmake-build-system) (arguments `(#:tests? #f ;no tests diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index f805c8b969..284dc22039 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2015, 2018 David Thompson ;;; Copyright © 2016 Manolis Fragkiskos Ragkousis ;;; Copyright © 2016, 2017, 2018 Efraim Flashner -;;; Copyright © 2017, 2018, 2019 Nicolas Goaziou +;;; Copyright © 2017, 2018, 2019, 2020 Nicolas Goaziou ;;; Copyright © 2017, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2017, 2018, 2019 Rutger Helling ;;; Copyright © 2019 Pierre Neidhardt @@ -405,26 +405,26 @@ Super Game Boy, BS-X Satellaview, and Sufami Turbo.") (define-public mgba (package (name "mgba") - (version "0.7.3") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/mgba-emu/mgba.git") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1wrmwh50rv8bd328r8cisrihq6h90kx2bfb0vmjfbsd3l1jvgrgm")) - (modules '((guix build utils))) - (snippet - ;; Make sure we don't use the bundled software. - '(begin - (for-each - (lambda (subdir) - (let ((lib-subdir (string-append "src/third-party/" subdir))) - (delete-file-recursively lib-subdir))) - '("libpng" "lzma" "sqlite3" "zlib")) - #t)))) + (version "0.8.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mgba-emu/mgba.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0m3rgcdv32ms98j7rrmk2hphvn462bwsd6xfz2ssy05398pj4ljh")) + (modules '((guix build utils))) + (snippet + ;; Make sure we don't use the bundled software. + '(begin + (for-each + (lambda (subdir) + (let ((lib-subdir (string-append "src/third-party/" subdir))) + (delete-file-recursively lib-subdir))) + '("libpng" "lzma" "sqlite3" "zlib")) + #t)))) (build-system cmake-build-system) (arguments `(#:tests? #f ;no "test" target @@ -1234,7 +1234,8 @@ multi-system game/emulator system.") (setenv "CONFIG_SHELL" bash) (apply invoke "./configure" flags))))))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("nasm" ,nasm) + ("pkg-config" ,pkg-config))) (inputs `(("alsa-lib" ,alsa-lib) ("faad2" ,faad2) @@ -1249,7 +1250,6 @@ multi-system game/emulator system.") ("libpng" ,libpng) ("libtheora" ,libtheora) ("libvorbis" ,libvorbis) - ("nasm" ,nasm) ("sdl2" ,(sdl-union (list sdl2 sdl2-net))) ("zlib" ,zlib))) (home-page "https://www.scummvm.org/") @@ -1264,7 +1264,7 @@ play them on systems for which they were never designed!") (define-public mame (package (name "mame") - (version "0.217") + (version "0.218") (source (origin (method git-fetch) @@ -1273,8 +1273,7 @@ play them on systems for which they were never designed!") (commit (apply string-append "mame" (string-split version #\.))))) (file-name (git-file-name name version)) (sha256 - (base32 - "03h4d0d8lh6djjff3zqhjm14klc9n129yzwygdqppz0f43w97cmw")) + (base32 "1c43hqfabc7spkyk5ma4bjdb0yqm93sdg5g13ka8mvi462snrfd7")) (modules '((guix build utils))) (snippet ;; Remove bundled libraries. @@ -1478,12 +1477,22 @@ functions. The source code to MAME serves as this documentation.") #:phases (modify-phases %standard-phases (add-after 'unpack 'cd-subdir - (lambda _ (chdir "pcsxr"))) + (lambda _ (chdir "pcsxr") #t)) (add-before 'configure 'fix-cdio-lookup (lambda* (#:key inputs #:allow-other-keys) (substitute* "cmake/FindCdio.cmake" (("/usr/include/cdio") - (string-append (assoc-ref inputs "libcdio") "/include/cdio")))))))) + (string-append (assoc-ref inputs "libcdio") "/include/cdio"))) + #t)) + (add-after 'install 'wrap-program + (lambda* (#:key inputs outputs #:allow-other-keys) + (wrap-program (string-append (assoc-ref outputs "out") + "/bin/pcsxr") + ;; For GtkFileChooserDialog. + `("GSETTINGS_SCHEMA_DIR" = + (,(string-append (assoc-ref inputs "gtk+") + "/share/glib-2.0/schemas")))) + #t))))) (native-inputs `(("pkg-config" ,pkg-config) ("intltool" ,intltool) diff --git a/gnu/packages/enchant.scm b/gnu/packages/enchant.scm index bcf2507e86..25825997bb 100644 --- a/gnu/packages/enchant.scm +++ b/gnu/packages/enchant.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014 Marek Benc ;;; Copyright © 2018 Marius Bakke ;;; Copyright © 2019 Tobias Geerinckx-Rice +;;; Copyright © 2020 Julien Lepiller ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,10 +24,12 @@ #:use-module (gnu packages aspell) #:use-module (gnu packages check) #:use-module (gnu packages glib) + #:use-module (gnu packages libreoffice) #:use-module (gnu packages pkg-config) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (guix build-system python) #:use-module (guix licenses) #:use-module (srfi srfi-1)) @@ -86,3 +89,35 @@ working\".") (sha256 (base32 "0zq9yw1xzk8k9s6x83n1f9srzcwdavzazn3haln4nhp9wxxrxb1g")))))) + +(define-public python-pyenchant + (package + (name "python-pyenchant") + (version "2.0.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "pyenchant" version)) + (sha256 + (base32 + "1872ckgdip8nj9rnh167m0gsj5754qfg2hjxzsl1s06f5akwscgw")))) + (build-system python-build-system) + (arguments + `(#:tests? #f; FIXME: Dictionary for language 'en_US' could not be found + #:phases + (modify-phases %standard-phases + (add-before 'build 'setlib + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "enchant/_enchant.py" + (("/opt/local/lib/libenchant.dylib\"") + (string-append "/opt/local/lib/libenchant.dylib\"\n" + " yield \"" (assoc-ref inputs "enchant") + "/lib/libenchant-2.so\"")))))))) + (inputs + `(("enchant" ,enchant))) + (home-page "https://github.com/pyenchant/pyenchant") + (synopsis "Spellchecking library for Python") + (description "PyEnchant is a spellchecking library for Python, based on the +Enchant library. PyEnchant combines all the functionality of the underlying +Enchant library with the flexibility of Python. It also provides some +higher-level functionality than is available in the C API.") + (license lgpl2.1+))) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 663180b57a..9dc8b7e9ce 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -1699,6 +1699,7 @@ parallel computing platforms. It also supports serial execution.") ("libtool" ,libtool))) (native-inputs `(("pkg-config-native" ,pkg-config) + ("gcc" ,gcc-5) ("libtool-native" ,libtool))) (home-page "http://www.freehdl.seul.org/") (synopsis "VHDL simulator") diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index 50afe29c77..a86ae0efde 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2017 Gábor Boskovits ;;; Copyright © 2017, 2018 Ricardo Wurmus ;;; Copyright © 2018 Leo Famulari @@ -37,6 +37,7 @@ #:use-module (gnu packages bison) #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages crypto) #:use-module (gnu packages curl) #:use-module (gnu packages datastructures) #:use-module (gnu packages documentation) @@ -52,8 +53,66 @@ #:use-module (gnu packages readline) #:use-module (gnu packages sqlite) #:use-module (gnu packages tls) + #:use-module (gnu packages valgrind) #:use-module (gnu packages xml)) +(define-public bcachefs-tools + (let ((commit "ab2f1ec24f5307b0cf1e3c4ad19bf350d9f54d9f") + (revision "0")) + (package + (name "bcachefs-tools") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://evilpiepirate.org/git/bcachefs-tools.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "10pafvaxg1lvwnqjv3a4rsi96bghbpcsgh3vhqilndi334k3b0hd")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (list (string-append "PREFIX=" (assoc-ref %outputs "out")) + "INITRAMFS_DIR=$(PREFIX)/share/initramfs-tools" + "CC=gcc" + "PYTEST=pytest") + #:phases + (modify-phases %standard-phases + (delete 'configure)) ; no configure script + #:tests? #f)) ; XXX 6 valgrind tests fail + (native-inputs + `(("pkg-config" ,pkg-config) + + ;; For tests. + ("python-pytest" ,python-pytest) + ("valgrind" ,valgrind))) + (inputs + `(("keyutils" ,keyutils) + ("libaio" ,libaio) + ("libscrypt" ,libscrypt) + ("libsodium" ,libsodium) + ("liburcu" ,liburcu) + ("util-linux" ,util-linux "lib") ; lib{blkid,uuid} + ("lz4" ,lz4) + ("zlib" ,zlib) + ("zstd:lib" ,zstd "lib"))) + (home-page "https://bcachefs.org/") + (synopsis "Tools to create and manage bcachefs file systems") + (description + "The bcachefs-tools are command-line utilities for creating, checking, +and otherwise managing bcachefs file systems. + +Bcachefs is a @acronym{CoW, copy-on-write} file system supporting native +encryption, compression, snapshots, and (meta)data checksums. It can use +multiple block devices for replication and/or performance, similar to RAID. + +In addition, bcachefs provides all the functionality of bcache, a block-layer +caching system, and lets you assign different roles to each device based on its +performance and other characteristics.") + (license license:gpl2+)))) + (define-public httpfs2 (package (name "httpfs2") diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 378491227c..190e5cbbdc 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018 Eric Bavier ;;; Copyright © 2018 Adriano Peluso -;;; Copyright © 2018, 2019 Nicolas Goaziou +;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou ;;; Copyright © 2018 Arun Isaac ;;; Copyright © 2019, 2020 Guillaume Le Vaillant ;;; Copyright © 2019 Tanguy Le Carrour @@ -1009,40 +1009,29 @@ Luhn and family of ISO/IEC 7064 check digit algorithms. ") (define-public python-duniterpy (package (name "python-duniterpy") - (version "0.55.1") + (version "0.56.0") (source (origin - (method git-fetch) - ;; Pypi's default URI is missing "requirements.txt" file. - (uri (git-reference - (url "https://git.duniter.org/clients/python/duniterpy.git") - (commit version))) - (file-name (git-file-name name version)) + (method url-fetch) + (uri (pypi-uri "duniterpy" version)) (sha256 - (base32 - "07zsbbkzmnvyv5v0vw2d42vw3ar4iqhlidy9376ysk4ldlj1igf7")))) + (base32 "1h8d8cnr6k5sw4cqy8r82zy4ldzpvn4nlk2221lz2haqq7xm4s5z")))) (build-system python-build-system) (arguments - ;; Tests fail with "AttributeError: module 'attr' has no attribute 's'". + ;; FIXME: Tests fail with: "ModuleNotFoundError: No module named + ;; 'tests'". Not sure how to handle this. `(#:tests? #f #:phases (modify-phases %standard-phases - (add-after 'build 'build-documentation + ;; "setup.py" tries to open missing "requirements.txt". + (add-after 'unpack 'ignore-missing-file (lambda _ - (invoke "make" "docs"))) - (add-after 'build-documentation 'install-documentation - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (doc (string-append out "/share/doc/" ,name))) - (mkdir-p doc) - (copy-recursively "docs/_build/html" doc)) + (substitute* "setup.py" + (("open\\('requirements\\.txt'\\)") "[]")) #t))))) - (native-inputs - `(("sphinx" ,python-sphinx) - ("sphinx-rtd-theme" ,python-sphinx-rtd-theme))) (propagated-inputs `(("aiohttp" ,python-aiohttp) - ("attr" ,python-attr) + ("attrs" ,python-attrs) ("base58" ,python-base58) ("jsonschema" ,python-jsonschema) ("libnacl" ,python-libnacl) @@ -1067,17 +1056,13 @@ main features are: (define-public silkaj (package (name "silkaj") - (version "0.7.3") + (version "0.7.6") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://git.duniter.org/clients/python/silkaj.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) + (method url-fetch) + (uri (pypi-uri "silkaj" version)) (sha256 - (base32 - "0yk2574yb0d0k0rg7qf0pkmjidblsad04x8hhqpy9k80rvgjcr5w")))) + (base32 "0hrn0jwg415z7wjkp0myvw85wszlfi18f56j03075xxakr4dmi2j")))) (build-system python-build-system) (arguments `(#:tests? #f)) ;no test @@ -1088,7 +1073,7 @@ main features are: ("pynacl" ,python-pynacl) ("tabulate" ,python-tabulate) ("texttable" ,python-texttable))) - (home-page "https://silkaj.duniter.org/") + (home-page "https://git.duniter.org/clients/python/silkaj") (synopsis "Command line client for Duniter network") (description "@code{Silkaj} is a command line client for the @uref{https://github.com/duniter/duniter/, Duniter} network. @@ -1224,7 +1209,8 @@ a client based on Qt. This is a fork of Bitcoin Core."))) "1jx56ma351p8af8dvavygjwf6ipa7qbgq7bpdsymwj27apdnixfy")))) (build-system gnu-build-system) (arguments - '(#:configure-flags + '(#:parallel-build? #f ;fails with -j64 + #:configure-flags (list (string-append "--with-opensp-includes=" (assoc-ref %build-inputs "opensp") "/include/OpenSP")))) @@ -1301,3 +1287,77 @@ entity management.") (license:non-copyleft "file://COPYING" "See COPYING in the distribution.")))) + +(define-public bitcoin-unlimited + (package + (name "bitcoin-unlimited") + (version "1.7.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/BitcoinUnlimited/BitcoinUnlimited.git") + (commit (string-append "bucash" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "05rcd73mg2fb2zb6b1imzspck6jhcy3xymrr7n24kwjrzmvihdpx")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config) + ("python" ,python) ; for the tests + ("util-linux" ,util-linux) ; provides the hexdump command for tests + ("qttools" ,qttools))) + (inputs + `(("bdb" ,bdb-4.8) + ("boost" ,boost) + ("libevent" ,libevent) + ("miniupnpc" ,miniupnpc) + ("openssl" ,openssl) + ("protobuf" ,protobuf) + ("qrencode" ,qrencode) + ("qtbase" ,qtbase) + ("zeromq" ,zeromq) + ("zlib" ,zlib))) + (arguments + `(#:configure-flags + (list + ;; Boost is not found unless specified manually. + (string-append "--with-boost=" + (assoc-ref %build-inputs "boost")) + ;; XXX: The configure script looks up Qt paths by + ;; `pkg-config --variable=host_bins Qt5Core`, which fails to pick + ;; up executables residing in 'qttools', so we specify them here. + (string-append "ac_cv_path_LRELEASE=" + (assoc-ref %build-inputs "qttools") + "/bin/lrelease") + (string-append "ac_cv_path_LUPDATE=" + (assoc-ref %build-inputs "qttools") + "/bin/lupdate")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-tests + (lambda _ + ;; TODO: Find why utilprocess_tests never ends. Disable for now. + (substitute* "src/test/utilprocess_tests.cpp" + (("#if \\(BOOST_OS_LINUX && \\(BOOST_VERSION >= 106500\\)\\)") + "#if 0")) + #t)) + (add-before 'configure 'make-qt-deterministic + (lambda _ + ;; Make Qt deterministic. + (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1") + #t)) + (add-before 'check 'set-home + (lambda _ + (setenv "HOME" (getenv "TMPDIR")) ; tests write to $HOME + #t))))) + (home-page "https://www.bitcoinunlimited.info/") + (synopsis "Client for the Bitcoin Cash protocol") + (description + "Bitcoin Unlimited is a client for the Bitcoin Cash peer-to-peer +electronic cash system. This package provides a command line client and +a Qt GUI.") + (license license:expat))) diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index ab03bc32fd..bec582d982 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -184,6 +184,69 @@ Broadcom/AirForce chipset BCM43xx with Wireless-Core Revision 5. It is used by the b43-open driver of Linux-libre.") (license license:gpl2))) +(define* (make-opensbi-package platform variant #:optional (arch "riscv64")) + (package + (name (string-replace-substring + (string-append "opensbi-" platform "-" variant) + "_" "-")) + (version "0.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/riscv/opensbi.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0qc73xbiy79qqkwxmp4mg15q8n8k26njkyqb6n0jw5dyibd6hb85")))) + (build-system gnu-build-system) + (native-inputs + `(,@(if (and (not (string-prefix? "riscv64" (%current-system))) + (string-prefix? "riscv64" arch)) + `(("cross-gcc" ,(cross-gcc "riscv64-linux-gnu" #:xgcc gcc-7)) + ("cross-binutils" ,(cross-binutils "riscv64-linux-gnu"))) + '()))) + (arguments + `(#:tests? #f ; no check target + #:make-flags (list (string-append "PLATFORM=" ,platform "/" ,variant) + ,@(if (and (not (string-prefix? "riscv64" + (%current-system))) + (string-prefix? "riscv64" arch)) + `("CROSS_COMPILE=riscv64-linux-gnu-") + '()) + "FW_PAYLOAD=n" + "V=1") + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (bin (find-files "." ".*fw_.*.elf$"))) + (for-each + (lambda (file) + (install-file file out)) + bin)) + #t))))) + (home-page "https://github.com/riscv/opensbi") + (synopsis "RISC-V Open Source Supervisor Binary Interface") + (description "A reference implementation of the RISC-V SBI specifications +for platform-specific firmwares executing in M-mode.") + (license (list license:bsd-2 + ;; lib/utils/libfdt/* is dual licensed under bsd-2 and gpl2+. + license:gpl2+ + ;; platform/ariane-fpga/* is gpl2. + license:gpl2)))) + +(define-public opensbi-qemu-virt + (make-opensbi-package "qemu" "virt")) + +(define-public opensbi-qemu-sifive-u + (make-opensbi-package "qemu" "sifive_u")) + +(define-public opensbi-sifive-fu540 + (make-opensbi-package "sifive" "fu540")) + (define-public seabios (package (name "seabios") diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 54703cf846..f7e0bcfd92 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2019, 2020 Leo Prikler ;;; Copyright © 2019 Jethro Cao ;;; Copyright © 2020 Nicolas Goaziou +;;; Copyright © 2020 Timotej Lazar ;;; ;;; This file is part of GNU Guix. ;;; @@ -77,6 +78,7 @@ #:use-module (gnu packages multiprecision) #:use-module (gnu packages music) #:use-module (gnu packages ncurses) + #:use-module (gnu packages pcre) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) @@ -88,6 +90,7 @@ #:use-module (gnu packages texinfo) #:use-module (gnu packages tls) #:use-module (gnu packages video) + #:use-module (gnu packages web) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xiph) #:use-module (gnu packages xml) @@ -723,7 +726,7 @@ package is the Nuklear bindings for LÖVE created by Kevin Harrison.") multimedia programming. It handles common, low-level tasks such as creating windows, accepting user input, loading data, drawing images, playing sounds, etc.") - (home-page "http://liballeg.org") + (home-page "https://liballeg.org") (license license:giftware))) (define-public allegro @@ -764,7 +767,7 @@ etc.") multimedia programming. It handles common, low-level tasks such as creating windows, accepting user input, loading data, drawing images, playing sounds, etc.") - (home-page "http://liballeg.org") + (home-page "https://liballeg.org") (license license:bsd-3))) (define-public allegro-5.0 @@ -1503,7 +1506,7 @@ games.") (define-public godot (package (name "godot") - (version "3.0.6") + (version "3.2") (source (origin (method git-fetch) (uri (git-reference @@ -1512,25 +1515,42 @@ games.") (file-name (git-file-name name version)) (sha256 (base32 - "0g64h0x8dlv6aa9ggfcidk2mknkfl5li7z1phcav8aqp9srj8avf")) - (modules '((guix build utils))) + "0f15izjl4i2xlz1xj5pcslzl9gm3rmr3c21gh256ynpi2zhhkcdd")) + (modules '((guix build utils) + (ice-9 ftw) + (srfi srfi-1))) (snippet '(begin - ;; Drop libraries that we take from Guix. Note that some - ;; of these may be modified; see "thirdparty/README.md". + ;; Keep only those bundled files we have not (yet) replaced + ;; with Guix versions. Note that some of these may be + ;; modified; see "thirdparty/README.md". (with-directory-excursion "thirdparty" - (for-each delete-file-recursively - '("freetype" - "libogg" - "libpng" - "libtheora" - "libvorbis" - "libvpx" - "libwebp" - "openssl" - "opus" - "zlib")) - #t))))) + (let* ((preserved-files + '("README.md" + "assimp" + "certs" + "cvtt" + "enet" + "etc2comp" + "fonts" + "glad" + "jpeg-compressor" + "libsimplewebm" + "miniupnpc" + "minizip" + "misc" + "nanosvg" + "pvrtccompressor" + "recastnavigation" + "squish" + "tinyexr" + "vhacd" + "xatlas"))) + (for-each delete-file-recursively + (lset-difference string=? + (scandir ".") + (cons* "." ".." preserved-files))))) + #t)))) (build-system scons-build-system) (arguments `(#:scons ,scons-python2 @@ -1541,6 +1561,7 @@ games.") '()) ;; Avoid using many of the bundled libs. ;; Note: These options can be found in the SConstruct file. + "builtin_bullet=no" "builtin_freetype=no" "builtin_glew=no" "builtin_libmpdec=no" @@ -1550,9 +1571,12 @@ games.") "builtin_libvorbis=no" "builtin_libvpx=no" "builtin_libwebp=no" - "builtin_openssl=no" + "builtin_mbedtls=no" "builtin_opus=no" - "builtin_zlib=no") + "builtin_pcre2=no" + "builtin_wslay=no" + "builtin_zlib=no" + "builtin_zstd=no") #:tests? #f ; There are no tests #:phases (modify-phases %standard-phases @@ -1575,6 +1599,10 @@ games.") (rename-file "godot.x11.tools.64" "godot") (rename-file "godot.x11.tools.32" "godot")) (install-file "godot" bin)) + ;; Tell Godot where to find zenity for OS.alert(). + (wrap-program (string-append bin "/godot") + `("PATH" ":" prefix + (,(string-append (assoc-ref %build-inputs "zenity") "/bin")))) #t))) (add-after 'install 'install-godot-desktop (lambda* (#:key outputs #:allow-other-keys) @@ -1599,6 +1627,7 @@ games.") #t)))))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("alsa-lib" ,alsa-lib) + ("bullet" ,bullet) ("freetype" ,freetype) ("glew" ,glew) ("glu" ,glu) @@ -1611,10 +1640,14 @@ games.") ("libxi" ,libxi) ("libxinerama" ,libxinerama) ("libxrandr" ,libxrandr) + ("mbedtls" ,mbedtls-apache) ("mesa" ,mesa) - ("openssl" ,openssl) ("opusfile" ,opusfile) - ("pulseaudio" ,pulseaudio))) + ("pcre2" ,pcre2) + ("pulseaudio" ,pulseaudio) + ("wslay" ,wslay) + ("zenity" ,zenity) + ("zstd" ,zstd "lib"))) (home-page "https://godotengine.org/") (synopsis "Advanced 2D and 3D game engine") (description @@ -1998,7 +2031,11 @@ a.k.a. XenoCollide) as described in Game Programming Gems 7.") #t)))) (build-system cmake-build-system) (arguments - `(#:configure-flags '("-DODE_WITH_LIBCCD_SYSTEM=ON") + ;; Tests fail on all systems but x86_64. + `(#:tests? ,(string-prefix? "x86_64-" + (or (%current-target-system) + (%current-system))) + #:configure-flags '("-DODE_WITH_LIBCCD_SYSTEM=ON") #:phases (modify-phases %standard-phases (add-after 'unpack 'unbundle-libccd diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 49a2bde6eb..b89df02b19 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -4177,7 +4177,9 @@ symbols, it still needs graphics to render the non-euclidean world.") (list (string-append "CPPFLAGS=-I" (assoc-ref %build-inputs "sdl-union") "/include/SDL")))) - (inputs `(("sdl-union" ,(sdl-union (list sdl sdl-image))))) + (inputs + `(("glu" ,glu) + ("sdl-union" ,(sdl-union (list sdl sdl-image))))) (synopsis "Shooter with space station destruction") (description "Kobo Deluxe is an enhanced version of Akira Higuchi's XKobo graphical game diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm index 81e2892ad2..1aa8d49036 100644 --- a/gnu/packages/gdb.scm +++ b/gnu/packages/gdb.scm @@ -1,7 +1,8 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2019 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2019, 2020 Ludovic Courtès ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2015, 2016, 2019 Efraim Flashner +;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,12 +28,14 @@ #:use-module (gnu packages multiprecision) #:use-module (gnu packages xml) #:use-module (gnu packages guile) + #:use-module (gnu packages pretty-print) #:use-module (gnu packages python) #:use-module (gnu packages pkg-config) #:use-module ((guix licenses) #:select (gpl3+)) #:use-module (guix packages) #:use-module (guix download) - #:use-module (guix build-system gnu)) + #:use-module (guix build-system gnu) + #:use-module (srfi srfi-1)) (define-public gdb-8.3 (package @@ -45,6 +48,10 @@ (sha256 (base32 "1i2pjwaafrlz7wqm40b4znr77ai32rjsxkpl2az38yyarpbv8m8y")))) + + ;; Hide this package so that end users get 'gdb/next' below. + (properties '((hidden? . #t))) + (build-system gnu-build-system) (arguments `(#:tests? #f ; FIXME "make check" fails on single-processor systems. @@ -106,6 +113,8 @@ the program is running to try to fix bugs. It can be used to debug programs written in C, C++, Ada, Objective-C, Pascal and more.") (license gpl3+))) +;; This version of GDB is required by some of the Rust compilers, see +;; . (define-public gdb-8.2 (package/inherit gdb-8.3 @@ -118,6 +127,15 @@ written in C, C++, Ada, Objective-C, Pascal and more.") (base32 "00i27xqawjv282a07i73lp1l02n0a3ywzhykma75qg500wll6sha")))))) +;; The "next" version of GDB, to be merged with 'gdb' in the next rebuild cycle. +(define-public gdb/next + (package/inherit + gdb-8.3 + (inputs + `(("source-highlight" ,source-highlight) + ,@(package-inputs gdb-8.3))) + (properties (alist-delete 'hidden? (package-properties gdb-8.3))))) + (define-public gdb ;; This is the fixed version that packages depend on. Update it rarely ;; enough to avoid massive rebuilds. diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index d9d3f14ced..af2b06ab27 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -174,6 +174,7 @@ buffers.") ("glib" ,glib) ("glib-networking" ,glib-networking) ("libtiff" ,libtiff) + ("libwebp" ,libwebp) ("libjpeg" ,libjpeg-turbo) ("atk" ,atk) ("gexiv2" ,gexiv2) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 42bed5d623..d0718d5d45 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -146,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 diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 0ec3bf60fd..8094dae477 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -39,7 +39,7 @@ ;;; Copyright © 2019 Giacomo Leidi ;;; Copyright © 2019 Jelle Licht ;;; Copyright © 2019 Jonathan Frederickson -;;; Copyright © 2019 Maxim Cournoyer +;;; Copyright © 2019, 2020 Maxim Cournoyer ;;; Copyright © 2019 Martin Becze ;;; Copyright © 2019 David Wilson ;;; Copyright © 2019, 2020 Raghav Gururajan @@ -8291,7 +8291,11 @@ functionality and behavior.") (modify-phases %standard-phases ;; autogen.sh calls configure at the end of the script. (replace 'bootstrap - (lambda _ (invoke "autoreconf" "-vfi")))))) + (lambda _ (invoke "autoreconf" "-vfi"))) + (add-before 'build 'set-home ;placate Inkscape + (lambda _ + (setenv "HOME" (getcwd)) + #t))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index a6b5f2a4cf..9102469749 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -220,7 +220,7 @@ in the style of communicating sequential processes (@dfn{CSP}).") (package (inherit go-1.4) (name "go") - (version "1.12.15") + (version "1.12.16") (source (origin (method url-fetch) @@ -228,7 +228,7 @@ in the style of communicating sequential processes (@dfn{CSP}).") name version ".src.tar.gz")) (sha256 (base32 - "1hw4xjywcl883dnvfbb92w85sy8n231fdri4aynj8xajgr0p9fla")))) + "1y0x10fsvgpc1x24b9q9y6kv9b0kwf7879am3p0gym2abgc5wvnf")))) (arguments (substitute-keyword-arguments (package-arguments go-1.4) ((#:phases phases) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 029054b90e..e015503372 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014, 2015, 2018 Mark H Weaver ;;; Copyright © 2015, 2017 Christopher Allan Webber ;;; Copyright © 2016 Alex Sassmannshausen -;;; Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus ;;; Copyright © 2016 Erik Edrosa ;;; Copyright © 2016, 2019 Eraim Flashner ;;; Copyright © 2016, 2017 Alex Kost @@ -1493,7 +1493,15 @@ provides tight coupling to Guix.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0qjjvadr7gibdq9jvwkmlkb4afsw9n2shfj9phpiadinxk3p4m2g")))) + "0qjjvadr7gibdq9jvwkmlkb4afsw9n2shfj9phpiadinxk3p4m2g")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Allow builds with Guile 3.0. + (substitute* "configure.ac" + (("^GUILE_PKG.*") + "GUILE_PKG([3.0 2.2 2.0])\n")) + #t)))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf-wrapper) @@ -1513,6 +1521,14 @@ pure Scheme. The library can be used to read and write iCalendar data. The library is shipped with documentation in Info format and usage examples.") (license license:gpl3+))) +(define-public guile3.0-ics + (package + (inherit guile-ics) + (name "guile3.0-ics") + (inputs `(("guile" ,guile-3.0) + ,@(alist-delete "guile" (package-inputs guile-ics)))) + (propagated-inputs `(("guile-lib" ,guile3.0-lib))))) + (define-public guile-wisp (package (name "guile-wisp") @@ -2488,14 +2504,14 @@ list of components. This module takes care of that for you.") (define-public guile-gi (package (name "guile-gi") - (version "0.2.1") + (version "0.2.2") (source (origin (method url-fetch) (uri (string-append "http://lonelycactus.com/tarball/guile_gi-" version ".tar.gz")) (sha256 (base32 - "1ah5bmkzplsmkrk7v9vlxlqch7i91qv4cq2d2nar9xshbpcrj484")))) + "1v82kz8mz7wgq6w5llaz8a2wwdnl8vk2667dpjwjxscl0qyxsy6y")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-gnu-filesystem-hierarchy") @@ -2530,6 +2546,14 @@ libraries, such as GTK+3. Its README comes with the disclaimer: This is pre-alpha code.") (license license:gpl3+))) +(define-public guile3.0-gi + (package + (inherit guile-gi) + (name "guile3.0-gi") + (native-inputs + `(("guile" ,guile-3.0) + ,@(package-native-inputs guile-gi))))) + (define-public guile-srfi-159 (let ((commit "1bd98abda2ae4ef8f36761a167903e55c6bda7bb") (revision "0")) diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm index 5888e8542e..e5ec572e1d 100644 --- a/gnu/packages/haskell-web.scm +++ b/gnu/packages/haskell-web.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2019 Robert Vollmert ;;; Copyright © 2019 John Soo +;;; Copyright © 2020 Alexandru-Sergiu Marton ;;; ;;; This file is part of GNU Guix. ;;; @@ -1595,3 +1596,65 @@ cookies, serving files, and more.") (description "Haskell library which exposes zero-copy sendfile functionality in a portable way.") (license license:bsd-3))) + +(define-public ghc-scalpel-core + (package + (name "ghc-scalpel-core") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/scalpel-core/" + "scalpel-core-" version ".tar.gz")) + (sha256 + (base32 + "1qf0gnidyh8zk0acj99vn6hsj37m410lrm50sqpiv1i36rpmmsqh")))) + (build-system haskell-build-system) + (inputs + `(("ghc-data-default" ,ghc-data-default) + ("ghc-fail" ,ghc-fail) + ("ghc-pointedlist" ,ghc-pointedlist) + ("ghc-regex-base" ,ghc-regex-base) + ("ghc-regex-tdfa" ,ghc-regex-tdfa) + ("ghc-tagsoup" ,ghc-tagsoup) + ("ghc-vector" ,ghc-vector))) + (native-inputs `(("ghc-hunit" ,ghc-hunit))) + (home-page "https://github.com/fimad/scalpel") + (synopsis + "High level web scraping library for Haskell") + (description + "Scalpel core provides a subset of the scalpel web scraping library +that is intended to have lightweight dependencies and to be free of all +non-Haskell dependencies.") + (license license:asl2.0))) + +(define-public ghc-scalpel + (package + (name "ghc-scalpel") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/scalpel/" + "scalpel-" version ".tar.gz")) + (sha256 + (base32 + "0jbrfcgljl8kbcwi2zqx1jp3c3dpxrkc94za44x56kcz68n89hlz")))) + (build-system haskell-build-system) + (inputs + `(("ghc-scalpel-core" ,ghc-scalpel-core) + ("ghc-case-insensitive" ,ghc-case-insensitive) + ("ghc-data-default" ,ghc-data-default) + ("ghc-http-client" ,ghc-http-client) + ("ghc-http-client-tls" ,ghc-http-client-tls) + ("ghc-tagsoup" ,ghc-tagsoup))) + (home-page "https://github.com/fimad/scalpel") + (synopsis + "High level web scraping library for Haskell") + (description + "Scalpel is a web scraping library inspired by libraries like Parsec +and Perl's @code{Web::Scraper} Scalpel builds on top of TagSoup to provide a +declarative and monadic interface.") + (license license:asl2.0))) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 94e9a22115..af940f02fc 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -11742,7 +11742,7 @@ function which generates instances.") ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r"))) (home-page "https://github.com/phadej/time-compat") (synopsis "Compatibility package for time") - (description "This packages tries to compat as many @code{time} + (description "This package tries to compat as many @code{time} features as possible.") (license license:bsd-3))) diff --git a/gnu/packages/hexedit.scm b/gnu/packages/hexedit.scm index 9aea8e8700..e1a029167a 100644 --- a/gnu/packages/hexedit.scm +++ b/gnu/packages/hexedit.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016 Kei Kebreau ;;; Copyright © 2017 Gábor Boskovits ;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2020 Jakub Kądziołka ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,6 +25,7 @@ #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages compression) + #:use-module (gnu packages man) #:use-module (gnu packages ncurses) #:use-module (guix download) #:use-module (guix git-download) @@ -43,12 +45,26 @@ (base32 "1xsxa5mip892jkvz9jshj73y6c7j3mgp8y393ciihqlyf2nmfs67")))) (build-system gnu-build-system) - (arguments '(#:tests? #f)) ; no check target + (arguments + `(#:tests? #f ; no check target + #:phases + (modify-phases %standard-phases + ;; Make F1 open the man page even if man-db is not in the profile. + (add-after 'unpack 'patch-man-path + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "interact.c" + (("\"man\"") + (string-append "\"" (assoc-ref inputs "man-db") "/bin/man\"")) + (("\"hexedit\"") + (string-append "\"" (assoc-ref outputs "out") + "/share/man/man1/hexedit.1.gz\""))) + #t))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake))) (inputs - `(("ncurses" ,ncurses))) + `(("man-db" ,man-db) + ("ncurses" ,ncurses))) (synopsis "View and edit files or devices in hexadecimal or ASCII") (description "hexedit shows a file both in ASCII and in hexadecimal. The file can be a device as the file is read a piece at a time. You can modify @@ -80,3 +96,25 @@ low-level functionality of a debugger with the usability of an @dfn{Integrated Development Environment} (IDE).") (home-page "http://hte.sourceforge.net/") (license license:gpl2))) + +(define-public bvi + (package + (name "bvi") + (version "1.4.1") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/bvi/bvi/" version + "/bvi-" version ".src.tar.gz")) + (sha256 + (base32 + "0a0yl0dcyff31k3dr4dpgqmlwygp8iaslnr5gmb6814ylxf2ad9h")))) + (build-system gnu-build-system) + (arguments '(#:tests? #f)) ; no check target + (inputs + `(("ncurses" ,ncurses))) + (synopsis "Binary file editor") + (description "@command{bvi} is a display-oriented editor for binary files, +based on the @command{vi} text editor.") + (home-page "http://bvi.sourceforge.net/") + (license license:gpl3+))) diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 938cb116ca..3d1709fcc3 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015, 2016, 2017 Manolis Fragkiskos Ragkousis ;;; Copyright © 2018 Ludovic Courtès +;;; Copyright © 2020 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,6 +31,7 @@ #:use-module (gnu packages bison) #:use-module (gnu packages perl) #:use-module (gnu packages base) + #:use-module (gnu packages texinfo) #:use-module (guix git-download) #:export (hurd-triplet? hurd-target?)) @@ -44,69 +46,54 @@ GNU/Hurd." (or (and=> (%current-target-system) hurd-triplet?) (string-suffix? (%current-system) "-gnu"))) -(define (gnumach-source-url version) - (string-append "mirror://gnu/gnumach/gnumach-" - version ".tar.gz")) - (define (hurd-source-url version) (string-append "mirror://gnu/hurd/hurd-" version ".tar.gz")) -(define (patch-url repository commit) - (string-append "https://git.savannah.gnu.org/cgit/hurd/" repository - ".git/patch/?id=" commit)) - (define-public gnumach-headers - (package - (name "gnumach-headers") - (version "1.8") - (source - (origin - (method url-fetch) - (uri (gnumach-source-url version)) - (sha256 - (base32 - "02hygsfpd2dljl5lg1vjjg9pizi9jyxd4aiiqzjshz6jax62jm9f")) - (patches (list (origin - ;; This patch adds , which defines the - ;; VM_WIRE_* constants needed by glibc 2.28. - (method url-fetch) - (uri (patch-url "gnumach" "2b0f19f602e08fd9d37268233b962674fd592634")) - (sha256 - (base32 - "01iajnwsmka0w9hwjkxxijc4xfhwqbvlkw1w8n71hpnhfixd0y28")) - (file-name "gnumach-vm-wire-header.patch")))) - (modules '((guix build utils))) - (snippet - '(begin - ;; Actually install vm_wire.h. - (substitute* "Makefile.in" - (("^include_mach_HEADERS =") - "include_mach_HEADERS = include/mach/vm_wire.h")) - #t)))) - (build-system gnu-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'install - (lambda _ - (invoke "make" "install-data"))) - (delete 'build)) + (let ((commit "097f9cf735ffa1212b828682ad92f0f6c5f1c552") + (revision "1")) + (package + (name "gnumach-headers") + (version (git-version "1.8" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/hurd/gnumach.git") + (commit commit))) + (file-name (git-file-name "gnumach" version)) + (sha256 + (base32 + "0q36z7k02bykrld90zaxbhyzxlmwlqqs4divgir6ix38zsp6icqk")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'install + (lambda _ + (invoke "make" "install-data"))) + (delete 'build)) - ;; GNU Mach supports only IA32 currently, so cheat so that we can at - ;; least install its headers. - ,@(if (%current-target-system) - '() - ;; See - ;; - '(#:configure-flags '("--build=i586-pc-gnu"))) + ;; GNU Mach supports only IA32 currently, so cheat so that we can at + ;; least install its headers. + ,@(if (%current-target-system) + '() + ;; See + ;; + '(#:configure-flags '("--build=i586-pc-gnu" + "--host=i686-linux-gnu"))) - #:tests? #f)) - (home-page "https://www.gnu.org/software/hurd/microkernel/mach/gnumach.html") - (synopsis "GNU Mach kernel headers") - (description - "Headers of the GNU Mach kernel.") - (license gpl2+))) + #:tests? #f)) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("texinfo" ,texinfo-4))) + (home-page "https://www.gnu.org/software/hurd/microkernel/mach/gnumach.html") + (synopsis "GNU Mach kernel headers") + (description + "Headers of the GNU Mach kernel.") + (license gpl2+)))) (define-public mig (package @@ -264,15 +251,8 @@ Hurd-minimal package which are needed for both glibc and GCC.") (define-public gnumach (package + (inherit gnumach-headers) (name "gnumach") - (version "1.8") - (source (origin - (method url-fetch) - (uri (gnumach-source-url version)) - (sha256 - (base32 - "02hygsfpd2dljl5lg1vjjg9pizi9jyxd4aiiqzjshz6jax62jm9f")))) - (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-after 'install 'produce-image @@ -286,12 +266,9 @@ Hurd-minimal package which are needed for both glibc and GCC.") `(("mig" ,mig) ("perl" ,perl))) (supported-systems (cons "i686-linux" %hurd-systems)) - (home-page - "https://www.gnu.org/software/hurd/microkernel/mach/gnumach.html") (synopsis "Microkernel of the GNU system") (description - "GNU Mach is the microkernel upon which a GNU Hurd system is based.") - (license gpl2+))) + "GNU Mach is the microkernel upon which a GNU Hurd system is based."))) (define-public hurd (package diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index f75dd795f1..7e982db093 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -170,7 +170,7 @@ script.") (define-public graphicsmagick (package (name "graphicsmagick") - (version "1.3.33") + (version "1.3.34") (source (origin (method url-fetch) @@ -182,7 +182,8 @@ script.") "GraphicsMagick/" (version-major+minor version) "/GraphicsMagick-" version ".tar.xz"))) (sha256 - (base32 "0y67dl6xbk1pxndppa93hhlq9i6bpcjw39gb4i8hnn1klqqb630k")))) + (base32 + "197pshms3m8mn2x1ryiag37ambm8qmb448spch66l3gdfd8rs06z")))) (build-system gnu-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm index 83fa5ede4c..6868a37f86 100644 --- a/gnu/packages/javascript.scm +++ b/gnu/packages/javascript.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2017 Arun Isaac ;;; Copyright © 2017, 2019 Ricardo Wurmus ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice -;;; Copyright © 2017, 2018, 2019 Efraim Flashner +;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner ;;; Copyright © 2018 Nicolas Goaziou ;;; ;;; This file is part of GNU Guix. @@ -40,14 +40,14 @@ (version "2.7.2") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/mathjax/MathJax/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/mathjax/MathJax") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1r72di4pg4i6pfhcskkxqmf1158m81ki6a7lbw6nz4zh7xw23hy4")))) + "127j12g7v2hx6k7r00b8cp49s7nkrwhxy6l8p03pw34xpxbgbimm")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -55,20 +55,11 @@ (begin (use-modules (guix build utils) (ice-9 match)) - (set-path-environment-variable - "PATH" '("bin") (map (match-lambda - ((_ . input) - input)) - %build-inputs)) (let ((install-directory (string-append %output "/share/fonts/mathjax"))) (mkdir-p install-directory) - (invoke "tar" "-C" install-directory "-xvf" - (assoc-ref %build-inputs "source") - ,(string-append "MathJax-" version "/fonts") - "--strip" "2"))))) - (native-inputs - `(("gzip" ,gzip) - ("tar" ,tar))) + (copy-recursively (string-append (assoc-ref %build-inputs "source") + "/fonts") + install-directory))))) (home-page "https://www.mathjax.org/") (synopsis "Fonts for MathJax") (description "This package contains the fonts required for MathJax.") @@ -96,10 +87,8 @@ (list (assoc-ref %build-inputs "glibc-utf8-locales"))) (setenv "LANG" "en_US.UTF-8") (let ((install-directory (string-append %output "/share/javascript/mathjax"))) - (invoke "tar" "xvf" (assoc-ref %build-inputs "source") - ,(string-append "MathJax-" (package-version font-mathjax) - "/unpacked") - "--strip" "2") + (copy-recursively (string-append (assoc-ref %build-inputs "source") "/unpacked") + "MathJax-unpacked") (mkdir-p install-directory) (symlink (string-append (assoc-ref %build-inputs "font-mathjax") "/share/fonts/mathjax") @@ -108,8 +97,8 @@ (for-each (lambda (file) (let ((installed (string-append install-directory - ;; remove prefix "." - (string-drop file 1)))) + ;; remove prefix "./MathJax-unpacked" + (string-drop file 18)))) (format #t "~a -> ~a~%" file installed) (cond ((string-match "\\.js$" file) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index fd1b6ec7ca..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))) @@ -3775,14 +3669,6 @@ http://community.kde.org/Frameworks/Porting_Notes should help with this.") ("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 +;;; +;;; 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 . + +(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 +;;; +;;; 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 . + +(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 +;;; +;;; 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 . + +(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 924ca752d9..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.") @@ -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/linux.scm b/gnu/packages/linux.scm index 0fb10e3f1d..b3f46c0305 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2016, 2017 Alex Kost ;;; Copyright © 2016 Raymond Nicholson ;;; Copyright © 2016 Mathieu Lirzin -;;; Copyright © 2016, 2018, 2019 Nicolas Goaziou +;;; Copyright © 2016, 2018, 2019, 2020 Nicolas Goaziou ;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus ;;; Copyright © 2016 David Craven ;;; Copyright © 2016 John Darrington @@ -33,7 +33,7 @@ ;;; Copyright © 2018 Pierre Langlois ;;; Copyright © 2018 Vasile Dumitrascu ;;; Copyright © 2019 Tim Gesthuizen -;;; Copyright © 2019 Maxim Cournoyer +;;; Copyright © 2019, 2020 Maxim Cournoyer ;;; Copyright © 2019 Stefan Stefanović ;;; Copyright © 2019 Pierre Langlois ;;; Copyright © 2019 Brice Waegeneire @@ -86,6 +86,8 @@ #:use-module (gnu packages gperf) #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) + #:use-module (gnu packages haskell-apps) + #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages libunwind) #:use-module (gnu packages libusb) #:use-module (gnu packages man) @@ -188,33 +190,33 @@ defconfig. Return the appropriate make target if applicable, otherwise return (define deblob-scripts-5.4 (linux-libre-deblob-scripts - "5.4.4" + "5.4.14" (base32 "0ckxn7k5zgcqk30dq943bnamr6a6zjbw2aqjl3x30f4kvh5f6k25") - (base32 "09hy3jqb8lny861pxjbjvzg90imi8p7z10j14xp0rclxmyb81rk3"))) + (base32 "121px6030s89jh975sw0whwq315al6px1s7ildz3asql97bjdgc8"))) (define deblob-scripts-4.19 (linux-libre-deblob-scripts - "4.19.90" + "4.19.98" (base32 "02zs405awaxydbapka4nz8h6lmnc0dahgczqsrs5s2bmzjyyqkcy") - (base32 "0xpcl6pd1280gm81bivz45dfhy6v16j0hghxhjynmcbasgnx8vpd"))) + (base32 "1w2wgxblpq09i33qmqgw5v3r5rm9vkkygr6m0sgv4zgczk9s29wr"))) (define deblob-scripts-4.14 (linux-libre-deblob-scripts - "4.14.159" + "4.14.167" (base32 "091jk9jkn9jf39bxpc7395bhcb7p96nkg3a8047380ki06lnfxh6") - (base32 "0yd0c3qxk5rm686j4kd5v4zppjj3k9ivqnv46z4p3xh1gqmhv7cz"))) + (base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky"))) (define deblob-scripts-4.9 (linux-libre-deblob-scripts - "4.9.206" + "4.9.211" (base32 "1wvldzlv7q2xdbadas87dh593nxr4a8p5n0f8zpm72lja6w18hmg") - (base32 "0is8gn4qdd7h5l6lacvhqdch26lmrbgxfm8ab7fx8n85ha7y358w"))) + (base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2"))) (define deblob-scripts-4.4 (linux-libre-deblob-scripts - "4.4.206" + "4.4.211" (base32 "0x2j1i88am54ih2mk7gyl79g25l9zz4r08xhl482l3fvjj2irwbw") - (base32 "12ac4g3ky8yma8sylmxvvysqvd4hnaqjiwmxrxb6wlxggfd7zkbx"))) + (base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf"))) (define* (computed-origin-method gexp-promise hash-algo hash #:optional (name "source") @@ -356,42 +358,42 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." "linux-" version ".tar.xz")) (sha256 hash))) -(define-public linux-libre-5.4-version "5.4.13") +(define-public linux-libre-5.4-version "5.4.17") (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "1mva73ywb2r5lrmzp5m7hyy0zpgxdg91nw42c1z1sz3ydpcjkys9"))) + (hash (base32 "1fbl5knf6pini9lsx8mqkdmf3qbsydqvaxggh6nd1vk9mzv2npwl"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.97") +(define-public linux-libre-4.19-version "4.19.101") (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "1nln2ksfm0ddkqdmhvxwzqq96av1myx89kr1wxs54m2yw0la7clg"))) + (hash (base32 "1i4bkwankl5q95kgqmmyzdkwmf3b8ppkb8ild9bw12mkpmm1a9my"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.166") +(define-public linux-libre-4.14-version "4.14.169") (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "003wax7dsahlv1iv9yqhkjbxx20crmwyd9464cx974i03a0vzclb"))) + (hash (base32 "0jc24zvqz3vsv65xxcivzkj6nv27vsy62l50n2h1ysy5jdwsk3nq"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) -(define-public linux-libre-4.9-version "4.9.210") +(define-public linux-libre-4.9-version "4.9.212") (define-public linux-libre-4.9-pristine-source (let ((version linux-libre-4.9-version) - (hash (base32 "04skcbbp1yv54hwipa1pjx04lb21013r0lh2swycq0kdhc1m54d0"))) + (hash (base32 "0c5yjilaq86j6i2hzlxbp2ia7jhnf7kv952ffv7jxdf90sk3irxd"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.9))) -(define-public linux-libre-4.4-version "4.4.210") +(define-public linux-libre-4.4-version "4.4.212") (define-public linux-libre-4.4-pristine-source (let ((version linux-libre-4.4-version) - (hash (base32 "1pg754s3138d2lq5y2zd1z7dagdy8pl4ifmp0754sa1rkjd3h0ns"))) + (hash (base32 "0mx3qyj6w6h7gw7drsfsgl4iyz1695sjnf9hqh4kczci48kw5rj7"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.4))) @@ -779,7 +781,7 @@ It has been modified to remove all non-free binary blobs.") (define-public linux-libre-5.4 (make-linux-libre* linux-libre-5.4-version linux-libre-5.4-source - '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux") + '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux") #:configuration-file kernel-config)) (define-public linux-libre-version linux-libre-5.4-version) @@ -871,6 +873,12 @@ It has been modified to remove all non-free binary blobs.") #:defconfig "omap2plus_defconfig" #:extra-version "arm-omap2plus")) +(define-public linux-libre-riscv64-generic + (make-linux-libre* linux-libre-version + linux-libre-source + '("riscv64-linux") + #:extra-version "riscv64-generic")) + ;;; ;;; Linux kernel modules. @@ -1823,7 +1831,7 @@ that the Ethernet protocol is much simpler than the IP protocol.") (define-public iproute (package (name "iproute2") - (version "5.3.0") + (version "5.5.0") (source (origin (method url-fetch) (uri (string-append @@ -1831,7 +1839,7 @@ that the Ethernet protocol is much simpler than the IP protocol.") version ".tar.xz")) (sha256 (base32 - "0gvv269wjn4279hxr5zzwsk2c5qgswr47za3hm1x4frsk52iw76b")))) + "0ywg70f98wgfai35jl47xzpjp45a6n7crja4vc8ql85cbi1l7ids")))) (build-system gnu-build-system) (arguments `( ;; There is a test suite, but it wants network namespaces and sudo. @@ -2710,6 +2718,50 @@ kmod. The aim is to be compatible with tools, configurations and indices from the module-init-tools project.") (license license:gpl2+))) ; library under lgpl2.1+ +(define-public earlyoom + (package + (name "earlyoom") + (version "1.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rfjakob/earlyoom.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0fwbx0y80nqgkxrc9kf9j3iwa0wbps2jmqir3pgqbc2cj0wjh0lr")))) + (build-system gnu-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (delete 'configure) + (add-before 'check 'set-home + (lambda _ + (setenv "HOME" (getcwd)) + #t)) + (add-after 'build 'install-contribs + ;; Install what seems useful from the contrib directory. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (contrib (string-append + out "/share/earlyoom/contrib"))) + (install-file "contrib/notify_all_users.py" contrib) + #t)))) + #:make-flags (let* ((prefix (assoc-ref %outputs "out"))) + (list "CC=gcc" + (string-append "VERSION=v" ,version) + (string-append "PREFIX=" prefix) + (string-append "SYSCONFDIR=" prefix "/etc"))) + #:test-target "test")) + (native-inputs `(("go" ,go) ;for the test suite + ("pandoc" ,ghc-pandoc))) ;to generate the manpage + (home-page "https://github.com/rfjakob/earlyoom") + (synopsis "Simple out of memory (OOM) daemon for the Linux kernel") + (description "Early OOM is a minimalist out of memory (OOM) daemon that +runs in user space and provides a more responsive and configurable alternative +to the in-kernel OOM killer.") + (license license:expat))) + (define-public eudev ;; The post-systemd fork, maintained by Gentoo. (package @@ -5129,6 +5181,21 @@ monitoring tools for Linux. These include @code{mpstat}, @code{iostat}, (base32 "0zrjipd392bzjvxx0rjrb0cgi0ix1d83fwgw1mcy8kc4d16cgyjg")) (file-name (git-file-name name version)))) (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-udev-rules-absolute-path-bins + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "90-backlight.rules" + (("/bin/chgrp") (which "chgrp")) + (("/bin/chmod") (which "chmod"))) + #t)) + (add-after 'install 'install-udev-rules + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (install-file + "90-backlight.rules" (string-append out "/lib/udev/rules.d")) + #t)))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake))) @@ -5191,42 +5258,46 @@ interface in sysfs, which can be accomplished with the included udev rules.") (define-public tlp (package (name "tlp") - (version "1.2.2") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/linrunner/" - (string-upcase name) - "/archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "059kxrpxx580mm6p0z2a421nxngszyh4yqqhbgvn04b6a7dbsa2w")))) - (inputs `(("bash" ,bash) - ("dbus" ,dbus) - ("ethtool" ,ethtool) - ("eudev" ,eudev) - ("grep" ,grep) - ("hdparm" ,hdparm) - ("inetutils" ,inetutils) - ("iw" ,iw) - ("kmod" ,kmod) - ("pciutils" ,pciutils) - ("perl" ,perl) - ("rfkill" ,rfkill) - ("sed" ,sed) - ("usbutils" ,usbutils) - ("util-linux" ,util-linux) - ("wireless-tools" ,wireless-tools) - ,@(if (let ((system (or (%current-target-system) - (%current-system)))) - (or (string-prefix? "i686-" system) - (string-prefix? "x86_64-" system))) - `(("x86-energy-perf-policy" ,x86-energy-perf-policy)) - '()))) + (version "1.3.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/linrunner/TLP/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "169k3xypq5rq0xiggrlpr73yr2r2x7b2d9vcr9ac96qrgph7sk7r")))) + (native-inputs + `(("shellcheck" ,shellcheck))) + (inputs + `(("bash" ,bash) + ("dbus" ,dbus) + ("ethtool" ,ethtool) + ("eudev" ,eudev) + ("grep" ,grep) + ("hdparm" ,hdparm) + ("inetutils" ,inetutils) + ("iw" ,iw) + ("kmod" ,kmod) + ("pciutils" ,pciutils) + ("perl" ,perl) + ("rfkill" ,rfkill) + ("sed" ,sed) + ("usbutils" ,usbutils) + ("util-linux" ,util-linux) + ("wireless-tools" ,wireless-tools) + ,@(if (let ((system (or (%current-target-system) + (%current-system)))) + (or (string-prefix? "i686-" system) + (string-prefix? "x86_64-" system))) + `(("x86-energy-perf-policy" ,x86-energy-perf-policy)) + '()))) (build-system gnu-build-system) (arguments - `(#:modules ((guix build gnu-build-system) + ;; XXX: The full test suite is run with "checkall" but it requires + ;; "checkbashisms" and "perlcritic", not yet packaged in Guix. + `(#:test-target "shellcheck" + #:modules ((guix build gnu-build-system) (guix build utils) (srfi srfi-1)) #:phases @@ -5243,7 +5314,9 @@ interface in sysfs, which can be accomplished with the included udev rules.") (setenv "TLP_TLIB" (string-append out "/share/tlp")) (setenv "TLP_FLIB" (string-append out "/share/tlp/func.d")) (setenv "TLP_ULIB" (string-append out "/lib/udev")) - (setenv "TLP_CONF" "/etc/tlp") + (setenv "TLP_CONFDEF" + (string-append out "/share/tlp/defaults.conf")) + (setenv "TLP_CONFDIR" (string-append out "/etc/tlp.d")) (setenv "TLP_ELOD" (string-append out "/lib/elogind/system-sleep")) (setenv "TLP_SHCPL" @@ -5251,17 +5324,15 @@ interface in sysfs, which can be accomplished with the included udev rules.") (setenv "TLP_MAN" (string-append out "/share/man")) (setenv "TLP_META" (string-append out "/share/metainfo")) #t))) - (delete 'check) ; no tests (add-before 'install 'fix-installation (lambda _ ;; Stop the Makefile from trying to create system directories. (substitute* "Makefile" - (("\\[ -f \\$\\(_CONF\\) \\]") "#") + (("\\[ -f \\$\\(_CONFUSR\\) \\]") "#") (("install -d -m 755 \\$\\(_VAR\\)") "#")) #t)) (replace 'install - (lambda _ - (invoke "make" "install-tlp" "install-man"))) + (lambda _ (invoke "make" "install-tlp" "install-man-tlp"))) (add-after 'install 'wrap (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((bin (string-append (assoc-ref outputs "out") "/bin")) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 810918c6e5..936fcaae38 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -51,6 +51,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) + #:use-module (gnu packages imagemagick) #:use-module (gnu packages libevent) #:use-module (gnu packages libffi) #:use-module (gnu packages lisp) @@ -59,6 +60,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages sqlite) + #:use-module (gnu packages tcl) #:use-module (gnu packages tls) #:use-module (gnu packages webkit) #:use-module (gnu packages xdisorg) @@ -9709,3 +9711,335 @@ possible.") (define-public ecl-green-threads (sbcl-package->ecl-package sbcl-green-threads)) + +(define-public sbcl-cl-base32 + (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85") + (revision "1")) + (package + (name "sbcl-cl-base32") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hargettp/cl-base32.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8")))) + (build-system asdf-build-system/sbcl) + (native-inputs + `(("lisp-unit" ,sbcl-lisp-unit))) + (synopsis "Common Lisp library for base32 encoding and decoding") + (description + "This package provides functions for base32 encoding and decoding as +defined in RFC4648.") + (home-page "https://github.com/hargettp/cl-base32") + (license license:expat)))) + +(define-public cl-base32 + (sbcl-package->cl-source-package sbcl-cl-base32)) + +(define-public ecl-cl-base32 + (sbcl-package->ecl-package sbcl-cl-base32)) + +(define-public sbcl-cl-z85 + (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098") + (revision "1")) + (package + (name "sbcl-cl-z85") + (version (git-version "1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/glv2/cl-z85.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp")))) + (build-system asdf-build-system/sbcl) + (native-inputs + `(("cl-octet-streams" ,sbcl-cl-octet-streams) + ("fiveam" ,sbcl-fiveam))) + (synopsis "Common Lisp library for Z85 encoding and decoding") + (description + "This package provides functions to encode or decode byte vectors or +byte streams using the Z85 format, which is a base-85 encoding used by +ZeroMQ.") + (home-page "https://github.com/glv2/cl-z85") + (license license:gpl3+)))) + +(define-public cl-z85 + (sbcl-package->cl-source-package sbcl-cl-z85)) + +(define-public ecl-cl-z85 + (sbcl-package->ecl-package sbcl-cl-z85)) + +(define-public sbcl-ltk + (package + (name "sbcl-ltk") + (version "0.992") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/herth/ltk.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("imagemagick" ,imagemagick) + ("tk" ,tk))) + (arguments + `(#:asd-file "ltk/ltk.asd" + #:tests? #f + #:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "ltk/ltk.lisp" + (("#-freebsd \"wish\"") + (string-append "#-freebsd \"" + (assoc-ref inputs "tk") + "/bin/wish\"")) + (("do-execute \"convert\"") + (string-append "do-execute \"" + (assoc-ref inputs "imagemagick") + "/bin/convert\""))) + #t))))) + (synopsis "Common Lisp bindings for the Tk GUI toolkit") + (description + "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written +in pure Common Lisp and does not require any Tk knowledge for its usage.") + (home-page "http://www.peter-herth.de/ltk/") + (license license:llgpl))) + +(define-public cl-ltk + (sbcl-package->cl-source-package sbcl-ltk)) + +(define-public ecl-ltk + (sbcl-package->ecl-package sbcl-ltk)) + +(define-public sbcl-ltk-mw + (package + (inherit sbcl-ltk) + (name "sbcl-ltk-mw") + (inputs + `(("ltk" ,sbcl-ltk))) + (arguments + (substitute-keyword-arguments (package-arguments sbcl-ltk) + ((#:asd-file _) "ltk/ltk-mw.asd") + ((#:phases _) '%standard-phases))) + (synopsis "Extra widgets for LTK") + (description + "This is a collection of higher-level widgets built on top of LTK."))) + +(define-public cl-ltk-mw + (sbcl-package->cl-source-package sbcl-ltk-mw)) + +(define-public ecl-ltk-mw + (sbcl-package->ecl-package sbcl-ltk-mw)) + +(define-public sbcl-ltk-remote + (package + (inherit sbcl-ltk) + (name "sbcl-ltk-remote") + (inputs + `(("ltk" ,sbcl-ltk))) + (arguments + (substitute-keyword-arguments (package-arguments sbcl-ltk) + ((#:asd-file _) "ltk/ltk-remote.asd") + ((#:phases _) '%standard-phases))) + (synopsis "Remote GUI support for LTK") + (description + "This LTK extension allows the GUI to be displayed on a computer different +from the one running the Lisp program by using a TCP connection."))) + +(define-public cl-ltk-remote + (sbcl-package->cl-source-package sbcl-ltk-remote)) + +(define-public sbcl-cl-lex + (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b") + (revision "1")) + (package + (name "sbcl-cl-lex") + (version (git-version "1.1.3" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/djr7C4/cl-lex.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("cl-ppcre" ,sbcl-cl-ppcre))) + (synopsis "Common Lisp macros for generating lexical analyzers") + (description + "This is a Common Lisp library providing a set of macros for generating +lexical analyzers automatically. The lexers generated using @code{cl-lex} can +be used with @code{cl-yacc}.") + (home-page "https://github.com/djr7C4/cl-lex") + (license license:gpl3)))) + +(define-public cl-lex + (sbcl-package->cl-source-package sbcl-cl-lex)) + +(define-public ecl-cl-lex + (sbcl-package->ecl-package sbcl-cl-lex)) + +(define-public sbcl-clunit2 + (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b") + (revision "1")) + (package + (name "sbcl-clunit2") + (version (git-version "0.2.4" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://notabug.org/cage/clunit2.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw")))) + (build-system asdf-build-system/sbcl) + (synopsis "Unit testing framework for Common Lisp") + (description + "CLUnit is a Common Lisp unit testing framework. It is designed to be +easy to use so that you can quickly start testing.") + (home-page "https://notabug.org/cage/clunit2") + (license license:expat)))) + +(define-public cl-clunit2 + (sbcl-package->cl-source-package sbcl-clunit2)) + +(define-public ecl-clunit2 + (sbcl-package->ecl-package sbcl-clunit2)) + +(define-public sbcl-cl-colors2 + (let ((commit "795aedee593b095fecde574bd999b520dd03ed24") + (revision "1")) + (package + (name "sbcl-cl-colors2") + (version (git-version "0.2.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://notabug.org/cage/cl-colors2.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih")))) + (build-system asdf-build-system/sbcl) + (native-inputs + `(("clunit2" ,sbcl-clunit2))) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("cl-ppcre" ,sbcl-cl-ppcre))) + (synopsis "Color library for Common Lisp") + (description + "This is a very simple color library for Common Lisp, providing: + +@itemize +@item Types for representing colors in HSV and RGB spaces. +@item Simple conversion functions between the above types (and also +hexadecimal representation for RGB). +@item Some predefined colors (currently X11 color names -- of course +the library does not depend on X11). +@end itemize\n") + (home-page "https://notabug.org/cage/cl-colors2") + (license license:boost1.0)))) + +(define-public cl-colors2 + (sbcl-package->cl-source-package sbcl-cl-colors2)) + +(define-public ecl-cl-colors2 + (sbcl-package->ecl-package sbcl-cl-colors2)) + +(define-public sbcl-cl-jpeg + (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af") + (revision "1")) + (package + (name "sbcl-cl-jpeg") + (version (git-version "2.8" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sharplispers/cl-jpeg.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy")))) + (build-system asdf-build-system/sbcl) + (synopsis "JPEG image library for Common Lisp") + (description + "This is a baseline JPEG codec written in Common Lisp. It can be used +for reading and writing JPEG image files.") + (home-page "https://github.com/sharplispers/cl-jpeg") + (license license:bsd-3)))) + +(define-public cl-jpeg + (sbcl-package->cl-source-package sbcl-cl-jpeg)) + +(define-public ecl-cl-jpeg + (sbcl-package->ecl-package sbcl-cl-jpeg)) + +(define-public sbcl-nodgui + (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212") + (revision "1")) + (package + (name "sbcl-nodgui") + (version (git-version "0.0.5" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://notabug.org/cage/nodgui.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("bordeaux-threads" ,sbcl-bordeaux-threads) + ("cl-colors2" ,sbcl-cl-colors2) + ("cl-jpeg" ,sbcl-cl-jpeg) + ("cl-lex" ,sbcl-cl-lex) + ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode) + ("cl-unicode" ,sbcl-cl-unicode) + ("cl-yacc" ,sbcl-cl-yacc) + ("clunit2" ,sbcl-clunit2) + ("named-readtables" ,sbcl-named-readtables) + ("parse-number" ,sbcl-parse-number) + ("tk" ,tk))) + (arguments + `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/wish-communication.lisp" + (("#-freebsd \"wish\"") + (string-append "#-freebsd \"" + (assoc-ref inputs "tk") + "/bin/wish\""))) + #t))))) + (synopsis "Common Lisp bindings for the Tk GUI toolkit") + (description + "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI +toolkit. It also provides a few additional widgets more than the standard Tk +ones.") + (home-page "https://www.autistici.org/interzona/nodgui.html") + (license license:llgpl)))) + +(define-public cl-nodgui + (sbcl-package->cl-source-package sbcl-nodgui)) + +(define-public ecl-nodgui + (sbcl-package->ecl-package sbcl-nodgui)) diff --git a/gnu/packages/lxqt.scm b/gnu/packages/lxqt.scm index b23d2e17dc..12c92e52d1 100644 --- a/gnu/packages/lxqt.scm +++ b/gnu/packages/lxqt.scm @@ -1386,5 +1386,5 @@ desktop.") ("qterminal" ,qterminal))) (synopsis "The Lightweight Qt Desktop Environment") (description "LXQt is a lightweight Qt desktop environment.") - (home-page "https://lxde.org") + (home-page "https://lxqt.org/") (license license:gpl2+))) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index d92a74efa8..5ff328a08c 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -206,6 +206,8 @@ classification.") (arguments `(#:imported-modules (,@%gnu-build-system-modules (guix build python-build-system)) + #:modules ((guix build python-build-system) + ,@%gnu-build-system-modules) #:phases (modify-phases %standard-phases (add-after 'unpack 'enter-dir diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 64f679e662..0538342977 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2014, 2015, 2017 Mark H Weaver ;;; Copyright © 2014 Ian Denhardt ;;; Copyright © 2014 Sou Bunnbu @@ -87,6 +87,7 @@ #:use-module (gnu packages libidn) #:use-module (gnu packages libunistring) #:use-module (gnu packages linux) + #:use-module (gnu packages lsof) #:use-module (gnu packages lua) #:use-module (gnu packages m4) #:use-module (gnu packages man) @@ -136,7 +137,9 @@ #:use-module (guix build-system guile) #:use-module (guix build-system perl) #:use-module (guix build-system python) - #:use-module (guix build-system trivial)) + #:use-module (guix build-system trivial) + #:use-module (srfi srfi-1) + #:use-module (ice-9 match)) (define-public mailutils (package @@ -151,7 +154,7 @@ "1wkn9ch664477r4d8jk9153w5msljsbj99907k7zgzpmywbs6ba7")))) (build-system gnu-build-system) (arguments - '(#:phases + `(#:phases (modify-phases %standard-phases (add-before 'check 'prepare-test-suite (lambda _ @@ -199,12 +202,18 @@ #t))) ;; TODO: Add `--with-sql'. - #:configure-flags (list "--sysconfdir=/etc" + #:configure-flags + (list "--sysconfdir=/etc" - ;; Add "/2.2" to the installation directory. - (string-append "--with-guile-site-dir=" - (assoc-ref %outputs "out") - "/share/guile/site/2.2")) + ;; Add "/X.Y" to the installation directory. + (string-append "--with-guile-site-dir=" + (assoc-ref %outputs "out") + "/share/guile/site/" + ,(match (assoc "guile" + (package-inputs this-package)) + (("guile" guile) + (version-major+minor + (package-version guile)))))) #:parallel-tests? #f)) (native-inputs @@ -237,6 +246,14 @@ software.") ;; Libraries are under LGPLv3+, and programs under GPLv3+. (list gpl3+ lgpl3+)))) +(define-public guile3.0-mailutils + (package + (inherit mailutils) + (name "guile3.0-mailutils") + (inputs + `(("guile" ,guile-3.0) + ,@(alist-delete "guile" (package-inputs mailutils)))))) + (define-public nullmailer (package (name "nullmailer") @@ -2284,80 +2301,14 @@ transfer protocols.") (define-public opensmtpd (package (name "opensmtpd") - (version "6.0.3p1") - (source (origin - (method url-fetch) - (uri (string-append "https://www.opensmtpd.org/archives/" - name "-" version ".tar.gz")) - (sha256 - (base32 - "10bsfsnlg9d9i6l2izdnxp05s3ri8fvwzqxvx1jmarc852382619")) - ;; Fixed upstream: . - (patches (search-patches "opensmtpd-fix-crash.patch")))) - (build-system gnu-build-system) - (inputs - `(("bdb" ,bdb) - ("libressl" ,libressl) - ("libevent" ,libevent) - ("libasr" ,libasr) - ("linux-pam" ,linux-pam) - ("zlib" ,zlib))) - (native-inputs - `(("bison" ,bison) - ("groff" ,groff))) - (arguments - `(#:configure-flags - (list "--with-table-db" "--with-auth-pam" "--localstatedir=/var" - "--with-user-smtpd=smtpd" "--with-user-queue=smtpq" - "--with-group-queue=smtpq" - "--with-path-socket=/var/run" ; not default (./configure lies) - "--with-path-CAfile=/etc/ssl/certs/ca-certificates.crt") - #:phases - (modify-phases %standard-phases - ;; Fix some incorrectly hard-coded external tool file names. - (add-after 'unpack 'patch-FHS-file-names - (lambda _ - (substitute* "smtpd/smtpctl.c" - (("/bin/cat") (which "cat")) - (("/bin/sh") (which "sh"))) - #t)) - ;; OpenSMTPD provides a single utility smtpctl to control the daemon and - ;; the local submission subsystem. To accomodate systems that require - ;; historical interfaces such as sendmail, newaliases or makemap, the - ;; smtpctl utility can operate in compatibility mode if called with the - ;; historical name. - (add-after 'install 'install-compability-links - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (sbin (string-append out "/sbin/"))) - (for-each (lambda (command) - (symlink "smtpctl" (string-append sbin command))) - '("makemap" "sendmail" "send-mail" - "newaliases" "mailq"))) - #t))))) - (synopsis "Lightweight SMTP daemon") - (description - "OpenSMTPD is an implementation of the server-side SMTP protocol, with -some additional standard extensions. It allows ordinary machines to exchange -e-mails with other systems speaking the SMTP protocol.") - (home-page "https://www.opensmtpd.org") - (license (list bsd-2 bsd-3 bsd-4 (non-copyleft "file://COPYING") - public-domain isc license:openssl)))) - -;; OpenSMTPd 6.4 introduced a new and incompatible configuration file format. -;; Use a different name, for now, to avoid auto-upgrades and broken mail boxes. -;; OPENSMTP-CONFIGURATION in (gnu services mail) will also need an overhaul. -(define-public opensmtpd-next - (package - (name "opensmtpd-next") - (version "6.6.1p1") + (version "6.6.2p1") (source (origin (method url-fetch) (uri (string-append "https://www.opensmtpd.org/archives/" "opensmtpd-" version ".tar.gz")) (sha256 - (base32 "1ngil8j13m2rq07g94j4yjr6zmaimzy8wbfr17shi7rxnazys6zb")))) + (base32 "16nz2n4s3djlasd6m6dqfwggf6igyfxzq5igny5i0qb8lnn13f33")))) (build-system gnu-build-system) (inputs `(("bdb" ,bdb) @@ -3120,11 +3071,11 @@ related tools to process winmail.dat files.") (license gpl2+))) (define-public public-inbox - (let ((commit "3cf66514aea9e958999973b9f104473b6d800fbe") + (let ((commit "05a06f3262a2ddbf46adb85169e13ce9127e4524") (revision "0")) (package (name "public-inbox") - (version (git-version "1.0.0" revision commit)) + (version (git-version "1.2.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -3132,7 +3083,7 @@ related tools to process winmail.dat files.") (commit commit))) (sha256 (base32 - "1sxycwlm2n6p544gn9f0vf3xs6gz8vdswdhs2ha6fka8mgabvmdh")) + "06cclxg46gsls3x19l9s8s9x8gkjghm6gd4jb1v9ng6fds6xi2fg")) (file-name (git-file-name name version)))) (build-system perl-build-system) (arguments @@ -3149,6 +3100,13 @@ related tools to process winmail.dat files.") (lambda _ (substitute* "t/spawn.t" (("\\['env'\\]") (string-append "['" (which "env") "']"))) + (substitute* "t/ds-leak.t" + (("/bin/sh") (which "sh"))) + (invoke "./certs/create-certs.perl") + ;; XXX: This test fails due to zombie process is not reaped by + ;; the builder. + (substitute* "t/httpd-unix.t" + (("^SKIP: \\{") "SKIP: { skip('Guix');")) #t)) (add-after 'install 'wrap-programs (lambda* (#:key inputs outputs #:allow-other-keys) @@ -3168,15 +3126,18 @@ related tools to process winmail.dat files.") #t))))) (native-inputs `(("git" ,git) - ("xapian" ,xapian))) + ("xapian" ,xapian) + ;; For testing. + ("lsof" ,lsof) + ("openssl" ,openssl))) (inputs - `(("perl-danga-socket" ,perl-danga-socket) - ("perl-dbd-sqlite" ,perl-dbd-sqlite) + `(("perl-dbd-sqlite" ,perl-dbd-sqlite) ("perl-dbi" ,perl-dbi) ("perl-email-address-xs" ,perl-email-address-xs) ("perl-email-mime-contenttype" ,perl-email-mime-contenttype) ("perl-email-mime" ,perl-email-mime) ("perl-email-simple" ,perl-email-simple) + ("perl-net-server" ,perl-net-server) ("perl-filesys-notify-simple" ,perl-filesys-notify-simple) ("perl-plack-middleware-deflater" ,perl-plack-middleware-deflater) ("perl-plack-middleware-reverseproxy" ,perl-plack-middleware-reverseproxy) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index dc68a6c83d..0ef5b3f91e 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013, 2014, 2015, 2016, 2019 Andreas Enge ;;; Copyright © 2013 Nikita Karetnikov ;;; Copyright © 2014, 2016, 2017 John Darrington -;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Eric Bavier +;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Eric Bavier ;;; Copyright © 2014 Federico Beffa ;;; Copyright © 2014 Mathieu Lirzin ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus @@ -2410,7 +2410,7 @@ easy-to-write markup language for mathematics.") (source (origin (method url-fetch) - (uri (string-append "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/" + (uri (string-append "https://portal.nersc.gov/project/sparse/superlu/" "superlu_" version ".tar.gz")) (sha256 (base32 "0qzlb7cd608q62kyppd0a8c65l03vrwqql6gsm465rky23b6dyr8")) @@ -2456,7 +2456,7 @@ void mc64ad_ (int *a, int *b, int *c, int *d, int *e, double *f, int *g, `(#:configure-flags '("-Denable_blaslib:BOOL=NO" ;do not use internal cblas "-DTPL_BLAS_LIBRARIES=openblas" "-DBUILD_SHARED_LIBS:BOOL=YES"))) - (home-page "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/") + (home-page "https://portal.nersc.gov/project/sparse/superlu/") (synopsis "Supernodal direct solver for sparse linear systems") (description "SuperLU is a general purpose library for the direct solution of large, @@ -2472,14 +2472,14 @@ also provides threshold-based ILU factorization preconditioners.") (define-public superlu-dist (package (name "superlu-dist") - (version "6.1.0") + (version "6.2.0") (source (origin (method url-fetch) - (uri (string-append "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/" + (uri (string-append "https://portal.nersc.gov/project/sparse/superlu/" "superlu_dist_" version ".tar.gz")) (sha256 - (base32 "0pqgcgh1yxhfzs99fas3mggajzd5wca3nbyp878rziy74gfk03dl")) + (base32 "1ynmwqajc9sc3my2hssa5k9s58ggvizqv9rdss0j7w99pbh5mnvw")) (modules '((guix build utils))) (snippet ;; Replace the non-free implementation of MC64 with a stub @@ -2505,8 +2505,7 @@ void mc64ad_dist (int *a, int *b, int *c, int *d, int *e, double *f, int *g, "RowPerm = NOROWPERM;")) #t)) (patches (search-patches "superlu-dist-scotchmetis.patch" - "superlu-dist-awpm-grid.patch" - "superlu-dist-fix-mpi-deprecations.patch")))) + "superlu-dist-awpm-grid.patch")))) (build-system cmake-build-system) (native-inputs `(("tcsh" ,tcsh))) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 323e32ae61..4576741b44 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -1949,9 +1949,9 @@ Telegram messenger.") (license license:gpl2+))) (define-public tdlib - (let ((commit "80c35676a2eb1e9b71db355ee217bba79fbdce31") - (revision "1") - (version "1.5.4")) + (let ((commit "278c7acdec83c5ac17d8e1ed0bb2cacbcea62460") + (revision "0") + (version "1.6.0")) (package (name "tdlib") (version (git-version version revision commit)) @@ -1962,7 +1962,7 @@ Telegram messenger.") (commit commit))) (sha256 (base32 - "09c0pygqirapgxxzcc3sr0x67qhz8cx2klznrbdyi0118r9s8a7a")) + "0zlzpl6fgszg18kwycyyyrnkm255dvc6fkq0b0y32m5wvwwl36cv")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (arguments diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm index 78f94bbe4b..1eb095ce50 100644 --- a/gnu/packages/monitoring.scm +++ b/gnu/packages/monitoring.scm @@ -401,28 +401,26 @@ WSGI and the node exporter textfile collector.") (package-with-python2 python-prometheus-client)) (define-public go-github-com-prometheus-node-exporter - (let ((commit "55c32fcf02492fe4946f7ab563547cc5df7fc61e") - (revision "0")) - (package - (name "go-github-com-prometheus-node-exporter") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/prometheus/node_exporter.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "041b87a0sid23c29swqmi5hw6cxbxvkfj3415jg73cm2pi8wh5s6")))) - (build-system go-build-system) - (arguments - '(#:import-path "github.com/prometheus/node_exporter")) - (synopsis "Prometheus exporter for hardware and OS metrics") - (description "Prometheus exporter for metrics exposed by *NIX kernels, + (package + (name "go-github-com-prometheus-node-exporter") + (version "0.18.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/prometheus/node_exporter.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0s3sp1gj86p7npxl38hkgs6ymd3wjjmc5hydyg1b5wh0x3yvpx07")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/prometheus/node_exporter")) + (synopsis "Prometheus exporter for hardware and OS metrics") + (description "Prometheus exporter for metrics exposed by *NIX kernels, written in Go with pluggable metric collectors.") - (home-page "https://github.com/prometheus/node_exporter") - (license license:asl2.0)))) + (home-page "https://github.com/prometheus/node_exporter") + (license license:asl2.0))) (define-public fswatch (package diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 4a4d870ac5..1fb78c091f 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2016 Alex Griffin ;;; Copyright © 2017 ng0 ;;; Copyright © 2017 Rodger Fox -;;; Copyright © 2017, 2018, 2019 Nicolas Goaziou +;;; Copyright © 2017, 2018, 2019, 2020 Nicolas Goaziou ;;; Copyright © 2017, 2018, 2019 Pierre Langlois ;;; Copyright © 2017 Arun Isaac ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice @@ -24,7 +24,7 @@ ;;; Copyright © 2019 Jakob L. Kreuze ;;; Copyright © 2019 raingloom ;;; Copyright © 2019 David Wilson -;;; Copyright © 2019 Alexandros Theodotou +;;; Copyright © 2019, 2020 Alexandros Theodotou ;;; ;;; This file is part of GNU Guix. ;;; @@ -1749,58 +1749,84 @@ is subjective.") #:tests? #f ; no tests #:phases (modify-phases %standard-phases - (add-after 'unpack 'enter-dir - (lambda _ (chdir "TuxGuitar-lib") #t)) - (add-after 'build 'build-libraries + (replace 'build (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((initial-classpath (getenv "CLASSPATH")) (build-dir (lambda (dir) - (chdir "..") - (setenv "CLASSPATH" - (string-join (cons initial-classpath - (find-files (getcwd) "\\.jar$")) - ":")) - (chdir dir) - (if (file-exists? "build.xml") - ((assoc-ref %standard-phases 'build) - #:build-target "build") - (begin - ;; Generate default build.xml. - ((@@ (guix build ant-build-system) default-build.xml) - (string-append (string-downcase dir) ".jar") - (string-append (assoc-ref outputs "out") - "/share/java")) - ((assoc-ref %standard-phases 'build))))))) - (map build-dir '("TuxGuitar-editor-utils" + (setenv + "CLASSPATH" + (string-join (cons initial-classpath + (find-files (getcwd) "\\.jar$")) + ":")) + (with-directory-excursion dir + (if (file-exists? "build.xml") + ((assoc-ref %standard-phases 'build) + #:build-target "build") + (begin + ;; Generate default build.xml. + ((@@ (guix build ant-build-system) + default-build.xml) + (string-append (string-downcase dir) ".jar") + (string-append (assoc-ref outputs "out") + "/share/java")) + ((assoc-ref %standard-phases 'build)))))))) + (map build-dir '("TuxGuitar-lib" + "TuxGuitar-editor-utils" "TuxGuitar-ui-toolkit" "TuxGuitar-ui-toolkit-swt" - "TuxGuitar-awt-graphics"))))) - (add-after 'build-libraries 'build-application + "TuxGuitar-viewer" + "TuxGuitar" + "TuxGuitar-gm-utils" + "TuxGuitar-alsa" + "TuxGuitar-midi" + "TuxGuitar-midi-ui")) + #t))) + (add-after 'build 'build-jni (lambda _ - (chdir "../TuxGuitar") - ((assoc-ref %standard-phases 'build) - #:build-target "build"))) + (setenv "CC" "gcc") + (setenv "CFLAGS" (string-append + "-fpic -I" + (getcwd) + "/build-scripts/native-modules/common-include")) + (invoke "make" "-C" "./TuxGuitar-alsa/jni" "-f" "GNUmakefile"))) (replace 'install (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin")) (share (string-append out "/share")) + (jni-lib (string-append out "/lib")) (lib (string-append share "/java")) - (swt (assoc-ref inputs "java-swt"))) + (swt (assoc-ref inputs "java-swt")) + (mime (string-append share "/mime/packages")) + (app (string-append share "/applications")) + (man (string-append share "/man/man1"))) + (mkdir-p bin) ;; Install all jars. (for-each (lambda (file) (install-file file lib)) - (find-files ".." "\\.jar$")) + (find-files "." "\\.jar$")) + + ;; Install jni libraries + (for-each (lambda (file) + (install-file file jni-lib)) + (find-files "." "\\-jni.so$")) ;; Install all resources. - (copy-recursively "share" share) + (copy-recursively "./TuxGuitar/share" share) + + ;; Install desktop and mime files + (install-file "./misc/tuxguitar.xml" mime) + (install-file "./misc/tuxguitar.desktop" app) + + ;; Install manaual + (install-file "./misc/tuxguitar.1" man) ;; Create wrapper. (call-with-output-file (string-append bin "/tuxguitar") (lambda (port) - (let ((classpath (string-join (append (find-files lib "\\.jar$") - (find-files swt "\\.jar$")) + (let ((classpath (string-join (append (find-files lib "\\.jar$") + (find-files swt "\\.jar$")) ":"))) (format port @@ -1810,12 +1836,14 @@ is subjective.") " -Dtuxguitar.home.path=" out " -Dtuxguitar.share.path=" out "/share" " -Dswt.library.path=" swt "/lib" + " -Djava.library.path=" out "/lib" " org.herac.tuxguitar.app.TGMainSingleton" " \"$1\" \"$2\""))))) (chmod (string-append bin "/tuxguitar") #o555) #t)))))) (inputs - `(("java-swt" ,java-swt))) + `(("alsa-lib" ,alsa-lib) + ("java-swt" ,java-swt))) (home-page "http://tuxguitar.com.ar/") (synopsis "Multitrack tablature editor and player") (description @@ -3850,34 +3878,30 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke (define-public musescore (package (name "musescore") - (version "3.3.4") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/musescore/MuseScore.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1jwj89v69nhyawj8x7niwznm1vgvp51dhzw6ggnarc3wdvp6qq8y")) - (modules '((guix build utils))) - (snippet - ;; Un-bundle OpenSSL and remove unused libraries. - '(begin - (substitute* "thirdparty/kQOAuth/CMakeLists.txt" - (("-I \\$\\{PROJECT_SOURCE_DIR\\}/thirdparty/openssl/include ") - "")) - (substitute* "thirdparty/kQOAuth/kqoauthutils.cpp" - (("#include ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2016 John Darrington -;;; Copyright © 2016, 2017, 2018, 2019 Nicolas Goaziou +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Nicolas Goaziou ;;; Copyright © 2016 Eric Bavier ;;; Copyright © 2016, 2017 ng0 ;;; Copyright © 2016, 2017, 2018 Arun Isaac @@ -559,14 +559,14 @@ and up to 1 Mbit/s downstream.") (define-public whois (package (name "whois") - (version "5.5.4") + (version "5.5.5") (source (origin (method url-fetch) (uri (string-append "mirror://debian/pool/main/w/whois/" "whois_" version ".tar.xz")) (sha256 - (base32 "0k97aiz7ngkjz3vhzvk27kqhnmqmkskdfx310c94qnh8fd7hiqfi")))) + (base32 "03akwma24gzfnsmwpjxmkzmcaxzg6fc68hmyaz0xmsl28i28l3n3")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no test suite @@ -601,14 +601,14 @@ of the same name.") (define-public wireshark (package (name "wireshark") - (version "3.2.0") + (version "3.2.1") (source (origin (method url-fetch) (uri (string-append "https://www.wireshark.org/download/src/wireshark-" version ".tar.xz")) (sha256 - (base32 "0v5nn7i2nbqr59jsw8cs2052hr7xd96x1sa3480g8ks5kahk7zac")))) + (base32 "0nz84zyhs4177ljxmv34vgc9kgg7ssxhxa4mssxqwh6nb00697sq")))) (build-system cmake-build-system) (arguments `(#:phases diff --git a/gnu/packages/nutrition.scm b/gnu/packages/nutrition.scm index bae166de3f..f936c2651b 100644 --- a/gnu/packages/nutrition.scm +++ b/gnu/packages/nutrition.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014 Eric Bavier ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2020 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,7 +22,7 @@ (define-module (gnu packages nutrition) #:use-module (guix packages) #:use-module (guix licenses) - #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages databases) @@ -38,13 +39,14 @@ (version "0.17.4") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/thinkle/gourmet/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/thinkle/gourmet") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1qvz175arzqm10lpfx8ffadrgirs3240zzqcp0h7sl53qfwx7v8k")))) + "09a2zk140l4babwdj8pwcgl9v7rvwff9cn7h3ppfhm3yvsgkrx07")))) (build-system python-build-system) (native-inputs `(("distutils-extra" ,python2-distutils-extra) @@ -64,9 +66,9 @@ #:phases (modify-phases %standard-phases (replace 'install - (lambda* (#:key make-flags #:allow-other-keys) + (lambda* (#:key outputs #:allow-other-keys) (invoke "python" "setup.py" "install" "--prefix" - (assoc-ref %outputs "out"))))))) + (assoc-ref outputs "out"))))))) (home-page "https://thinkle.github.io/gourmet/") (synopsis "Recipe organizer") (description diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 098c116cf3..32b03359d8 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -228,12 +228,12 @@ functional, imperative and object-oriented styles of programming.") "--prefix" out "--mandir" mandir)))))))))) -(define-public ocaml ocaml-4.07) +(define-public ocaml ocaml-4.09) (define-public ocamlbuild (package (name "ocamlbuild") - (version "0.13.1") + (version "0.14.0") (source (origin (method git-fetch) @@ -242,31 +242,22 @@ functional, imperative and object-oriented styles of programming.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0v37vjvdqw35yvj8ipmlzmwf1jhip0hbsmcbdcn9cnj12p3mr6k7")))) - (build-system gnu-build-system) + (base32 "1hb5mcdz4wv7sh1pj7dq9q4fgz5h3zg7frpiya6s8zd3ypwzq0kh")))) + (build-system ocaml-build-system) (arguments - `(#:test-target "test" - #:tests? #f; tests require findlib - #:make-flags + `(#:make-flags (list (string-append "OCAMLBUILD_PREFIX=" (assoc-ref %outputs "out")) (string-append "OCAMLBUILD_BINDIR=" (assoc-ref %outputs "out") - "/bin") + "/bin") (string-append "OCAMLBUILD_LIBDIR=" (assoc-ref %outputs "out") - "/lib/ocaml/site-lib") + "/lib/ocaml/site-lib") (string-append "OCAMLBUILD_MANDIR=" (assoc-ref %outputs "out") - "/share/man")) + "/share/man")) #:phases (modify-phases %standard-phases - (delete 'bootstrap) - (delete 'configure) - (add-before 'build 'findlib-environment - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out"))) - (setenv "OCAMLFIND_DESTDIR" (string-append out "/lib/ocaml/site-lib")) - (setenv "OCAMLFIND_LDCONF" "ignore") - #t)))))) - (native-inputs - `(("ocaml" ,ocaml))) + (delete 'configure)) + ; some failures because of changes in OCaml's error message formating + #:tests? #f)) (home-page "https://github.com/ocaml/ocamlbuild") (synopsis "OCaml build tool") (description "OCamlbuild is a generic build tool, that has built-in rules @@ -820,6 +811,7 @@ Knuth’s LR(1) parser construction technique.") (substitute* "config.make" ((ocaml) out)) #t)))))) + (properties `((ocaml4.07-variant . ,(delay ocaml4.07-lablgtk)))) (home-page "http://lablgtk.forge.ocamlcore.org/") (synopsis "GTK+ bindings for OCaml") (description @@ -833,6 +825,16 @@ libglade (and it an generate OCaml code from .glade files), libpanel, librsvg and quartz.") (license license:lgpl2.1))) +(define-public ocaml4.07-lablgtk + (package + (inherit lablgtk) + (name "ocaml4.07-lablgtk") + (native-inputs + `(("ocaml" ,ocaml-4.07) + ("findlib" ,ocaml4.07-findlib) + ("pkg-config" ,pkg-config))) + (properties '()))) + (define-public unison (package (name "unison") @@ -850,7 +852,7 @@ libpanel, librsvg and quartz.") (outputs '("out" "doc")) ; 1.9 MiB of documentation (native-inputs - `(("ocaml" ,ocaml) + `(("ocaml" ,ocaml-4.07) ;; For documentation ("ghostscript" ,ghostscript) ("texlive" ,texlive-tiny) @@ -1269,6 +1271,9 @@ release of Jane Street packages. It reads metadata from @file{dune} files following a very simple s-expression syntax.") (license license:expat))) +(define-public ocaml4.07-dune + (package-with-ocaml4.07 dune)) + (define-public ocaml-migrate-parsetree (package (name "ocaml-migrate-parsetree") @@ -1439,9 +1444,9 @@ to operate on the result type available from OCaml 4.03 in the standard library.") (license license:isc))) -(define-public ocaml-sqlite3 +(define-public ocaml4.07-sqlite3 (package - (name "ocaml-sqlite3") + (name "ocaml4.07-sqlite3") (version "4.4.1") (source (origin @@ -1454,9 +1459,12 @@ library.") (base32 "1536agm5fgcqysszhpd3kmw7lkc5n5ni7gmlyglrbvmnmrwf3av2")))) (build-system dune-build-system) + (arguments + `(#:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (native-inputs - `(("ocaml-base" ,ocaml-base) - ("ocaml-stdio" ,ocaml-stdio) + `(("ocaml-base" ,ocaml4.07-base) + ("ocaml-stdio" ,ocaml4.07-stdio) ("pkg-config" ,pkg-config))) (inputs `(("sqlite" ,sqlite))) @@ -1666,9 +1674,9 @@ displayed at the end of the run (with the full logs ready to inspect), with a simple (yet expressive) query language to select the tests to run.") (license license:isc))) -(define-public ocaml-ppx-tools +(define-public ocaml4.07-ppx-tools (package - (name "ocaml-ppx-tools") + (name "ocaml4.07-ppx-tools") (version "5.1+4.06.0") (source (origin @@ -1682,7 +1690,9 @@ simple (yet expressive) query language to select the tests to run.") (build-system ocaml-build-system) (arguments `(#:phases (modify-phases %standard-phases (delete 'configure)) - #:tests? #f)) + #:tests? #f + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (properties `((upstream-name . "ppx_tools"))) (home-page "https://github.com/alainfrisch/ppx_tools") (synopsis "Tools for authors of ppx rewriters and other syntactic tools") @@ -1765,7 +1775,7 @@ through Transport Layer Security (@dfn{TLS}) encrypted connections.") (synopsis "File mapping for OCaml") (description "This project provides a @command{Mmap.map_file} function for mapping files in memory. This function is the same as the -@command{Unix.map_file} funciton added in OCaml >= 4.06.") +@command{Unix.map_file} function added in OCaml >= 4.06.") (license (list license:qpl license:lgpl2.0)))) (define-public ocaml-lwt @@ -1774,12 +1784,13 @@ for mapping files in memory. This function is the same as the (version "5.1.1") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/ocsigen/lwt/archive/" version - ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/ocsigen/lwt") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "0gwdmhn0qx03agc45dplj73ia5y1gb42aan64ywfxmll3lsnr2h7")))) + "1nl7rdnwfdhwcsm5zpay1nr9y5cbapd9x1qzily7zk9ab4v52m8g")))) (build-system dune-build-system) (arguments `(#:package "lwt")) @@ -1982,9 +1993,9 @@ format. It can process XML documents without a complete in-memory representation of the data.") (license license:isc))) -(define-public ocaml-gen +(define-public ocaml4.07-gen (package - (name "ocaml-gen") + (name "ocaml4.07-gen") (version "0.5.2") (source (origin (method git-fetch) @@ -1998,21 +2009,23 @@ representation of the data.") (build-system dune-build-system) (arguments `(#:tests? #f; no tests - #:package "gen")) + #:package "gen" + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (propagated-inputs - `(("ocaml-odoc" ,ocaml-odoc))) + `(("ocaml-odoc" ,ocaml4.07-odoc))) (native-inputs - `(("ocaml-qtest" ,ocaml-qtest) - ("ocaml-qcheck" ,ocaml-qcheck))) + `(("ocaml-qtest" ,(package-with-ocaml4.07 ocaml-qtest)) + ("ocaml-qcheck" ,(package-with-ocaml4.07 ocaml-qcheck)))) (home-page "https://github.com/c-cube/gen/") (synopsis "Iterators for OCaml, both restartable and consumable") (description "Gen implements iterators of OCaml, that are both restartable and consumable.") (license license:bsd-2))) -(define-public ocaml-sedlex +(define-public ocaml4.07-sedlex (package - (name "ocaml-sedlex") + (name "ocaml4.07-sedlex") (version "2.1") (source (origin (method git-fetch) @@ -2041,13 +2054,16 @@ and consumable.") (add-before 'build 'chmod (lambda _ (for-each (lambda (file) (chmod file #o644)) (find-files "." ".*")) - #t))))) + #t))) + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (native-inputs - `(("ocamlbuild" ,ocamlbuild))) + `(("ocamlbuild" ,(package-with-ocaml4.07 ocamlbuild)))) (propagated-inputs - `(("ocaml-gen" ,ocaml-gen) - ("ocaml-ppx-tools-versioned" ,ocaml-ppx-tools-versioned) - ("ocaml-uchar" ,ocaml-uchar))) + `(("ocaml-gen" ,ocaml4.07-gen) + ("ocaml-ppx-tools-versioned" + ,(package-with-ocaml4.07 ocaml-ppx-tools-versioned)) + ("ocaml-uchar" ,(package-with-ocaml4.07 ocaml-uchar)))) ;; These three files are needed by src/generator/data/dune, but would be ;; downloaded using curl at build time. (inputs @@ -2353,9 +2369,9 @@ every compliant installation of OCaml and organize these libraries into a hierarchy of modules.") (license license:lgpl2.1+))) -(define-public ocaml-pcre +(define-public ocaml4.07-pcre (package - (name "ocaml-pcre") + (name "ocaml4.07-pcre") (version "7.4.1") (source (origin (method git-fetch) @@ -2368,9 +2384,12 @@ hierarchy of modules.") "11sd8g668h48790lamz0riw9jgnfkaif5qdfa0akcndwa6aj07jf")))) (build-system dune-build-system) (arguments - `(#:test-target ".")) + `(#:test-target "." + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (native-inputs - `(("ocaml-base" ,ocaml-base) + `(("ocaml-base" ,ocaml4.07-base) ("pcre:bin" ,pcre "bin"))) (propagated-inputs `(("pcre" ,pcre))) (home-page "https://mmottl.github.io/pcre-ocaml") @@ -2380,9 +2399,9 @@ matching and substitution, similar to the functionality offered by the Perl language.") (license license:lgpl2.1+))); with the OCaml link exception -(define-public ocaml-expect +(define-public ocaml4.07-expect (package - (name "ocaml-expect") + (name "ocaml4.07-expect") (version "0.0.6") (source (origin (method url-fetch) @@ -2391,14 +2410,17 @@ language.") (base32 "098qvg9d4yrqzr5ax291y3whrpax0m3sx4gi6is0mblc96r9yqk0")))) (arguments - `(#:tests? #f)) + `(#:tests? #f + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (build-system ocaml-build-system) (native-inputs - `(("ocamlbuild" ,ocamlbuild) - ("ocaml-num" ,ocaml-num) - ("ocaml-pcre" ,ocaml-pcre) - ("ounit" ,ocaml-ounit))) - (propagated-inputs `(("batteries" ,ocaml-batteries))) + `(("ocamlbuild" ,(package-with-ocaml4.07 ocamlbuild)) + ("ocaml-num" ,(package-with-ocaml4.07 ocaml-num)) + ("ocaml-pcre" ,ocaml4.07-pcre) + ("ounit" ,(package-with-ocaml4.07 ocaml-ounit)))) + (propagated-inputs + `(("batteries" ,(package-with-ocaml4.07 ocaml-batteries)))) (home-page "https://forge.ocamlcore.org/projects/ocaml-expect/") (synopsis "Simple implementation of expect") (description "Help building unitary testing of interactive program. You @@ -2637,13 +2659,14 @@ standard iterator type starting from 4.07.") (name "ocaml-ocplib-endian") (version "1.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/OCamlPro/ocplib-endian/" - "archive/" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/OCamlPro/ocplib-endian/") + (commit version))) (sha256 (base32 - "0hwj09rnzjs0m0kazz5h2mgs6p95j0zlga8cda5srnzqmzhniwkn")) - (file-name (string-append name "-" version ".tar.gz")))) + "0s1ld3kavz892b8awyxyg1mr98h2g61gy9ci5v6yb49bsii6wicw")) + (file-name (git-file-name name version)))) (build-system ocaml-build-system) (native-inputs `(("cppo" ,ocaml-cppo) @@ -2707,9 +2730,9 @@ writing to these structures, and they are accessed via the Bigarray module.") (description "Hex is a minimal library providing hexadecimal converters.") (license license:isc))) -(define-public ocaml-ezjsonm +(define-public ocaml4.07-ezjsonm (package - (name "ocaml-ezjsonm") + (name "ocaml4.07-ezjsonm") (version "1.1.0") (source (origin @@ -2723,13 +2746,15 @@ writing to these structures, and they are accessed via the Bigarray module.") (build-system dune-build-system) (arguments `(#:package "ezjsonm" - #:test-target ".")) + #:test-target "." + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (native-inputs - `(("ocaml-alcotest" ,ocaml-alcotest))) + `(("ocaml-alcotest" ,(package-with-ocaml4.07 ocaml-alcotest)))) (propagated-inputs - `(("ocaml-hex" ,ocaml-hex) - ("ocaml-jsonm" ,ocaml-jsonm) - ("ocaml-sexplib" ,ocaml-sexplib))) + `(("ocaml-hex" ,(package-with-ocaml4.07 ocaml-hex)) + ("ocaml-jsonm" ,(package-with-ocaml4.07 ocaml-jsonm)) + ("ocaml-sexplib" ,ocaml4.07-sexplib))) (home-page "https://github.com/mirage/ezjsonm/") (synopsis "Read and write JSON data") (description "Ezjsonm provides more convenient (but far less flexible) input @@ -2738,9 +2763,9 @@ the need to write signal code, which is useful for quick scripts that manipulate JSON.") (license license:isc))) -(define-public ocaml-uri +(define-public ocaml4.07-uri (package - (name "ocaml-uri") + (name "ocaml4.07-uri") (version "2.2.0") (source (origin @@ -2759,14 +2784,16 @@ JSON.") (add-before 'build 'update-deprecated (lambda _ (substitute* "lib/uri.ml" - (("Re.get") "Re.Group.get"))))))) + (("Re.get") "Re.Group.get"))))) + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (native-inputs - `(("ocaml-ounit" ,ocaml-ounit) - ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv))) + `(("ocaml-ounit" ,(package-with-ocaml4.07 ocaml-ounit)) + ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv))) (propagated-inputs - `(("ocaml-re" ,ocaml-re) - ("ocaml-sexplib0" ,ocaml-sexplib0) - ("ocaml-stringext" ,ocaml-stringext))) + `(("ocaml-re" ,(package-with-ocaml4.07 ocaml-re)) + ("ocaml-sexplib0" ,ocaml4.07-sexplib0) + ("ocaml-stringext" ,(package-with-ocaml4.07 ocaml-stringext)))) (home-page "https://github.com/mirage/ocaml-uri") (synopsis "RFC3986 URI/URL parsing library") (description "OCaml-uri is a library for parsing URI/URL in the RFC3986 format.") @@ -2803,9 +2830,9 @@ JSON.") Format module of the OCaml standard library.") (license license:bsd-3))) -(define-public ocaml-piqilib +(define-public ocaml4.07-piqilib (package - (name "ocaml-piqilib") + (name "ocaml4.07-piqilib") (version "0.6.15") (source (origin @@ -2849,14 +2876,16 @@ Format module of the OCaml standard library.") (mkdir-p stubs) (symlink (string-append lib "/dllpiqilib_stubs.so") (string-append stubs "/dllpiqilib_stubs.so")) - #t)))))) + #t)))) + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (native-inputs `(("which" ,which))) (propagated-inputs - `(("ocaml-xmlm" ,ocaml-xmlm) - ("ocaml-sedlex" ,ocaml-sedlex) - ("ocaml-easy-format" ,ocaml-easy-format) - ("ocaml-base64" ,ocaml-base64))) + `(("ocaml-xmlm" ,(package-with-ocaml4.07 ocaml-xmlm)) + ("ocaml-sedlex" ,ocaml4.07-sedlex) + ("ocaml-easy-format" ,(package-with-ocaml4.07 ocaml-easy-format)) + ("ocaml-base64" ,(package-with-ocaml4.07 ocaml-base64)))) (home-page "http://piqi.org") (synopsis "Data serialization and conversion library") (description "Piqilib is the common library used by the piqi command-line @@ -2922,9 +2951,9 @@ and 4 (random based) according to RFC 4122.") (description "OCamlgraph is a generic graph library for OCaml.") (license license:lgpl2.1))) -(define-public ocaml-piqi +(define-public ocaml4.07-piqi (package - (name "ocaml-piqi") + (name "ocaml4.07-piqi") (version "0.7.7") (source (origin (method url-fetch) @@ -2942,14 +2971,16 @@ and 4 (random based) according to RFC 4122.") "/bin/sh")) #:phases (modify-phases %standard-phases - (delete 'configure)))) + (delete 'configure)) + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (native-inputs `(("which" ,which) ("protobuf" ,protobuf))) ; for tests (propagated-inputs - `(("ocaml-num" ,ocaml-num) - ("ocaml-piqilib" ,ocaml-piqilib) - ("ocaml-stdlib-shims" ,ocaml-stdlib-shims))) + `(("ocaml-num" ,(package-with-ocaml4.07 ocaml-num)) + ("ocaml-piqilib" ,ocaml4.07-piqilib) + ("ocaml-stdlib-shims" ,(package-with-ocaml4.07 ocaml-stdlib-shims)))) (home-page "https://github.com/alavrik/piqi-ocaml") (synopsis "Protocol serialization system for OCaml") (description "Piqi is a multi-format data serialization system for OCaml. @@ -2973,24 +3004,24 @@ XML and Protocol Buffers formats.") "0ryf2xb37pj2f9mc3p5prqgqrylph9qgq7q9jnbx8b03nzzpa6h6")))) (build-system ocaml-build-system) (native-inputs - `(("ocaml-oasis" ,ocaml-oasis) + `(("ocaml-oasis" ,(package-with-ocaml4.07 ocaml-oasis)) ("clang" ,clang-3.8) - ("ocaml-ounit" ,ocaml-ounit))) + ("ocaml-ounit" ,(package-with-ocaml4.07 ocaml-ounit)))) (propagated-inputs - `(("camlzip" ,camlzip) - ("ocaml-bitstring" ,ocaml-bitstring) - ("ocaml-cmdliner" ,ocaml-cmdliner) - ("ocaml-core-kernel" ,ocaml-core-kernel) - ("ocaml-ezjsonm" ,ocaml-ezjsonm) - ("ocaml-fileutils" ,ocaml-fileutils) - ("ocaml-frontc" ,ocaml-frontc) - ("ocaml-graph" ,ocaml-graph) - ("ocaml-ocurl" ,ocaml-ocurl) - ("ocaml-piqi" ,ocaml-piqi) - ("ocaml-ppx-jane" ,ocaml-ppx-jane) - ("ocaml-uuidm" ,ocaml-uuidm) - ("ocaml-uri" ,ocaml-uri) - ("ocaml-zarith" ,ocaml-zarith))) + `(("camlzip" ,(package-with-ocaml4.07 camlzip)) + ("ocaml-bitstring" ,(package-with-ocaml4.07 ocaml-bitstring)) + ("ocaml-cmdliner" ,(package-with-ocaml4.07 ocaml-cmdliner)) + ("ocaml-core-kernel" ,ocaml4.07-core-kernel) + ("ocaml-ezjsonm" ,ocaml4.07-ezjsonm) + ("ocaml-fileutils" ,(package-with-ocaml4.07 ocaml-fileutils)) + ("ocaml-frontc" ,(package-with-ocaml4.07 ocaml-frontc)) + ("ocaml-graph" ,(package-with-ocaml4.07 ocaml-graph)) + ("ocaml-ocurl" ,(package-with-ocaml4.07 ocaml-ocurl)) + ("ocaml-piqi" ,ocaml4.07-piqi) + ("ocaml-ppx-jane" ,ocaml4.07-ppx-jane) + ("ocaml-uuidm" ,(package-with-ocaml4.07 ocaml-uuidm)) + ("ocaml-uri" ,ocaml4.07-uri) + ("ocaml-zarith" ,(package-with-ocaml4.07 ocaml-zarith)))) (inputs `(("llvm" ,llvm-3.8) ("gmp" ,gmp))) @@ -3014,7 +3045,9 @@ XML and Protocol Buffers formats.") "/lib/ocaml/site-lib") "--with-llvm-version=3.8" "--with-llvm-config=llvm-config" - "--enable-everything")))))) + "--enable-everything")))) + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (synopsis "Binary Analysis Platform") (description "Binary Analysis Platform is a framework for writing program analysis tools, that target binary files. The framework consists of a plethora @@ -3054,9 +3087,9 @@ library is currently designed for Unicode Standard 3.2.") ;; with an exception for linked libraries to use a different license (license license:lgpl2.0+))) -(define-public ocaml-charinfo-width +(define-public ocaml4.07-charinfo-width (package - (name "ocaml-charinfo-width") + (name "ocaml4.07-charinfo-width") (version "1.1.0") (source (origin (method url-fetch) @@ -3067,11 +3100,14 @@ library is currently designed for Unicode Standard 3.2.") (base32 "00bv4p1yqs8y0z4z07wd9w9yyv669dikp9b04dcjbwpiy2wy0086")))) (build-system dune-build-system) + (arguments + `(#:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (propagated-inputs - `(("ocaml-result" ,ocaml-result) - ("ocaml-camomile" ,ocaml-camomile))) + `(("ocaml-result" ,(package-with-ocaml4.07 ocaml-result)) + ("ocaml-camomile" ,(package-with-ocaml4.07 ocaml-camomile)))) (native-inputs - `(("ocaml-ppx-expect" ,ocaml-ppx-expect))) + `(("ocaml-ppx-expect" ,ocaml4.07-ppx-expect))) (properties `((upstream-name . "charInfo_width"))) (home-page "https://bitbucket.org/zandoye/charinfo_width/") @@ -3080,9 +3116,9 @@ library is currently designed for Unicode Standard 3.2.") function that follows the prototype of POSIX's wcwidth.") (license license:expat))) -(define-public ocaml-zed +(define-public ocaml4.07-zed (package - (name "ocaml-zed") + (name "ocaml4.07-zed") (version "2.0.3") (source (origin @@ -3096,11 +3132,13 @@ function that follows the prototype of POSIX's wcwidth.") (build-system dune-build-system) (arguments `(#:jbuild? #t - #:test-target ".")) + #:test-target "." + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (propagated-inputs - `(("ocaml-camomile" ,ocaml-camomile) - ("ocaml-charinfo-width" ,ocaml-charinfo-width) - ("ocaml-react" ,ocaml-react))) + `(("ocaml-camomile" ,(package-with-ocaml4.07 ocaml-camomile)) + ("ocaml-charinfo-width" ,ocaml4.07-charinfo-width) + ("ocaml-react" ,(package-with-ocaml4.07 ocaml-react)))) (home-page "https://github.com/diml/zed") (synopsis "Abstract engine for text editing in OCaml") (description "Zed is an abstract engine for text edition. It can be used @@ -3108,9 +3146,9 @@ to write text editors, edition widgets, readlines, etc. You just have to connect an engine to your inputs and rendering functions to get an editor.") (license license:bsd-3))) -(define-public ocaml-lambda-term +(define-public ocaml4.07-lambda-term (package - (name "ocaml-lambda-term") + (name "ocaml4.07-lambda-term") (version "2.0.2") (source (origin @@ -3124,12 +3162,14 @@ connect an engine to your inputs and rendering functions to get an editor.") (build-system dune-build-system) (arguments `(#:build-flags (list "--profile" "release") - #:tests? #f)) + #:tests? #f + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (propagated-inputs - `(("ocaml-lwt" ,ocaml-lwt) - ("ocaml-lwt-log" ,ocaml-lwt-log) - ("ocaml-lwt-react" ,ocaml-lwt-react) - ("ocaml-zed" ,ocaml-zed))) + `(("ocaml-lwt" ,(package-with-ocaml4.07 ocaml-lwt)) + ("ocaml-lwt-log" ,(package-with-ocaml4.07 ocaml-lwt-log)) + ("ocaml-lwt-react" ,(package-with-ocaml4.07 ocaml-lwt-react)) + ("ocaml-zed" ,ocaml4.07-zed))) (inputs `(("libev" ,libev))) (home-page "https://github.com/diml/lambda-term") @@ -3142,9 +3182,9 @@ manipulation than, for example, ncurses, by providing a native OCaml interface instead of bindings to a C library.") (license license:bsd-3))) -(define-public ocaml-utop +(define-public ocaml4.07-utop (package - (name "ocaml-utop") + (name "ocaml4.07-utop") (version "2.4.3") (source (origin @@ -3158,15 +3198,17 @@ instead of bindings to a C library.") (build-system dune-build-system) (arguments `(#:jbuild? #t - #:test-target ".")) + #:test-target "." + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (native-inputs - `(("cppo" ,ocaml-cppo))) + `(("cppo" ,(package-with-ocaml4.07 ocaml-cppo)))) (propagated-inputs - `(("lambda-term" ,ocaml-lambda-term) - ("lwt" ,ocaml-lwt) - ("react" ,ocaml-react) - ("camomile" ,ocaml-camomile) - ("zed" ,ocaml-zed))) + `(("lambda-term" ,ocaml4.07-lambda-term) + ("lwt" ,(package-with-ocaml4.07 ocaml-lwt)) + ("react" ,(package-with-ocaml4.07 ocaml-react)) + ("camomile" ,(package-with-ocaml4.07 ocaml-camomile)) + ("zed" ,ocaml4.07-zed))) (home-page "https://github.com/ocaml-community/utop") (synopsis "Improved interface to the OCaml toplevel") (description "UTop is an improved toplevel for OCaml. It can run in a @@ -3212,12 +3254,14 @@ long and size_t whose sizes depend on the host platform.") (version "0.14.0") (home-page "https://github.com/ocamllabs/ocaml-ctypes") (source (origin - (method url-fetch) - (uri (string-append home-page "/archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url home-page) + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "0zrsd42q2nciyg9375g2kydqax6ay299rhyfgms59qiw7d9ylyp9")))) + "1b2q3h63ngf4x9qp65qwapf2dg9q0mcdah6qjm2q0c7v2p5vysv9")))) (build-system ocaml-build-system) (arguments `(#:tests? #f; require an old lwt @@ -3225,6 +3269,14 @@ long and size_t whose sizes depend on the host platform.") (list (string-append "INSTALL_HEADERS = $(wildcard $($(PROJECT).dir)/*.h)")) #:phases (modify-phases %standard-phases + (add-after 'unpack 'make-writable + (lambda _ + (for-each + (lambda (file) + (let ((stat (stat file))) + (chmod file (+ #o200 (stat:mode stat))))) + (find-files "." ".")) + #t)) (delete 'configure)))) (native-inputs `(("pkg-config" ,pkg-config))) @@ -3432,9 +3484,9 @@ Dedukti files.") syntax checking on dedukti files.") (license license:cecill-b)))) -(define-public ocaml-ppx-inline-test +(define-public ocaml4.07-ppx-inline-test (package - (name "ocaml-ppx-inline-test") + (name "ocaml4.07-ppx-inline-test") (version "0.12.0") (home-page "https://github.com/janestreet/ppx_inline_test") (source @@ -3450,14 +3502,17 @@ syntax checking on dedukti files.") (build-system dune-build-system) (arguments ;see home page README for further information - `(#:tests? #f)) + `(#:tests? #f + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (inputs - `(("ocaml-base" ,ocaml-base) - ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree) - ("ocaml-compiler-libs" ,ocaml-compiler-libs) - ("ocaml-sexplib0" ,ocaml-sexplib0) - ("ocaml-stdio" ,ocaml-stdio) - ("ocaml-ppxlib" ,ocaml-ppxlib))) + `(("ocaml-base" ,ocaml4.07-base) + ("ocaml-migrate-parsetree" + ,(package-with-ocaml4.07 ocaml-migrate-parsetree)) + ("ocaml-compiler-libs" ,(package-with-ocaml4.07 ocaml-compiler-libs)) + ("ocaml-sexplib0" ,ocaml4.07-sexplib0) + ("ocaml-stdio" ,ocaml4.07-stdio) + ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) (properties `((upstream-name . "ppx_inline_test"))) (synopsis "Syntax extension for writing in-line tests in ocaml code") (description "This package contains a syntax extension for writing @@ -3503,9 +3558,9 @@ for programming languages, but also for manipulating terms of the λ-calculus or quantified formulas.") (license license:gpl3+))) -(define-public ocaml-earley +(define-public ocaml4.07-earley (package - (name "ocaml-earley") + (name "ocaml4.07-earley") (version "2.0.0") (home-page "https://github.com/rlepigre/ocaml-earley") (source @@ -3520,7 +3575,9 @@ or quantified formulas.") "18k7bi7krc4bvqnhijz1q0pfr0nfahghfjifci8rh1q4i5zd0xz5")))) (build-system dune-build-system) (arguments - `(#:test-target ".")) + `(#:test-target "." + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (synopsis "Parsing library based on Earley Algorithm") (description "Earley is a parser combinator library base on Earley's algorithm. It is intended to be used in conjunction with an OCaml syntax @@ -3670,9 +3727,9 @@ Mercurial's @code{https://www.selenic.com/blog/?p=663, unified test format}. @code{craml} is released as a single binary (called @code{craml}).") (license license:isc))) -(define-public ocaml-merlin +(define-public ocaml4.07-merlin (package - (name "ocaml-merlin") + (name "ocaml4.07-merlin") (version "3.2.2") (home-page "https://ocaml.github.io/merlin/") (source @@ -3687,14 +3744,16 @@ format}. @code{craml} is released as a single binary (called @code{craml}).") "15ssgmwdxylbwhld9p1cq8x6kadxyhll5bfyf11dddj6cldna3hb")))) (build-system dune-build-system) (inputs - `(("ocaml-biniou" ,ocaml-biniou) - ("ocaml-yojson" ,ocaml-yojson) - ("ocaml-easy-format" ,ocaml-easy-format))) + `(("ocaml-biniou" ,(package-with-ocaml4.07 ocaml-biniou)) + ("ocaml-yojson" ,(package-with-ocaml4.07 ocaml-yojson)) + ("ocaml-easy-format" ,(package-with-ocaml4.07 ocaml-easy-format)))) (native-inputs `(("ocaml-findlib" ,ocaml-findlib))) (arguments - '(#:jbuild? #t - #:tests? #f)) ;; Errors in tests in version 3.2.2 + `(#:jbuild? #t + #:tests? #f ;; Errors in tests in version 3.2.2 + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (synopsis "Context sensitive completion for OCaml in Vim and Emacs") (description "Merlin is an editor service that provides modern IDE features for OCaml. Emacs and Vim support is provided out-of-the-box. @@ -3702,9 +3761,9 @@ External contributors added support for Visual Studio Code, Sublime Text and Atom.") (license license:expat))) -(define-public ocaml-gsl +(define-public ocaml4.07-gsl (package - (name "ocaml-gsl") + (name "ocaml4.07-gsl") (version "1.24.0") (source (origin @@ -3725,12 +3784,15 @@ Atom.") (lambda* (#:key inputs #:allow-other-keys) (substitute* "src/config/discover.ml" (("/usr") (assoc-ref inputs "gsl"))) - #t))))) + #t))) + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (inputs `(("gsl" ,gsl))) (propagated-inputs - `(("ocaml-base" ,ocaml-base) - ("ocaml-stdio" ,ocaml-stdio))) + `(("ocaml-base" ,ocaml4.07-base) + ("ocaml-stdio" ,ocaml4.07-stdio))) (home-page "https://mmottl.github.io/gsl-ocaml") (synopsis "Bindings to the GNU Scientific Library") (description @@ -3738,9 +3800,9 @@ Atom.") the OCaml language.") (license license:gpl3+))) -(define-public ocaml-gsl-1 +(define-public ocaml4.07-gsl-1 (package - (inherit ocaml-gsl) + (inherit ocaml4.07-gsl) (version "1.19.3") (source (origin (method url-fetch) @@ -3754,8 +3816,10 @@ the OCaml language.") (inputs `(("gsl" ,gsl))) (native-inputs - `(("ocamlbuild" ,ocamlbuild))) - (arguments '()) + `(("ocamlbuild" ,(package-with-ocaml4.07 ocamlbuild)))) + (arguments + `(#:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (propagated-inputs '()))) (define-public cubicle @@ -3816,9 +3880,9 @@ an arbitrary number of processes. Cache coherence protocols and mutual exclusion algorithms are typical examples of such systems.") (license license:asl2.0))) -(define-public ocaml-sexplib0 +(define-public ocaml4.07-sexplib0 (package - (name "ocaml-sexplib0") + (name "ocaml4.07-sexplib0") (version "0.11.0") (home-page "https://github.com/janestreet/sexplib0") (source @@ -3833,7 +3897,9 @@ exclusion algorithms are typical examples of such systems.") "07v3ggyss7xhfv14bjk1n87sr42iqwj4cgjiv2lcdfkqk49i2bmi")))) (build-system dune-build-system) (arguments - '(#:tests? #f)) ;no tests + `(#:tests? #f ;no tests + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (synopsis "Library containing the definition of S-expressions and some base converters") (description "Part of Jane Street's Core library The Core suite of @@ -3841,9 +3907,9 @@ libraries is an industrial strength alternative to OCaml's standard library that was developed by Jane Street, the largest industrial user of OCaml.") (license license:expat))) -(define-public ocaml-parsexp +(define-public ocaml4.07-parsexp (package - (name "ocaml-parsexp") + (name "ocaml4.07-parsexp") (version "0.11.0") (home-page "https://github.com/janestreet/parsexp") (source @@ -3857,8 +3923,11 @@ that was developed by Jane Street, the largest industrial user of OCaml.") (base32 "1nyq23s5igd8cf3n4qxprjvhbmb6ighb3fy5mw7hxl0mdgsw5fvz")))) (build-system dune-build-system) + (arguments + `(#:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (inputs - `(("ocaml-sexplib0" ,ocaml-sexplib0))) + `(("ocaml-sexplib0" ,ocaml4.07-sexplib0))) (synopsis "S-expression parsing library") (description "This library provides generic parsers for parsing S-expressions from @@ -3887,9 +3956,9 @@ s-expressions from files or other external sources, you should use parsexp_io.") (license license:expat))) -(define-public ocaml-sexplib +(define-public ocaml4.07-sexplib (package - (name "ocaml-sexplib") + (name "ocaml4.07-sexplib") (version "0.11.0") (home-page "https://github.com/janestreet/sexplib") (source @@ -3903,10 +3972,13 @@ parsexp_io.") (base32 "1qfl0m04rpcjvc4yw1hzh6r16jpwmap0sa9ax6zjji67dz4szpyb")))) (build-system dune-build-system) + (arguments + `(#:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (propagated-inputs - `(("ocaml-num" ,ocaml-num) - ("ocaml-parsexp" ,ocaml-parsexp) - ("ocaml-sexplib0" ,ocaml-sexplib0))) + `(("ocaml-num" ,(package-with-ocaml4.07 ocaml-num)) + ("ocaml-parsexp" ,ocaml4.07-parsexp) + ("ocaml-sexplib0" ,ocaml4.07-sexplib0))) (synopsis "Library for serializing OCaml values to and from S-expressions") (description @@ -3914,9 +3986,9 @@ parsexp_io.") functionality for parsing and pretty-printing s-expressions.") (license license:expat))) -(define-public ocaml-base +(define-public ocaml4.07-base (package - (name "ocaml-base") + (name "ocaml4.07-base") (version "0.11.1") (home-page "https://github.com/janestreet/base") (source @@ -3931,14 +4003,16 @@ functionality for parsing and pretty-printing s-expressions.") "0j6xb4265jr41vw4fjzak6yr8s30qrnzapnc6rl1dxy8bjai0nir")))) (build-system dune-build-system) (propagated-inputs - `(("ocaml-sexplib0" ,ocaml-sexplib0))) + `(("ocaml-sexplib0" ,ocaml4.07-sexplib0))) (arguments `(#:phases (modify-phases %standard-phases (replace 'build ;; make warnings non fatal (jbuilder behaviour) (lambda _ - (invoke "dune" "build" "@install" "--profile=release")))))) + (invoke "dune" "build" "@install" "--profile=release")))) + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (synopsis "Full standard library replacement for OCaml") (description @@ -3978,9 +4052,9 @@ so they don't expose everything at toplevel. For instance, @code{Ast_helper} is now @code{Ocaml_common.Ast_helper}.") (license license:expat))) -(define-public ocaml-stdio +(define-public ocaml4.07-stdio (package - (name "ocaml-stdio") + (name "ocaml4.07-stdio") (version "0.11.0") (home-page "https://github.com/janestreet/stdio") (source @@ -3995,10 +4069,12 @@ is now @code{Ocaml_common.Ast_helper}.") "1facajqhvq34g2wrg368y0ajxd6lrj5b3lyzyj0jhdmraxajjcwn")))) (build-system dune-build-system) (propagated-inputs - `(("ocaml-base" ,ocaml-base) - ("ocaml-sexplib0" ,ocaml-sexplib0))) + `(("ocaml-base" ,ocaml4.07-base) + ("ocaml-sexplib0" ,ocaml4.07-sexplib0))) (arguments - '(#:tests? #f)) ;no tests + `(#:tests? #f ;no tests + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (synopsis "Standard IO library for OCaml") (description "Stdio implements simple input/output functionalities for OCaml. It @@ -4033,9 +4109,9 @@ ppx_deriving and ppx_type_conv to inter-operate gracefully when linked as part of the same ocaml-migrate-parsetree driver.") (license license:bsd-3))) -(define-public ocaml-ppxlib +(define-public ocaml4.07-ppxlib (package - (name "ocaml-ppxlib") + (name "ocaml4.07-ppxlib") (version "0.6.0") (home-page "https://github.com/ocaml-ppx/ppxlib") (source @@ -4050,15 +4126,16 @@ as part of the same ocaml-migrate-parsetree driver.") "0my9x7sxb329h0lzshppdaawiyfbaw6g5f41yiy7bhl071rnlvbv")))) (build-system dune-build-system) (propagated-inputs - `(("ocaml-base" ,ocaml-base) - ("ocaml-compiler-libs" ,ocaml-compiler-libs) - ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree) - ("ocaml-ppx-derivers" ,ocaml-ppx-derivers) - ("ocaml-stdio" ,ocaml-stdio) - ("ocaml-result" ,ocaml-result) - ("ocaml-sexplib0" ,ocaml-sexplib0))) + `(("ocaml-base" ,ocaml4.07-base) + ("ocaml-compiler-libs" ,(package-with-ocaml4.07 ocaml-compiler-libs)) + ("ocaml-migrate-parsetree" + ,(package-with-ocaml4.07 ocaml-migrate-parsetree)) + ("ocaml-ppx-derivers" ,(package-with-ocaml4.07 ocaml-ppx-derivers)) + ("ocaml-stdio" ,ocaml4.07-stdio) + ("ocaml-result" ,(package-with-ocaml4.07 ocaml-result)) + ("ocaml-sexplib0" ,ocaml4.07-sexplib0))) (arguments - '(#:phases + `(#:phases (modify-phases %standard-phases (add-before 'check 'set-topfind (lambda* (#:key inputs #:allow-other-keys) @@ -4076,7 +4153,9 @@ as part of the same ocaml-migrate-parsetree driver.") (("#use \"topfind\";;" all) (string-append "#directory \"" findlib-libdir "\"\n" all)))) - #t))))) + #t))) + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (synopsis "Base library and tools for ppx rewriters") (description @@ -4094,9 +4173,9 @@ OCaml AST in the OCaml syntax; @end itemize") (license license:expat))) -(define-public ocaml-ppx-compare +(define-public ocaml4.07-ppx-compare (package - (name "ocaml-ppx-compare") + (name "ocaml4.07-ppx-compare") (version "0.11.1") (source (origin (method git-fetch) @@ -4109,9 +4188,13 @@ OCaml AST in the OCaml syntax; "06bq4m1bsm4jlx4g7wh5m99qky7xm4c2g52kaz6pv25hdn5agi2m")))) (build-system dune-build-system) (propagated-inputs - `(("ocaml-base" ,ocaml-base) - ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree) - ("ocaml-ppxlib" ,ocaml-ppxlib))) + `(("ocaml-base" ,ocaml4.07-base) + ("ocaml-migrate-parsetree" + ,(package-with-ocaml4.07 ocaml-migrate-parsetree)) + ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) + (arguments + `(#:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (properties `((upstream-name . "ppx_compare"))) (home-page "https://github.com/janestreet/ppx_compare") (synopsis "Generation of comparison functions from types") @@ -4123,9 +4206,9 @@ flexibility by allowing you to override them for a specific type and more safety by making sure that you only compare comparable values.") (license license:asl2.0))) -(define-public ocaml-fieldslib +(define-public ocaml4.07-fieldslib (package - (name "ocaml-fieldslib") + (name "ocaml4.07-fieldslib") (version "0.11.0") (source (origin (method url-fetch) @@ -4138,11 +4221,14 @@ by making sure that you only compare comparable values.") (build-system dune-build-system) (arguments ;; No tests - `(#:tests? #f)) + `(#:tests? #f + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (propagated-inputs - `(("ocaml-base" ,ocaml-base) - ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree) - ("ocaml-ppxlib" ,ocaml-ppxlib))) + `(("ocaml-base" ,ocaml4.07-base) + ("ocaml-migrate-parsetree" + ,(package-with-ocaml4.07 ocaml-migrate-parsetree)) + ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) (properties `((upstream-name . "fieldslib"))) (home-page "https://github.com/janestreet/fieldslib") (synopsis "Syntax extension to record fields") @@ -4151,9 +4237,9 @@ record fields, to get and set record fields, iterate and fold over all fields of a record and create new record values.") (license license:asl2.0))) -(define-public ocaml-variantslib +(define-public ocaml4.07-variantslib (package - (name "ocaml-variantslib") + (name "ocaml4.07-variantslib") (version "0.11.0") (source (origin (method url-fetch) @@ -4166,11 +4252,14 @@ of a record and create new record values.") (build-system dune-build-system) (arguments ;; No tests - `(#:tests? #f)) + `(#:tests? #f + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (propagated-inputs - `(("ocaml-base" ,ocaml-base) - ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree) - ("ocaml-ppxlib" ,ocaml-ppxlib))) + `(("ocaml-base" ,ocaml4.07-base) + ("ocaml-migrate-parsetree" + ,(package-with-ocaml4.07 ocaml-migrate-parsetree)) + ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) (properties `((upstream-name . "variantslib"))) (home-page "https://github.com/janestreet/variantslib") (synopsis "OCaml variants as first class values") @@ -4178,9 +4267,9 @@ of a record and create new record values.") standard library.") (license license:asl2.0))) -(define-public ocaml-ppx-fields-conv +(define-public ocaml4.07-ppx-fields-conv (package - (name "ocaml-ppx-fields-conv") + (name "ocaml4.07-ppx-fields-conv") (version "0.11.0") (source (origin (method url-fetch) @@ -4192,10 +4281,14 @@ standard library.") "07zrd3qky2ppbfl55gpm90rvqa5860xgwcsvihrjmkrw6d0jirkc")))) (build-system dune-build-system) (propagated-inputs - `(("ocaml-base" ,ocaml-base) - ("ocaml-fieldslib" ,ocaml-fieldslib) - ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree) - ("ocaml-ppxlib" ,ocaml-ppxlib))) + `(("ocaml-base" ,ocaml4.07-base) + ("ocaml-fieldslib" ,ocaml4.07-fieldslib) + ("ocaml-migrate-parsetree" + ,(package-with-ocaml4.07 ocaml-migrate-parsetree)) + ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) + (arguments + `(#:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (properties `((upstream-name . "ppx_fields_conv"))) (home-page "https://github.com/janestreet/ppx_fields_conv") (synopsis "Generation of accessor and iteration functions for ocaml records") @@ -4205,9 +4298,9 @@ and set record fields, iterate and fold over all fields of a record and create new record values.") (license license:asl2.0))) -(define-public ocaml-ppx-sexp-conv +(define-public ocaml4.07-ppx-sexp-conv (package - (name "ocaml-ppx-sexp-conv") + (name "ocaml4.07-ppx-sexp-conv") (version "0.11.2") (source (origin (method git-fetch) @@ -4220,9 +4313,13 @@ new record values.") "0pqwnqy1xp309wvdcaax4lg02yk64lq2w03mbgfvf6ps5ry4gis9")))) (build-system dune-build-system) (propagated-inputs - `(("ocaml-base" ,ocaml-base) - ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree) - ("ocaml-ppxlib" ,ocaml-ppxlib))) + `(("ocaml-base" ,ocaml4.07-base) + ("ocaml-migrate-parsetree" + ,(package-with-ocaml4.07 ocaml-migrate-parsetree)) + ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) + (arguments + `(#:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (properties `((upstream-name . "ppx_sexp_conv"))) (home-page "https://github.com/janestreet/ppx_sexp_conv") (synopsis "Generation of S-expression conversion functions from type definitions") @@ -4230,9 +4327,9 @@ new record values.") definitions.") (license license:asl2.0))) -(define-public ocaml-ppx-variants-conv +(define-public ocaml4.07-ppx-variants-conv (package - (name "ocaml-ppx-variants-conv") + (name "ocaml4.07-ppx-variants-conv") (version "0.11.1") (source (origin (method git-fetch) @@ -4245,10 +4342,14 @@ definitions.") "1yc0gsds5m2nv39zga8nnrca2n75rkqy5dz4xj1635ybz20hhbjd")))) (build-system dune-build-system) (propagated-inputs - `(("ocaml-base" ,ocaml-base) - ("ocaml-variantslib" ,ocaml-variantslib) - ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree) - ("ocaml-ppxlib" ,ocaml-ppxlib))) + `(("ocaml-base" ,ocaml4.07-base) + ("ocaml-variantslib" ,ocaml4.07-variantslib) + ("ocaml-migrate-parsetree" + ,(package-with-ocaml4.07 ocaml-migrate-parsetree)) + ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) + (arguments + `(#:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (properties `((upstream-name . "ppx_variants_conv"))) (home-page @@ -4259,9 +4360,9 @@ definitions.") variant types.") (license license:asl2.0))) -(define-public ocaml-ppx-custom-printf +(define-public ocaml4.07-ppx-custom-printf (package - (name "ocaml-ppx-custom-printf") + (name "ocaml4.07-ppx-custom-printf") (version "0.11.0") (source (origin (method url-fetch) @@ -4273,10 +4374,14 @@ variant types.") "11b73smf3g3bpd9lg014pr4rx285nk9mnk6g6464ph51jv0sqzhj")))) (build-system dune-build-system) (propagated-inputs - `(("ocaml-base" ,ocaml-base) - ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv) - ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree) - ("ocaml-ppxlib" ,ocaml-ppxlib))) + `(("ocaml-base" ,ocaml4.07-base) + ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv) + ("ocaml-migrate-parsetree" + ,(package-with-ocaml4.07 ocaml-migrate-parsetree)) + ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) + (arguments + `(#:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (properties `((upstream-name . "ppx_custom_printf"))) (home-page "https://github.com/janestreet/ppx_custom_printf") (synopsis "Printf-style format-strings for user-defined string conversion") @@ -4284,9 +4389,9 @@ variant types.") string conversion.") (license license:asl2.0))) -(define-public ocaml-bin-prot +(define-public ocaml4.07-bin-prot (package - (name "ocaml-bin-prot") + (name "ocaml4.07-bin-prot") (version "0.11.0") (source (origin (method url-fetch) @@ -4298,13 +4403,17 @@ string conversion.") "1rsd91gx36prj4whi76nsiz1bzpgal9nzyw3pxdz1alv4ilk2il6")))) (build-system dune-build-system) (inputs - `(("ocaml-base" ,ocaml-base) - ("ocaml-ppx-compare" ,ocaml-ppx-compare) - ("ocaml-ppx-custom-printf" ,ocaml-ppx-custom-printf) - ("ocaml-ppx-fields-conv" ,ocaml-ppx-fields-conv) - ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv) - ("ocaml-ppx-variants-conv" ,ocaml-ppx-variants-conv) - ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree))) + `(("ocaml-base" ,ocaml4.07-base) + ("ocaml-ppx-compare" ,ocaml4.07-ppx-compare) + ("ocaml-ppx-custom-printf" ,ocaml4.07-ppx-custom-printf) + ("ocaml-ppx-fields-conv" ,ocaml4.07-ppx-fields-conv) + ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv) + ("ocaml-ppx-variants-conv" ,ocaml4.07-ppx-variants-conv) + ("ocaml-migrate-parsetree" + ,(package-with-ocaml4.07 ocaml-migrate-parsetree)))) + (arguments + `(#:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (properties `((upstream-name . "bin_prot"))) (home-page "https://github.com/janestreet/bin_prot") (synopsis "Binary protocol generator") @@ -4338,9 +4447,9 @@ storage of large amounts of data.") (description "Octavius is a library to parse the `ocamldoc` comment syntax.") (license license:isc))) -(define-public ocaml-ppx-hash +(define-public ocaml4.07-ppx-hash (package - (name "ocaml-ppx-hash") + (name "ocaml4.07-ppx-hash") (version "0.11.1") (source (origin (method git-fetch) @@ -4353,11 +4462,15 @@ storage of large amounts of data.") "1p0ic6aijxlrdggpmycj12q3cy9xksbq2vq727215maz4snvlf5p")))) (build-system dune-build-system) (propagated-inputs - `(("ocaml-base" ,ocaml-base) - ("ocaml-ppx-compare" ,ocaml-ppx-compare) - ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv) - ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree) - ("ocaml-ppxlib" ,ocaml-ppxlib))) + `(("ocaml-base" ,ocaml4.07-base) + ("ocaml-ppx-compare" ,ocaml4.07-ppx-compare) + ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv) + ("ocaml-migrate-parsetree" + ,(package-with-ocaml4.07 ocaml-migrate-parsetree)) + ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) + (arguments + `(#:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (properties `((upstream-name . "ppx_hash"))) (home-page "https://github.com/janestreet/ppx_hash") (synopsis "Generation of hash functions from type expressions and definitions") @@ -4365,9 +4478,9 @@ storage of large amounts of data.") hash functions from type exrpessions and definitions.") (license license:asl2.0))) -(define-public ocaml-ppx-enumerate +(define-public ocaml4.07-ppx-enumerate (package - (name "ocaml-ppx-enumerate") + (name "ocaml4.07-ppx-enumerate") (version "0.11.1") (source (origin (method git-fetch) @@ -4380,11 +4493,14 @@ hash functions from type exrpessions and definitions.") "0spx9k1v7vjjb6sigbfs69yndgq76v114jhxvzjmffw7q989cyhr")))) (build-system dune-build-system) (arguments - `(#:tests? #f)) ; no test suite + `(#:tests? #f; no test suite + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (propagated-inputs - `(("ocaml-base" ,ocaml-base) - ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree) - ("ocaml-ppxlib" ,ocaml-ppxlib))) + `(("ocaml-base" ,ocaml4.07-base) + ("ocaml-migrate-parsetree" + ,(package-with-ocaml4.07 ocaml-migrate-parsetree)) + ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) (properties `((upstream-name . "ppx_enumerate"))) (home-page "https://github.com/janestreet/ppx_enumerate") (synopsis "Generate a list containing all values of a finite type") @@ -4393,9 +4509,9 @@ for the list of all values of a type (for a type which only has finitely many values).") (license license:asl2.0))) -(define-public ocaml-ppx-bench +(define-public ocaml4.07-ppx-bench (package - (name "ocaml-ppx-bench") + (name "ocaml4.07-ppx-bench") (version "0.11.0") (source (origin (method url-fetch) @@ -4408,20 +4524,23 @@ many values).") (build-system dune-build-system) (arguments ;; No tests - `(#:tests? #f)) + `(#:tests? #f + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (propagated-inputs - `(("ocaml-ppx-inline-test" ,ocaml-ppx-inline-test) - ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree) - ("ocaml-ppxlib" ,ocaml-ppxlib))) + `(("ocaml-ppx-inline-test" ,ocaml4.07-ppx-inline-test) + ("ocaml-migrate-parsetree" + ,(package-with-ocaml4.07 ocaml-migrate-parsetree)) + ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) (properties `((upstream-name . "ppx_bench"))) (home-page "https://github.com/janestreet/ppx_bench") (synopsis "Syntax extension for writing in-line benchmarks in ocaml code") (description "Syntax extension for writing in-line benchmarks in ocaml code.") (license license:asl2.0))) -(define-public ocaml-ppx-here +(define-public ocaml4.07-ppx-here (package - (name "ocaml-ppx-here") + (name "ocaml4.07-ppx-here") (version "0.11.0") (source (origin (method url-fetch) @@ -4434,11 +4553,14 @@ many values).") (build-system dune-build-system) (arguments ;; broken tests - `(#:tests? #f)) + `(#:tests? #f + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (propagated-inputs - `(("ocaml-base" ,ocaml-base) - ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree) - ("ocaml-ppxlib" ,ocaml-ppxlib))) + `(("ocaml-base" ,ocaml4.07-base) + ("ocaml-migrate-parsetree" + ,(package-with-ocaml4.07 ocaml-migrate-parsetree)) + ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) (properties `((upstream-name . "ppx_here"))) (home-page "https://github.com/janestreet/ppx_here") (synopsis "Expands [%here] into its location") @@ -4446,9 +4568,9 @@ many values).") "Part of the Jane Street's PPX rewriters collection.") (license license:asl2.0))) -(define-public ocaml-typerep +(define-public ocaml4.07-typerep (package - (name "ocaml-typerep") + (name "ocaml4.07-typerep") (version "0.11.0") (source (origin (method url-fetch) @@ -4460,16 +4582,18 @@ many values).") "1zi7hy0prpgzqhr4lkacr04wvlvbp21jfbdfvffhrm6cd400rb5v")))) (build-system dune-build-system) (arguments - `(#:tests? #f)) - (propagated-inputs `(("ocaml-base" ,ocaml-base))) + `(#:tests? #f + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) + (propagated-inputs `(("ocaml-base" ,ocaml4.07-base))) (home-page "https://github.com/janestreet/typerep") (synopsis "Typerep is a library for runtime types") (description "Typerep is a library for runtime types.") (license license:asl2.0))) -(define-public ocaml-ppx-sexp-value +(define-public ocaml4.07-ppx-sexp-value (package - (name "ocaml-ppx-sexp-value") + (name "ocaml4.07-ppx-sexp-value") (version "0.11.0") (source (origin (method url-fetch) @@ -4480,12 +4604,16 @@ many values).") (base32 "1xnalfrln6k5khsyxvxkg6v32q8fpr4cqamsjqfih29jdv486xrs")))) (build-system dune-build-system) + (arguments + `(#:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (propagated-inputs - `(("ocaml-base" ,ocaml-base) - ("ocaml-ppx-here" ,ocaml-ppx-here) - ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv) - ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree) - ("ocaml-ppxlib" ,ocaml-ppxlib))) + `(("ocaml-base" ,ocaml4.07-base) + ("ocaml-ppx-here" ,ocaml4.07-ppx-here) + ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv) + ("ocaml-migrate-parsetree" + ,(package-with-ocaml4.07 ocaml-migrate-parsetree)) + ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) (properties `((upstream-name . "ppx_sexp_value"))) (home-page "https://github.com/janestreet/ppx_sexp_value") (synopsis "Simplify building s-expressions from ocaml values") @@ -4493,9 +4621,9 @@ many values).") ocaml values.") (license license:asl2.0))) -(define-public ocaml-ppx-sexp-message +(define-public ocaml4.07-ppx-sexp-message (package - (name "ocaml-ppx-sexp-message") + (name "ocaml4.07-ppx-sexp-message") (version "0.11.0") (source (origin (method url-fetch) @@ -4506,12 +4634,16 @@ ocaml values.") (base32 "1yh440za0w9cvrbxbmqacir8715kdaw6sw24ys9xj80av9nqpiw7")))) (build-system dune-build-system) + (arguments + `(#:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (propagated-inputs - `(("ocaml-base" ,ocaml-base) - ("ocaml-ppx-here" ,ocaml-ppx-here) - ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv) - ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree) - ("ocaml-ppxlib" ,ocaml-ppxlib))) + `(("ocaml-base" ,ocaml4.07-base) + ("ocaml-ppx-here" ,ocaml4.07-ppx-here) + ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv) + ("ocaml-migrate-parsetree" + ,(package-with-ocaml4.07 ocaml-migrate-parsetree)) + ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) (properties `((upstream-name . "ppx_sexp_message"))) (home-page "https://github.com/janestreet/ppx_sexp_message") (synopsis "A ppx rewriter for easy construction of s-expressions") @@ -4521,9 +4653,9 @@ where one needs to construct a s-expression based on various element of the context such as function arguments.") (license license:asl2.0))) -(define-public ocaml-ppx-pipebang +(define-public ocaml4.07-ppx-pipebang (package - (name "ocaml-ppx-pipebang") + (name "ocaml4.07-ppx-pipebang") (version "0.11.0") (source (origin (method url-fetch) @@ -4536,10 +4668,13 @@ context such as function arguments.") (build-system dune-build-system) (arguments ;; No tests - `(#:tests? #f)) + `(#:tests? #f + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (propagated-inputs - `(("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree) - ("ocaml-ppxlib" ,ocaml-ppxlib))) + `(("ocaml-migrate-parsetree" + ,(package-with-ocaml4.07 ocaml-migrate-parsetree)) + ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) (properties `((upstream-name . "ppx_pipebang"))) (home-page "https://github.com/janestreet/ppx_pipebang") (synopsis "Inline reverse application operators `|>` and `|!`") @@ -4547,9 +4682,9 @@ context such as function arguments.") @code{|>} and @code{|!}.") (license license:asl2.0))) -(define-public ocaml-ppx-optional +(define-public ocaml4.07-ppx-optional (package - (name "ocaml-ppx-optional") + (name "ocaml4.07-ppx-optional") (version "0.11.0") (source (origin (method url-fetch) @@ -4562,11 +4697,14 @@ context such as function arguments.") (build-system dune-build-system) (arguments ;; No tests - `(#:tests? #f)) + `(#:tests? #f + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (propagated-inputs - `(("ocaml-base" ,ocaml-base) - ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree) - ("ocaml-ppxlib" ,ocaml-ppxlib))) + `(("ocaml-base" ,ocaml4.07-base) + ("ocaml-migrate-parsetree" + ,(package-with-ocaml4.07 ocaml-migrate-parsetree)) + ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) (properties `((upstream-name . "ppx_optional"))) (home-page "https://github.com/janestreet/ppx_optional") (synopsis "Pattern matching on flat options") @@ -4575,9 +4713,9 @@ context such as function arguments.") else expression.") (license license:asl2.0))) -(define-public ocaml-ppx-optcomp +(define-public ocaml4.07-ppx-optcomp (package - (name "ocaml-ppx-optcomp") + (name "ocaml4.07-ppx-optcomp") (version "0.11.0") (source (origin (method url-fetch) @@ -4588,10 +4726,13 @@ else expression.") (base32 "1bb52p2j2h4s9f06vrcpla80rj93jinnzq6jzilapyx9q068929i")))) (build-system dune-build-system) + (arguments + `(#:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (propagated-inputs - `(("ocaml-base" ,ocaml-base) - ("ocaml-stdio" ,ocaml-stdio) - ("ocaml-ppxlib" ,ocaml-ppxlib))) + `(("ocaml-base" ,ocaml4.07-base) + ("ocaml-stdio" ,ocaml4.07-stdio) + ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) (properties `((upstream-name . "ppx_optcomp"))) (home-page "https://github.com/janestreet/ppx_optcomp") (synopsis "Optional compilation for OCaml") @@ -4600,9 +4741,9 @@ used to handle optional compilations of pieces of code depending of the word size, the version of the compiler, ...") (license license:asl2.0))) -(define-public ocaml-ppx-let +(define-public ocaml4.07-ppx-let (package - (name "ocaml-ppx-let") + (name "ocaml4.07-ppx-let") (version "0.11.0") (source (origin (method url-fetch) @@ -4613,10 +4754,14 @@ size, the version of the compiler, ...") (base32 "1wdfw6w4xbg97a35yg6bif9gggxniy9ddnrjfw1a0inkl2yamxkj")))) (build-system dune-build-system) + (arguments + `(#:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (propagated-inputs - `(("ocaml-base" ,ocaml-base) - ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree) - ("ocaml-ppxlib" ,ocaml-ppxlib))) + `(("ocaml-base" ,ocaml4.07-base) + ("ocaml-migrate-parsetree" + ,(package-with-ocaml4.07 ocaml-migrate-parsetree)) + ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) (properties `((upstream-name . "ppx_let"))) (home-page "https://github.com/janestreet/ppx_let") (synopsis "Monadic let-bindings") @@ -4624,9 +4769,9 @@ size, the version of the compiler, ...") match expressions, and if expressions.") (license license:asl2.0))) -(define-public ocaml-ppx-fail +(define-public ocaml4.07-ppx-fail (package - (name "ocaml-ppx-fail") + (name "ocaml4.07-ppx-fail") (version "0.11.0") (source (origin (method url-fetch) @@ -4637,11 +4782,15 @@ match expressions, and if expressions.") (base32 "07plqsvljiwvngggfypwq55g46s5my55y45mvlmalrxyppzr03s8")))) (build-system dune-build-system) + (arguments + `(#:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (propagated-inputs - `(("ocaml-base" ,ocaml-base) - ("ocaml-ppx-here" ,ocaml-ppx-here) - ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree) - ("ocaml-ppxlib" ,ocaml-ppxlib))) + `(("ocaml-base" ,ocaml4.07-base) + ("ocaml-ppx-here" ,ocaml4.07-ppx-here) + ("ocaml-migrate-parsetree" + ,(package-with-ocaml4.07 ocaml-migrate-parsetree)) + ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) (properties `((upstream-name . "ppx_fail"))) (home-page "https://github.com/janestreet/ppx_fail") (synopsis "Add location to calls to failwiths") @@ -4649,9 +4798,9 @@ match expressions, and if expressions.") position.") (license license:asl2.0))) -(define-public ocaml-ppx-assert +(define-public ocaml4.07-ppx-assert (package - (name "ocaml-ppx-assert") + (name "ocaml4.07-ppx-assert") (version "0.11.0") (source (origin (method url-fetch) @@ -4662,13 +4811,17 @@ position.") (base32 "17kd311n0l9f72gblf9kv8i5rghr106w37x4f0m5qwh6nlgl0j9k")))) (build-system dune-build-system) + (arguments + `(#:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (propagated-inputs - `(("ocaml-base" ,ocaml-base) - ("ocaml-ppx-compare" ,ocaml-ppx-compare) - ("ocaml-ppx-here" ,ocaml-ppx-here) - ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv) - ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree) - ("ocaml-ppxlib" ,ocaml-ppxlib))) + `(("ocaml-base" ,ocaml4.07-base) + ("ocaml-ppx-compare" ,ocaml4.07-ppx-compare) + ("ocaml-ppx-here" ,ocaml4.07-ppx-here) + ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv) + ("ocaml-migrate-parsetree" + ,(package-with-ocaml4.07 ocaml-migrate-parsetree)) + ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) (properties `((upstream-name . "ppx_assert"))) (home-page "https://github.com/janestreet/ppx_assert") (synopsis "Assert-like extension nodes that raise useful errors on failure") @@ -4676,9 +4829,9 @@ position.") useful errors on failure.") (license license:asl2.0))) -(define-public ocaml-ppx-expect +(define-public ocaml4.07-ppx-expect (package - (name "ocaml-ppx-expect") + (name "ocaml4.07-ppx-expect") (version "0.12.0") (source (origin (method git-fetch) @@ -4691,21 +4844,24 @@ useful errors on failure.") "1wawsbjfkri4sw52n8xqrzihxc3xfpdicv3ahz83a1rsn4lb8j5q")))) (build-system dune-build-system) (arguments - `(#:jbuild? #t)) + `(#:jbuild? #t + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (propagated-inputs - `(("ocaml-base" ,ocaml-base) - ("ocaml-ppx-assert" ,ocaml-ppx-assert) - ("ocaml-ppx-compare" ,ocaml-ppx-compare) - ("ocaml-ppx-custom-printf" ,ocaml-ppx-custom-printf) - ("ocaml-ppx-fields-conv" ,ocaml-ppx-fields-conv) - ("ocaml-ppx-here" ,ocaml-ppx-here) - ("ocaml-ppx-inline-test" ,ocaml-ppx-inline-test) - ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv) - ("ocaml-ppx-variants-conv" ,ocaml-ppx-variants-conv) - ("ocaml-stdio" ,ocaml-stdio) - ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree) - ("ocaml-ppxlib" ,ocaml-ppxlib) - ("ocaml-re" ,ocaml-re))) + `(("ocaml-base" ,ocaml4.07-base) + ("ocaml-ppx-assert" ,ocaml4.07-ppx-assert) + ("ocaml-ppx-compare" ,ocaml4.07-ppx-compare) + ("ocaml-ppx-custom-printf" ,ocaml4.07-ppx-custom-printf) + ("ocaml-ppx-fields-conv" ,ocaml4.07-ppx-fields-conv) + ("ocaml-ppx-here" ,ocaml4.07-ppx-here) + ("ocaml-ppx-inline-test" ,ocaml4.07-ppx-inline-test) + ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv) + ("ocaml-ppx-variants-conv" ,ocaml4.07-ppx-variants-conv) + ("ocaml-stdio" ,ocaml4.07-stdio) + ("ocaml-migrate-parsetree" + ,(package-with-ocaml4.07 ocaml-migrate-parsetree)) + ("ocaml-ppxlib" ,ocaml4.07-ppxlib) + ("ocaml-re" ,(package-with-ocaml4.07 ocaml-re)))) (properties `((upstream-name . "ppx_expect"))) (home-page "https://github.com/janestreet/ppx_expect") (synopsis "Cram like framework for OCaml") @@ -4716,9 +4872,9 @@ output-generating code, interleaved with @code{%expect} extension expressions to denote the expected output.") (license license:asl2.0))) -(define-public ocaml-ppx-js-style +(define-public ocaml4.07-ppx-js-style (package - (name "ocaml-ppx-js-style") + (name "ocaml4.07-ppx-js-style") (version "0.11.0") (source (origin (method url-fetch) @@ -4731,12 +4887,15 @@ to denote the expected output.") (build-system dune-build-system) (arguments ;; No tests - `(#:tests? #f)) + `(#:tests? #f + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (propagated-inputs - `(("ocaml-base" ,ocaml-base) - ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree) - ("ocaml-octavius" ,ocaml-octavius) - ("ocaml-ppxlib" ,ocaml-ppxlib))) + `(("ocaml-base" ,ocaml4.07-base) + ("ocaml-migrate-parsetree" + ,(package-with-ocaml4.07 ocaml-migrate-parsetree)) + ("ocaml-octavius" ,(package-with-ocaml4.07 ocaml-octavius)) + ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) (properties `((upstream-name . "ppx_js_style"))) (home-page "https://github.com/janestreet/ppx_js_style") (synopsis "Code style checker for Jane Street Packages") @@ -4745,9 +4904,9 @@ to denote the expected output.") packages.") (license license:asl2.0))) -(define-public ocaml-ppx-typerep-conv +(define-public ocaml4.07-ppx-typerep-conv (package - (name "ocaml-ppx-typerep-conv") + (name "ocaml4.07-ppx-typerep-conv") (version "0.11.1") (source (origin (method git-fetch) @@ -4760,12 +4919,15 @@ packages.") "0a13dpfrrg0rsm8qni1bh7pqcda30l70z8r6yzi5a64bmwk7g5ah")))) (build-system dune-build-system) (arguments - `(#:test-target ".")) + `(#:test-target "." + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (propagated-inputs - `(("ocaml-base" ,ocaml-base) - ("ocaml-typerep" ,ocaml-typerep) - ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree) - ("ocaml-ppxlib" ,ocaml-ppxlib))) + `(("ocaml-base" ,ocaml4.07-base) + ("ocaml-typerep" ,ocaml4.07-typerep) + ("ocaml-migrate-parsetree" + ,(package-with-ocaml4.07 ocaml-migrate-parsetree)) + ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) (properties `((upstream-name . "ppx_typerep_conv"))) (home-page "https://github.com/janestreet/ppx_typerep_conv") (synopsis "Generation of runtime types from type declarations") @@ -4773,9 +4935,9 @@ packages.") from type definitions.") (license license:asl2.0))) -(define-public ocaml-ppx-base +(define-public ocaml4.07-ppx-base (package - (name "ocaml-ppx-base") + (name "ocaml4.07-ppx-base") (version "0.11.0") (source (origin (method url-fetch) @@ -4787,15 +4949,18 @@ from type definitions.") "0aq206pg330jmj7lhcagiiwm3a0b3gsqm801m8ajd4ysyw7idkym")))) (build-system dune-build-system) (arguments - `(#:test-target ".")) + `(#:test-target "." + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (propagated-inputs - `(("ocaml-ppx-compare" ,ocaml-ppx-compare) - ("ocaml-ppx-enumerate" ,ocaml-ppx-enumerate) - ("ocaml-ppx-hash" ,ocaml-ppx-hash) - ("ocaml-ppx-js-style" ,ocaml-ppx-js-style) - ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv) - ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree) - ("ocaml-ppxlib" ,ocaml-ppxlib))) + `(("ocaml-ppx-compare" ,ocaml4.07-ppx-compare) + ("ocaml-ppx-enumerate" ,ocaml4.07-ppx-enumerate) + ("ocaml-ppx-hash" ,ocaml4.07-ppx-hash) + ("ocaml-ppx-js-style" ,ocaml4.07-ppx-js-style) + ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv) + ("ocaml-migrate-parsetree" + ,(package-with-ocaml4.07 ocaml-migrate-parsetree)) + ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) (properties `((upstream-name . "ppx_base"))) (home-page "https://github.com/janestreet/ppx_base") (synopsis "Base set of ppx rewriters") @@ -4805,9 +4970,9 @@ Note that Base doesn't need ppx to build, it is only used as a verification tool.") (license license:asl2.0))) -(define-public ocaml-ppx-bin-prot +(define-public ocaml4.07-ppx-bin-prot (package - (name "ocaml-ppx-bin-prot") + (name "ocaml4.07-ppx-bin-prot") (version "0.11.1") (source (origin (method git-fetch) @@ -4821,13 +4986,16 @@ verification tool.") (build-system dune-build-system) (arguments ;; Cyclic dependency with ocaml-ppx-jane - `(#:tests? #f)) + `(#:tests? #f + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (propagated-inputs - `(("ocaml-base" ,ocaml-base) - ("ocaml-bin-prot" ,ocaml-bin-prot) - ("ocaml-ppx-here" ,ocaml-ppx-here) - ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree) - ("ocaml-ppxlib" ,ocaml-ppxlib))) + `(("ocaml-base" ,ocaml4.07-base) + ("ocaml-bin-prot" ,ocaml4.07-bin-prot) + ("ocaml-ppx-here" ,ocaml4.07-ppx-here) + ("ocaml-migrate-parsetree" + ,(package-with-ocaml4.07 ocaml-migrate-parsetree)) + ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) (properties `((upstream-name . "ppx_bin_prot"))) (home-page "https://github.com/janestreet/ppx_bin_prot") (synopsis "Generation of bin_prot readers and writers from types") @@ -4835,9 +5003,9 @@ verification tool.") functions from type definitions.") (license license:asl2.0))) -(define-public ocaml-ppx-jane +(define-public ocaml4.07-ppx-jane (package - (name "ocaml-ppx-jane") + (name "ocaml4.07-ppx-jane") (version "0.11.0") (source (origin (method url-fetch) @@ -4849,28 +5017,31 @@ functions from type definitions.") "0lgppkw3aixrfnixihrsz2ipafv8fpvkdpy3pw8n0r615gg8x8la")))) (build-system dune-build-system) (arguments - `(#:test-target ".")) + `(#:test-target "." + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (propagated-inputs - `(("ocaml-ppx-assert" ,ocaml-ppx-assert) - ("ocaml-ppx-base" ,ocaml-ppx-base) - ("ocaml-ppx-bench" ,ocaml-ppx-bench) - ("ocaml-ppx-bin-prot" ,ocaml-ppx-bin-prot) - ("ocaml-ppx-custom-printf" ,ocaml-ppx-custom-printf) - ("ocaml-ppx-expect" ,ocaml-ppx-expect) - ("ocaml-ppx-fail" ,ocaml-ppx-fail) - ("ocaml-ppx-fields-conv" ,ocaml-ppx-fields-conv) - ("ocaml-ppx-here" ,ocaml-ppx-here) - ("ocaml-ppx-inline-test" ,ocaml-ppx-inline-test) - ("ocaml-ppx-let" ,ocaml-ppx-let) - ("ocaml-ppx-optcomp" ,ocaml-ppx-optcomp) - ("ocaml-ppx-optional" ,ocaml-ppx-optional) - ("ocaml-ppx-pipebang" ,ocaml-ppx-pipebang) - ("ocaml-ppx-sexp-message" ,ocaml-ppx-sexp-message) - ("ocaml-ppx-sexp-value" ,ocaml-ppx-sexp-value) - ("ocaml-ppx-typerep-conv" ,ocaml-ppx-typerep-conv) - ("ocaml-ppx-variants-conv" ,ocaml-ppx-variants-conv) - ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree) - ("ocaml-ppxlib" ,ocaml-ppxlib))) + `(("ocaml-ppx-assert" ,ocaml4.07-ppx-assert) + ("ocaml-ppx-base" ,ocaml4.07-ppx-base) + ("ocaml-ppx-bench" ,ocaml4.07-ppx-bench) + ("ocaml-ppx-bin-prot" ,ocaml4.07-ppx-bin-prot) + ("ocaml-ppx-custom-printf" ,ocaml4.07-ppx-custom-printf) + ("ocaml-ppx-expect" ,ocaml4.07-ppx-expect) + ("ocaml-ppx-fail" ,ocaml4.07-ppx-fail) + ("ocaml-ppx-fields-conv" ,ocaml4.07-ppx-fields-conv) + ("ocaml-ppx-here" ,ocaml4.07-ppx-here) + ("ocaml-ppx-inline-test" ,ocaml4.07-ppx-inline-test) + ("ocaml-ppx-let" ,ocaml4.07-ppx-let) + ("ocaml-ppx-optcomp" ,ocaml4.07-ppx-optcomp) + ("ocaml-ppx-optional" ,ocaml4.07-ppx-optional) + ("ocaml-ppx-pipebang" ,ocaml4.07-ppx-pipebang) + ("ocaml-ppx-sexp-message" ,ocaml4.07-ppx-sexp-message) + ("ocaml-ppx-sexp-value" ,ocaml4.07-ppx-sexp-value) + ("ocaml-ppx-typerep-conv" ,ocaml4.07-ppx-typerep-conv) + ("ocaml-ppx-variants-conv" ,ocaml4.07-ppx-variants-conv) + ("ocaml-migrate-parsetree" + ,(package-with-ocaml4.07 ocaml-migrate-parsetree)) + ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) (properties `((upstream-name . "ppx_jane"))) (home-page "https://github.com/janestreet/ppx_jane") (synopsis "Standard Jane Street ppx rewriters") @@ -4878,9 +5049,9 @@ functions from type definitions.") driver including all standard Jane Street ppx rewriters.") (license license:asl2.0))) -(define-public ocaml-splittable-random +(define-public ocaml4.07-splittable-random (package - (name "ocaml-splittable-random") + (name "ocaml4.07-splittable-random") (version "0.11.0") (source (origin (method url-fetch) @@ -4891,10 +5062,14 @@ driver including all standard Jane Street ppx rewriters.") (base32 "0l1wbd881mymlnpzlq5q53mmdz3g5d7qjhyc7lfaq1x0iaccn5lc")))) (build-system dune-build-system) + (arguments + `(#:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (propagated-inputs - `(("ocaml-base" ,ocaml-base) - ("ocaml-ppx-jane" ,ocaml-ppx-jane) - ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree))) + `(("ocaml-base" ,ocaml4.07-base) + ("ocaml-ppx-jane" ,ocaml4.07-ppx-jane) + ("ocaml-migrate-parsetree" + ,(package-with-ocaml4.07 ocaml-migrate-parsetree)))) (properties `((upstream-name . "splittable_random"))) (home-page "https://github.com/janestreet/splittable_random") (synopsis "PRNG that can be split into independent streams") @@ -4928,9 +5103,9 @@ cryptographic-quality randomness in favor of performance.") various Jane Street packages.") (license license:asl2.0))) -(define-public ocaml-configurator +(define-public ocaml4.07-configurator (package - (name "ocaml-configurator") + (name "ocaml4.07-configurator") (version "0.11.0") (source (origin (method url-fetch) @@ -4943,10 +5118,12 @@ various Jane Street packages.") (build-system dune-build-system) (arguments ;; No tests - `(#:tests? #f)) + `(#:tests? #f + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (propagated-inputs - `(("ocaml-base" ,ocaml-base) - ("ocaml-stdio" ,ocaml-stdio))) + `(("ocaml-base" ,ocaml4.07-base) + ("ocaml-stdio" ,ocaml4.07-stdio))) (home-page "https://github.com/janestreet/configurator") (synopsis "Helper library for gathering system configuration") (description "Configurator is a small library that helps writing OCaml @@ -4962,9 +5139,9 @@ Configurator allows one to: @end itemize") (license license:asl2.0))) -(define-public ocaml-spawn +(define-public ocaml4.07-spawn (package - (name "ocaml-spawn") + (name "ocaml4.07-spawn") (version "0.13.0") (source (origin (method git-fetch) @@ -4984,9 +5161,11 @@ Configurator allows one to: (substitute* "test/tests.ml" (("/bin/pwd") (which "pwd")) (("/bin/echo") (which "echo"))) - #t))))) + #t))) + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (native-inputs - `(("ocaml-ppx-expect" ,ocaml-ppx-expect))) + `(("ocaml-ppx-expect" ,ocaml4.07-ppx-expect))) (home-page "https://github.com/janestreet/spawn") (synopsis "Spawning sub-processes") (description @@ -5008,9 +5187,9 @@ thousands of times faster than fork. @end itemize") (license license:asl2.0))) -(define-public ocaml-core +(define-public ocaml4.07-core (package - (name "ocaml-core") + (name "ocaml4.07-core") (version "0.11.3") (source (origin (method git-fetch) @@ -5025,18 +5204,21 @@ thousands of times faster than fork. (arguments `(#:jbuild? #t ;; Require a cyclic dependency: core_extended - #:tests? #f)) + #:tests? #f + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (propagated-inputs - `(("ocaml-base" ,ocaml-base) - ("ocaml-configurator" ,ocaml-configurator) - ("ocaml-core-kernel" ,ocaml-core-kernel) - ("ocaml-ppx-assert" ,ocaml-ppx-assert) - ("ocaml-ppx-jane" ,ocaml-ppx-jane) - ("ocaml-sexplib" ,ocaml-sexplib) - ("ocaml-spawn" ,ocaml-spawn) - ("ocaml-stdio" ,ocaml-stdio) - ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree) - ("ocaml-ppxlib" ,ocaml-ppxlib))) + `(("ocaml-base" ,ocaml4.07-base) + ("ocaml-configurator" ,ocaml4.07-configurator) + ("ocaml-core-kernel" ,ocaml4.07-core-kernel) + ("ocaml-ppx-assert" ,ocaml4.07-ppx-assert) + ("ocaml-ppx-jane" ,ocaml4.07-ppx-jane) + ("ocaml-sexplib" ,ocaml4.07-sexplib) + ("ocaml-spawn" ,ocaml4.07-spawn) + ("ocaml-stdio" ,ocaml4.07-stdio) + ("ocaml-migrate-parsetree" + ,(package-with-ocaml4.07 ocaml-migrate-parsetree)) + ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) (home-page "https://github.com/janestreet/core") (synopsis "Alternative to OCaml's standard library") (description "The Core suite of libraries is an alternative to OCaml's @@ -5045,9 +5227,9 @@ standard library that was developed by Jane Street.") ;; by OCaml's license for consortium members (see THIRD-PARTY.txt). (license license:asl2.0))) -(define-public ocaml-core-kernel +(define-public ocaml4.07-core-kernel (package - (name "ocaml-core-kernel") + (name "ocaml4.07-core-kernel") (version "0.11.1") (source (origin (method git-fetch) @@ -5061,26 +5243,30 @@ standard library that was developed by Jane Street.") (build-system dune-build-system) (arguments ;; Cyclic dependency with ocaml-core - `(#:tests? #f)) + `(#:tests? #f + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib)) (propagated-inputs - `(("ocaml-base" ,ocaml-base) - ("ocaml-bin-prot" ,ocaml-bin-prot) - ("ocaml-configurator" ,ocaml-configurator) - ("ocaml-fieldslib" ,ocaml-fieldslib) - ("ocaml-jane-street-headers" ,ocaml-jane-street-headers) - ("ocaml-ppx-assert" ,ocaml-ppx-assert) - ("ocaml-ppx-base" ,ocaml-ppx-base) - ("ocaml-ppx-hash" ,ocaml-ppx-hash) - ("ocaml-ppx-inline-test" ,ocaml-ppx-inline-test) - ("ocaml-ppx-jane" ,ocaml-ppx-jane) - ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv) - ("ocaml-ppx-sexp-message" ,ocaml-ppx-sexp-message) - ("ocaml-sexplib" ,ocaml-sexplib) - ("ocaml-splittable-random" ,ocaml-splittable-random) - ("ocaml-stdio" ,ocaml-stdio) - ("ocaml-typerep" ,ocaml-typerep) - ("ocaml-variantslib" ,ocaml-variantslib) - ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree))) + `(("ocaml-base" ,ocaml4.07-base) + ("ocaml-bin-prot" ,ocaml4.07-bin-prot) + ("ocaml-configurator" ,ocaml4.07-configurator) + ("ocaml-fieldslib" ,ocaml4.07-fieldslib) + ("ocaml-jane-street-headers" + ,(package-with-ocaml4.07 ocaml-jane-street-headers)) + ("ocaml-ppx-assert" ,ocaml4.07-ppx-assert) + ("ocaml-ppx-base" ,ocaml4.07-ppx-base) + ("ocaml-ppx-hash" ,ocaml4.07-ppx-hash) + ("ocaml-ppx-inline-test" ,ocaml4.07-ppx-inline-test) + ("ocaml-ppx-jane" ,ocaml4.07-ppx-jane) + ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv) + ("ocaml-ppx-sexp-message" ,ocaml4.07-ppx-sexp-message) + ("ocaml-sexplib" ,ocaml4.07-sexplib) + ("ocaml-splittable-random" ,ocaml4.07-splittable-random) + ("ocaml-stdio" ,ocaml4.07-stdio) + ("ocaml-typerep" ,ocaml4.07-typerep) + ("ocaml-variantslib" ,ocaml4.07-variantslib) + ("ocaml-migrate-parsetree" + ,(package-with-ocaml4.07 ocaml-migrate-parsetree)))) (properties `((upstream-name . "core_kernel"))) (home-page "https://github.com/janestreet/core_kernel") (synopsis "Portable standard library for OCaml") @@ -5220,9 +5406,9 @@ Usage is simple - add package bisect_ppx when building tests, run your tests, then run the Bisect_ppx report tool on the generated visitation files.") (license license:mpl2.0))) -(define-public ocaml-odoc +(define-public ocaml4.07-odoc (package - (name "ocaml-odoc") + (name "ocaml4.07-odoc") (version "1.4.2") (source (origin @@ -5234,20 +5420,24 @@ then run the Bisect_ppx report tool on the generated visitation files.") (sha256 (base32 "0rvhx139jx6wmlfz355mja6mk03x4swq1xxvk5ky6jzhalq3cf5i")))) (build-system dune-build-system) + (arguments + `(#:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (inputs - `(("ocaml-alcotest" ,ocaml-alcotest) - ("ocaml-markup" ,ocaml-markup) - ("ocaml-sexplib" ,ocaml-sexplib) - ("ocaml-re" ,ocaml-re) - ("ocaml-uutf" ,ocaml-uutf))) + `(("ocaml-alcotest" ,(package-with-ocaml4.07 ocaml-alcotest)) + ("ocaml-markup" ,(package-with-ocaml4.07 ocaml-markup)) + ("ocaml-sexplib" ,ocaml4.07-sexplib) + ("ocaml-re" ,(package-with-ocaml4.07 ocaml-re)) + ("ocaml-uutf" ,(package-with-ocaml4.07 ocaml-uutf)))) (native-inputs - `(("ocaml-astring" ,ocaml-astring) - ("ocaml-cmdliner" ,ocaml-cmdliner) - ("ocaml-cppo" ,ocaml-cppo) - ("ocaml-fpath" ,ocaml-fpath) - ("ocaml-result" ,ocaml-result) - ("ocaml-tyxml" ,ocaml-tyxml) - ("ocaml-bisect-ppx" ,ocaml-bisect-ppx))) + `(("ocaml-astring" ,(package-with-ocaml4.07 ocaml-astring)) + ("ocaml-cmdliner" ,(package-with-ocaml4.07 ocaml-cmdliner)) + ("ocaml-cppo" ,(package-with-ocaml4.07 ocaml-cppo)) + ("ocaml-fpath" ,(package-with-ocaml4.07 ocaml-fpath)) + ("ocaml-result" ,(package-with-ocaml4.07 ocaml-result)) + ("ocaml-tyxml" ,(package-with-ocaml4.07 ocaml-tyxml)) + ("ocaml-bisect-ppx" ,(package-with-ocaml4.07 ocaml-bisect-ppx)))) (home-page "https://github.com/ocaml/odoc") (synopsis "OCaml documentation generator") (description "Odoc is a documentation generator for OCaml. It reads @@ -5259,9 +5449,9 @@ advantage over ocamldoc is an accurate cross-referencer, which handles the complexity of the OCaml module system.") (license license:isc))) -(define-public ocaml-fftw3 +(define-public ocaml4.07-fftw3 (package - (name "ocaml-fftw3") + (name "ocaml4.07-fftw3") (version "0.8.4") (source (origin @@ -5276,13 +5466,16 @@ complexity of the OCaml module system.") (build-system dune-build-system) (arguments `(#:tests? #t - #:test-target "tests")) + #:test-target "tests" + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (propagated-inputs `(("fftw" ,fftw) ("fftwf" ,fftwf))) (native-inputs - `(("ocaml-cppo" ,ocaml-cppo) - ("ocaml-lacaml" ,ocaml-lacaml))) + `(("ocaml-cppo" ,(package-with-ocaml4.07 ocaml-cppo)) + ("ocaml-lacaml" ,ocaml4.07-lacaml))) (home-page "https://github.com/Chris00/fftw-ocaml") (synopsis @@ -5292,9 +5485,9 @@ complexity of the OCaml module system.") library FFTW.") (license license:lgpl2.1))) ; with static linking exception. -(define-public ocaml-lacaml +(define-public ocaml4.07-lacaml (package - (name "ocaml-lacaml") + (name "ocaml4.07-lacaml") (version "11.0.5") (source (origin @@ -5308,12 +5501,15 @@ library FFTW.") "180yb79a3qgx067qcpm50q12hrimjygf06rgkzbish9d1zfm670c")))) (build-system dune-build-system) (arguments - `(#:tests? #f)) ; No test target. + `(#:tests? #f ; No test target. + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (native-inputs `(("openblas" ,openblas) ("lapack" ,lapack) - ("ocaml-base" ,ocaml-base) - ("ocaml-stdio" ,ocaml-stdio))) + ("ocaml-base" ,ocaml4.07-base) + ("ocaml-stdio" ,ocaml4.07-stdio))) (home-page "https://mmottl.github.io/lacaml/") (synopsis "OCaml-bindings to BLAS and LAPACK") diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm index 334affcd2a..107b9239b8 100644 --- a/gnu/packages/openldap.scm +++ b/gnu/packages/openldap.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2019 Mathieu Othacehe +;;; Copyright © 2020 Lars-Dominik Braun ;;; ;;; This file is part of GNU Guix. ;;; @@ -49,7 +50,7 @@ #:use-module (gnu packages tls) #:use-module (gnu packages web) #:use-module (gnu packages) - #:use-module ((guix licenses) #:select (openldap2.8 lgpl2.1+ gpl3+ psfl)) + #:use-module ((guix licenses) #:select (openldap2.8 lgpl2.1+ gpl3+ psfl expat)) #:use-module (guix packages) #:use-module (guix utils) #:use-module (guix download) @@ -399,3 +400,30 @@ Other features include: @end enumerate\n") ;; GPLv3+ with OpenSSL linking exception. (license gpl3+))) + +(define-public python-bonsai + (package + (name "python-bonsai") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "bonsai" version)) + (sha256 + (base32 + "013bl6h1m3f7vg1lk89d4vi28wbf31zdcs4f9g8css7ngx63v6px")))) + (build-system python-build-system) + (inputs + `(("mit-krb5" ,mit-krb5) + ("cyrus-sasl" ,cyrus-sasl) + ("openldap" ,openldap))) + ;; disabling tests, since they require docker and extensive setup + (arguments `(#:tests? #f)) + (home-page "https://github.com/noirello/bonsai") + (synopsis "Access LDAP directory servers from Python") + (description + "This is a module for handling LDAP operations in Python. LDAP entries +are mapped to a special Python case-insensitive dictionary, tracking the +changes of the dictionary to modify the entry on the server easily.") + (license expat))) + diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 1c5034a5ad..da58c24680 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -24,6 +24,7 @@ ;;; Copyright © 2018, 2019 Tim Gesthuizen ;;; Copyright © 2019 Jens Mølgaard ;;; Copyright © 2019 Tanguy Le Carrour +;;; Copyright © 2020 Guillaume Le Vaillant ;;; ;;; This file is part of GNU Guix. ;;; @@ -56,6 +57,7 @@ #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages crypto) + #:use-module (gnu packages cryptsetup) #:use-module (gnu packages curl) #:use-module (gnu packages file) #:use-module (gnu packages freedesktop) @@ -114,7 +116,7 @@ human.") (define-public keepassxc (package (name "keepassxc") - (version "2.5.2") + (version "2.5.3") (source (origin (method url-fetch) @@ -122,7 +124,7 @@ human.") "/releases/download/" version "/keepassxc-" version "-src.tar.xz")) (sha256 - (base32 "0lvwc3nxyz7d7vymb6cmgwxylb9g6gsjnq247vbh4lk1ifjir58j")))) + (base32 "1sx647mp1xikig50p9bb6vxv18ymdfj3wkxj6qfdr1zfcv7gn005")))) (build-system cmake-build-system) (arguments '(#:configure-flags '("-DWITH_XC_ALL=YES" @@ -1066,3 +1068,30 @@ binaries. All of these utils are designed to execute only one specific function. Since they all work with @code{STDIN} and @code{STDOUT} you can group them into chains.") (license license:expat))) + +(define-public bruteforce-luks + (package + (name "bruteforce-luks") + (version "1.4.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/glv2/bruteforce-luks/releases/download/" + version + "/bruteforce-luks-" + version + ".tar.lz")) + (sha256 + (base32 "0yawrlbbklhmvwr99wm7li3r0d5kxvpkwf33a12rji7z0ya5p340")))) + (build-system gnu-build-system) + (native-inputs + `(("lzip" ,lzip))) + (inputs + `(("cryptsetup" ,cryptsetup))) + (synopsis "LUKS encrypted volume cracker") + (description + "This is a cracker for LUKS encrypted volumes. It can be used either in +exhaustive mode to try every password given a charset or in dictionary mode to +try every password contained in a file.") + (home-page "https://github.com/glv2/bruteforce-luks") + (license license:gpl3+))) 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 +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/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 + #include + #include + #include +--- a/plugins/untiny/untiny.h ++++ b/plugins/untiny/untiny.h +@@ -27,6 +27,7 @@ + + #include "plugin.h" + ++#include + #include + #include + #include +--- a/plugins/uploaders/flickr/flickr.h ++++ b/plugins/uploaders/flickr/flickr.h +@@ -26,6 +26,8 @@ + + #include "uploader.h" + ++#include ++ + /** + @author Andrey Esin \ + */ +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 ++ + /** + @author Mehrdad Momeny \ + */ +--- a/plugins/uploaders/mobypicture/mobypicture.h ++++ b/plugins/uploaders/mobypicture/mobypicture.h +@@ -26,6 +26,8 @@ + + #include "uploader.h" + ++#include ++ + 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 ++ + 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 ++ + class KJob; + + class Twitgoo : public Choqok::Uploader +-- 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 +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 + #include ++#include + #include + #include + #include +-- +cgit v1.1 + diff --git a/gnu/packages/patches/opensmtpd-fix-crash.patch b/gnu/packages/patches/opensmtpd-fix-crash.patch deleted file mode 100644 index 0030167533..0000000000 --- a/gnu/packages/patches/opensmtpd-fix-crash.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 9b5f70b93e038df5446bd37a4adac5a0380748e7 Mon Sep 17 00:00:00 2001 -From: johannes -Date: Wed, 21 Feb 2018 23:57:11 +0100 -Subject: [PATCH] crypt_checkpass: include HAVE_CRYPT_H definition, add NULL - check - ---- - openbsd-compat/crypt_checkpass.c | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -diff --git a/openbsd-compat/crypt_checkpass.c b/openbsd-compat/crypt_checkpass.c -index dafd2dae..d10b3a57 100644 ---- a/openbsd-compat/crypt_checkpass.c -+++ b/openbsd-compat/crypt_checkpass.c -@@ -1,5 +1,6 @@ - /* OPENBSD ORIGINAL: lib/libc/crypt/cryptutil.c */ - -+#include "includes.h" - #include - #ifdef HAVE_CRYPT_H - #include -@@ -10,6 +11,8 @@ - int - crypt_checkpass(const char *pass, const char *goodhash) - { -+ char *c; -+ - if (goodhash == NULL) - goto fail; - -@@ -17,7 +20,11 @@ crypt_checkpass(const char *pass, const char *goodhash) - if (strlen(goodhash) == 0 && strlen(pass) == 0) - return 0; - -- if (strcmp(crypt(pass, goodhash), goodhash) == 0) -+ c = crypt(pass, goodhash); -+ if (c == NULL) -+ goto fail; -+ -+ if (strcmp(c, goodhash) == 0) - return 0; - - fail: - diff --git a/gnu/packages/patches/qemu-CVE-2020-7039.patch b/gnu/packages/patches/qemu-CVE-2020-7039.patch new file mode 100644 index 0000000000..ffebda68ab --- /dev/null +++ b/gnu/packages/patches/qemu-CVE-2020-7039.patch @@ -0,0 +1,173 @@ +Fix CVE-2020-7039: + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-7039 + +Patches copied from upstream dependency repository: + +https://gitlab.freedesktop.org/slirp/libslirp/commit/2655fffed7a9e765bcb4701dd876e9dab975f289 +https://gitlab.freedesktop.org/slirp/libslirp/commit/ce131029d6d4a405cb7d3ac6716d03e58fb4a5d9 +https://gitlab.freedesktop.org/slirp/libslirp/commit/82ebe9c370a0e2970fb5695aa19aa5214a6a1c80 + +From 2655fffed7a9e765bcb4701dd876e9dab975f289 Mon Sep 17 00:00:00 2001 +From: Samuel Thibault +Date: Wed, 8 Jan 2020 00:58:48 +0100 +Subject: [PATCH] tcp_emu: Fix oob access + +The main loop only checks for one available byte, while we sometimes +need two bytes. +--- + CHANGELOG.md | 1 + + src/tcp_subr.c | 7 +++++++ + 2 files changed, 8 insertions(+) + +#diff --git a/CHANGELOG.md b/CHANGELOG.md +#index 00d0ce2..5cf94a8 100644 +#--- a/CHANGELOG.md +#+++ b/CHANGELOG.md +#@@ -20,6 +20,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 +# ### Fixed +# +# - ncsi: fix checksum OOB memory access +#+ - `tcp_emu()`: fix OOB accesses +# +# ## [4.1.0] - 2019-12-02 +# +diff --git a/src/tcp_subr.c b/src/tcp_subr.c +index 382aa38..9c1bdec 100644 +--- a/slirp/src/tcp_subr.c ++++ b/slirp/src/tcp_subr.c +@@ -871,6 +871,9 @@ int tcp_emu(struct socket *so, struct mbuf *m) + break; + + case 5: ++ if (bptr == m->m_data + m->m_len - 1) ++ return 1; /* We need two bytes */ ++ + /* + * The difference between versions 1.0 and + * 2.0 is here. For future versions of +@@ -886,6 +889,10 @@ int tcp_emu(struct socket *so, struct mbuf *m) + /* This is the field containing the port + * number that RA-player is listening to. + */ ++ ++ if (bptr == m->m_data + m->m_len - 1) ++ return 1; /* We need two bytes */ ++ + lport = (((uint8_t *)bptr)[0] << 8) + ((uint8_t *)bptr)[1]; + if (lport < 6970) + lport += 256; /* don't know why */ +-- +2.24.1 + +From ce131029d6d4a405cb7d3ac6716d03e58fb4a5d9 Mon Sep 17 00:00:00 2001 +From: Prasad J Pandit +Date: Thu, 9 Jan 2020 15:12:27 +0530 +Subject: [PATCH] slirp: use correct size while emulating IRC commands + +While emulating IRC DCC commands, tcp_emu() uses 'mbuf' size +'m->m_size' to write DCC commands via snprintf(3). This may +lead to OOB write access, because 'bptr' points somewhere in +the middle of 'mbuf' buffer, not at the start. Use M_FREEROOM(m) +size to avoid OOB access. + +Reported-by: Vishnu Dev TJ +Signed-off-by: Prasad J Pandit +Reviewed-by: Samuel Thibault +Message-Id: <20200109094228.79764-2-ppandit@redhat.com> +--- + src/tcp_subr.c | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +diff --git a/src/tcp_subr.c b/src/tcp_subr.c +index 9c1bdec..ee7a938 100644 +--- a/slirp/src/tcp_subr.c ++++ b/slirp/src/tcp_subr.c +@@ -763,7 +763,8 @@ int tcp_emu(struct socket *so, struct mbuf *m) + return 1; + } + m->m_len = bptr - m->m_data; /* Adjust length */ +- m->m_len += snprintf(bptr, m->m_size, "DCC CHAT chat %lu %u%c\n", ++ m->m_len += snprintf(bptr, M_FREEROOM(m), ++ "DCC CHAT chat %lu %u%c\n", + (unsigned long)ntohl(so->so_faddr.s_addr), + ntohs(so->so_fport), 1); + } else if (sscanf(bptr, "DCC SEND %256s %u %u %u", buff, &laddr, &lport, +@@ -773,8 +774,8 @@ int tcp_emu(struct socket *so, struct mbuf *m) + return 1; + } + m->m_len = bptr - m->m_data; /* Adjust length */ +- m->m_len += +- snprintf(bptr, m->m_size, "DCC SEND %s %lu %u %u%c\n", buff, ++ m->m_len += snprintf(bptr, M_FREEROOM(m), ++ "DCC SEND %s %lu %u %u%c\n", buff, + (unsigned long)ntohl(so->so_faddr.s_addr), + ntohs(so->so_fport), n1, 1); + } else if (sscanf(bptr, "DCC MOVE %256s %u %u %u", buff, &laddr, &lport, +@@ -784,8 +785,8 @@ int tcp_emu(struct socket *so, struct mbuf *m) + return 1; + } + m->m_len = bptr - m->m_data; /* Adjust length */ +- m->m_len += +- snprintf(bptr, m->m_size, "DCC MOVE %s %lu %u %u%c\n", buff, ++ m->m_len += snprintf(bptr, M_FREEROOM(m), ++ "DCC MOVE %s %lu %u %u%c\n", buff, + (unsigned long)ntohl(so->so_faddr.s_addr), + ntohs(so->so_fport), n1, 1); + } +-- +2.24.1 + +From 82ebe9c370a0e2970fb5695aa19aa5214a6a1c80 Mon Sep 17 00:00:00 2001 +From: Prasad J Pandit +Date: Thu, 9 Jan 2020 15:12:28 +0530 +Subject: [PATCH] slirp: use correct size while emulating commands + +While emulating services in tcp_emu(), it uses 'mbuf' size +'m->m_size' to write commands via snprintf(3). Use M_FREEROOM(m) +size to avoid possible OOB access. + +Signed-off-by: Prasad J Pandit +Signed-off-by: Samuel Thibault +Message-Id: <20200109094228.79764-3-ppandit@redhat.com> +--- + src/tcp_subr.c | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +diff --git a/src/tcp_subr.c b/src/tcp_subr.c +index ee7a938..177dfd2 100644 +--- a/slirp/src/tcp_subr.c ++++ b/slirp/src/tcp_subr.c +@@ -681,7 +681,7 @@ int tcp_emu(struct socket *so, struct mbuf *m) + n4 = (laddr & 0xff); + + m->m_len = bptr - m->m_data; /* Adjust length */ +- m->m_len += snprintf(bptr, m->m_size - m->m_len, ++ m->m_len += snprintf(bptr, M_FREEROOM(m), + "ORT %d,%d,%d,%d,%d,%d\r\n%s", n1, n2, n3, n4, + n5, n6, x == 7 ? buff : ""); + return 1; +@@ -716,8 +716,7 @@ int tcp_emu(struct socket *so, struct mbuf *m) + n4 = (laddr & 0xff); + + m->m_len = bptr - m->m_data; /* Adjust length */ +- m->m_len += +- snprintf(bptr, m->m_size - m->m_len, ++ m->m_len += snprintf(bptr, M_FREEROOM(m), + "27 Entering Passive Mode (%d,%d,%d,%d,%d,%d)\r\n%s", + n1, n2, n3, n4, n5, n6, x == 7 ? buff : ""); + +@@ -743,8 +742,8 @@ int tcp_emu(struct socket *so, struct mbuf *m) + if (m->m_data[m->m_len - 1] == '\0' && lport != 0 && + (so = tcp_listen(slirp, INADDR_ANY, 0, so->so_laddr.s_addr, + htons(lport), SS_FACCEPTONCE)) != NULL) +- m->m_len = +- snprintf(m->m_data, m->m_size, "%d", ntohs(so->so_fport)) + 1; ++ m->m_len = snprintf(m->m_data, M_ROOM(m), ++ "%d", ntohs(so->so_fport)) + 1; + return 1; + + case EMU_IRC: +-- +2.24.1 + diff --git a/gnu/packages/patches/qemu-CVE-2020-7211.patch b/gnu/packages/patches/qemu-CVE-2020-7211.patch new file mode 100644 index 0000000000..2885dda411 --- /dev/null +++ b/gnu/packages/patches/qemu-CVE-2020-7211.patch @@ -0,0 +1,49 @@ +Fix CVE-2020-7211: + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-7211 + +Patch copied from upstream dependency repository: + +https://gitlab.freedesktop.org/slirp/libslirp/commit/14ec36e107a8c9af7d0a80c3571fe39b291ff1d4 + +From 14ec36e107a8c9af7d0a80c3571fe39b291ff1d4 Mon Sep 17 00:00:00 2001 +From: Prasad J Pandit +Date: Mon, 13 Jan 2020 17:44:31 +0530 +Subject: [PATCH] slirp: tftp: restrict relative path access + +tftp restricts relative or directory path access on Linux systems. +Apply same restrictions on Windows systems too. It helps to avoid +directory traversal issue. + +Fixes: https://bugs.launchpad.net/qemu/+bug/1812451 +Reported-by: Peter Maydell +Signed-off-by: Prasad J Pandit +Reviewed-by: Samuel Thibault +Message-Id: <20200113121431.156708-1-ppandit@redhat.com> +--- + src/tftp.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/src/tftp.c b/src/tftp.c +index 093c2e0..e52e71b 100644 +--- a/slirp/src/tftp.c ++++ b/slirp/src/tftp.c +@@ -344,8 +344,13 @@ static void tftp_handle_rrq(Slirp *slirp, struct sockaddr_storage *srcsas, + k += 6; /* skipping octet */ + + /* do sanity checks on the filename */ +- if (!strncmp(req_fname, "../", 3) || +- req_fname[strlen(req_fname) - 1] == '/' || strstr(req_fname, "/../")) { ++ if ( ++#ifdef G_OS_WIN32 ++ strstr(req_fname, "..\\") || ++ req_fname[strlen(req_fname) - 1] == '\\' || ++#endif ++ strstr(req_fname, "../") || ++ req_fname[strlen(req_fname) - 1] == '/') { + tftp_send_error(spt, 2, "Access violation", tp); + return; + } +-- +2.24.1 + diff --git a/gnu/packages/patches/qemu-fix-documentation-build-failure.patch b/gnu/packages/patches/qemu-fix-documentation-build-failure.patch new file mode 100644 index 0000000000..c913c553b2 --- /dev/null +++ b/gnu/packages/patches/qemu-fix-documentation-build-failure.patch @@ -0,0 +1,43 @@ +Fix a build failure caused by a texinfo bug: + +qemu-doc.texi:41: @menu reference to nonexistent node `QEMU Guest Agent' + +Patch copied from upstream source repository: + +https://git.qemu.org/?p=qemu.git;a=commitdiff;h=80bc935eaaf93e5b9a4efe97abd7c51d645f2612 + +From 80bc935eaaf93e5b9a4efe97abd7c51d645f2612 Mon Sep 17 00:00:00 2001 +From: Thomas Huth +Date: Mon, 16 Dec 2019 14:29:41 +0100 +Subject: [PATCH] qemu-doc: Remove the unused "Guest Agent" node +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The node has been removed from the texi file some months ago, so we +should remove it from the menu section, too. + +Fixes: 27a296fce982 ("qemu-ga: Convert invocation documentation to rST") +Signed-off-by: Thomas Huth +Reviewed-by: Philippe Mathieu-Daudé +Message-Id: <20191216132941.25729-1-thuth@redhat.com> +Signed-off-by: Laurent Vivier +--- + qemu-doc.texi | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/qemu-doc.texi b/qemu-doc.texi +index eea91a2d1e..39f950471f 100644 +--- a/qemu-doc.texi ++++ b/qemu-doc.texi +@@ -38,7 +38,6 @@ + * Introduction:: + * QEMU PC System emulator:: + * QEMU System emulator for non PC targets:: +-* QEMU Guest Agent:: + * QEMU User space emulator:: + * System requirements:: + * Security:: +-- +2.24.1 + diff --git a/gnu/packages/patches/sdl-pango-api_additions.patch b/gnu/packages/patches/sdl-pango-api_additions.patch new file mode 100644 index 0000000000..5c02e79910 --- /dev/null +++ b/gnu/packages/patches/sdl-pango-api_additions.patch @@ -0,0 +1,128 @@ +Index: SDL_Pango-0.1.2/src/SDL_Pango.c +=================================================================== +--- SDL_Pango-0.1.2.orig/src/SDL_Pango.c 2004-12-10 10:06:33.000000000 +0100 ++++ SDL_Pango-0.1.2/src/SDL_Pango.c 2007-09-18 14:56:35.362379428 +0200 +@@ -723,13 +723,9 @@ + SDL_UnlockSurface(surface); + } + +-/*! +- Create a context which contains Pango objects. + +- @return A pointer to the context as a SDLPango_Context*. +-*/ + SDLPango_Context* +-SDLPango_CreateContext() ++SDLPango_CreateContext_GivenFontDesc(const char* font_desc) + { + SDLPango_Context *context = g_malloc(sizeof(SDLPango_Context)); + G_CONST_RETURN char *charset; +@@ -743,8 +739,7 @@ + pango_context_set_language (context->context, pango_language_from_string (charset)); + pango_context_set_base_dir (context->context, PANGO_DIRECTION_LTR); + +- context->font_desc = pango_font_description_from_string( +- MAKE_FONT_NAME (DEFAULT_FONT_FAMILY, DEFAULT_FONT_SIZE)); ++ context->font_desc = pango_font_description_from_string(font_desc); + + context->layout = pango_layout_new (context->context); + +@@ -762,6 +757,17 @@ + } + + /*! ++ Create a context which contains Pango objects. ++ ++ @return A pointer to the context as a SDLPango_Context*. ++*/ ++SDLPango_Context* ++SDLPango_CreateContext() ++{ ++ SDLPango_CreateContext_GivenFontDesc(MAKE_FONT_NAME(DEFAULT_FONT_FAMILY, DEFAULT_FONT_SIZE)); ++} ++ ++/*! + Free a context. + + @param *context [i/o] Context to be free +@@ -1053,6 +1059,20 @@ + pango_layout_set_font_description (context->layout, context->font_desc); + } + ++void ++SDLPango_SetText_GivenAlignment( ++ SDLPango_Context *context, ++ const char *text, ++ int length, ++ SDLPango_Alignment alignment) ++{ ++ pango_layout_set_attributes(context->layout, NULL); ++ pango_layout_set_text (context->layout, text, length); ++ pango_layout_set_auto_dir (context->layout, TRUE); ++ pango_layout_set_alignment (context->layout, alignment); ++ pango_layout_set_font_description (context->layout, context->font_desc); ++} ++ + /*! + Set plain text to context. + Text must be utf-8. +@@ -1067,11 +1087,7 @@ + const char *text, + int length) + { +- pango_layout_set_attributes(context->layout, NULL); +- pango_layout_set_text (context->layout, text, length); +- pango_layout_set_auto_dir (context->layout, TRUE); +- pango_layout_set_alignment (context->layout, PANGO_ALIGN_LEFT); +- pango_layout_set_font_description (context->layout, context->font_desc); ++ SDLPango_SetText_GivenAlignment(context, text, length, SDLPANGO_ALIGN_LEFT); + } + + /*! +Index: SDL_Pango-0.1.2/src/SDL_Pango.h +=================================================================== +--- SDL_Pango-0.1.2.orig/src/SDL_Pango.h 2004-12-10 10:06:33.000000000 +0100 ++++ SDL_Pango-0.1.2/src/SDL_Pango.h 2007-09-18 15:00:41.736419485 +0200 +@@ -26,6 +26,7 @@ + + #ifndef SDL_PANGO_H + #define SDL_PANGO_H ++#define SDL_PANGO_HAS_GC_EXTENSIONS + + #include "SDL.h" + +@@ -109,12 +110,20 @@ + SDLPANGO_DIRECTION_NEUTRAL /*! Neutral */ + } SDLPango_Direction; + +- ++/*! ++ Specifies alignment of text. See Pango reference for detail ++*/ ++typedef enum { ++ SDLPANGO_ALIGN_LEFT, ++ SDLPANGO_ALIGN_CENTER, ++ SDLPANGO_ALIGN_RIGHT ++} SDLPango_Alignment; + + extern DECLSPEC int SDLCALL SDLPango_Init(); + + extern DECLSPEC int SDLCALL SDLPango_WasInit(); + ++extern DECLSPEC SDLPango_Context* SDLCALL SDLPango_CreateContext_GivenFontDesc(const char* font_desc); + extern DECLSPEC SDLPango_Context* SDLCALL SDLPango_CreateContext(); + + extern DECLSPEC void SDLCALL SDLPango_FreeContext( +@@ -157,6 +166,12 @@ + const char *markup, + int length); + ++extern DECLSPEC void SDLCALL SDLPango_SetText_GivenAlignment( ++ SDLPango_Context *context, ++ const char *text, ++ int length, ++ SDLPango_Alignment alignment); ++ + extern DECLSPEC void SDLCALL SDLPango_SetText( + SDLPango_Context *context, + const char *markup, diff --git a/gnu/packages/patches/sdl-pango-blit_overflow.patch b/gnu/packages/patches/sdl-pango-blit_overflow.patch new file mode 100644 index 0000000000..411d066a74 --- /dev/null +++ b/gnu/packages/patches/sdl-pango-blit_overflow.patch @@ -0,0 +1,32 @@ +Index: sdlpango-0.1.2/src/SDL_Pango.c +=================================================================== +--- sdlpango-0.1.2.orig/src/SDL_Pango.c 2007-10-08 19:44:15.000000000 +0000 ++++ sdlpango-0.1.2/src/SDL_Pango.c 2007-10-08 19:45:27.000000000 +0000 +@@ -725,16 +725,23 @@ + int x = rect->x; + int y = rect->y; + ++ if(x < 0) { ++ width += x; x = 0; ++ } + if(x + width > surface->w) { + width = surface->w - x; +- if(width <= 0) +- return; ++ } ++ if(width <= 0) ++ return; ++ ++ if(y < 0) { ++ height += y; y = 0; + } + if(y + height > surface->h) { + height = surface->h - y; +- if(height <= 0) +- return; + } ++ if(height <= 0) ++ return; + + if(SDL_LockSurface(surface)) { + SDL_SetError("surface lock failed"); diff --git a/gnu/packages/patches/sdl-pango-fillrect_crash.patch b/gnu/packages/patches/sdl-pango-fillrect_crash.patch new file mode 100644 index 0000000000..7a41bbf2fe --- /dev/null +++ b/gnu/packages/patches/sdl-pango-fillrect_crash.patch @@ -0,0 +1,15 @@ +Index: SDL_Pango-0.1.2/src/SDL_Pango.c +=================================================================== +--- SDL_Pango-0.1.2.orig/src/SDL_Pango.c 2007-09-18 15:56:12.406223540 +0200 ++++ SDL_Pango-0.1.2/src/SDL_Pango.c 2007-09-18 15:57:27.986530616 +0200 +@@ -932,7 +932,9 @@ + width = PANGO_PIXELS (logical_rect.width); + height = PANGO_PIXELS (logical_rect.height); + +- SDL_FillRect(surface, NULL, SDL_MapRGBA(surface->format, 0, 0, 0, 0)); ++ if (width && height) { ++ SDL_FillRect(surface, NULL, SDL_MapRGBA(surface->format, 0, 0, 0, 0)); ++ } + + if((! context->tmp_ftbitmap) || context->tmp_ftbitmap->width < width + || context->tmp_ftbitmap->rows < height) diff --git a/gnu/packages/patches/sdl-pango-fix-explicit-SDLPango_CopyFTBitmapToSurface.patch b/gnu/packages/patches/sdl-pango-fix-explicit-SDLPango_CopyFTBitmapToSurface.patch new file mode 100644 index 0000000000..3d4b10cc10 --- /dev/null +++ b/gnu/packages/patches/sdl-pango-fix-explicit-SDLPango_CopyFTBitmapToSurface.patch @@ -0,0 +1,20 @@ +--- a/src/SDL_Pango.h ++++ b/src/SDL_Pango.h +@@ -171,7 +171,7 @@ + SDLPango_Direction direction); + + +-#ifdef __FT2_BUILD_UNIX_H__ ++#ifdef FT2BUILD_H_ + + extern DECLSPEC void SDLCALL SDLPango_CopyFTBitmapToSurface( + const FT_Bitmap *bitmap, +@@ -179,7 +179,7 @@ + const SDLPango_Matrix *matrix, + SDL_Rect *rect); + +-#endif /* __FT2_BUILD_UNIX_H__ */ ++#endif + + + #ifdef __PANGO_H__ diff --git a/gnu/packages/patches/sdl-pango-matrix_declarations.patch b/gnu/packages/patches/sdl-pango-matrix_declarations.patch new file mode 100644 index 0000000000..c35d0a708d --- /dev/null +++ b/gnu/packages/patches/sdl-pango-matrix_declarations.patch @@ -0,0 +1,131 @@ +Index: SDL_Pango-0.1.2/src/SDL_Pango.c +=================================================================== +--- SDL_Pango-0.1.2.orig/src/SDL_Pango.c 2007-09-18 15:03:10.732910311 +0200 ++++ SDL_Pango-0.1.2/src/SDL_Pango.c 2007-09-18 15:04:41.970109622 +0200 +@@ -286,6 +286,59 @@ + } contextImpl; + + ++const SDLPango_Matrix _MATRIX_WHITE_BACK ++ = {255, 0, 0, 0, ++ 255, 0, 0, 0, ++ 255, 0, 0, 0, ++ 255, 255, 0, 0,}; ++ ++/*! ++ Specifies white back and black letter. ++*/ ++const SDLPango_Matrix *MATRIX_WHITE_BACK = &_MATRIX_WHITE_BACK; ++ ++const SDLPango_Matrix _MATRIX_BLACK_BACK ++ = {0, 255, 0, 0, ++ 0, 255, 0, 0, ++ 0, 255, 0, 0, ++ 255, 255, 0, 0,}; ++/*! ++ Specifies black back and white letter. ++*/ ++const SDLPango_Matrix *MATRIX_BLACK_BACK = &_MATRIX_BLACK_BACK; ++ ++const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_BLACK_LETTER ++ = {0, 0, 0, 0, ++ 0, 0, 0, 0, ++ 0, 0, 0, 0, ++ 0, 255, 0, 0,}; ++/*! ++ Specifies transparent back and black letter. ++*/ ++const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_BLACK_LETTER = &_MATRIX_TRANSPARENT_BACK_BLACK_LETTER; ++ ++const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_WHITE_LETTER ++ = {255, 255, 0, 0, ++ 255, 255, 0, 0, ++ 255, 255, 0, 0, ++ 0, 255, 0, 0,}; ++/*! ++ Specifies transparent back and white letter. ++*/ ++const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_WHITE_LETTER = &_MATRIX_TRANSPARENT_BACK_WHITE_LETTER; ++ ++const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER ++ = {255, 255, 0, 0, ++ 255, 255, 0, 0, ++ 255, 255, 0, 0, ++ 0, 0, 0, 0,}; ++/*! ++ Specifies transparent back and transparent letter. ++ This is useful for KARAOKE like rendering. ++*/ ++const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER = &_MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER; ++ ++ + /*! + Initialize the Glib and Pango API. + This must be called before using other functions in this library, +Index: SDL_Pango-0.1.2/src/SDL_Pango.h +=================================================================== +--- SDL_Pango-0.1.2.orig/src/SDL_Pango.h 2007-09-18 15:03:10.732910311 +0200 ++++ SDL_Pango-0.1.2/src/SDL_Pango.h 2007-09-18 15:06:24.919976401 +0200 +@@ -47,57 +47,27 @@ + Uint8 m[4][4]; /*! Matrix variables */ + } SDLPango_Matrix; + +-const SDLPango_Matrix _MATRIX_WHITE_BACK +- = {255, 0, 0, 0, +- 255, 0, 0, 0, +- 255, 0, 0, 0, +- 255, 255, 0, 0,}; +- + /*! + Specifies white back and black letter. + */ +-const SDLPango_Matrix *MATRIX_WHITE_BACK = &_MATRIX_WHITE_BACK; +- +-const SDLPango_Matrix _MATRIX_BLACK_BACK +- = {0, 255, 0, 0, +- 0, 255, 0, 0, +- 0, 255, 0, 0, +- 255, 255, 0, 0,}; ++extern const SDLPango_Matrix *MATRIX_WHITE_BACK; + /*! + Specifies black back and white letter. + */ +-const SDLPango_Matrix *MATRIX_BLACK_BACK = &_MATRIX_BLACK_BACK; +- +-const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_BLACK_LETTER +- = {0, 0, 0, 0, +- 0, 0, 0, 0, +- 0, 0, 0, 0, +- 0, 255, 0, 0,}; ++extern const SDLPango_Matrix *MATRIX_BLACK_BACK; + /*! + Specifies transparent back and black letter. + */ +-const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_BLACK_LETTER = &_MATRIX_TRANSPARENT_BACK_BLACK_LETTER; +- +-const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_WHITE_LETTER +- = {255, 255, 0, 0, +- 255, 255, 0, 0, +- 255, 255, 0, 0, +- 0, 255, 0, 0,}; ++extern const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_BLACK_LETTER; + /*! + Specifies transparent back and white letter. + */ +-const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_WHITE_LETTER = &_MATRIX_TRANSPARENT_BACK_WHITE_LETTER; +- +-const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER +- = {255, 255, 0, 0, +- 255, 255, 0, 0, +- 255, 255, 0, 0, +- 0, 0, 0, 0,}; ++extern const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_WHITE_LETTER; + /*! + Specifies transparent back and transparent letter. + This is useful for KARAOKE like rendering. + */ +-const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER = &_MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER; ++extern const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER; + + /*! + Specifies direction of text. See Pango reference for detail diff --git a/gnu/packages/patches/sdl-pango-sans-serif.patch b/gnu/packages/patches/sdl-pango-sans-serif.patch new file mode 100644 index 0000000000..ccdc8150a7 --- /dev/null +++ b/gnu/packages/patches/sdl-pango-sans-serif.patch @@ -0,0 +1,13 @@ +Index: SDL_Pango-0.1.2/src/SDL_Pango.c +=================================================================== +--- SDL_Pango-0.1.2.orig/src/SDL_Pango.c 2007-09-18 15:12:20.736253215 +0200 ++++ SDL_Pango-0.1.2/src/SDL_Pango.c 2007-09-18 15:12:44.621614364 +0200 +@@ -234,7 +234,7 @@ + //! non-zero if initialized + static int IS_INITIALIZED = 0; + +-#define DEFAULT_FONT_FAMILY "Sans" ++#define DEFAULT_FONT_FAMILY "sans-serif" + #define DEFAULT_FONT_SIZE 12 + #define DEFAULT_DPI 96 + #define _MAKE_FONT_NAME(family, size) family " " #size diff --git a/gnu/packages/patches/superlu-dist-fix-mpi-deprecations.patch b/gnu/packages/patches/superlu-dist-fix-mpi-deprecations.patch deleted file mode 100644 index 25f0aaf2f3..0000000000 --- a/gnu/packages/patches/superlu-dist-fix-mpi-deprecations.patch +++ /dev/null @@ -1,57 +0,0 @@ -From c9cbcf8730221e366c7495073f8f8d819ee8ce89 Mon Sep 17 00:00:00 2001 -From: Eric Bavier -Date: Wed, 6 Feb 2019 10:06:59 -0600 -Subject: [PATCH] Replace deprecated MPI_Attr_get. - -Fixes build with OpenMPI version 4.0. - -* SRC/pdgstrf.c, SRC/pdgstrf.c, SRC/superlu_grid.c: 'MPI_Attr_get' -> - 'MPI_Comm_get_attr'. ---- - SRC/pdgstrf.c | 2 +- - SRC/pzgstrf.c | 2 +- - SRC/superlu_grid.c | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/SRC/pdgstrf.c b/SRC/pdgstrf.c -index 736ffa2..f92a1ba 100644 ---- a/SRC/pdgstrf.c -+++ b/SRC/pdgstrf.c -@@ -426,7 +426,7 @@ pdgstrf(superlu_dist_options_t * options, int m, int n, double anorm, - s_eps = smach_dist("Epsilon"); - thresh = s_eps * anorm; - -- MPI_Attr_get (MPI_COMM_WORLD, MPI_TAG_UB, &attr_val, &flag); -+ MPI_Comm_get_attr (MPI_COMM_WORLD, MPI_TAG_UB, &attr_val, &flag); - if (!flag) { - fprintf (stderr, "Could not get TAG_UB\n"); - return (-1); -diff --git a/SRC/pzgstrf.c b/SRC/pzgstrf.c -index 8896548..8800057 100644 ---- a/SRC/pzgstrf.c -+++ b/SRC/pzgstrf.c -@@ -426,7 +426,7 @@ pzgstrf(superlu_dist_options_t * options, int m, int n, double anorm, - s_eps = smach_dist("Epsilon"); - thresh = s_eps * anorm; - -- MPI_Attr_get (MPI_COMM_WORLD, MPI_TAG_UB, &attr_val, &flag); -+ MPI_Comm_get_attr (MPI_COMM_WORLD, MPI_TAG_UB, &attr_val, &flag); - if (!flag) { - fprintf (stderr, "Could not get TAG_UB\n"); - return (-1); -diff --git a/SRC/superlu_grid.c b/SRC/superlu_grid.c -index 1213d27..0c0fb90 100644 ---- a/SRC/superlu_grid.c -+++ b/SRC/superlu_grid.c -@@ -150,7 +150,7 @@ void superlu_gridmap( - { - int tag_ub; - if ( !grid->iam ) { -- MPI_Attr_get(Bcomm, MPI_TAG_UB, &tag_ub, &info); -+ MPI_Comm_get_attr(Bcomm, MPI_TAG_UB, &tag_ub, &info); - printf("MPI_TAG_UB %d\n", tag_ub); - /* returns 4295677672 - In reality it is restricted to no greater than 16384. */ --- -2.20.1 - diff --git a/gnu/packages/patches/t4k-common-libpng16.patch b/gnu/packages/patches/t4k-common-libpng16.patch new file mode 100644 index 0000000000..17967773de --- /dev/null +++ b/gnu/packages/patches/t4k-common-libpng16.patch @@ -0,0 +1,26 @@ +Description: Fix for libpng 1.6 +Author: Programmer Nerd +Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=743388#20 +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=743388 +Reviewed-by: Tobias Frost > +Last-Update: 2016-04-07 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/src/t4k_loaders.c ++++ b/src/t4k_loaders.c +@@ -1028,12 +1028,9 @@ + { + png_init_io(png_ptr, fi); + +- info_ptr->width = surf->w; +- info_ptr->height = surf->h; +- info_ptr->bit_depth = 8; +- info_ptr->color_type = PNG_COLOR_TYPE_RGB_ALPHA; +- info_ptr->interlace_type = 1; +- info_ptr->valid = 0; /* will be updated by various png_set_FOO() functions */ ++ png_set_IHDR(png_ptr, info_ptr, surf->w, surf->h, 8, ++ PNG_COLOR_TYPE_RGB_ALPHA, PNG_INTERLACE_NONE, ++ PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT); + + png_set_sRGB_gAMA_and_cHRM(png_ptr, info_ptr, + PNG_sRGB_INTENT_PERCEPTUAL); diff --git a/gnu/packages/patches/u-boot-riscv64-fix-extlinux.patch b/gnu/packages/patches/u-boot-riscv64-fix-extlinux.patch new file mode 100644 index 0000000000..3feeb1dc5e --- /dev/null +++ b/gnu/packages/patches/u-boot-riscv64-fix-extlinux.patch @@ -0,0 +1,54 @@ +From 3fc056f0b9f7c26e58a1e947c8c0184e55919614 Mon Sep 17 00:00:00 2001 +From: David Abdurachmanov +Date: Wed, 21 Aug 2019 12:07:20 -0700 +Subject: [PATCH] qemu-riscv64_smode, sifive-fu540: fix extlinux (define + preboot) +Forwarded: https://patchwork.ozlabs.org/patch/1151125/ + +Commit 37304aaf60bf92a5dc3ef222ba520698bd862a44 removed preboot +commands in RISC-V targets and broke extlinux support as reported +by Fu Wei . + +The patch finishes migration of CONFIG_USE_PREBOOT and CONFIG_REBOOT +to Kconfig. + +Signed-off-by: David Abdurachmanov +--- + configs/qemu-riscv64_smode_defconfig | 2 ++ + configs/sifive_fu540_defconfig | 2 ++ + include/configs/sifive-fu540.h | 4 ---- + 3 files changed, 4 insertions(+), 4 deletions(-) + +Index: u-boot/configs/qemu-riscv64_smode_defconfig +=================================================================== +--- u-boot.orig/configs/qemu-riscv64_smode_defconfig ++++ u-boot/configs/qemu-riscv64_smode_defconfig +@@ -14,3 +14,5 @@ CONFIG_CMD_NVEDIT_EFI=y + CONFIG_OF_PRIOR_STAGE=y + CONFIG_SYS_RELOC_GD_ENV_ADDR=y + CONFIG_DM_MTD=y ++CONFIG_USE_PREBOOT=y ++CONFIG_PREBOOT="setenv fdt_addr ${fdtcontroladdr}; fdt addr ${fdtcontroladdr};" +Index: u-boot/configs/sifive_fu540_defconfig +=================================================================== +--- u-boot.orig/configs/sifive_fu540_defconfig ++++ u-boot/configs/sifive_fu540_defconfig +@@ -12,3 +12,5 @@ CONFIG_DISPLAY_BOARDINFO=y + CONFIG_DEFAULT_DEVICE_TREE="hifive-unleashed-a00" + CONFIG_SYS_RELOC_GD_ENV_ADDR=y + CONFIG_DM_MTD=y ++CONFIG_USE_PREBOOT=y ++CONFIG_PREBOOT="setenv fdt_addr ${fdtcontroladdr}; fdt addr ${fdtcontroladdr};" +Index: u-boot/include/configs/sifive-fu540.h +=================================================================== +--- u-boot.orig/include/configs/sifive-fu540.h ++++ u-boot/include/configs/sifive-fu540.h +@@ -40,8 +40,4 @@ + "ramdisk_addr_r=0x88300000\0" \ + BOOTENV + +-#define CONFIG_PREBOOT \ +- "setenv fdt_addr ${fdtcontroladdr};" \ +- "fdt addr ${fdtcontroladdr};" +- + #endif /* __CONFIG_H */ diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm index 237baa932c..ac8a6f46fc 100644 --- a/gnu/packages/plotutils.scm +++ b/gnu/packages/plotutils.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2015 Eric Bavier ;;; Copyright © 2016, 2017, 2019, 2020 Nicolas Goaziou ;;; Copyright © 2018 Tobias Geerinckx-Rice @@ -99,6 +99,11 @@ scientific data.") (modules '((guix build utils))) (snippet '(begin + ;; Allow builds with Guile 3.0. + (substitute* "configure" + (("2\\.2 2\\.0") + "3.0 2.2 2.0")) + ;; By default, .go files would be installed to ;; $libdir/…/ccache instead of $libdir/…/site-ccache. Fix ;; that. @@ -116,6 +121,13 @@ scientific data.") using the Cairo drawing library.") (license license:lgpl2.1+))) +(define-public guile3.0-charting + (package + (inherit guile-charting) + (name "guile3.0-charting") + (inputs `(("guile" ,guile-3.0))) + (propagated-inputs `(("guile-cairo" ,guile3.0-cairo))))) + (define-public ploticus (package (name "ploticus") diff --git a/gnu/packages/prolog.scm b/gnu/packages/prolog.scm index f8ea6194c6..bf992f6bd6 100644 --- a/gnu/packages/prolog.scm +++ b/gnu/packages/prolog.scm @@ -86,7 +86,7 @@ manner. It also features an interactive interpreter.") (define-public swi-prolog (package (name "swi-prolog") - (version "8.1.20") + (version "8.1.21") (source (origin (method git-fetch) (uri (git-reference @@ -96,7 +96,7 @@ manner. It also features an interactive interpreter.") (file-name (git-file-name name version)) (sha256 (base32 - "0blpw5g0gszi83wmvyhlh7pk4wlyx00vgaj6qr3ris36cdl8j10a")))) + "1axdiz37dllw0ih58ffm0m95dfxqfzwahl48hpzq90rz4swcr1lq")))) (build-system cmake-build-system) (arguments `(#:parallel-build? #t diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm index a4d065d5e7..a69619b96a 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2019 Efraim Flashner ;;; Copyright © 2019 Maxim Cournoyer ;;; Copyright © 2019 Hartmut Goebel +;;; Copyright © 2020 Julien Lepiller ;;; ;;; This file is part of GNU Guix. ;;; @@ -289,3 +290,48 @@ testing framework.") (description "This package provides a virtualenv fixture for the py.test framework.") (license license:expat))) + +(define-public python-codacy-coverage + (package + (name "python-codacy-coverage") + (version "1.3.11") + (source + (origin + (method url-fetch) + (uri (pypi-uri "codacy-coverage" version)) + (sha256 + (base32 + "1g0c0w56xdkmqb8slacyw5qhzrkp814ng3ddh2lkiij58y9m2imr")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)); no tests + (propagated-inputs + `(("python-check-manifest" ,python-check-manifest))) + (home-page "https://github.com/codacy/python-codacy-coverage") + (synopsis "Codacy coverage reporter for Python") + (description "This package analyses Python test suites and reports how much +of the code is covered by them. This tool is part of the Codacy suite for +analysing code quality.") + (license license:expat))) + +(define-public python-httmock + (package + (name "python-httmock") + (version "1.3.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "httmock" version)) + (sha256 + (base32 + "1zj1fcm0n6f0wr9mr0hmlqz9430fnr5cdwd5jkcvq9j44bnsrfz0")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)); no tests + (propagated-inputs + `(("python-requests" ,python-requests))) + (home-page "https://github.com/patrys/httmock") + (synopsis "Mocking library for requests.") + (description "This package provides a library for replying fake data to +Python software under test, when they make an HTTP query.") + (license license:asl2.0))) diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm index 7924479185..2eb0933116 100644 --- a/gnu/packages/python-compression.scm +++ b/gnu/packages/python-compression.scm @@ -33,6 +33,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages check) #:use-module (gnu packages maths) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages sphinx)) @@ -85,11 +86,20 @@ Python strings.") (uri (pypi-uri "lz4" version)) (sha256 (base32 - "0ghv1xbaq693kgww1x9c22bplz479ls9szjsaa4ig778ls834hm0")))) + "0ghv1xbaq693kgww1x9c22bplz479ls9szjsaa4ig778ls834hm0")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove bundled copy of lz4. + (delete-file-recursively "lz4libs") + #t)))) (build-system python-build-system) (native-inputs - `(("python-nose" ,python-nose) + `(("pkg-config" ,pkg-config) + ("python-nose" ,python-nose) ("python-setuptools-scm" ,python-setuptools-scm))) + (inputs + `(("lz4" ,lz4))) (home-page "https://github.com/python-lz4/python-lz4") (synopsis "LZ4 bindings for Python") (description diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 7808b7631e..9464021d82 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2016, 2017 Marius Bakke ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus ;;; Copyright © 2017 Roel Janssen -;;; Copyright © 2016, 2017 Julien Lepiller +;;; Copyright © 2016, 2017, 2020 Julien Lepiller ;;; Copyright © 2016, 2017 ng0 ;;; Copyright © 2014, 2017 Eric Bavier ;;; Copyright © 2014, 2015 Mark H Weaver @@ -67,6 +67,7 @@ #:use-module (gnu packages python-check) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages serialization) #:use-module (gnu packages sphinx) #:use-module (gnu packages texinfo) #:use-module (gnu packages tls) @@ -310,14 +311,14 @@ other HTTP libraries.") (define-public httpie (package (name "httpie") - (version "1.0.3") + (version "2.0.0") (source (origin (method url-fetch) (uri (pypi-uri "httpie" version)) (sha256 (base32 - "103fcigpxf4nqmrdqjnyz7d9n4n16906slwmmqqc0gkxv8hnw6vd")))) + "02bw20cwv3a1lzrn919dk25dq4v81x6q786zlrqsqzhsdxszj14c")))) (build-system python-build-system) (arguments ;; The tests attempt to access external web servers, so we cannot run them. @@ -3431,3 +3432,65 @@ Unicorn project. The Gunicorn server is broadly compatible with various web frameworks, simply implemented, light on server resources, and fairly speedy.") (license license:expat))) + +(define-public python-translation-finder + (package + (name "python-translation-finder") + (version "1.7") + (source + (origin + (method url-fetch) + (uri (pypi-uri "translation-finder" version)) + (sha256 + (base32 + "1pcy9z8gmb8x41gjhw9x0lkr0d2mv5mdxcs2hwg6q8mxs857j589")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'build 'remove-failing-test + (lambda _ + (delete-file "translation_finder/test_api.py") + #t))))) + (propagated-inputs + `(("python-chardet" ,python-chardet) + ("python-pathlib2" ,python-pathlib2) + ("python-ruamel.yaml" ,python-ruamel.yaml) + ("python-six" ,python-six))) + (native-inputs + `(("python-codecov" ,python-codecov) + ("python-codacy-coverage" ,python-codacy-coverage) + ("python-pytest-cov" ,python-pytest-cov) + ("python-pytest-runner" ,python-pytest-runner) + ("python-twine" ,python-twine))) + (home-page "https://weblate.org/") + (synopsis "Translation file finder for Weblate") + (description "This package provides a function to find translation file in +the source code of a project. It supports many translation file formats and +is part of the Weblate translation platform.") + (license license:gpl3+))) + +(define-public python-gitlab + (package + (name "python-gitlab") + (version "1.15.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "python-gitlab" version)) + (sha256 + (base32 + "0zl6kz8v8cg1bcy2r78b2snb0lpw0b573gdx2x1ps0nhsh75l4j5")))) + (build-system python-build-system) + (propagated-inputs + `(("python-requests" ,python-requests) + ("python-six" ,python-six))) + (native-inputs + `(("python-httmock" ,python-httmock) + ("python-mock" ,python-mock))) + (home-page + "https://github.com/python-gitlab/python-gitlab") + (synopsis "Interact with GitLab API") + (description "This package provides an extended library for interacting +with GitLab instances through their API.") + (license license:lgpl3+))) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 6358db8b60..b884b4eee1 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -31,7 +31,7 @@ ;;; Copyright © 2016 Dylan Jeffers ;;; Copyright © 2016, 2017, 2019 Alex Vong ;;; Copyright © 2016, 2017, 2018 Arun Isaac -;;; Copyright © 2016, 2017, 2018 Julien Lepiller +;;; Copyright © 2016, 2017, 2018, 2020 Julien Lepiller ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2016, 2017 Thomas Danckaert ;;; Copyright © 2017 Carlo Zancanaro @@ -69,6 +69,7 @@ ;;; Copyright © 2019 Tanguy Le Carrour ;;; Copyright © 2019 Mădălin Ionel Patrașcu ;;; Copyright © 2020 Riku Viitanen +;;; Copyright © 2020 Jakub Kądziołka ;;; ;;; This file is part of GNU Guix. ;;; @@ -98,6 +99,7 @@ #:use-module (gnu packages crypto) #:use-module (gnu packages databases) #:use-module (gnu packages dbm) + #:use-module (gnu packages enchant) #:use-module (gnu packages file) #:use-module (gnu packages fontutils) #:use-module (gnu packages gcc) @@ -2244,13 +2246,13 @@ JavaScript-like message boxes. Types of dialog boxes include: (package (name "python-pympler") (home-page "https://pythonhosted.org/Pympler/") - (version "0.7") + (version "0.8") (source (origin (method url-fetch) (uri (pypi-uri "Pympler" version)) (sha256 (base32 - "0ki7bqp1h9l1xc2k1h4vjyzsgs20i8ingvcdhszyi72s28wyf4bs")))) + "08mrpnb6cv2nvfncvr8a9a8bpwhnasa924anapnjvnaw5jcd4k7p")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -2650,7 +2652,7 @@ reStructuredText.") (arguments ;; FIXME: Tests require sphinx, which depends on this. '(#:tests? #f)) - (home-page "http://pygments.org/") + (home-page "https://pygments.org/") (synopsis "Syntax highlighting") (description "Pygments is a syntax highlighting package written in Python.") @@ -7634,9 +7636,6 @@ Debian-related files, such as: ;; Modules are either GPLv2+ or GPLv3+. (license license:gpl3+))) -(define-public python2-debian - (package-with-python2 python-debian)) - (define-public python-nbformat (package (name "python-nbformat") @@ -15247,14 +15246,14 @@ time-based (TOTP) passwords.") (define-public python-parso (package (name "python-parso") - (version "0.5.1") + (version "0.5.2") (source (origin (method url-fetch) (uri (pypi-uri "parso" version)) (sha256 (base32 - "171a9ivhxwsd52h1cgsz40zgzpgzscn7yqb7sdjhy8m1lzj0wsv6")))) + "1qgvrkpma7vylrk047mxxvqd66nwqk978n3ig2w8iz9m3bgjbksm")))) (native-inputs `(("python-pytest" ,python-pytest))) (build-system python-build-system) @@ -17419,3 +17418,155 @@ tests.") GSSAPI C libraries. While it focuses on the Kerberos mechanism, it should also be useable with other GSSAPI mechanisms.") (license license:isc))) + +(define-public python-check-manifest + (package + (name "python-check-manifest") + (version "0.37") + (source + (origin + (method url-fetch) + (uri (pypi-uri "check-manifest" version)) + (sha256 + (base32 + "0lk45ifdv2cpkl6ayfyix7jwmnxa1rha7xvb0ih5999k115wzqs4")))) + (build-system python-build-system) + (native-inputs + `(("python-mock" ,python-mock) + ("git" ,git))) + (home-page "https://github.com/mgedmin/check-manifest") + (synopsis "Check MANIFEST.in in a Python source package for completeness") + (description "Python package can include a MANIFEST.in file to help with +sending package files to the Python Package Index. This package checks that +file to ensure it completely and accurately describes your project.") + (license license:expat))) + +(define-public python-android-stringslib + (package + (name "python-android-stringslib") + (version "0.1.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://framagit.org/tyreunom/python-android-strings-lib") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0gij55qzzq1h83kfpvhai1vf78kkhyvxa6l17m2nl24454lhfin4")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) + (home-page "https://framagit.org/tyreunom/python-android-strings-lib") + (synopsis "Android strings.xml support") + (description "Android Strings Lib provides support for android's strings.xml +files. These files are used to translate strings in android apps.") + (license license:expat))) + +(define-public python-watchdog + (package + (name "python-watchdog") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "watchdog" version)) + (sha256 + (base32 + "07cnvvlpif7a6cg4rav39zq8fxa5pfqawchr46433pij0y6napwn")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'remove-failing + (lambda _ + (delete-file "tests/test_inotify_buffer.py") + (delete-file "tests/test_snapshot_diff.py") + #t))))) + (propagated-inputs + `(("python-argh" ,python-argh) + ("python-pathtools" ,python-pathtools) + ("python-pyyaml" ,python-pyyaml))) + (native-inputs + `(("python-pytest-cov" ,python-pytest-cov) + ("python-pytest-timeout" ,python-pytest-timeout))) + (home-page "https://github.com/gorakhargosh/watchdog") + (synopsis "Filesystem events monitoring") + (description "This package provides a way to monitor filesystem events +such as a file modification and trigger an action. This is similar to inotify, +but portable.") + (license license:asl2.0))) + +(define-public offlate + (package + (name "offlate") + (version "0.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://framagit.org/tyreunom/offlate") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "13pqnbl05wcyldfvl75fp89vjgwsvxyc69vhnb17kkha2rc2k1h7")))) + (build-system python-build-system) + (arguments + ;; No tests + `(#:tests? #f)) + (propagated-inputs + `(("python-android-stringslib" ,python-android-stringslib) + ("python-dateutil" ,python-dateutil) + ("python-gitlab" ,python-gitlab) + ("python-lxml" ,python-lxml) + ("python-polib" ,python-polib) + ("python-pyenchant" ,python-pyenchant) + ("python-pygit2" ,python-pygit2) + ("python-pygithub" ,python-pygithub) + ("python-pyqt" ,python-pyqt) + ("python-requests" ,python-requests) + ("python-ruamel.yaml" ,python-ruamel.yaml) + ("python-translation-finder" ,python-translation-finder) + ("python-watchdog" ,python-watchdog))) + (native-inputs + `(("qttools" ,qttools))) + (home-page "https://framagit.org/tyreunom/offlate") + (synopsis "Offline translation interface for online translation tools") + (description "Offlate offers a unified interface for different translation +file formats, as well as many different online translation platforms. You can +use it to get work from online platforms, specialized such as the Translation +Project, or not such a gitlab instance when your upstream doesn't use any +dedicated platform. The tool proposes a unified interface for any format and +an upload option to send your work back to the platform.") + (license license:gpl3+))) + +(define-public python-pypng + (package + (name "python-pypng") + (version "0.0.20") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pypng" version)) + (sha256 + (base32 "02qpa22ls41vwsrzw9r9qhj1nhq05p03hb5473pay6y980s86chh")))) + (build-system python-build-system) + (home-page "https://github.com/drj11/pypng") + (synopsis "Pure Python PNG image encoder/decoder") + (description + "The PyPNG module implements support for PNG images. It reads and writes +PNG files with all allowable bit depths (1/2/4/8/16/24/32/48/64 bits per +pixel) and colour combinations: greyscale (1/2/4/8/16 bit); RGB, RGBA, +LA (greyscale with alpha) with 8/16 bits per channel; colour mapped +images (1/2/4/8 bit). Adam7 interlacing is supported for reading and writing. +A number of optional chunks can be specified (when writing) and +understood (when reading): tRNS, bKGD, gAMA. + +PyPNG is not a high level toolkit for image processing (like PIL) and does not +aim at being a replacement or competitor. Its strength lies in fine-grained +extensive support of PNG features. It can also read and write Netpbm PAM +files, with a focus on its use as an intermediate format for implementing +custom PNG processing.") + (license license:expat))) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 675720288a..ad99132400 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -340,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/" @@ -349,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))) @@ -606,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/" @@ -615,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 @@ -681,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/" @@ -690,7 +690,7 @@ HostData=lib/qt5 version ".tar.xz")) (sha256 (base32 - "0n3qc5rx7kzb4csmcxaxdm2bqpciz2j2pz2zdfrlpi1ml4liq39k")) + "02zpcbx71dz6xvga07dnzqwdfz9pjmy673n706fj8pxq9zi9xlcv")) (modules '((guix build utils))) (snippet '(begin @@ -712,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/" @@ -721,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 @@ -736,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/" @@ -745,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 @@ -767,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/" @@ -776,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 @@ -799,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/" @@ -808,7 +808,7 @@ with JavaScript and C++."))) version ".tar.xz")) (sha256 (base32 - "1ni2x848dxf0c7ilk461vz0z46qis8zv6jxbpyhpbhzdg9rcdw8h")))) + "06h71pd5w5prh722mcbgmx7l71xvh5xpjrlbg17yblx0n6wlhwb4")))) (native-inputs `(("perl" ,perl) ("pkg-config" ,pkg-config) @@ -823,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/" @@ -832,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 @@ -850,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/" @@ -859,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 @@ -883,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/" @@ -892,7 +892,7 @@ recognition API for devices."))) version ".tar.xz")) (sha256 (base32 - "0w4mcxmj41b9phwirppn9ws1vxy3sww7prvhhmh0jsnaca4hwn4z")) + "07fvnjywn3hkrxfbxasmy83jr6jq9lf1grasfwij54hz6y0smg98")) (modules '((guix build utils))) (snippet '(begin @@ -934,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/" @@ -943,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 @@ -986,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/" @@ -995,7 +995,7 @@ compositor libraries."))) version ".tar.xz")) (sha256 (base32 - "0qmq3yppc54vf7xrwyrwk91h6x04w0hf4bnw5b3y5kwyllhh7vzq")))) + "07vjv3p7n7n5v15wdpi8x5sbnvyjqdh85qfzf9mz8l6ppqp2hk12")))) (native-inputs `(("perl" ,perl))) (inputs `(("qtbase" ,qtbase) @@ -1020,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/" @@ -1029,7 +1029,7 @@ interacting with serial ports from within Qt."))) version ".tar.xz")) (sha256 (base32 - "1ppmrwshj42lpx21m2gxblrlbigjf10fwg3fk5x5130ih89446q7")))) + "1bkyk1v7bcq657n88a6675lj55vl9y8v46h4kf27v58yjzgiw842")))) (inputs `(("qtbase" ,qtbase) ("qtserialport" ,qtserialport))) @@ -1041,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/" @@ -1050,7 +1050,7 @@ and others."))) version ".tar.xz")) (sha256 (base32 - "1my8vcsidx9r5wpd1iax8skhp5ac3234g9r7ax04k9z17mqd2i97")))) + "0xff3fbbpcl0kkq0rg9npj127ycirygicbkxlf0v593sjpjp5bmh")))) (native-inputs `(("perl" ,perl) ("qtdeclarative" ,qtdeclarative) @@ -1065,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/" @@ -1074,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) @@ -1100,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/" @@ -1109,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 @@ -1123,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/" @@ -1132,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 @@ -1153,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/" @@ -1162,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 @@ -1181,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/" @@ -1190,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) @@ -1205,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/" @@ -1214,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 @@ -1229,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/" @@ -1238,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 @@ -1254,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/" @@ -1263,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 @@ -1281,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/" @@ -1290,7 +1290,7 @@ coloring, and many more."))) version ".tar.xz")) (sha256 (base32 - "1cxkqnhx0baxh3csjl7ar151v0zizf86f4338rr38liwb7rwbsz1")))) + "150y7bc755l9y8w7nkg3gfw5n6rlj9hhq0ibc9g1xgllpr18qqq7")))) (native-inputs `(("perl" ,perl) ("pkg-config" ,pkg-config))) @@ -1311,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/" @@ -1320,7 +1320,7 @@ and mobile applications targeting TV-like form factors."))) version ".tar.xz")) (sha256 (base32 - "12y6ga7j6xby9rz1c9h17r9ih4i16i1ylr6b4vmrn7svidy87msk")) + "1dpvjkvwc3fj86vay8q8vzym73cix7ri2ianx87ck0gqjny51adg")) (modules '((guix build utils))) (snippet '(begin @@ -1342,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/" @@ -1351,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))) @@ -1362,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/" @@ -1371,7 +1371,7 @@ purchasing goods and services."))) version ".tar.xz")) (sha256 (base32 - "024xglrb321rp3wb3fhprw7pl6zvmpgfkpwgabbyx8p58k4yccrd")) + "0l0c1p6jwz5rygyxslfw7jw3wbd23w5n9zg04aqlh5g15qx52fmn")) (modules '((guix build utils))) (snippet '(begin @@ -1401,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/" @@ -1410,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 @@ -1428,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/" @@ -1437,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 @@ -1455,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/" @@ -1464,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) @@ -1484,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/" @@ -1493,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) @@ -1517,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/" @@ -1526,7 +1526,7 @@ processes or computers."))) version ".tar.xz")) (sha256 (base32 - "12l7rycjfa6d9gnnjd6i097pf1qqzjnz9c1jgxhpldvkf0n7pbi7")))) + "0q30m9l28zsdzdmny7wjskd2fjfrgh1l595wir6bhwhil95g3i0c")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) @@ -1560,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) diff --git a/gnu/packages/rsync.scm b/gnu/packages/rsync.scm index 7be18cb8e3..74efae753c 100644 --- a/gnu/packages/rsync.scm +++ b/gnu/packages/rsync.scm @@ -47,8 +47,10 @@ (base32 "1h0011dj6jgqpgribir4anljjv7bbrdcs8g91pbsmzf5zr75bk2m")))) (build-system gnu-build-system) - (inputs `(("perl" ,perl) - ("acl" ,acl))) + (native-inputs + `(("perl" ,perl))) + (inputs + `(("acl" ,acl))) (synopsis "Remote (and local) file copying tool") (description "Rsync is a fast and versatile file copying tool. It can copy locally, diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 238d9e3737..018b75feeb 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -2911,13 +2911,13 @@ definitions on a Ruby object.") (define-public ruby-redcarpet (package (name "ruby-redcarpet") - (version "3.4.0") + (version "3.5.0") (source (origin (method url-fetch) (uri (rubygems-uri "redcarpet" version)) (sha256 (base32 - "0h9qz2hik4s9knpmbwrzb3jcp3vc5vygp9ya8lcpl7f1l9khmcd7")))) + "0skcyx1h8b5ms0rp2zm3ql6g322b8c1adnkwkqyv7z3kypb4bm7k")))) (build-system ruby-build-system) (arguments `(#:phases @@ -4869,7 +4869,7 @@ unacceptable HTML and/or CSS from a string.") (define-public ruby-oj (package (name "ruby-oj") - (version "3.6.7") + (version "3.10.1") (source (origin (method git-fetch) @@ -4881,7 +4881,7 @@ unacceptable HTML and/or CSS from a string.") (file-name (git-file-name name version)) (sha256 (base32 - "1fqx58pwjiln7053lw2jy6ns4agcpxq2ac4f2fkd2ca3fxwpmh03")))) + "0i5xjx4sh816zx2c1a4d1q67k7vllg5jnnc4jy6zhbmwi1dvp5vw")))) (build-system ruby-build-system) (arguments '(#:test-target "test_all" @@ -5040,19 +5040,26 @@ including comments and whitespace.") (define-public ruby-unf-ext (package (name "ruby-unf-ext") - (version "0.0.7.1") + (version "0.0.7.6") (source (origin (method url-fetch) (uri (rubygems-uri "unf_ext" version)) (sha256 (base32 - "0ly2ms6c3irmbr1575ldyh52bz2v0lzzr2gagf0p526k12ld2n5b")))) + "1ll6w64ibh81qwvjx19h8nj7mngxgffg7aigjx11klvf5k2g4nxf")))) (build-system ruby-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-after 'build 'build-ext - (lambda _ (invoke "rake" "compile:unf_ext")))))) + (lambda _ (invoke "rake" "compile:unf_ext"))) + (add-before 'check 'lose-rake-compiler-dock-dependency + (lambda _ + ;; rake-compiler-dock is listed in the gemspec, but only + ;; required when cross-compiling. + (substitute* "unf_ext.gemspec" + ((".*rake-compiler-dock.*") "")) + #t))))) (native-inputs `(("bundler" ,bundler) ("ruby-rake-compiler" ,ruby-rake-compiler) @@ -6162,14 +6169,14 @@ neither too verbose nor too minimal.") (define-public ruby-sqlite3 (package (name "ruby-sqlite3") - (version "1.3.13") + (version "1.4.2") (source (origin (method url-fetch) (uri (rubygems-uri "sqlite3" version)) (sha256 (base32 - "01ifzp8nwzqppda419c9wcvr8n82ysmisrs0hph9pdmv1lpa4f5i")))) + "0lja01cp9xd5m6vmx99zwn4r7s97r1w5cb76gqd8xhbm1wxyzf78")))) (build-system ruby-build-system) (arguments `(#:phases @@ -7837,23 +7844,34 @@ features that don't exist yet like variables, nesting, mixins and inheritance.") (define-public ruby-sassc (package (name "ruby-sassc") - (version "2.0.1") + (version "2.2.1") (source (origin (method url-fetch) (uri (rubygems-uri "sassc" version)) (sha256 (base32 - "1sr4825rlwsrl7xrsm0sgalcpf5zgp4i56dbi3qxfa9lhs8r6zh4")))) + "09bnid7r5z5hcin5hykvpvv8xig27wbbckxwis60z2aaxq4j9siz")))) (build-system ruby-build-system) (arguments - '(#:phases + '(#:modules ((guix build ruby-build-system) + (guix build utils) + (ice-9 textual-ports)) + #:phases (modify-phases %standard-phases ;; TODO: This would be better as a snippet, but the ruby-build-system ;; doesn't seem to support that (add-after 'unpack 'remove-libsass (lambda _ (delete-file-recursively "ext") + (with-atomic-file-replacement "sassc.gemspec" + (lambda (in out) + (let* ((gemspec (get-string-all in)) + (index (string-contains gemspec "libsass_dir"))) + (display (string-append + (string-take gemspec index) + "\nend\n") + out)))) #t)) (add-after 'unpack 'dont-check-the-libsass-version (lambda _ @@ -7863,18 +7881,17 @@ features that don't exist yet like variables, nesting, mixins and inheritance.") (add-after 'unpack 'remove-git-from-gemspec (lambda _ (substitute* "sassc.gemspec" - (("`git ls-files -z`") "`find . -type f -print0 |sort -z`") - (("`git submodule --quiet foreach pwd`") "''")) + (("`git ls-files -z`") "`find . -type f -print0 |sort -z`")) #t)) (add-after 'unpack 'remove-extensions-from-gemspec (lambda _ (substitute* "sassc.gemspec" - (("\\[\"ext/Rakefile\"\\]") "[]")) + (("\\[\"ext/extconf.rb\"\\]") "[]")) #t)) (add-after 'unpack 'fix-Rakefile (lambda _ (substitute* "Rakefile" - (("test: 'libsass:compile'") ":test")) + (("test: 'compile:libsass'") ":test")) #t)) (add-after 'unpack 'remove-unnecessary-dependencies (lambda _ @@ -7899,6 +7916,7 @@ features that don't exist yet like variables, nesting, mixins and inheritance.") `(("libsass" ,libsass))) (native-inputs `(("bundler" ,bundler) + ("ruby-rake-compiler" ,ruby-rake-compiler) ("ruby-minitest-around" ,ruby-minitest-around) ("ruby-test-construct" ,ruby-test-construct))) (synopsis "Use libsss from Ruby") diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 8ad3c0ced4..90bd146442 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -143,21 +143,7 @@ gitignore rules.") (add-after 'configure 'unvendor-libraries-from-crates (lambda* (#:key inputs #:allow-other-keys) (let ((openssl (assoc-ref inputs "openssl"))) - (setenv "OPENSSL_DIR" openssl) - (setenv "LIBGIT2_SYS_USE_PKG_CONFIG" "1") - (setenv "LIBSSH2_SYS_USE_PKG_CONFIG" "1") - (delete-file-recursively - (string-append "guix-vendor/rust-libgit2-sys-" - ,(package-version rust-libgit2-sys-0.10) - ".crate/libgit2")) - (delete-file-recursively - (string-append "guix-vendor/rust-libssh2-sys-" - ,(package-version rust-libssh2-sys-0.2) - ".crate/libssh2")) - (delete-file-recursively - (string-append "guix-vendor/rust-libz-sys-" - ,(package-version rust-libz-sys-1.0) - ".crate/src/zlib"))) + (setenv "OPENSSL_DIR" openssl)) #t))))) (native-inputs `(("libgit2" ,libgit2) diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index 6cd875df46..d0db693e30 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -168,14 +168,14 @@ anywhere.") (define-public samba (package (name "samba") - (version "4.11.4") + (version "4.11.6") (source (origin (method url-fetch) (uri (string-append "https://download.samba.org/pub/samba/stable/" "samba-" version ".tar.gz")) (sha256 (base32 - "096vc6j36924xrjzqr6lqmf9qwgwv9szxb35rsfi0mq78nx72m5r")))) + "0f7g17zw4nzk1bjnqqrr84hkyq9vn0k7zyim2i177xkigd6qyhwi")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/scanner.scm b/gnu/packages/scanner.scm index 8e57cb20eb..d3c63f6231 100644 --- a/gnu/packages/scanner.scm +++ b/gnu/packages/scanner.scm @@ -39,16 +39,16 @@ (define-public sane-backends-minimal (package (name "sane-backends-minimal") - (version "1.0.28") + (version "1.0.29") (source (origin (method url-fetch) (uri (string-append "https://gitlab.com/sane-project/backends/uploads/" - "9e718daff347826f4cfe21126c8d5091/" + "54f858b20a364fc35d820df935a86478/" "sane-backends-" version ".tar.gz")) (sha256 (base32 - "00yy8q9hqdf0zjxxl4d8njr9zf0hhi3a9ib23ikc2anqf8zhy9ii")) + "1vd83vhl0hddwsdh2jb0k3yzycfghi2xa9lc3ga9r12rbx77n0ma")) (modules '((guix build utils))) (snippet ;; Generated HTML files and udev rules normally embed a diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index 44eab98fba..5fef20c92c 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2018 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2018, 2020 Ludovic Courtès ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; Copyright © 2015, 2016 Federico Beffa ;;; Copyright © 2016 Ricardo Wurmus @@ -637,13 +637,10 @@ threads.") ("source" ,source) ("texinfo" ,texinfo))) (arguments - `(#:modules ((guix build utils) - (srfi srfi-1) - (srfi srfi-26)) + `(#:modules ((guix build utils)) #:builder (begin (use-modules (guix build utils) - (srfi srfi-1) (srfi srfi-26)) (let ((gzip (assoc-ref %build-inputs "gzip")) (source (assoc-ref %build-inputs "source")) diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index b133227629..81393bf1a3 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018, 2019 Ricardo Wurmus ;;; Copyright © 2019 Kei Kebreau -;;; Copyright © 2019 Nicolas Goaziou +;;; Copyright © 2019, 2020 Nicolas Goaziou ;;; Copyright © 2019 Marius Bakke ;;; Copyright © 2019 Pierre Neidhardt ;;; Copyright © 2020 Timotej Lazar @@ -42,10 +42,12 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) #:use-module (gnu packages audio) + #:use-module (gnu packages autotools) #:use-module (gnu packages fcitx) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) #:use-module (gnu packages glib) + #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages ibus) #:use-module (gnu packages image) @@ -326,6 +328,54 @@ SDL.") (home-page "https://www.libsdl.org/projects/SDL_net/") (license zlib))) +(define-public sdl-pango + (package + (name "sdl-pango") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/sdlpango/SDL_Pango/" version "/" + "SDL_Pango-" version ".tar.gz")) + (sha256 + (base32 "197baw1dsg0p4pljs5k0fshbyki00r4l49m1drlpqw6ggawx6xbz")) + (patches + (search-patches + "sdl-pango-api_additions.patch" + "sdl-pango-blit_overflow.patch" + "sdl-pango-fillrect_crash.patch" + "sdl-pango-fix-explicit-SDLPango_CopyFTBitmapToSurface.patch" + "sdl-pango-matrix_declarations.patch" + "sdl-pango-sans-serif.patch")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags (list "--disable-static") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'autogen + ;; Force reconfiguration because the included libtool + ;; generates linking errors. + (lambda _ (invoke "autoreconf" "-vif")))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (inputs + `(("fontconfig" ,fontconfig) + ("freetype" ,freetype) + ("glib" ,glib) + ("harfbuzz" ,harfbuzz) + ("pango" ,pango) + ("sdl" ,sdl))) + (home-page "http://sdlpango.sourceforge.net") + (synopsis "Pango SDL binding") + (description "This library is a wrapper around the Pango library. +It allows you to use TrueType fonts to render internationalized and +tagged text in SDL applications.") + (license lgpl2.1))) + (define-public sdl-ttf (package (name "sdl-ttf") diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm index 3768695a8f..2db42240af 100644 --- a/gnu/packages/skarnet.scm +++ b/gnu/packages/skarnet.scm @@ -116,7 +116,7 @@ complexity."))) (inputs `(("skalibs" ,skalibs) ("execline" ,execline))) (arguments - '(#:configure-flags (list + `(#:configure-flags (list (string-append "--with-lib=" (assoc-ref %build-inputs "skalibs") "/lib/skalibs") @@ -126,7 +126,15 @@ complexity."))) (string-append "--with-sysdeps=" (assoc-ref %build-inputs "skalibs") "/lib/skalibs/sysdeps")) - #:tests? #f)) ; no tests exist + #:tests? #f ; no tests exist + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/s6-" ,version))) + (copy-recursively "doc" doc) + #t)))))) (home-page "https://skarnet.org/software/s6") (license isc) (synopsis "Small suite of programs for process supervision") diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index a9e17ff2e5..18ca274482 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -504,14 +504,14 @@ code for possible problems.") (define-public r-foreign (package (name "r-foreign") - (version "0.8-74") + (version "0.8-75") (source (origin (method url-fetch) (uri (cran-uri "foreign" version)) (sha256 (base32 - "047w772msiki85rxxhqkxya37gmw4331l32651rr09dl2vq02pgj")))) + "0g4mi101srjbl17ydb2hl3854m3xj0llj6861lfr30sp08nkqavl")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/foreign") (synopsis "Read data stored by other statistics software") @@ -1400,13 +1400,13 @@ emitter (http://pyyaml.org/wiki/LibYAML) for R.") (define-public r-knitr (package (name "r-knitr") - (version "1.26") + (version "1.27") (source (origin (method url-fetch) (uri (cran-uri "knitr" version)) (sha256 (base32 - "08f3bdd5cnnbigybr9vmkhq12n64pbmn4layl3w5rwk8xi5kbnrq")))) + "02nysgnx6xv0kd351s1d59yx4g0drsd9lmcgxs0rsw5f1jiycgdg")))) (build-system r-build-system) (propagated-inputs `(("r-evaluate" ,r-evaluate) @@ -1607,13 +1607,13 @@ defined in different packages.") (define-public r-rlang (package (name "r-rlang") - (version "0.4.2") + (version "0.4.3") (source (origin (method url-fetch) (uri (cran-uri "rlang" version)) (sha256 (base32 - "0fczcp17kaz3s4p0nd4126bppwl20vpxfybhsndpcky9h75wklgv")))) + "0qsqfikbsj55x5brghnkzzp7pz0japr4xnzm993f668mlls3f6i4")))) (build-system r-build-system) (home-page "http://rlang.tidyverse.org") (synopsis "Functions for base types, core R and Tidyverse features") @@ -2565,13 +2565,13 @@ well as additional utilities such as panel and axis annotation functions.") (define-public r-rcpparmadillo (package (name "r-rcpparmadillo") - (version "0.9.800.3.0") + (version "0.9.800.4.0") (source (origin (method url-fetch) (uri (cran-uri "RcppArmadillo" version)) (sha256 (base32 - "0kpcspg3mafi5kncjfhnbcwimvlf19jvrxilvhbpd20sap473mh3")))) + "1csh54v4d0ccwmk4bqj4rca1d5rqpafvb4459x3q6k9sys0charx")))) (properties `((upstream-name . "RcppArmadillo"))) (build-system r-build-system) ;; All needed for vignettes @@ -2617,13 +2617,13 @@ vectors.") (define-public r-catools (package (name "r-catools") - (version "1.17.1.4") + (version "1.18.0") (source (origin (method url-fetch) (uri (cran-uri "caTools" version)) (sha256 (base32 - "151vsfakg32jn9msfdjcizhizm8k8yxlfpnsbagns9ihr59s3w49")))) + "0y1kgyiy322yhb0phzwvf2zgjz9awp13lhzhk9v1ddg88656jhq3")))) (properties `((upstream-name . "caTools"))) (build-system r-build-system) (propagated-inputs @@ -2663,13 +2663,13 @@ certain criterion, e.g., it contains a certain regular file.") (define-public r-rmarkdown (package (name "r-rmarkdown") - (version "2.0") + (version "2.1") (source (origin (method url-fetch) (uri (cran-uri "rmarkdown" version)) (sha256 - (base32 "1bm3n17wa0pf1cq7qmwhbnn02x2pld7zzmmzjcvwy6apanch9fl7")))) + (base32 "0pa5xs0vzwn9vsgysjqbks9v5lbqphxh5agciskllibc40hhwigg")))) (properties `((upstream-name . "rmarkdown"))) (build-system r-build-system) (propagated-inputs @@ -2755,17 +2755,16 @@ that package, other packages are unaffected.") (define-public r-blob (package (name "r-blob") - (version "1.2.0") + (version "1.2.1") (source (origin (method url-fetch) (uri (cran-uri "blob" version)) (sha256 (base32 - "08z071jzac4gasgfgab0y5g3ilfmlw08ln813wphxg07hsiczw8s")))) + "1slb5mvxfyi92i8ifx2qa31hp57inilwhq1g9lzvgha6jrxbqm7g")))) (build-system r-build-system) (propagated-inputs - `(("r-prettyunits" ,r-prettyunits) - ("r-rlang" ,r-rlang) + `(("r-rlang" ,r-rlang) ("r-vctrs" ,r-vctrs))) (home-page "https://github.com/hadley/blob") (synopsis "Simple S3 Class for representing vectors of binary data") @@ -2850,13 +2849,13 @@ ldap, and also supports cookies, redirects, authentication, etc.") (define-public r-xml (package (name "r-xml") - (version "3.98-1.20") + (version "3.99-0.3") (source (origin (method url-fetch) (uri (cran-uri "XML" version)) (sha256 (base32 - "0n28m8iz1wfgixr7fjswl238c5w9kggsrw0c8hdzp859dqvqdbs6")))) + "0lzpqwajs5xaqdna50vl24qkp9xvh00zypjjzy6kgdzk11isgdw1")))) (properties `((upstream-name . "XML"))) (build-system r-build-system) @@ -3235,17 +3234,18 @@ path-wise fashion.") (define-public r-pkgmaker (package (name "r-pkgmaker") - (version "0.27") + (version "0.31") (source (origin (method url-fetch) (uri (cran-uri "pkgmaker" version)) (sha256 (base32 - "0spcamjncj78kzjps2rw4v1a4494yazv6xvhn0vmdflnypc8k8hp")))) + "0cc6v6kpwxwwh7k7zyw13wqdp0f9qzzr1a7vv02lskgii54aa4nb")))) (build-system r-build-system) (propagated-inputs - `(("r-bibtex" ,r-bibtex) + `(("r-assertthat" ,r-assertthat) + ("r-bibtex" ,r-bibtex) ("r-codetools" ,r-codetools) ("r-digest" ,r-digest) ("r-magrittr" ,r-magrittr) @@ -3284,19 +3284,17 @@ package registries.") (define-public r-rngtools (package (name "r-rngtools") - (version "1.4") + (version "1.5") (source (origin (method url-fetch) (uri (cran-uri "rngtools" version)) (sha256 (base32 - "1kivj594bn774lbn29ws2rmzy2km99sza0j3jqvhal6hwmk27a9s")))) + "0xgmg3qb6insc157as47mcm9sdjdpy9jirh7w06bxb7pfcxqfx42")))) (build-system r-build-system) (propagated-inputs - `(("r-digest" ,r-digest) - ("r-pkgmaker" ,r-pkgmaker) - ("r-stringr" ,r-stringr))) + `(("r-digest" ,r-digest))) (home-page "https://renozao.github.io/rngtools") (synopsis "Utility functions for working with random number generators") (description @@ -3714,14 +3712,14 @@ selection.") (define-public r-tidyr (package (name "r-tidyr") - (version "1.0.0") + (version "1.0.2") (source (origin (method url-fetch) (uri (cran-uri "tidyr" version)) (sha256 (base32 - "1403j0xd93l0r7qj738ryd5zc79hbcghrzybib3c3hrnaq5s78cj")))) + "0safj8bcf8libwr0jx4059bmarngvhfddrcv8k5iw39m9lpxs0r4")))) (build-system r-build-system) (propagated-inputs `(("r-dplyr" ,r-dplyr) @@ -4835,18 +4833,17 @@ analysis} (PCA) by projection pursuit.") (define-public r-rrcov (package (name "r-rrcov") - (version "1.4-9") + (version "1.5-2") (source (origin (method url-fetch) (uri (cran-uri "rrcov" version)) (sha256 (base32 - "11zvxidlb1pr2j5dzvmbjqdgsmmicsq8ppjf5wcfykfyf2fkcmz7")))) + "0m62k58nabw7hjz1qyyf9a0d6lvcz5vcvpksjnq93zcfra9inr57")))) (build-system r-build-system) (propagated-inputs - `(("r-cluster" ,r-cluster) - ("r-lattice" ,r-lattice) + `(("r-lattice" ,r-lattice) ("r-mvtnorm" ,r-mvtnorm) ("r-pcapp" ,r-pcapp) ("r-robustbase" ,r-robustbase))) @@ -4939,14 +4936,14 @@ of the points.") (define-public r-fpc (package (name "r-fpc") - (version "2.2-3") + (version "2.2-4") (source (origin (method url-fetch) (uri (cran-uri "fpc" version)) (sha256 (base32 - "1dy3pla4jjgs46izqg2kxajlxr80sbr9896jbzb1qszrdx7af041")))) + "1gsnl5sbdg86b2wdrsy6wq83xj6mrziiq7rxa8cqksgljc7gp6yf")))) (build-system r-build-system) (propagated-inputs `(("r-class" ,r-class) diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm index 0921c00b56..89dbe4578b 100644 --- a/gnu/packages/sync.scm +++ b/gnu/packages/sync.scm @@ -3,8 +3,9 @@ ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018 Ludovic Courtès -;;; Copyright © 2018, 2019 Nicolas Goaziou +;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou ;;; Copyright © 2019 Clément Lassieur +;;; Copyright © 2020 Jakub Kądziołka ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,6 +25,7 @@ (define-module (gnu packages sync) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system cmake) + #:use-module (guix build-system gnu) #:use-module (guix build-system go) #:use-module (guix build-system meson) #:use-module (guix download) @@ -31,21 +33,114 @@ #:use-module (guix packages) #:use-module (gnu packages) #:use-module (gnu packages acl) + #:use-module (gnu packages adns) + #:use-module (gnu packages autotools) #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages crypto) #:use-module (gnu packages curl) + #:use-module (gnu packages documentation) + #:use-module (gnu packages glib) #:use-module (gnu packages golang) + #:use-module (gnu packages image) #:use-module (gnu packages linux) #:use-module (gnu packages lua) + #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages qt) + #:use-module (gnu packages readline) #:use-module (gnu packages rsync) #:use-module (gnu packages selinux) #:use-module (gnu packages sphinx) #:use-module (gnu packages sqlite) #:use-module (gnu packages tls)) +(define-public megacmd + (package + (name "megacmd") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/meganz/MEGAcmd.git") + (commit (string-append version "_Linux")) + (recursive? #t))) + (sha256 + (base32 + "004j8m3xs6slx03g2g6wzr97myl2v3zc09wxnfar5c62a625pd53")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + ;; XXX: Disabling tests because they depend on libgtest.la from googletest, + ;; which is not installed for unclear reasons. + (arguments + `(#:tests? #f + #:configure-flags '("--with-pcre"))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) + (inputs + `(("c-ares" ,c-ares) + ("crypto++" ,crypto++) + ("curl" ,curl) + ("freeimage" ,freeimage) + ("gtest" ,googletest) + ("openssl" ,openssl) + ("pcre" ,pcre) + ("readline" ,readline) + ("sodium" ,libsodium) + ("sqlite3" ,sqlite) + ("zlib" ,zlib))) + (home-page "https://mega.nz/cmd") + (synopsis + "Command Line Interactive and Scriptable Application to access mega.nz") + (description "MEGAcmd provides non UI access to MEGA services. It intends +to offer all the functionality of a MEGA account via commands. It features +synchronization, backup of local folders into a MEGA account and a +webdav/streaming server. + +See also: megatools, a third-party alternative more commonly packaged in other +distributions.") + (license (list license:bsd-2 license:gpl3+)))) + +(define-public megatools + (package + (name "megatools") + (version "1.10.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://megatools.megous.com/builds/megatools-" + version ".tar.gz")) + (sha256 + (base32 + "12n32w5mqvpk0hvh9yg9qkj9i0g2wp7jp9rq28bnqs94iv3897hp")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ;; For documentation + ("asciidoc" ,asciidoc))) + (inputs + `(("curl" ,curl) + ("glib" ,glib) + ("openssl" ,openssl))) + (home-page "https://megatools.megous.com/") + (synopsis "Command line client application for mega.nz") + (description "Megatools is a collection of programs for accessing the mega.nz service +from the command line. + +Megatools allow you to copy individual files as well as entire directory trees to and from +the cloud. You can also perform streaming downloads for example to preview videos and +audio files, without needing to download the entire file first. + +Megatools are robust and optimized for fast operation - as fast as Mega servers allow. +Memory requirements and CPU utilization are kept at minimum. + +See also: megacmd, the official tool set by MEGA.") + (license license:gpl2))) + (define-public owncloud-client (package (name "owncloud-client") @@ -265,14 +360,14 @@ over the Internet in an HTTP and CDN friendly way; (define-public rclone (package (name "rclone") - (version "1.50.2") + (version "1.51.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/rclone/rclone/releases/download/" "v" version "/rclone-v" version ".tar.gz")) (sha256 - (base32 "14b0k5nb85v0mxmdpqxf8avha0wwc3f4dbj1s8h3hkaifa59kn3d")))) + (base32 "1vi7sbdr5irlgxn080nwzs9lr893cxk59y4vnannzr8prvzvgd9y")))) ;; FIXME: Rclone bundles some libraries Guix already provides. Need to ;; un-bundle them. (build-system go-build-system) diff --git a/gnu/packages/tbb.scm b/gnu/packages/tbb.scm index 5414e663f4..f04385ca1e 100644 --- a/gnu/packages/tbb.scm +++ b/gnu/packages/tbb.scm @@ -29,7 +29,7 @@ (define-public tbb (package (name "tbb") - (version "2020.0") + (version "2020.1") (source (origin (method git-fetch) (uri (git-reference @@ -38,7 +38,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "11prl038dh8gprvn5f5p16af2rgh4lr3bfyyvavgfl3jdvsj2mqh")) + "1vrh1mr9jmj46as9y8j5q1hpvihzd1iq4jr1y4x9a19dw8b7yk56")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index b5c3b69f53..dae14aee8f 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2019 Julien Lepiller ;;; Copyright © 2019 Pierre Langlois ;;; Copyright © 2019 Brett Gilio +;;; Copyright © 2020 Jakub Kądziołka ;;; ;;; This file is part of GNU Guix. ;;; @@ -138,6 +139,11 @@ configurable through a graphical wizard.") (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-xdg-open + (lambda _ + (substitute* "termite.cc" + (("xdg-open") (which "xdg-open"))) + #t)) (delete 'configure)) #:tests? #f ;; This sets the destination when installing the necessary terminal @@ -150,6 +156,7 @@ configurable through a graphical wizard.") (inputs `(("vte" ,vte-ng) ("gtk+" ,gtk+) + ("xdg-utils" ,xdg-utils) ("ncurses" ,ncurses))) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm index 04f63dafa7..acb607a7da 100644 --- a/gnu/packages/texinfo.scm +++ b/gnu/packages/texinfo.scm @@ -273,6 +273,6 @@ Texi2HTML.") "Pinfo is an Info file viewer. Pinfo is similar in use to the Lynx web browser. You just move across info nodes, and select links, follow them, etc. It supports many colors. Pinfo also supports viewing of manual pages -- they -are colorized like in the midnight commander's viewer, and additionaly they +are colorized like in the midnight commander's viewer, and additionally they are hypertextualized.") (license gpl2+))) diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index 607df4bb03..5d49d5d83d 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -61,7 +61,8 @@ #:use-module (gnu packages ruby) #:use-module (gnu packages terminals) #:use-module (gnu packages texinfo) - #:use-module (gnu packages xml)) + #:use-module (gnu packages xml) + #:use-module (gnu packages xorg)) (define-public vis (package @@ -305,6 +306,113 @@ Wordstar-, EMACS-, Pico, Nedit or vi-like key bindings. e3 can be used on OpenBSD team.") (license license:public-domain))) +(define-public qemacs + (package + (name "qemacs") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://bellard.org/qemacs/" + "qemacs-" version ".tar.gz")) + (sha256 + (base32 "156z4wpj49i6j388yjird5qvrph7hz0grb4r44l4jf3q8imadyrg")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;no test + #:phases + (modify-phases %standard-phases + (add-before 'build 'build-qhtml + ;; Build fails without first creating qHTML library. + (lambda _ (invoke "make" "-C" "libqhtml"))) + (add-before 'install 'fix-man-pages-directory + ;; Install in $out/share/man instead of $out/man. + (lambda _ + (substitute* "Makefile" + (("/man/man1" all) (string-append "/share" all))) + #t)) + (add-before 'install 'create-directories + ;; Ensure directories exist before installing files. + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (for-each (lambda (d) (mkdir-p (string-append out d))) + '("/bin" "/share/man/man1" "/share/qe")) + #t))) + (add-after 'install 'install-extra-documentation + ;; Install sample configuration file, Info, and HTML manual. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((share (string-append (assoc-ref outputs "out") "/share")) + (doc (string-append share "/doc/" ,name "-" ,version)) + (html (string-append share "/html")) + (info (string-append share "/info")) + (makeinfo (string-append (assoc-ref %build-inputs "texinfo") + "/bin/makeinfo"))) + ;; First fix Texinfo documentation, create appropriate + ;; directories, then generate Info and HTML files there. + (substitute* "qe-doc.texi" + (("^M-([{}])" _ bracket) (string-append "M-@" bracket))) + (for-each (lambda (d) (mkdir-p d)) (list html info)) + (invoke makeinfo "qe-doc.texi" "-o" info) + (invoke makeinfo "qe-doc.texi" "--html" "--no-split" "-o" html) + ;; Install sample configuration file. + (install-file "config.eg" doc) + #t)))))) + (native-inputs + `(("texinfo" ,texinfo))) + (inputs + `(("libx11" ,libx11) + ("libxext" ,libxext) + ("libxv" ,libxv))) + (home-page "https://bellard.org/qemacs/") + (synopsis "Small but powerful text editor") + (description "QEmacs (for Quick Emacs) is a very small but +powerful editor. It has features that even big editors lack: + +@itemize + +@item Full screen editor with an Emacs look and feel with all Emacs +common features: multi-buffer, multi-window, command mode, universal +argument, keyboard macros, config file with C-like syntax, minibuffer +with completion and history. + +@item Can edit files of hundreds of Megabytes without being slow by +using a highly optimized internal representation and by mmaping the +file. + +@item Full Unicode support, including multi charset handling (8859-x, +UTF8, SJIS, EUC-JP, ...) and bidirectional editing respecting the +Unicode bidi algorithm. Arabic and Indic scripts handling (in +progress). + +@item WYSIWYG HTML/XML/CSS2 mode graphical editing. Also supports +Lynx like rendering on VT100 terminals. + +@item WYSIWYG DocBook mode based on XML/CSS2 renderer. + +@item C mode: coloring with immediate update. Emacs like auto-indent. + +@item Shell mode: colorized VT100 emulation so that your shell work +exactly as you expect. Compile mode with next/prev error. + +@item Input methods for most languages, including Chinese (input +methods come from the Yudit editor). + +@item Hexadecimal editing mode with insertion and block commands. +Unicode hexa editing is also supported. + +@item Works on any VT100 terminals without termcap. UTF8 VT100 +support included with double width glyphs. + +@item X11 support. Support multiple proportional fonts at the same +time (as XEmacs). X Input methods supported. Xft extension supported +for anti aliased font display. + +@item Small! Full version (including HTML/XML/CSS2/DocBook rendering +and all charsets): 200KB big. Basic version (without bidir/unicode +scripts/input/X11/C/Shell/HTML/Dired): 49KB. +@end itemize") + (license license:lgpl2.1+))) + (define-public ghostwriter (package (name "ghostwriter") @@ -360,7 +468,7 @@ environment with Markdown markup.") (define-public manuskript (package (name "manuskript") - (version "0.10.0") + (version "0.11.0") (source (origin (method git-fetch) @@ -369,7 +477,7 @@ environment with Markdown markup.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0q413vym7hzjpyg3krj5y63hwpncdifjkyswqmr76zg5yqnklnh3")))) + (base32 "1l6l9k6k69yv8xqpll0zv9cwdqqg4zvxy90l6sx5nv2yywh5crla")))) (build-system python-build-system) (arguments `(#:tests? #f ;no test @@ -549,15 +657,14 @@ and Octave. TeXmacs is completely extensible via Guile.") (define-public scintilla (package (name "scintilla") - (version "4.2.2") - (source (origin - (method url-fetch) - (uri (let ((v (apply string-append (string-split version #\.)))) - (string-append - "https://www.scintilla.org/scintilla" v ".tgz"))) - (sha256 - (base32 - "01gq31ggvasw4sy9xs544h7v1dmxrlxs5bzxpasqb9yi3ps3nl0f")))) + (version "4.3.0") + (source + (origin + (method url-fetch) + (uri (let ((v (apply string-append (string-split version #\.)))) + (string-append "https://www.scintilla.org/scintilla" v ".tgz"))) + (sha256 + (base32 "0c52b2wg0y55kv3w7rnzp0nbd1yn2kksy0w8bjdp3gkl0v28wwx5")))) (build-system gnu-build-system) (arguments `(#:make-flags (list "GTK3=1" "CC=gcc" "-Cgtk") diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 925165dfbe..c7fb38f468 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -123,15 +123,15 @@ in intelligent transportation networks.") (define-public p11-kit (package (name "p11-kit") - (version "0.23.18.1") + (version "0.23.20") (source (origin (method url-fetch) (uri (string-append "https://github.com/p11-glue/p11-kit/releases/" - "download/" version "/p11-kit-" version ".tar.gz")) + "download/" version "/p11-kit-" version ".tar.xz")) (sha256 (base32 - "0vrwab1082f7l5sbzpb28nrs3q4d2q7wzbi8c977rpah026bvhrl")))) + "0131maw666ha4d6iyj13fkz18c4pnb3lw2xwv5kvkmnzqcj61n0l")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -865,7 +865,7 @@ then ported to the GNU / Linux environment.") (define-public mbedtls-apache (package (name "mbedtls-apache") - (version "2.16.3") + (version "2.16.4") (source (origin (method url-fetch) @@ -875,11 +875,12 @@ then ported to the GNU / Linux environment.") version "-apache.tgz")) (sha256 (base32 - "0qd65lnr63vmx2gxla6lcmm5gawlnaj4wy4h4vmdc3h9h9nyw6zc")))) + "1yxj5wahaj87xhdi89zbk78ig77b166h464yrj5gb3lwv8mz6h9l")))) (build-system cmake-build-system) (arguments `(#:configure-flags - (list "-DUSE_SHARED_MBEDTLS_LIBRARY=ON"))) + (list "-DUSE_SHARED_MBEDTLS_LIBRARY=ON" + "-DUSE_STATIC_MBEDTLS_LIBRARY=OFF"))) (native-inputs `(("perl" ,perl) ("python" ,python))) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 370994c9d6..d4a48bb503 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014, 2015, 2016 David Thompson ;;; Copyright © 2014, 2015, 2016, 2018 Mark H Weaver ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer -;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner ;;; Copyright © 2015 Andy Patterson ;;; Copyright © 2015, 2018, 2019 Ricardo Wurmus ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Alex Vong @@ -23,7 +23,7 @@ ;;; Copyright © 2017 Gregor Giesen ;;; Copyright © 2017, 2018, 2019 Rutger Helling ;;; Copyright © 2018 Roel Janssen -;;; Copyright © 2018, 2019 Marius Bakke +;;; Copyright © 2018, 2019, 2020 Marius Bakke ;;; Copyright © 2018, 2019 Pierre Neidhardt ;;; Copyright © 2018, 2019 Leo Famulari ;;; Copyright © 2018 Brendan Tildesley @@ -337,52 +337,59 @@ a shared library and encoder and decoder command-line executables.") (license license:gpl2+))) (define-public libx264 - (package - (name "libx264") - (version "20180810-2245") - (source (origin - (method url-fetch) - (uri (string-append "https://download.videolan.org/pub/x264/snapshots/" - "x264-snapshot-" version "-stable.tar.bz2")) - (sha256 - (base32 - "0f25f39imas9pcqm7lnaa0shhjmf42hdx7jxzcnvxc7qsb7lh1bv")))) - (build-system gnu-build-system) - (native-inputs - `(("pkg-config" ,pkg-config) - ("nasm" ,nasm))) - ;; TODO: Add gpac input - (arguments - `(#:tests? #f ;no check target - #:configure-flags '("--enable-shared" - ;; Don't build the command-line program. If we - ;; want it later, we should do so in a different - ;; package to avoid a circular dependency (the x264 - ;; program depends on ffmpeg and ffmpeg depends on - ;; libx264). - "--disable-cli" + ;; There are no tags in the repository, so we take the version number from + ;; the X264_BUILD variable defined in x264.h. + (let ((version "159") + (commit "1771b556ee45207f8711744ccbd5d42a3949b14c") + (revision "0")) + (package + (name "libx264") + (version (git-version version revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://code.videolan.org/videolan/x264.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0kmi78gs5101d4df33il5bmjbns54nvdjsyn44xiw60lwsg11vwz")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("nasm" ,nasm))) + ;; TODO: Add gpac input + (arguments + `(#:tests? #f ;no check target + #:configure-flags '("--enable-shared" + ;; Don't build the command-line program. If we + ;; want it later, we should do so in a different + ;; package to avoid a circular dependency (the x264 + ;; program depends on ffmpeg and ffmpeg depends on + ;; libx264). + "--disable-cli" - ;; On MIPS, we must pass "--disable-asm" or else - ;; configure fails after printing: "You specified a - ;; pre-MSA CPU in your CFLAGS. If you really want - ;; to run on such a CPU, configure with - ;; --disable-asm." - ,@(if (string-prefix? "mips" - (or (%current-target-system) - (%current-system))) - '("--disable-asm") - '())))) - (home-page "https://www.videolan.org/developers/x264.html") - (synopsis "H.264 video coding library") - (description "libx264 is an advanced encoding library for creating + ;; On MIPS, we must pass "--disable-asm" or else + ;; configure fails after printing: "You specified a + ;; pre-MSA CPU in your CFLAGS. If you really want + ;; to run on such a CPU, configure with + ;; --disable-asm." + ,@(if (string-prefix? "mips" + (or (%current-target-system) + (%current-system))) + '("--disable-asm") + '())))) + (home-page "https://www.videolan.org/developers/x264.html") + (synopsis "H.264 video coding library") + (description "libx264 is an advanced encoding library for creating H.264 (MPEG-4 AVC) video streams.") - (license (list license:gpl2+ ;most files - license:isc ;common/x86/x86inc.asm - license:lgpl2.1+ ;extras/getopt.c - license:bsd-3 ;extras/inttypes.h - (license:non-copyleft ;extras/cl*.h - "file://extras/cl.h" - "See extras/cl.h in the distribution."))))) + (license (list license:gpl2+ ;most files + license:isc ;common/x86/x86inc.asm + license:lgpl2.1+ ;extras/getopt.c + license:bsd-3 ;extras/inttypes.h + (license:non-copyleft ;extras/cl*.h + "file://extras/cl.h" + "See extras/cl.h in the distribution.")))))) (define-public mkvtoolnix (package @@ -1349,7 +1356,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") (define-public mpv (package (name "mpv") - (version "0.31.0") + (version "0.32.0") (source (origin (method git-fetch) (uri (git-reference @@ -1358,7 +1365,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") (file-name (git-file-name name version)) (sha256 (base32 - "138m09l4wi6ifbi15z76j578plmxkclhlzfryasfcdp8hswhs59r")))) + "0kmy1q0hp87vq4rpv7py04x8bpg1wmlzaibavmkf713jqp6qy596")))) (build-system waf-build-system) (native-inputs `(("perl" ,perl) ; for zsh completion file @@ -1543,7 +1550,7 @@ To load this plugin, specify the following option when starting mpv: (define-public youtube-dl (package (name "youtube-dl") - (version "2020.01.15") + (version "2020.01.24") (source (origin (method url-fetch) (uri (string-append "https://github.com/ytdl-org/youtube-dl/" @@ -1551,7 +1558,7 @@ To load this plugin, specify the following option when starting mpv: version ".tar.gz")) (sha256 (base32 - "0dyjc8nxyg9ry2ylmblh3fwavpais3mdfj6ndw4i0yc2vkw12rsm")))) + "1zrnbjnwv315f9a83lk5c0gl4ianvp6q2kinxvqlv604sabcq78b")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index 9331959cb3..f130ae4392 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Cyril Roelandt -;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner ;;; Copyright © 2016, 2017 ng0 ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2017 Marius Bakke @@ -501,7 +501,7 @@ trouble using them, because you do not have to remember each snippet name.") (define-public vim-fugitive (package (name "vim-fugitive") - (version "3.1") + (version "3.2") (source (origin (method git-fetch) @@ -511,7 +511,7 @@ trouble using them, because you do not have to remember each snippet name.") (file-name (git-file-name name version)) (sha256 (base32 - "0d9jhmidmy5c60iy9x47gqr675n5wp9wrzln83r8ima1fz7vvbgs")))) + "1jbn5jxadccmcz01j94d0i1bp74cixr0fpxxf1h0aqdf1ljk3d7n")))) (build-system gnu-build-system) (arguments '(#:tests? #f @@ -938,3 +938,37 @@ through its msgpack-rpc API.") (define-public python2-pynvim (package-with-python2 python-pynvim)) + +(define-public vim-guix-vim + (package + (name "vim-guix-vim") + (version "0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/Efraim/guix.vim") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1f8h8m96fqh3f9hy87spgh9kdqzyxl11n9s3rywvyq5xhn489bnk")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (vimfiles (string-append out "/share/vim/vimfiles"))) + (for-each + (lambda (dir) + (copy-recursively dir (string-append vimfiles "/" dir))) + '("compiler" "doc" "indent" "ftdetect" "ftplugin" "syntax")) + #t)))))) + (home-page "https://gitlab.com/Efraim/guix.vim") + (synopsis "Guix integration in Vim") + (description "This package provides support for GNU Guix in Vim.") + (license license:vim))) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index ab1e6df6b1..60bbe8244c 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -75,6 +75,7 @@ #:use-module (gnu packages pulseaudio) #:use-module (gnu packages selinux) #:use-module (gnu packages sdl) + #:use-module (gnu packages sphinx) #:use-module (gnu packages spice) #:use-module (gnu packages texinfo) #:use-module (gnu packages textutils) @@ -109,20 +110,24 @@ (define-public qemu (package (name "qemu") - (version "4.1.1") + (version "4.2.0") (source (origin (method url-fetch) (uri (string-append "https://download.qemu.org/qemu-" version ".tar.xz")) + (patches (search-patches "qemu-CVE-2020-7039.patch" + "qemu-CVE-2020-7211.patch" + "qemu-fix-documentation-build-failure.patch")) (sha256 (base32 - "1lm1jndfpc5sydwrxyiz5sms414zkcg9jdl0zx318qbjsayxnvzd")))) + "1w38hzlw7xp05gcq1nhga7hxvndxy6dfcnzi7q2il8ff110isj6k")))) (build-system gnu-build-system) (arguments '(;; Running tests in parallel can occasionally lead to failures, like: ;; boot_sector_test: assertion failed (signature == SIGNATURE): (0x00000000 == 0x0000dead) #:parallel-tests? #f #:configure-flags (list "--enable-usb-redir" "--enable-opengl" + "--enable-docs" (string-append "--smbd=" (assoc-ref %outputs "out") "/libexec/samba-wrapper") @@ -232,6 +237,7 @@ exec smbd $@"))) ("bison" ,bison) ("pkg-config" ,pkg-config) ("python-wrapper" ,python-wrapper) + ("python-sphinx" ,python-sphinx) ("texinfo" ,texinfo))) (home-page "https://www.qemu.org") (synopsis "Machine emulator and virtualizer") @@ -293,7 +299,7 @@ server and embedded PowerPC, and S390 guests.") ;; qemu-minimal-2.10 needs Python 2. Remove below once no longer necessary. (native-inputs `(("python-2" ,python-2) ,@(fold alist-delete (package-native-inputs qemu) - '("python-wrapper")))) + '("python-wrapper" "python-sphinx")))) (inputs (fold alist-delete (package-inputs qemu) ;; Disable seccomp support, because it's not required for the GRUB diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 00387ed899..2336555829 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -38,6 +38,7 @@ ;;; Copyright © 2019 Mathieu Othacehe ;;; Copyright © 2019 Pierre-Moana Levesque ;;; Copyright © 2019 Florian Pelz +;;; Copyright © 2020 Timotej Lazar ;;; ;;; This file is part of GNU Guix. ;;; @@ -108,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) @@ -831,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") @@ -1097,6 +1143,36 @@ implementation that is simple, portable, flexible, lightweight, low level, and high performance.") (license license:bsd-3))) +(define-public wslay + (package + (name "wslay") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tatsuhiro-t/wslay.git") + (commit (string-append "release-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ak9a6hsanhys40yhv7c2gqkfghpm6jx36j1pnml8ajvgaky5q98")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("cunit" ,cunit) ; For tests. + ("libtool" ,libtool) + ("pkg-config" ,pkg-config) + ("python-sphinx" ,python-sphinx))) + (home-page "https://tatsuhiro-t.github.io/wslay/") + (synopsis "C WebSocket library") + (description "@code{Wslay} is an event-based C library for the WebSocket +protocol version 13, described in RFC 6455. Besides a high-level API it +provides callbacks for sending and receiving frames directly. @code{Wslay} +only supports the data transfer part of WebSocket protocol and does not +perform the opening handshake in HTTP.") + (license license:expat))) + (define-public libpsl (package (name "libpsl") @@ -5030,21 +5106,20 @@ w3c webidl files and a binding configuration file.") (delete 'configure) (add-after 'build 'adjust-welcome (lambda _ - ;; First, fix some unended tags and simple substitutions (substitute* "frontends/gtk/res/welcome.html" + ;; Close some XHTML tags. (("<(img|input)([^>]*)>" _ tag contents) (string-append "<" tag contents " />")) - (("Licence") "License") ;prefer GNU spelling + ;; Increase freedom. ((" open source") ", free software") - (("web site") "website") - ;; Prefer privacy-respecting default search engine + ;; Prefer a more privacy-respecting default search engine. (("www.google.co.uk") "www.duckduckgo.com/html") (("Google Search") "DuckDuckGo Search") (("name=\"btnG\"") "")) - ;; Remove default links so it doesn't seem we're endorsing them + ;; Remove default links so it doesn't seem we're endorsing them. (with-atomic-file-replacement "frontends/gtk/res/welcome.html" (lambda (in out) - ;; Leave the DOCTYPE header as is + ;; Leave the DOCTYPE header as is. (display (read-line in 'concat) out) (sxml->xml (let rec ((sxml (xml->sxml in))) diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index 3d367aa54f..b3a87e798a 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -121,7 +121,7 @@ engine that uses Wayland for graphics output.") (define-public webkitgtk (package (name "webkitgtk") - (version "2.26.2") + (version "2.26.3") (source (origin (method url-fetch) (uri (string-append "https://www.webkitgtk.org/releases/" @@ -129,7 +129,7 @@ engine that uses Wayland for graphics output.") (patches (search-patches "webkitgtk-icu-65.patch")) (sha256 (base32 - "04k5h0sid9azsqz9pyq436v1rx4lnfrhvmcgmicqb0c0g9iz103b")))) + "04g6y0sv04d20bw401myq3k828ikysjhx383ly81vh9wji9i3mdd")))) (build-system cmake-build-system) (outputs '("out" "doc")) (arguments diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index 0700fdce20..f5b879ae36 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016 Ricardo Wurmus ;;; Copyright © 2016, 2017, 2018 Efraim Flashner ;;; Copyright © 2017, 2018, 2019 Rutger Helling -;;; Copyright © 2017 Nicolas Goaziou +;;; Copyright © 2017, 2020 Nicolas Goaziou ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2019 Pierre Neidhardt ;;; @@ -76,15 +76,15 @@ (define-public wine (package (name "wine") - (version "4.0.3") - (source (origin - (method url-fetch) - (uri (string-append "https://dl.winehq.org/wine/source/" - (version-major+minor version) - "/wine-" version ".tar.xz")) - (sha256 - (base32 - "1nhgw1wm613ln9dhjm0d03zs5adcmnqr2b50p21jbmm5k2gns0i5")))) + (version "5.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://dl.winehq.org/wine/source/" + (version-major+minor version) + "/wine-" version ".tar.xz")) + (sha256 + (base32 "1d0kcy338radq07hrnzcpc9lc9j2fvzjh37q673002x8d6x5058q")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("gettext" ,gettext-minimal) @@ -96,6 +96,7 @@ ("dbus" ,dbus) ("cups" ,cups) ("eudev" ,eudev) + ("faudio" ,faudio) ("fontconfig" ,fontconfig) ("freetype" ,freetype) ("glu" ,glu) @@ -322,7 +323,7 @@ integrate Windows applications into your desktop.") (define-public wine-staging-patchset-data (package (name "wine-staging-patchset-data") - (version "4.18") + (version "5.0") (source (origin (method git-fetch) @@ -331,7 +332,7 @@ integrate Windows applications into your desktop.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "03z0haf47mpm2aj9cji3wma4jy6j12wz10kkbgmbgrkkrc5lcqc2")))) + (base32 "054m2glvav29qnlgr3p36kahyv3kbxzba82djzqpc7cmsrin0d3f")))) (build-system trivial-build-system) (native-inputs `(("bash" ,bash) @@ -368,18 +369,21 @@ integrate Windows applications into your desktop.") (inherit wine) (name "wine-staging") (version (package-version wine-staging-patchset-data)) - (source (origin - (method url-fetch) - (uri (string-append - "https://dl.winehq.org/wine/source/" - (version-major version) ".x" - "/wine-" version ".tar.xz")) - (file-name (string-append name "-" version ".tar.xz")) - (sha256 - (base32 - "0chf6vdy41kg75liibkb862442zwi8dbjzf6l5arcy2z4580a2yi")))) - (inputs `(("autoconf" ,autoconf) ; for autoreconf - ("faudio" ,faudio) + (source + (origin + (method url-fetch) + (uri (let ((dir (string-append + (version-major version) + (if (string-suffix? ".0" (version-major+minor version)) + ".0" + ".x")))) + (string-append + "https://dl.winehq.org/wine/source/" dir + "/wine-" version ".tar.xz"))) + (file-name (string-append name "-" version ".tar.xz")) + (sha256 + (base32 "1d0kcy338radq07hrnzcpc9lc9j2fvzjh37q673002x8d6x5058q")))) + (inputs `(("autoconf" ,autoconf) ; for autoreconf ("ffmpeg" ,ffmpeg) ("gtk+" ,gtk+) ("libva" ,libva) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index bdab1fbe08..5d8cac61dd 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -30,6 +30,8 @@ ;;; Copyright © 2019 Josh Holland ;;; Copyright © 2019 Tanguy Le Carrour ;;; Copyright © 2020 Guillaume Le Vaillant +;;; Copyright © 2020 David Wilson +;;; Copyright © 2020 Ivan Vilata i Balaguer ;;; ;;; This file is part of GNU Guix. ;;; @@ -57,6 +59,7 @@ #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system meson) #:use-module (guix build-system python) + #:use-module (guix build-system scons) #:use-module (gnu packages) #:use-module (gnu packages documentation) #:use-module (gnu packages admin) @@ -2007,3 +2010,104 @@ The cutbuffer and clipboard selection are always synchronized.") can optionally use some appearance settings from XSettings, tint2 and GTK.") (home-page "https://jgmenu.github.io/") (license license:gpl2))) + +(define-public xwrits + (package + (name "xwrits") + (version "2.26") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.lcdf.org/~eddietwo/xwrits/" + "xwrits-" version ".tar.gz")) + (sha256 + (base32 "1n7y0fqpcvmzznvbsn14hzy5ddaa3lilm8aw6ckscqndnh4lijma")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'install-docs + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/xwrits"))) + (install-file "GESTURES" doc) + (install-file "README" doc) + #t)))))) + (inputs + `(("libx11" ,libx11) + ("libxinerama" ,libxinerama))) + (home-page "https://www.lcdf.org/~eddietwo/xwrits/") + (synopsis "Reminds you to take wrist breaks") + (description "Xwrits reminds you to take wrist breaks for prevention or +management of repetitive stress injuries. When you should take a break, it +pops up an X window, the warning window. You click on the warning window, +then take a break. The window changes appearance while you take the break. +It changes again when your break is over. Then you just resume typing. +Xwrits hides itself until you should take another break.") + (license license:gpl2))) + +(define-public xsettingsd + (package + (name "xsettingsd") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/derat/xsettingsd.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "05m4jlw0mgwp24cvyklncpziq1prr2lg0cq9c055sh4n9d93d07v")))) + (build-system scons-build-system) + (inputs + `(("libx11" ,libx11))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("googletest" ,googletest) + ("googletest-source" ,(package-source googletest)))) + (arguments + `(#:scons ,scons-python2 + #:scons-flags + (list "CC=gcc") + #:phases + (modify-phases %standard-phases + (add-before 'build 'patch-sconstruct + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "SConstruct" + ;; scons doesn't pick up environment variables automatically + ;; so it needs help to find path variables + (("env = Environment\\(") + "env = Environment( + ENV = { + 'PATH': os.environ['PATH'], + 'CPATH': os.environ['CPATH'], + 'LIBRARY_PATH': os.environ['LIBRARY_PATH'], + 'PKG_CONFIG_PATH': os.environ['PKG_CONFIG_PATH'] + },") + ;; Update path to gtest source files used in tests + (("/usr/src/gtest") (string-append + (assoc-ref inputs "googletest-source") + "/googletest")) + ;; Exclude one warning that causes a build error + (("-Werror") "-Werror -Wno-error=sign-compare")) + #t)) + ;; The SConstruct script doesn't configure installation so + ;; binaries must be copied to the output path directly + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (mkdir-p bin) + (install-file "xsettingsd" bin) + (install-file "dump_xsettings" bin) + #t)))))) + (home-page "https://github.com/derat/xsettingsd") + (synopsis "Xorg settings daemon") + (description "@command{xsettingsd} is a lightweight daemon that provides settings to +Xorg applications via the XSETTINGS specification. It is used for defining +font and theme settings when a complete desktop environment (GNOME, KDE) is +not running. With a simple @file{.xsettingsd} configuration file one can avoid +configuring visual settings in different UI toolkits separately.") + (license license:bsd-3))) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index da3964b961..b93ca0077b 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -2044,14 +2044,14 @@ modular implementation of XML-RPC for C and C++.") (define-public python-elementpath (package (name "python-elementpath") - (version "1.3.3") + (version "1.4.0") (source (origin (method url-fetch) (uri (pypi-uri "elementpath" version)) (sha256 (base32 - "1rb8892zli74wk1c4hyg77ja9wglq9hplgxwak1rmj3s9p6xnf0p")))) + "15h7d41v48q31hzjay7qzixdv531hnga3h35hksk7x52pgqcrkz7")))) (build-system python-build-system) (home-page "https://github.com/sissaschool/elementpath") @@ -2098,13 +2098,17 @@ libxml2 and libxslt.") (define-public python-xmlschema (package (name "python-xmlschema") - (version "1.0.18") + (version "1.1.0") (source (origin - (method url-fetch) - (uri (pypi-uri "xmlschema" version)) + ;; Unit tests are not distributed with the PyPI archive. + (method git-fetch) + (uri (git-reference + (url "https://github.com/sissaschool/xmlschema") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1inwqwr7d3qah9xf9rfzkpva433jpr4n7n43zybf2gdpz4q1g0ry")))) + "1h8321jb6q3dhlh3608y3f3sbbzfd3jg1psyirxkrm4w5xs3lbvy")))) (build-system python-build-system) (arguments '(#:phases @@ -2116,7 +2120,7 @@ libxml2 and libxslt.") (setenv "PYTHONPATH" (string-append "./build/lib:" (getenv "PYTHONPATH"))) - (invoke "python" "xmlschema/tests/test_all.py")) + (invoke "python" "-m" "unittest" "-v")) (format #t "test suite not run~%")) #t))))) (native-inputs diff --git a/gnu/services/getmail.scm b/gnu/services/getmail.scm index 7d77888517..933d820bc5 100644 --- a/gnu/services/getmail.scm +++ b/gnu/services/getmail.scm @@ -112,7 +112,7 @@ @samp{passwd} and @samp{static}.") (server (string 'unset) - "Name or IP adddress of the server to retrieve mail from.") + "Name or IP address of the server to retrieve mail from.") (username (string 'unset) "Username to login to the mail server with.") diff --git a/gnu/services/linux.scm b/gnu/services/linux.scm new file mode 100644 index 0000000000..caa0326c31 --- /dev/null +++ b/gnu/services/linux.scm @@ -0,0 +1,125 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020 Maxim Cournoyer +;;; +;;; 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 . + +(define-module (gnu services linux) + #:use-module (guix gexp) + #:use-module (guix records) + #:use-module (guix modules) + #:use-module (gnu services) + #:use-module (gnu services shepherd) + #:use-module (gnu packages linux) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) + #:use-module (ice-9 match) + #:export (earlyoom-configuration + earlyoom-configuration? + earlyoom-configuration-earlyoom + earlyoom-configuration-minimum-available-memory + earlyoom-configuration-minimum-free-swap + earlyoom-configuration-prefer-regexp + earlyoom-configuration-avoid-regexp + earlyoom-configuration-memory-report-interval + earlyoom-configuration-ignore-positive-oom-score-adj? + earlyoom-configuration-show-debug-messages? + earlyoom-configuration-send-notification-command + earlyoom-service-type)) + + +;;; +;;; Early OOM daemon. +;;; + +(define-record-type* + earlyoom-configuration make-earlyoom-configuration + earlyoom-configuration? + (earlyoom earlyoom-configuration-earlyoom + (default earlyoom)) + (minimum-available-memory earlyoom-configuration-minimum-available-memory + (default 10)) ; in percent + (minimum-free-swap earlyoom-configuration-minimum-free-swap + (default 10)) ; in percent + (prefer-regexp earlyoom-configuration-prefer-regexp ; + (default #f)) + (avoid-regexp earlyoom-configuration-avoid-regexp ; + (default #f)) + (memory-report-interval earlyoom-configuration-memory-report-interval + (default 0)) ; in seconds; 0 means disabled + (ignore-positive-oom-score-adj? + earlyoom-configuration-ignore-positive-oom-score-adj? (default #f)) + (run-with-higher-priority? earlyoom-configuration-run-with-higher-priority? + (default #f)) + (show-debug-messages? earlyoom-configuration-show-debug-messages? + (default #f)) + (send-notification-command + earlyoom-configuration-send-notification-command ; + (default #f))) + +(define (earlyoom-configuration->command-line-args config) + "Translate a object to its command line arguments +representation." + (match config + (($ earlyoom minimum-available-memory + minimum-free-swap prefer-regexp avoid-regexp + memory-report-interval + ignore-positive-oom-score-adj? + run-with-higher-priority? show-debug-messages? + send-notification-command) + `(,(file-append earlyoom "/bin/earlyoom") + ,@(if minimum-available-memory + (list "-m" (format #f "~s" minimum-available-memory)) + '()) + ,@(if minimum-free-swap + (list "-s" (format #f "~s" minimum-free-swap)) + '()) + ,@(if prefer-regexp + (list "--prefer" prefer-regexp) + '()) + ,@(if avoid-regexp + (list "--avoid" avoid-regexp) + '()) + "-r" ,(format #f "~s" memory-report-interval) + ,@(if ignore-positive-oom-score-adj? + (list "-i") + '()) + ,@(if run-with-higher-priority? + (list "-p") + '()) + ,@(if show-debug-messages? + (list "-d") + '()) + ,@(if send-notification-command + (list "-N" send-notification-command) + '()))))) + +(define (earlyoom-shepherd-service config) + (shepherd-service + (documentation "Run the Early OOM daemon.") + (provision '(earlyoom)) + (start #~(make-forkexec-constructor + '#$(earlyoom-configuration->command-line-args config) + #:log-file "/var/log/earlyoom.log")) + (stop #~(make-kill-destructor)))) + +(define earlyoom-service-type + (service-type + (name 'earlyoom) + (default-value (earlyoom-configuration)) + (extensions + (list (service-extension shepherd-root-service-type + (compose list earlyoom-shepherd-service)))) + (description "Run @command{earlyoom}, the Early OOM daemon."))) diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm index 2606aa9e3e..d97316512f 100644 --- a/gnu/services/mail.scm +++ b/gnu/services/mail.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015 Andy Wingo ;;; Copyright © 2017, 2018 Clément Lassieur ;;; Copyright © 2017 Carlo Zancanaro -;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2019 Kristofer Buffington ;;; ;;; This file is part of GNU Guix. @@ -1621,8 +1621,12 @@ by @code{dovecot-configuration}. @var{config} may also be created by (define %default-opensmtpd-config-file (plain-file "smtpd.conf" " listen on lo -accept from any for local deliver to mbox -accept from local for any relay + +action inbound mbox +match for local action inbound + +action outbound relay +match from local for any action outbound ")) (define opensmtpd-shepherd-service diff --git a/gnu/services/pm.scm b/gnu/services/pm.scm index 1e01b5059d..256c6a7fa7 100644 --- a/gnu/services/pm.scm +++ b/gnu/services/pm.scm @@ -388,7 +388,7 @@ shutdown on system startup.")) (with-imported-modules '((guix build utils)) #~(begin (use-modules (guix build utils)) - (copy-file #$config-file "/etc/tlp"))))) + (copy-file #$config-file "/etc/tlp.conf"))))) (define tlp-service-type (service-type diff --git a/gnu/services/spice.scm b/gnu/services/spice.scm index 2f9dfd57ac..8a835fe78e 100644 --- a/gnu/services/spice.scm +++ b/gnu/services/spice.scm @@ -72,7 +72,7 @@ (define* (spice-vdagent-service #:optional (config (spice-vdagent-configuration))) - "Start the @command{vdagentd} and @command{vdagent} deamons + "Start the @command{vdagentd} and @command{vdagent} daemons from @var{spice-vdagent} to enable guest window resizing and clipboard sharing." (service spice-vdagent-service-type config)) diff --git a/gnu/services/virtualization.scm b/gnu/services/virtualization.scm index 2cd4e5e89c..d473c5342e 100644 --- a/gnu/services/virtualization.scm +++ b/gnu/services/virtualization.scm @@ -627,6 +627,16 @@ potential infinite waits blocking libvirt.")) (bv "\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00") (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"))) +(define %riscv32 + (qemu-platform "riscv32" "riscv" + (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf3\x00") + (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"))) + +(define %riscv64 + (qemu-platform "riscv64" "riscv" + (bv "\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf3\x00") + (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"))) + (define %sh4 (qemu-platform "sh4" "sh4" (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a\x00") @@ -655,7 +665,7 @@ potential infinite waits blocking libvirt.")) (define %qemu-platforms (list %i386 %i486 %alpha %arm %sparc32plus %ppc %ppc64 %ppc64le %m68k %mips %mipsel %mipsn32 %mipsn32el %mips64 %mips64el - %sh4 %sh4eb %s390x %aarch64 %hppa)) + %riscv32 %riscv64 %sh4 %sh4eb %s390x %aarch64 %hppa)) (define (lookup-qemu-platforms . names) "Return the list of QEMU platforms that match NAMES--a list of names such as diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index 9c84f7413f..73a32e4b02 100644 --- a/gnu/services/xorg.scm +++ b/gnu/services/xorg.scm @@ -862,7 +862,12 @@ the GNOME desktop environment.") "#TimedLoginEnable=false\n" "#TimedLogin=\n" "#TimedLoginDelay=0\n" - "#InitialSetupEnable=true\n" + ;; Disable initial system setup inside GDM. + ;; Whatever settings are set there should already be + ;; taken care of through `guix system'. + ;; See also + ;; . + "InitialSetupEnable=false\n" ;; Enable me once X is working. "WaylandEnable=false\n" "\n" diff --git a/gnu/tests/mail.scm b/gnu/tests/mail.scm index bb446da8f9..023f59df10 100644 --- a/gnu/tests/mail.scm +++ b/gnu/tests/mail.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2018 Oleg Pykhalov ;;; Copyright © 2018 Clément Lassieur ;;; Copyright © 2019 Christopher Baines -;;; Copyright © 2019 Tobias Geerinckx-Rice +;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -47,7 +47,8 @@ (config-file (plain-file "smtpd.conf" " listen on 0.0.0.0 -accept from any for local deliver to mbox +action inbound mbox +match from any for local action inbound ")))))) (define (run-opensmtpd-test) diff --git a/guix/build-system/ocaml.scm b/guix/build-system/ocaml.scm index de3e71a5aa..c5996bf0cf 100644 --- a/guix/build-system/ocaml.scm +++ b/guix/build-system/ocaml.scm @@ -92,7 +92,11 @@ (let ((module (resolve-interface '(gnu packages ocaml)))) (module-ref module 'ocaml4.07-findlib))) -(define* (package-with-explicit-ocaml ocaml findlib old-prefix new-prefix +(define (default-ocaml4.07-dune) + (let ((module (resolve-interface '(gnu packages ocaml)))) + (module-ref module 'ocaml4.07-dune))) + +(define* (package-with-explicit-ocaml ocaml findlib dune old-prefix new-prefix #:key variant-property) "Return a procedure of one argument, P. The procedure creates a package with the same fields as P, which is assumed to use OCAML-BUILD-SYSTEM, such @@ -100,6 +104,10 @@ that it is compiled with OCAML and FINDLIB instead. The inputs are changed recursively accordingly. If the name of P starts with OLD-PREFIX, this is replaced by NEW-PREFIX; otherwise, NEW-PREFIX is prepended to the name. +When the package uses the DUNE-BUILD-SYSTEM, the procedure creates a package +with the same fields as P, such that it is compiled with OCAML, FINDLIB and DUNE +instead. + When VARIANT-PROPERTY is present, it is used as a key to search for pre-defined variants of this transformation recorded in the 'properties' field of packages. The property value must be the promise of a package. This is a @@ -132,10 +140,15 @@ pre-defined variants." name)))) (arguments (let ((ocaml (if (promise? ocaml) (force ocaml) ocaml)) - (findlib (if (promise? findlib) (force findlib) findlib))) + (findlib (if (promise? findlib) (force findlib) findlib)) + (dune (if (promise? dune) (force dune) dune))) (ensure-keyword-arguments (package-arguments p) `(#:ocaml ,ocaml - #:findlib ,findlib)))))) + #:findlib ,findlib + ,@(if (eq? (package-build-system p) + (default-dune-build-system)) + `(#:dune ,dune) + '()))))))) (else p))) (define (cut? p) @@ -148,6 +161,7 @@ pre-defined variants." (define package-with-ocaml4.07 (package-with-explicit-ocaml (delay (default-ocaml4.07)) (delay (default-ocaml4.07-findlib)) + (delay (default-ocaml4.07-dune)) "ocaml-" "ocaml4.07-" #:variant-property 'ocaml4.07-variant)) diff --git a/guix/build/cargo-build-system.scm b/guix/build/cargo-build-system.scm index 8a8d74ee1b..0721989589 100644 --- a/guix/build/cargo-build-system.scm +++ b/guix/build/cargo-build-system.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2016 David Craven ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2019 Ivan Petkov -;;; Copyright © 2019 Efraim Flashner +;;; Copyright © 2019, 2020 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -58,7 +58,7 @@ (define (crate-src? path) "Check if PATH refers to a crate source, namely a gzipped tarball with a Cargo.toml file present at its root." - (and (gzip-file? path) + (and (not (directory-exists? path)) ; not a tarball ;; First we print out all file names within the tarball to see if it ;; looks like the source of a crate. However, the tarball will include ;; an extra path component which we would like to ignore (since we're @@ -119,6 +119,8 @@ directory = '" port) ;; upgrading the compiler for example. (setenv "RUSTFLAGS" "--cap-lints allow") (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc")) + (setenv "LIBGIT2_SYS_USE_PKG_CONFIG" "1") + (setenv "LIBSSH2_SYS_USE_PKG_CONFIG" "1") ;; We don't use the Cargo.lock file to determine the package versions we use ;; during building, and in any case if one is not present it is created diff --git a/guix/build/compile.scm b/guix/build/compile.scm index 3781e148ce..4b6472784c 100644 --- a/guix/build/compile.scm +++ b/guix/build/compile.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2013, 2014, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; ;;; This file is part of GNU Guix. @@ -29,9 +29,7 @@ #:use-module (guix build utils) #:use-module (language tree-il optimize) #:use-module (language cps optimize) - #:export (%default-optimizations - %lightweight-optimizations - compile-files)) + #:export (compile-files)) ;;; Commentary: ;;; diff --git a/guix/build/qt-build-system.scm b/guix/build/qt-build-system.scm index be2b808901..005157b0a4 100644 --- a/guix/build/qt-build-system.scm +++ b/guix/build/qt-build-system.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2014 Federico Beffa ;;; Copyright © 2014, 2015 Ludovic Courtès ;;; Copyright © 2018 Mark H Weaver -;;; Copyright © 2019 Hartmut Goebel +;;; Copyright © 2019, 2020 Hartmut Goebel ;;; ;;; This file is part of GNU Guix. ;;; @@ -36,6 +36,17 @@ ;; ;; Code: +(define* (check-setup #:rest args) + ;; Make Qt render "offscreen". In many cases this allows to run tests + ;; without starting a X11 server. + (setenv "QT_QPA_PLATFORM" "offscreen") + ;; Qt/KDE tests often need dbus (`dbus-launch …`) which is not fully + ;; set-up the the build container. + (setenv "DBUS_FATAL_WARNINGS" "0") + ;; Set here to ease overwriting 'check (even if set there, too) + (setenv "CTEST_OUTPUT_ON_FAILURE" "1") + #t) + (define (variables-for-wrapping base-directories) (define (collect-sub-dirs base-directories subdirectory) @@ -101,6 +112,7 @@ add a dependency of that output on Qt." (define %standard-phases (modify-phases cmake:%standard-phases + (add-before 'check 'check-setup check-setup) (add-after 'install 'qt-wrap wrap-all-programs))) (define* (qt-build #:key inputs (phases %standard-phases) diff --git a/guix/derivations.scm b/guix/derivations.scm index 16aa95d2c7..7db61d272f 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -240,6 +240,13 @@ the store." "Return a list of inputs, such that when INPUTS contains the same DRV twice, they are coalesced, with their sub-derivations merged. This is needed because Nix itself keeps only one of them." + (define (find pred lst) ;inlinable copy of 'find' + (let loop ((lst lst)) + (match lst + (() #f) + ((head . tail) + (if (pred head) head (loop tail)))))) + (fold (lambda (input result) (match input (($ (= derivation-file-name path) sub-drvs) diff --git a/guix/licenses.scm b/guix/licenses.scm index 41d4fefad2..a44a5bac0d 100644 --- a/guix/licenses.scm +++ b/guix/licenses.scm @@ -286,7 +286,7 @@ at URI, which may be a file:// URI pointing the package's tree." (define giftware (license "Giftware" - "http://liballeg.org/license.html" + "https://liballeg.org/license.html" "The Allegro 4 license")) (define gpl1 diff --git a/guix/scripts/archive.scm b/guix/scripts/archive.scm index 2b4d39c7b8..4f39920fe7 100644 --- a/guix/scripts/archive.scm +++ b/guix/scripts/archive.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019, 2020 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -371,36 +371,33 @@ output port." (cons line result))))) (with-error-handling - ;; Ask for absolute file names so that .drv file names passed from the - ;; user to 'read-derivation' are absolute when it returns. - (with-fluids ((%file-port-name-canonicalization 'absolute)) - (let ((opts (parse-command-line args %options (list %default-options)))) - (parameterize ((%graft? (assoc-ref opts 'graft?))) - (cond ((assoc-ref opts 'generate-key) - => - generate-key-pair) - ((assoc-ref opts 'authorize) - (authorize-key)) - (else - (with-status-verbosity (assoc-ref opts 'verbosity) - (with-store store - (set-build-options-from-command-line store opts) - (cond ((assoc-ref opts 'export) - (export-from-store store opts)) - ((assoc-ref opts 'import) - (import-paths store (current-input-port))) - ((assoc-ref opts 'missing) - (let* ((files (lines (current-input-port))) - (missing (remove (cut valid-path? store <>) - files))) - (format #t "~{~a~%~}" missing))) - ((assoc-ref opts 'list) - (list-contents (current-input-port))) - ((assoc-ref opts 'extract) - => - (lambda (target) - (restore-file (current-input-port) target))) - (else - (leave - (G_ "either '--export' or '--import' \ -must be specified~%"))))))))))))) + (let ((opts (parse-command-line args %options (list %default-options)))) + (parameterize ((%graft? (assoc-ref opts 'graft?))) + (cond ((assoc-ref opts 'generate-key) + => + generate-key-pair) + ((assoc-ref opts 'authorize) + (authorize-key)) + (else + (with-status-verbosity (assoc-ref opts 'verbosity) + (with-store store + (set-build-options-from-command-line store opts) + (cond ((assoc-ref opts 'export) + (export-from-store store opts)) + ((assoc-ref opts 'import) + (import-paths store (current-input-port))) + ((assoc-ref opts 'missing) + (let* ((files (lines (current-input-port))) + (missing (remove (cut valid-path? store <>) + files))) + (format #t "~{~a~%~}" missing))) + ((assoc-ref opts 'list) + (list-contents (current-input-port))) + ((assoc-ref opts 'extract) + => + (lambda (target) + (restore-file (current-input-port) target))) + (else + (leave + (G_ "either '--export' or '--import' \ +must be specified~%")))))))))))) diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm index bf307d1421..f054fc2bce 100644 --- a/guix/scripts/build.scm +++ b/guix/scripts/build.scm @@ -809,7 +809,11 @@ build---packages, gexps, derivations, and so on." (cond ((derivation-path? spec) (catch 'system-error (lambda () - (list (read-derivation-from-file spec))) + ;; Ask for absolute file names so that .drv file + ;; names passed from the user to 'read-derivation' + ;; are absolute when it returns. + (let ((spec (canonicalize-path spec))) + (list (read-derivation-from-file spec)))) (lambda args ;; Non-existent .drv files can be substituted down ;; the road, so don't error out. @@ -927,67 +931,64 @@ needed." (list %default-options))) (with-error-handling - ;; Ask for absolute file names so that .drv file names passed from the - ;; user to 'read-derivation' are absolute when it returns. - (with-fluids ((%file-port-name-canonicalization 'absolute)) - (with-status-verbosity (assoc-ref opts 'verbosity) - (with-store store - ;; Set the build options before we do anything else. - (set-build-options-from-command-line store opts) + (with-status-verbosity (assoc-ref opts 'verbosity) + (with-store store + ;; Set the build options before we do anything else. + (set-build-options-from-command-line store opts) - (parameterize ((current-terminal-columns (terminal-columns))) - (let* ((mode (assoc-ref opts 'build-mode)) - (drv (options->derivations store opts)) - (urls (map (cut string-append <> "/log") - (if (assoc-ref opts 'substitutes?) - (or (assoc-ref opts 'substitute-urls) - ;; XXX: This does not necessarily match the - ;; daemon's substitute URLs. - %default-substitute-urls) - '()))) - (items (filter-map (match-lambda - (('argument . (? store-path? file)) - ;; If FILE is a .drv that's not in - ;; store, keep it so that it can be - ;; substituted. - (and (or (not (derivation-path? file)) - (not (file-exists? file))) - file)) - (_ #f)) - opts)) - (roots (filter-map (match-lambda - (('gc-root . root) root) - (_ #f)) - opts))) + (parameterize ((current-terminal-columns (terminal-columns))) + (let* ((mode (assoc-ref opts 'build-mode)) + (drv (options->derivations store opts)) + (urls (map (cut string-append <> "/log") + (if (assoc-ref opts 'substitutes?) + (or (assoc-ref opts 'substitute-urls) + ;; XXX: This does not necessarily match the + ;; daemon's substitute URLs. + %default-substitute-urls) + '()))) + (items (filter-map (match-lambda + (('argument . (? store-path? file)) + ;; If FILE is a .drv that's not in + ;; store, keep it so that it can be + ;; substituted. + (and (or (not (derivation-path? file)) + (not (file-exists? file))) + file)) + (_ #f)) + opts)) + (roots (filter-map (match-lambda + (('gc-root . root) root) + (_ #f)) + opts))) - (unless (or (assoc-ref opts 'log-file?) - (assoc-ref opts 'derivations-only?)) - (show-what-to-build store drv - #:use-substitutes? - (assoc-ref opts 'substitutes?) - #:dry-run? (assoc-ref opts 'dry-run?) - #:mode mode)) + (unless (or (assoc-ref opts 'log-file?) + (assoc-ref opts 'derivations-only?)) + (show-what-to-build store drv + #:use-substitutes? + (assoc-ref opts 'substitutes?) + #:dry-run? (assoc-ref opts 'dry-run?) + #:mode mode)) - (cond ((assoc-ref opts 'log-file?) - ;; Pass 'show-build-log' the output file names, not the - ;; derivation file names, because there can be several - ;; derivations leading to the same output. - (for-each (cut show-build-log store <> urls) - (delete-duplicates - (append (map derivation->output-path drv) - items)))) - ((assoc-ref opts 'derivations-only?) - (format #t "~{~a~%~}" (map derivation-file-name drv)) - (for-each (cut register-root store <> <>) - (map (compose list derivation-file-name) drv) - roots)) - ((not (assoc-ref opts 'dry-run?)) - (and (build-derivations store (append drv items) - mode) - (for-each show-derivation-outputs drv) - (for-each (cut register-root store <> <>) - (map (lambda (drv) - (map cdr - (derivation->output-paths drv))) - drv) - roots))))))))))) + (cond ((assoc-ref opts 'log-file?) + ;; Pass 'show-build-log' the output file names, not the + ;; derivation file names, because there can be several + ;; derivations leading to the same output. + (for-each (cut show-build-log store <> urls) + (delete-duplicates + (append (map derivation->output-path drv) + items)))) + ((assoc-ref opts 'derivations-only?) + (format #t "~{~a~%~}" (map derivation-file-name drv)) + (for-each (cut register-root store <> <>) + (map (compose list derivation-file-name) drv) + roots)) + ((not (assoc-ref opts 'dry-run?)) + (and (build-derivations store (append drv items) + mode) + (for-each show-derivation-outputs drv) + (for-each (cut register-root store <> <>) + (map (lambda (drv) + (map cdr + (derivation->output-paths drv))) + drv) + roots)))))))))) diff --git a/guix/scripts/graph.scm b/guix/scripts/graph.scm index 53f407b2fc..fca1e3777c 100644 --- a/guix/scripts/graph.scm +++ b/guix/scripts/graph.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2019 Simon Tournier ;;; ;;; This file is part of GNU Guix. @@ -552,20 +552,17 @@ Emit a representation of the dependency graph of PACKAGE...\n")) (read/eval-package-expression exp))) (_ #f)) opts))) - ;; Ask for absolute file names so that .drv file names passed from the - ;; user to 'read-derivation' are absolute when it returns. - (with-fluids ((%file-port-name-canonicalization 'absolute)) - (run-with-store store - ;; XXX: Since grafting can trigger unsolicited builds, disable it. - (mlet %store-monad ((_ (set-grafting #f)) - (nodes (mapm %store-monad - (node-type-convert type) - items))) - (export-graph (concatenate nodes) - (current-output-port) - #:node-type type - #:backend backend)) - #:system (assq-ref opts 'system)))))) + (run-with-store store + ;; XXX: Since grafting can trigger unsolicited builds, disable it. + (mlet %store-monad ((_ (set-grafting #f)) + (nodes (mapm %store-monad + (node-type-convert type) + items))) + (export-graph (concatenate nodes) + (current-output-port) + #:node-type type + #:backend backend)) + #:system (assq-ref opts 'system))))) #t) ;;; graph.scm ends here diff --git a/guix/self.scm b/guix/self.scm index 207e80d842..6b633f9bc0 100644 --- a/guix/self.scm +++ b/guix/self.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2017, 2018, 2019, 2020 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,7 +28,6 @@ #:use-module (guix sets) #:use-module (guix modules) #:use-module ((guix build utils) #:select (find-files)) - #:use-module ((guix build compile) #:select (%lightweight-optimizations)) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) #:use-module (srfi srfi-35) @@ -49,13 +48,13 @@ (let ((ref (lambda (module variable) (module-ref (resolve-interface module) variable)))) (match-lambda - ("guile" (ref '(gnu packages commencement) 'guile-final)) - ("guile-json" (ref '(gnu packages guile) 'guile-json-3)) - ("guile-ssh" (ref '(gnu packages ssh) 'guile-ssh)) - ("guile-git" (ref '(gnu packages guile) 'guile-git)) - ("guile-sqlite3" (ref '(gnu packages guile) 'guile-sqlite3)) - ("guile-gcrypt" (ref '(gnu packages gnupg) 'guile-gcrypt)) - ("gnutls" (ref '(gnu packages tls) 'gnutls)) + ("guile" (ref '(gnu packages guile) 'guile-3.0)) + ("guile-json" (ref '(gnu packages guile) 'guile3.0-json)) + ("guile-ssh" (ref '(gnu packages ssh) 'guile3.0-ssh)) + ("guile-git" (ref '(gnu packages guile) 'guile3.0-git)) + ("guile-sqlite3" (ref '(gnu packages guile) 'guile3.0-sqlite3)) + ("guile-gcrypt" (ref '(gnu packages gnupg) 'guile3.0-gcrypt)) + ("gnutls" (ref '(gnu packages tls) 'guile3.0-gnutls)) ("zlib" (ref '(gnu packages compression) 'zlib)) ("lzlib" (ref '(gnu packages compression) 'lzlib)) ("gzip" (ref '(gnu packages compression) 'gzip)) @@ -1121,9 +1120,9 @@ is not supported." version)) (define guile - ;; When PULL-VERSION >= 1, produce a self-contained Guix and use Guile 2.2 - ;; unconditionally. - (default-guile)) + ;; When PULL-VERSION >= 1, produce a self-contained Guix and use the + ;; current Guile unconditionally. + (specification->package "guile")) (when (and (< pull-version 1) (not (string=? (package-version guile) guile-version))) @@ -1142,7 +1141,7 @@ is not supported." (shorten version)) #:pull-version pull-version #:guile-version (if (>= pull-version 1) - "2.2" guile-version) + "3.0" guile-version) #:guile-for-build guile))) (if guix (lower-object guix) diff --git a/guix/serialization.scm b/guix/serialization.scm index 9452303730..836ad06caf 100644 --- a/guix/serialization.scm +++ b/guix/serialization.scm @@ -27,6 +27,7 @@ #:use-module ((ice-9 rdelim) #:prefix rdelim:) #:use-module (ice-9 match) #:use-module (ice-9 ftw) + #:use-module (system foreign) #:export (write-int read-int write-long-long read-long-long write-padding @@ -80,6 +81,17 @@ (port port))))) bv)) +(define (sub-bytevector bv len) + "Return a bytevector that aliases the first LEN bytes of BV." + (define max (bytevector-length bv)) + (cond ((= len max) bv) + ((< len max) + ;; Yes, this is safe because the result of each conversion procedure + ;; has its life cycle synchronized with that of its argument. + (pointer->bytevector (bytevector->pointer bv) len)) + (else + (error "sub-bytevector called to get a super bytevector")))) + (define (write-int n p) (let ((b (make-bytevector 8 0))) (bytevector-u32-set! b 0 n (endianness little)) @@ -119,10 +131,9 @@ (define (read-byte-string p) (let* ((len (read-int p)) (m (modulo len 8)) - (bv (get-bytevector-n* p len))) - (or (zero? m) - (get-bytevector-n* p (- 8 m))) - bv)) + (pad (if (zero? m) 0 (- 8 m))) + (bv (get-bytevector-n* p (+ len pad)))) + (sub-bytevector bv len))) (define (read-string p) (utf8->string (read-byte-string p))) diff --git a/guix/ui.scm b/guix/ui.scm index 4857a88827..a47dafecd4 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -770,6 +770,17 @@ directories:~{ ~a~}~%") (gettext (condition-message c) %gettext-domain)) (display-hint (condition-fix-hint c)) (exit 1)) + + ;; On Guile 3.0.0, exceptions such as 'unbound-variable' come are + ;; compound and include a '&message'. However, that message only + ;; contains the format string. Thus, special-case it here to + ;; avoid displaying a bare format string. + ((cond-expand + (guile-3 + ((exception-predicate &exception-with-kind-and-args) c)) + (else #f)) + (raise c)) + ((message-condition? c) ;; Normally '&message' error conditions have an i18n'd message. (leave (G_ "~a~%") diff --git a/tests/services/linux.scm b/tests/services/linux.scm new file mode 100644 index 0000000000..8ad119c49f --- /dev/null +++ b/tests/services/linux.scm @@ -0,0 +1,57 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020 Maxim Cournoyer +;;; +;;; 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 . + +(define-module (tests services linux) + #:use-module (ice-9 match) + #:use-module (gnu packages linux) + #:use-module (gnu services linux) + #:use-module (guix gexp) + #:use-module (srfi srfi-64)) + +;;; Tests for the (gnu services linux) module. + +(test-begin "linux-services") + + +;;; +;;; Early OOM daemon. +;;; + +(define earlyoom-configuration->command-line-args + (@@ (gnu services linux) earlyoom-configuration->command-line-args)) + +(define %earlyoom-configuration-sample + (earlyoom-configuration + (minimum-available-memory 10) + (minimum-free-swap 20) + (prefer-regexp "icecat") + (avoid-regexp "guix-daemon") + (memory-report-interval 60) + (ignore-positive-oom-score-adj? #f) + (run-with-higher-priority? #t) + (show-debug-messages? #f) + (send-notification-command "python \"/some/path/notify-all-users.py\""))) + +(test-equal "earlyoom-configuration->command-line-args" + (list (file-append earlyoom "/bin/earlyoom") + "-m" "10" "-s" "20" "--prefer" "icecat" + "--avoid" "guix-daemon" "-r" "60" "-p" + "-N" "python \"/some/path/notify-all-users.py\"") + (earlyoom-configuration->command-line-args %earlyoom-configuration-sample)) + +(test-end "linux-services")