summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/build/file-systems.scm15
-rw-r--r--gnu/build/vm.scm13
-rw-r--r--gnu/local.mk27
-rw-r--r--gnu/packages/admin.scm86
-rw-r--r--gnu/packages/algebra.scm4
-rw-r--r--gnu/packages/astronomy.scm9
-rw-r--r--gnu/packages/audio.scm106
-rw-r--r--gnu/packages/backup.scm5
-rw-r--r--gnu/packages/base.scm16
-rw-r--r--gnu/packages/bioinformatics.scm29
-rw-r--r--gnu/packages/boost.scm10
-rw-r--r--gnu/packages/bootloaders.scm2
-rw-r--r--gnu/packages/busybox.scm40
-rw-r--r--gnu/packages/calendar.scm4
-rw-r--r--gnu/packages/cdrom.scm17
-rw-r--r--gnu/packages/check.scm88
-rw-r--r--gnu/packages/chemistry.scm18
-rw-r--r--gnu/packages/chez.scm35
-rw-r--r--gnu/packages/compression.scm2
-rw-r--r--gnu/packages/conkeror.scm83
-rw-r--r--gnu/packages/cran.scm21
-rw-r--r--gnu/packages/cross-base.scm21
-rw-r--r--gnu/packages/databases.scm27
-rw-r--r--gnu/packages/datamash.scm7
-rw-r--r--gnu/packages/dictionaries.scm34
-rw-r--r--gnu/packages/easyrpg.scm121
-rw-r--r--gnu/packages/ebook.scm4
-rw-r--r--gnu/packages/education.scm28
-rw-r--r--gnu/packages/emacs.scm305
-rw-r--r--gnu/packages/emulators.scm4
-rw-r--r--gnu/packages/engineering.scm72
-rw-r--r--gnu/packages/enlightenment.scm4
-rw-r--r--gnu/packages/entr.scm2
-rw-r--r--gnu/packages/file.scm9
-rw-r--r--gnu/packages/finance.scm34
-rw-r--r--gnu/packages/firmware.scm7
-rw-r--r--gnu/packages/fonts.scm38
-rw-r--r--gnu/packages/freedesktop.scm135
-rw-r--r--gnu/packages/ftp.scm10
-rw-r--r--gnu/packages/game-development.scm2
-rw-r--r--gnu/packages/games.scm86
-rw-r--r--gnu/packages/gcc.scm29
-rw-r--r--gnu/packages/glib.scm13
-rw-r--r--gnu/packages/gnome.scm76
-rw-r--r--gnu/packages/gnupg.scm13
-rw-r--r--gnu/packages/gnuzilla.scm78
-rw-r--r--gnu/packages/golang.scm4
-rw-r--r--gnu/packages/guile.scm44
-rw-r--r--gnu/packages/ham-radio.scm35
-rw-r--r--gnu/packages/haskell.scm9
-rw-r--r--gnu/packages/ibus.scm27
-rw-r--r--gnu/packages/image-processing.scm48
-rw-r--r--gnu/packages/image-viewers.scm14
-rw-r--r--gnu/packages/image.scm29
-rw-r--r--gnu/packages/ipfs.scm37
-rw-r--r--gnu/packages/irc.scm29
-rw-r--r--gnu/packages/java.scm9
-rw-r--r--gnu/packages/javascript.scm37
-rw-r--r--gnu/packages/kde-frameworks.scm55
-rw-r--r--gnu/packages/kde.scm12
-rw-r--r--gnu/packages/kodi.scm4
-rw-r--r--gnu/packages/linux.scm56
-rw-r--r--gnu/packages/lisp.scm136
-rw-r--r--gnu/packages/llvm.scm15
-rw-r--r--gnu/packages/lxqt.scm4
-rw-r--r--gnu/packages/machine-learning.scm2
-rw-r--r--gnu/packages/mail.scm87
-rw-r--r--gnu/packages/make-bootstrap.scm2
-rw-r--r--gnu/packages/man.scm32
-rw-r--r--gnu/packages/maths.scm99
-rw-r--r--gnu/packages/mes.scm13
-rw-r--r--gnu/packages/messaging.scm55
-rw-r--r--gnu/packages/monitoring.scm27
-rw-r--r--gnu/packages/mp3.scm4
-rw-r--r--gnu/packages/mpd.scm10
-rw-r--r--gnu/packages/mtools.scm4
-rw-r--r--gnu/packages/music.scm52
-rw-r--r--gnu/packages/networking.scm4
-rw-r--r--gnu/packages/ocaml.scm482
-rw-r--r--gnu/packages/opencl.scm2
-rw-r--r--gnu/packages/package-management.scm64
-rw-r--r--gnu/packages/parallel.scm4
-rw-r--r--gnu/packages/patches/allegro-fix-compilation-mesa-18.2.5-and-later.patch41
-rw-r--r--gnu/packages/patches/ansible-wrap-program-hack.patch22
-rw-r--r--gnu/packages/patches/borg-respect-storage-quota.patch32
-rw-r--r--gnu/packages/patches/datamash-arm-tests.patch71
-rw-r--r--gnu/packages/patches/elogind-glibc-2.27.patch22
-rw-r--r--gnu/packages/patches/emacs-wordnut-require-adaptive-wrap.patch20
-rw-r--r--gnu/packages/patches/file-CVE-2018-10360.patch27
-rw-r--r--gnu/packages/patches/gcc-libsanitizer-fix.patch113
-rw-r--r--gnu/packages/patches/glibc-hurd-magic-pid.patch190
-rw-r--r--gnu/packages/patches/meandmyshadow-define-paths-earlier.patch50
-rw-r--r--gnu/packages/patches/openjdk-10-idlj-reproducibility.patch36
-rw-r--r--gnu/packages/patches/polkit-CVE-2018-19788.patch197
-rw-r--r--gnu/packages/patches/quilt-getopt-nondigit-param.patch (renamed from gnu/packages/patches/quilt-compat-getopt-fix-option-with-nondigit-param.patch)0
-rw-r--r--gnu/packages/patches/quilt-getopt-second-separator.patch (renamed from gnu/packages/patches/quilt-compat-getopt-fix-second-separator.patch)0
-rw-r--r--gnu/packages/patches/ruby-coffee-rails-fix-rakefile.patch20
-rw-r--r--gnu/packages/patches/ruby-listen-3.0.8-patch-gemspec.patch16
-rw-r--r--gnu/packages/patches/ruby-listen-patch-gemspec.patch16
-rw-r--r--gnu/packages/patches/ruby-rspec-its-remove-rspec-gemspec.patch22
-rw-r--r--gnu/packages/patches/ruby-therubyracer-fix-gemspec.patch16
-rw-r--r--gnu/packages/patches/stumpwm-fix-broken-read-one-line.patch45
-rw-r--r--gnu/packages/patches/vinagre-newer-freerdp.patch320
-rw-r--r--gnu/packages/patches/vinagre-newer-rdp-parameters.patch212
-rw-r--r--gnu/packages/patches/vinagre-revert-1.patch56
-rw-r--r--gnu/packages/patches/vinagre-revert-2.patch448
-rw-r--r--gnu/packages/patchutils.scm4
-rw-r--r--gnu/packages/pdf.scm20
-rw-r--r--gnu/packages/photo.scm12
-rw-r--r--gnu/packages/php.scm30
-rw-r--r--gnu/packages/polkit.scm1
-rw-r--r--gnu/packages/python-web.scm11
-rw-r--r--gnu/packages/python.scm1064
-rw-r--r--gnu/packages/rails.scm625
-rw-r--r--gnu/packages/rdesktop.scm123
-rw-r--r--gnu/packages/rdf.scm11
-rw-r--r--gnu/packages/ruby.scm3322
-rw-r--r--gnu/packages/rust.scm3
-rw-r--r--gnu/packages/samba.scm13
-rw-r--r--gnu/packages/scheme.scm74
-rw-r--r--gnu/packages/security-token.scm34
-rw-r--r--gnu/packages/serialization.scm33
-rw-r--r--gnu/packages/storage.scm2
-rw-r--r--gnu/packages/syncthing.scm80
-rw-r--r--gnu/packages/terraform.scm160
-rw-r--r--gnu/packages/tex.scm301
-rw-r--r--gnu/packages/textutils.scm33
-rw-r--r--gnu/packages/tls.scm18
-rw-r--r--gnu/packages/tor.scm49
-rw-r--r--gnu/packages/version-control.scm6
-rw-r--r--gnu/packages/video.scm66
-rw-r--r--gnu/packages/vim.scm35
-rw-r--r--gnu/packages/virtualization.scm48
-rw-r--r--gnu/packages/vpn.scm47
-rw-r--r--gnu/packages/web-browsers.scm102
-rw-r--r--gnu/packages/web.scm42
-rw-r--r--gnu/packages/webkit.scm4
-rw-r--r--gnu/packages/wget.scm19
-rw-r--r--gnu/packages/wine.scm8
-rw-r--r--gnu/packages/wm.scm45
-rw-r--r--gnu/packages/xdisorg.scm57
-rw-r--r--gnu/packages/xml.scm22
-rw-r--r--gnu/services/admin.scm2
-rw-r--r--gnu/services/base.scm62
-rw-r--r--gnu/services/messaging.scm90
-rw-r--r--gnu/services/monitoring.scm467
-rw-r--r--gnu/services/shepherd.scm12
-rw-r--r--gnu/services/web.scm48
-rw-r--r--gnu/services/xorg.scm11
-rw-r--r--gnu/system.scm16
-rw-r--r--gnu/system/examples/vm-image.tmpl2
-rw-r--r--gnu/tests/base.scm15
-rw-r--r--gnu/tests/desktop.scm2
-rw-r--r--gnu/tests/install.scm10
-rw-r--r--gnu/tests/messaging.scm54
-rw-r--r--gnu/tests/monitoring.scm232
156 files changed, 10459 insertions, 2416 deletions
diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm
index 3f97afeedd..e3369d8521 100644
--- a/gnu/build/file-systems.scm
+++ b/gnu/build/file-systems.scm
@@ -535,10 +535,19 @@ were found."
(sleep 3)
(reboot))
('fatal-error
- (format (current-error-port)
- "File system check on ~a failed; spawning Bourne-like REPL~%"
+ (format (current-error-port) "File system check on ~a failed~%"
device)
- (start-repl %bournish-language)))
+
+ ;; Spawn a REPL only if someone would be able to interact with it.
+ (when (isatty? (current-input-port))
+ (format (current-error-port) "Spawning Bourne-like REPL.~%")
+
+ ;; 'current-output-port' is typically connected to /dev/klog (in
+ ;; PID 1), but here we want to make sure we talk directly to the
+ ;; user.
+ (with-output-to-file "/dev/console"
+ (lambda ()
+ (start-repl %bournish-language))))))
(format (current-error-port)
"No file system check procedure for ~a; skipping~%"
device)))
diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm
index 746808515f..0aef73d26d 100644
--- a/gnu/build/vm.scm
+++ b/gnu/build/vm.scm
@@ -105,13 +105,7 @@ the #:references-graphs parameter of 'derivation'."
;; hardware virtualization to still use these commands. KVM support is
;; still buggy on some ARM32 boards. Do not use it even if available.
,@(if (and (file-exists? "/dev/kvm")
- (not target-arm32?)
-
- ;; XXX: 32-bit 'qemu-system-i386 -enable-kvm' segfaults on
- ;; x86_64 hosts running Linux-libre 4.17:
- ;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=31380#18> and
- ;; <https://lists.gnu.org/archive/html/qemu-devel/2018-07/msg01166.html>.
- (not (string-suffix? "-i386" qemu)))
+ (not target-arm32?))
'("-enable-kvm")
'())
@@ -477,6 +471,11 @@ GRUB configuration and OS-DRV as the stuff in it."
"mnt=/tmp/root/mnt"
"-path-list" "-"
"--"
+
+ ;; XXX: Add padding to avoid I/O errors on i686:
+ ;; <https://bugs.gnu.org/33639>.
+ "-padding" "10m"
+
"-volid" (string-upcase volume-id)
(if volume-uuid
`("-volume_date" "uuid"
diff --git a/gnu/local.mk b/gnu/local.mk
index d9cffba945..76b0d7df9a 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -109,7 +109,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/commencement.scm \
%D%/packages/compression.scm \
%D%/packages/compton.scm \
- %D%/packages/conkeror.scm \
%D%/packages/conky.scm \
%D%/packages/connman.scm \
%D%/packages/cook.scm \
@@ -146,6 +145,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/documentation.scm \
%D%/packages/dunst.scm \
%D%/packages/dvtm.scm \
+ %D%/packages/easyrpg.scm \
%D%/packages/ebook.scm \
%D%/packages/ed.scm \
%D%/packages/education.scm \
@@ -581,7 +581,6 @@ dist_patch_DATA = \
%D%/packages/patches/aegisub-boost68.patch \
%D%/packages/patches/agg-am_c_prototype.patch \
%D%/packages/patches/amule-crypto-6.patch \
- %D%/packages/patches/ansible-wrap-program-hack.patch \
%D%/packages/patches/antiword-CVE-2014-8123.patch \
%D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \
%D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch \
@@ -609,7 +608,6 @@ dist_patch_DATA = \
%D%/packages/patches/blast+-fix-makefile.patch \
%D%/packages/patches/blender-newer-ffmpeg.patch \
%D%/packages/patches/boost-fix-icu-build.patch \
- %D%/packages/patches/borg-respect-storage-quota.patch \
%D%/packages/patches/byobu-writable-status.patch \
%D%/packages/patches/cairo-CVE-2016-9082.patch \
%D%/packages/patches/cairo-setjmp-wrapper.patch \
@@ -655,7 +653,6 @@ dist_patch_DATA = \
%D%/packages/patches/cursynth-wave-rand.patch \
%D%/packages/patches/cvs-2017-12836.patch \
%D%/packages/patches/cyrus-sasl-CVE-2013-4122.patch \
- %D%/packages/patches/datamash-arm-tests.patch \
%D%/packages/patches/dbus-helper-search-path.patch \
%D%/packages/patches/deja-dup-use-ref-keyword-for-iter.patch \
%D%/packages/patches/dfu-programmer-fix-libusb.patch \
@@ -669,7 +666,6 @@ dist_patch_DATA = \
%D%/packages/patches/dropbear-CVE-2018-15599.patch \
%D%/packages/patches/dvd+rw-tools-add-include.patch \
%D%/packages/patches/elfutils-tests-ptrace.patch \
- %D%/packages/patches/elogind-glibc-2.27.patch \
%D%/packages/patches/einstein-build.patch \
%D%/packages/patches/emacs-exec-path.patch \
%D%/packages/patches/emacs-fix-scheme-indent-function.patch \
@@ -679,6 +675,7 @@ dist_patch_DATA = \
%D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \
%D%/packages/patches/emacs-source-date-epoch.patch \
%D%/packages/patches/emacs-realgud-fix-configure-ac.patch \
+ %D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch \
%D%/packages/patches/enlightenment-fix-setuid-path.patch \
%D%/packages/patches/erlang-man-path.patch \
%D%/packages/patches/eudev-rules-directory.patch \
@@ -697,6 +694,7 @@ dist_patch_DATA = \
%D%/packages/patches/fcgi-2.4.0-poll.patch \
%D%/packages/patches/fifo-map-fix-flags-for-gcc.patch \
%D%/packages/patches/fifo-map-remove-catch.hpp.patch \
+ %D%/packages/patches/file-CVE-2018-10360.patch \
%D%/packages/patches/findutils-gnulib-libio.patch \
%D%/packages/patches/findutils-localstatedir.patch \
%D%/packages/patches/findutils-makedev.patch \
@@ -719,7 +717,6 @@ dist_patch_DATA = \
%D%/packages/patches/gcc-4.8-libsanitizer-fix.patch \
%D%/packages/patches/gcc-4.9-libsanitizer-fix.patch \
%D%/packages/patches/gcc-4.9-libsanitizer-ustat.patch \
- %D%/packages/patches/gcc-libsanitizer-fix.patch \
%D%/packages/patches/gcc-libsanitizer-ustat.patch \
%D%/packages/patches/gcc-libvtv-runpath.patch \
%D%/packages/patches/gcc-strmov-store-file-names.patch \
@@ -764,6 +761,7 @@ dist_patch_DATA = \
%D%/packages/patches/glibc-allow-kernel-2.6.32.patch \
%D%/packages/patches/glibc-bootstrap-system.patch \
%D%/packages/patches/glibc-hidden-visibility-ldconfig.patch \
+ %D%/packages/patches/glibc-hurd-magic-pid.patch \
%D%/packages/patches/glibc-ldd-x86_64.patch \
%D%/packages/patches/glibc-locales.patch \
%D%/packages/patches/glibc-memchr-overflow-i686.patch \
@@ -970,7 +968,6 @@ dist_patch_DATA = \
%D%/packages/patches/mcrypt-CVE-2012-4409.patch \
%D%/packages/patches/mcrypt-CVE-2012-4426.patch \
%D%/packages/patches/mcrypt-CVE-2012-4527.patch \
- %D%/packages/patches/meandmyshadow-define-paths-earlier.patch \
%D%/packages/patches/mesa-skip-disk-cache-test.patch \
%D%/packages/patches/meson-for-build-rpath.patch \
%D%/packages/patches/metabat-fix-compilation.patch \
@@ -1023,6 +1020,7 @@ dist_patch_DATA = \
%D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch \
%D%/packages/patches/opencascade-oce-glibc-2.26.patch \
%D%/packages/patches/openfoam-4.1-cleanup.patch \
+ %D%/packages/patches/openjdk-10-idlj-reproducibility.patch \
%D%/packages/patches/openldap-CVE-2017-9287.patch \
%D%/packages/patches/openocd-nrf52.patch \
%D%/packages/patches/opensmtpd-fix-crash.patch \
@@ -1067,6 +1065,7 @@ dist_patch_DATA = \
%D%/packages/patches/plink-endian-detection.patch \
%D%/packages/patches/plotutils-libpng-jmpbuf.patch \
%D%/packages/patches/podofo-cmake-3.12.patch \
+ %D%/packages/patches/polkit-CVE-2018-19788.patch \
%D%/packages/patches/poppler-CVE-2018-19149.patch \
%D%/packages/patches/portaudio-audacity-compat.patch \
%D%/packages/patches/portmidi-modular-build.patch \
@@ -1122,8 +1121,8 @@ dist_patch_DATA = \
%D%/packages/patches/quagga-reproducible-build.patch \
%D%/packages/patches/quickswitch-fix-dmenu-check.patch \
%D%/packages/patches/quilt-test-fix-regex.patch \
- %D%/packages/patches/quilt-compat-getopt-fix-second-separator.patch \
- %D%/packages/patches/quilt-compat-getopt-fix-option-with-nondigit-param.patch \
+ %D%/packages/patches/quilt-getopt-nondigit-param.patch \
+ %D%/packages/patches/quilt-getopt-second-separator.patch \
%D%/packages/patches/qtwebkit-pbutils-include.patch \
%D%/packages/patches/randomjungle-disable-static-build.patch \
%D%/packages/patches/rapicorn-isnan.patch \
@@ -1140,10 +1139,15 @@ dist_patch_DATA = \
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \
%D%/packages/patches/rtags-separate-rct.patch \
%D%/packages/patches/racket-store-checksum-override.patch \
+ %D%/packages/patches/ruby-coffee-rails-fix-rakefile.patch \
%D%/packages/patches/ruby-rubygems-276-for-ruby24.patch \
%D%/packages/patches/ruby-concurrent-ignore-broken-test.patch \
%D%/packages/patches/ruby-concurrent-test-arm.patch \
%D%/packages/patches/ruby-rack-ignore-failing-test.patch \
+ %D%/packages/patches/ruby-rspec-its-remove-rspec-gemspec.patch\
+ %D%/packages/patches/ruby-listen-patch-gemspec.patch \
+ %D%/packages/patches/ruby-listen-3.0.8-patch-gemspec.patch \
+ %D%/packages/patches/ruby-therubyracer-fix-gemspec.patch \
%D%/packages/patches/ruby-tzinfo-data-ignore-broken-test.patch\
%D%/packages/patches/rust-1.19-mrustc.patch \
%D%/packages/patches/rust-1.25-accept-more-detailed-gdb-lines.patch \
@@ -1177,6 +1181,7 @@ dist_patch_DATA = \
%D%/packages/patches/swish-e-search.patch \
%D%/packages/patches/swish-e-format-security.patch \
%D%/packages/patches/synfigstudio-fix-ui-with-gtk3.patch \
+ %D%/packages/patches/stumpwm-fix-broken-read-one-line.patch \
%D%/packages/patches/t1lib-CVE-2010-2642.patch \
%D%/packages/patches/t1lib-CVE-2011-0764.patch \
%D%/packages/patches/t1lib-CVE-2011-1552+.patch \
@@ -1230,8 +1235,8 @@ dist_patch_DATA = \
%D%/packages/patches/upx-fix-CVE-2017-15056.patch \
%D%/packages/patches/valgrind-enable-arm.patch \
%D%/packages/patches/valgrind-glibc-compat.patch \
- %D%/packages/patches/vinagre-revert-1.patch \
- %D%/packages/patches/vinagre-revert-2.patch \
+ %D%/packages/patches/vinagre-newer-freerdp.patch \
+ %D%/packages/patches/vinagre-newer-rdp-parameters.patch \
%D%/packages/patches/virglrenderer-CVE-2017-6386.patch \
%D%/packages/patches/vorbis-tools-CVE-2014-9638+CVE-2014-9639.patch \
%D%/packages/patches/vorbis-tools-CVE-2014-9640.patch \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 01a58763d8..fa5fa3ab86 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -22,6 +22,7 @@
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1408,14 +1409,14 @@ recover lost partitions and/or make non-booting disks bootable again.")
(define-public tree
(package
(name "tree")
- (version "1.7.0")
+ (version "1.8.0")
(source (origin
(method url-fetch)
(uri (string-append
"http://mama.indstate.edu/users/ice/tree/src/tree-"
version ".tgz"))
(sha256
- (base32 "04kviw799qxly08zb8n5mgxfd96gyis6x69q2qiw86jnh87c4mv9"))))
+ (base32 "1hmpz6k0mr6salv0nprvm1g0rdjva1kx03bdf1scw8a38d5mspbi"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases (delete 'configure))
@@ -1600,15 +1601,14 @@ of supported upstream metrics systems simultaneously.")
(define-public ansible
(package
(name "ansible")
- (version "2.7.4")
+ (version "2.7.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ansible" version))
(sha256
(base32
- "0p1n6yyc632522fl2r247p0jg4mncc7z4hqngzbh1zxq3dcb12s9"))
- (patches (search-patches "ansible-wrap-program-hack.patch"))))
+ "1fsif2jmkrrgiawsd8r6sxrqvh01fvrmdhas0p540a6i9fby3yda"))))
(build-system python-build-system)
(native-inputs
`(("python-bcrypt" ,python-bcrypt)
@@ -1625,6 +1625,42 @@ of supported upstream metrics systems simultaneously.")
("python-jinja2" ,python-jinja2)
("python-pyyaml" ,python-pyyaml)
("python-paramiko" ,python-paramiko)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; Several ansible commands (ansible-config, ansible-console, etc.)
+ ;; are just symlinks to a single ansible executable. The ansible
+ ;; executable behaves differently based on the value of
+ ;; sys.argv[0]. This does not work well with our wrap phase, and
+ ;; therefore the following two phases are required as a workaround.
+ (add-after 'unpack 'hide-wrapping
+ (lambda _
+ ;; Overwrite sys.argv[0] to hide the wrapper script from it.
+ (substitute* "bin/ansible"
+ (("import traceback" all)
+ (string-append all "
+import re
+sys.argv[0] = re.sub(r'\\.([^/]*)-real$', r'\\1', sys.argv[0])
+")))
+ #t))
+ (add-after 'wrap 'fix-symlinks
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (for-each
+ (lambda (subprogram)
+ ;; The symlinks point to the ansible wrapper script. Make
+ ;; them point to the real executable (.ansible-real).
+ (delete-file (string-append out "/bin/.ansible-" subprogram "-real"))
+ (symlink (string-append out "/bin/.ansible-real")
+ (string-append out "/bin/.ansible-" subprogram "-real"))
+ ;; The wrapper scripts of the symlinks invoke the ansible
+ ;; wrapper script. Fix them to invoke the correct executable.
+ (substitute* (string-append out "/bin/ansible-" subprogram)
+ (("/bin/ansible")
+ (string-append "/bin/.ansible-" subprogram "-real"))))
+ (list "config" "console" "doc" "galaxy"
+ "inventory" "playbook" "pull" "vault")))
+ #t)))))
(home-page "https://www.ansible.com/")
(synopsis "Radically simple IT automation")
(description "Ansible is a radically simple IT automation system. It
@@ -1886,7 +1922,7 @@ done with the @code{auditctl} utility.")
;; TODO Add zenmap output.
(outputs '("out" "ndiff"))
(arguments
- '(#:configure-flags '("--without-zenmap")
+ `(#:configure-flags '("--without-zenmap")
#:phases
(modify-phases %standard-phases
(add-after 'configure 'patch-Makefile
@@ -1902,7 +1938,10 @@ done with the @code{auditctl} utility.")
(string-append "prefix=" out)
args))
(define (python-path dir)
- (string-append dir "/lib/python2.7/site-packages"))
+ (string-append dir "/lib/python"
+ ,(version-major+minor
+ (package-version python))
+ "/site-packages"))
(let ((out (assoc-ref outputs "out"))
(ndiff (assoc-ref outputs "ndiff")))
(for-each mkdir-p (list out ndiff))
@@ -2953,3 +2992,36 @@ security defenses and provide tips for further system hardening. It will also
scan for general system information, vulnerable software packages, and
possible configuration issues.")
(license license:gpl3+)))
+
+(define-public ngrep
+ (package
+ (name "ngrep")
+ (version "1.47")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jpr5/ngrep/")
+ (commit (string-append "V" (string-replace-substring version "." "_")))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1x2fyd7wdqlj1r76ilal06cl2wmbz0ws6i3ys204sbjh1cj6dcl7"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("libpcap" ,libpcap)))
+ (arguments
+ `(#:tests? #f ;; No tests.
+ #:configure-flags (list (string-append "--with-pcap-includes="
+ (assoc-ref %build-inputs "libpcap")
+ "/include/pcap"))))
+ (home-page "https://github.com/jpr5/ngrep/")
+ (synopsis "Grep-like utility to search for network packets on an interface")
+ (description "@command{ngrep} is like GNU grep applied to the network
+layer. It's a PCAP-based tool that allows you to specify an extended regular
+or hexadecimal expression to match against data payloads of packets. It
+understands many kinds of protocols, including IPv4/6, TCP, UDP, ICMPv4/6,
+IGMP and Raw, across a wide variety of interface types, and understands BPF
+filter logic in the same fashion as more common packet sniffing tools, such as
+tcpdump and snoop.")
+ (license license:bsd-3)))
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 0f19649917..46ad548e38 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -243,7 +243,7 @@ precision.")
(define-public giac-xcas
(package
(name "giac-xcas")
- (version "1.5.0-19")
+ (version "1.5.0-29")
(source (origin
(method url-fetch)
;; "~parisse/giac" is not used because the maintainer regularly
@@ -255,7 +255,7 @@ precision.")
"source/giac_" version ".tar.gz"))
(sha256
(base32
- "0ds1zh712sr20qh0fih8jnm4nlv90andllp8n263qs7rlhblz551"))))
+ "1d904w02x6i26crbvw2d25v7j1hv1w461casyj5mgh42kzcdhb4c"))))
(build-system gnu-build-system)
(outputs '("out" "doc")) ;77MiB of documentation
(arguments
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 3c8b9cc8df..7e6a56c545 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -102,15 +103,15 @@ header.")
(define-public gnuastro
(package
(name "gnuastro")
- (version "0.7")
+ (version "0.8")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/gnuastro/gnuastro-"
- version ".tar.gz"))
+ version ".tar.lz"))
(sha256
(base32
- "1h4hpj5dd1nz8hx0dkf43as0hl1grcaijg0k3zcd5djg7wgna46y"))))
+ "0gx6iar3z07k9sdvpa6kchsz6fpk94xn5vcvbcigssl2dwqmlnkb"))))
(inputs
`(("cfitsio" ,cfitsio)
("gsl" ,gsl)
@@ -118,6 +119,8 @@ header.")
("libtiff" ,libtiff)
("wcslib" ,wcslib)
("zlib" ,zlib)))
+ (native-inputs
+ `(("lzip" ,lzip)))
(build-system gnu-build-system)
(home-page "https://www.gnu.org/software/gnuastro/")
(synopsis "Astronomy utilities")
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index a65cfa238e..d47dd90f56 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -17,6 +17,7 @@
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2018 Brendan Tildesley <brendan.tildesley@openmailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -74,6 +75,7 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages libbsd)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages libusb)
#:use-module (gnu packages llvm)
#:use-module (gnu packages mp3) ;taglib
#:use-module (gnu packages perl)
@@ -229,57 +231,79 @@ namespace ARDOUR { const char* revision = \"" version "\" ; }"))
(arguments
`(#:configure-flags '("--cxx11" ; required by gtkmm
"--no-phone-home" ; don't contact ardour.org
- "--freedesktop" ; install .desktop file
+ "--freedesktop" ; build .desktop file
"--test") ; build unit tests
#:phases
(modify-phases %standard-phases
- (add-after
- 'unpack 'set-rpath-in-LDFLAGS
- ,(ardour-rpath-phase (version-major version))))
+ (add-after 'unpack 'set-rpath-in-LDFLAGS
+ ,(ardour-rpath-phase (version-major version)))
+ (add-after 'install 'install-freedesktop-files
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (share (string-append out "/share"))
+ (ver ,(version-major version)))
+ (for-each
+ (lambda (size)
+ (let ((dir (string-append share "/icons/hicolor/"
+ size "x" size "/apps")))
+ (mkdir-p dir)
+ (copy-file
+ (string-append "gtk2_ardour/resources/Ardour-icon_"
+ size "px.png")
+ (string-append dir "/ardour" ver ".png"))))
+ '("16" "22" "32" "48" "256"))
+ (install-file (string-append "build/gtk2_ardour/ardour"
+ ver ".desktop")
+ (string-append share "/applications/"))
+ (install-file (string-append "build/gtk2_ardour/ardour"
+ ver ".appdata.xml")
+ (string-append share "/appdata/")))
+ #t)))
#:test-target "test"
#:python ,python-2))
(inputs
`(("alsa-lib" ,alsa-lib)
+ ("atkmm" ,atkmm)
("aubio" ,aubio)
- ("lrdf" ,lrdf)
("boost" ,boost)
- ("atkmm" ,atkmm)
("cairomm" ,cairomm)
+ ("curl" ,curl)
("eudev" ,eudev)
- ("gtkmm" ,gtkmm-2)
+ ("fftw" ,fftw)
+ ("fftwf" ,fftwf)
+ ("flac" ,flac)
("glibmm" ,glibmm)
+ ("gtkmm" ,gtkmm-2)
+ ("jack" ,jack-1)
+ ("libarchive" ,libarchive)
("libart-lgpl" ,libart-lgpl)
("libgnomecanvasmm" ,libgnomecanvasmm)
- ("pangomm" ,pangomm)
("liblo" ,liblo)
- ("libsndfile" ,libsndfile)
- ("libsamplerate" ,libsamplerate)
- ("libxml2" ,libxml2)
("libogg" ,libogg)
+ ("libsamplerate" ,libsamplerate)
+ ("libsndfile" ,libsndfile)
+ ("libusb" ,libusb)
("libvorbis" ,libvorbis)
- ("flac" ,flac)
+ ("libxml2" ,libxml2)
+ ("lilv" ,lilv)
+ ("lrdf" ,lrdf)
("lv2" ,lv2)
- ("vamp" ,vamp)
- ("curl" ,curl)
- ("fftw" ,fftw)
- ("fftwf" ,fftwf)
- ("jack" ,jack-1)
+ ("pangomm" ,pangomm)
+ ("python-rdflib" ,python-rdflib)
+ ("readline" ,readline)
+ ("redland" ,redland)
+ ("rubberband" ,rubberband)
("serd" ,serd)
("sord" ,sord)
("sratom" ,sratom)
("suil" ,suil)
- ("lilv" ,lilv)
- ("readline" ,readline)
- ("redland" ,redland)
- ("rubberband" ,rubberband)
- ("libarchive" ,libarchive)
("taglib" ,taglib)
- ("python-rdflib" ,python-rdflib)))
+ ("vamp" ,vamp)))
(native-inputs
- `(("perl" ,perl)
- ("cppunit" ,cppunit)
- ("itstool" ,itstool)
+ `(("cppunit" ,cppunit)
("gettext" ,gettext-minimal)
+ ("itstool" ,itstool)
+ ("perl" ,perl)
("pkg-config" ,pkg-config)))
(home-page "http://ardour.org")
(synopsis "Digital audio workstation")
@@ -2097,7 +2121,9 @@ buffers, and audio capture.")
(base32
"1agdpwwi42176l4mxj0c4fsvdiv1ig56bfnnx0msckxmy57df8bb"))))
(build-system waf-build-system)
- (arguments `(#:tests? #f)) ; no check target
+ (arguments
+ `(#:tests? #f ; no check target
+ #:python ,python-2))
(inputs
`(("alsa-lib" ,alsa-lib)
("boost" ,boost)
@@ -2118,14 +2144,14 @@ and ALSA.")
(define-public qjackctl
(package
(name "qjackctl")
- (version "0.5.4")
+ (version "0.5.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/qjackctl/qjackctl/"
version "/qjackctl-" version ".tar.gz"))
(sha256
(base32
- "0qr71nb93gkz5q53nfcl5g168z173wc6s8w1yjs3rfn3m4hg0bcq"))))
+ "1rzzqa39a6llr52vjkjr0a86nc776kmr5xs52qqga8ms9697psz5"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f)) ; no check target
@@ -2181,7 +2207,7 @@ background file post-processing.")
(define-public supercollider
(package
(name "supercollider")
- (version "3.9.3")
+ (version "3.10.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2190,7 +2216,7 @@ background file post-processing.")
"/SuperCollider-" version "-Source-linux.tar.bz2"))
(sha256
(base32
- "1d8ixfl100jvlialxdizp8wqsl1mp5pi2bam25vp97bhjd59cfdr"))))
+ "16j9psa32czx1p1y2vvq0qf2ib0ngrfc604vx35n2b4llyika84v"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DSYSTEM_BOOST=on" "-DSYSTEM_YAMLCPP=on"
@@ -2202,6 +2228,12 @@ background file post-processing.")
(ice-9 ftw))
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'fix-build-with-boost-1.68
+ (lambda _
+ (substitute* "server/supernova/utilities/time_tag.hpp"
+ (("(time_duration offset = .+ microseconds\\().*" _ m)
+ (string-append m "static_cast<long>(get_nanoseconds()/1000));\n")))
+ #t))
(add-after 'unpack 'rm-bundled-libs
(lambda _
;; The build system doesn't allow us to unbundle the following
@@ -2222,13 +2254,13 @@ background file post-processing.")
;; https://github.com/supercollider/supercollider/issues/1736
(add-after 'rm-bundled-libs 'disable-broken-tests
(lambda _
- (substitute* "testsuite/supernova/CMakeLists.txt"
+ (substitute* "testsuite/server/supernova/CMakeLists.txt"
(("server_test.cpp")
"")
(("perf_counter_test.cpp")
""))
- (delete-file "testsuite/supernova/server_test.cpp")
- (delete-file "testsuite/supernova/perf_counter_test.cpp")
+ (delete-file "testsuite/server/supernova/server_test.cpp")
+ (delete-file "testsuite/server/supernova/perf_counter_test.cpp")
(substitute* "testsuite/CMakeLists.txt"
(("add_subdirectory\\(sclang\\)")
""))
@@ -2266,7 +2298,7 @@ external_libraries/yaml-cpp/include)"))
("eudev" ,eudev) ;for user interactions with devices
("avahi" ,avahi) ;zeroconf service discovery support
("icu4c" ,icu4c)
- ("boost" ,boost)
+ ("boost" ,boost-cxx14)
("boost-sync" ,boost-sync)
("yaml-cpp" ,yaml-cpp)))
(home-page "https://github.com/supercollider/supercollider")
@@ -2855,7 +2887,7 @@ interface.")
(define-public qsynth
(package
(name "qsynth")
- (version "0.5.3")
+ (version "0.5.4")
(source
(origin
(method url-fetch)
@@ -2863,7 +2895,7 @@ interface.")
"/qsynth-" version ".tar.gz"))
(sha256
(base32
- "1jghczmmva7cyavg1q0j8nr3hmjpzzglzi5ckg92ax4ji8gpks9c"))))
+ "0kpq5fxr96wnii18ax780w1ivq8ksk892ac0bprn92iz0asfysrd"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no "check" phase
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index c927a14673..a9d8286702 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -491,15 +491,14 @@ detection, and lossless compression.")
(define-public borg
(package
(name "borg")
- (version "1.1.7")
+ (version "1.1.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "borgbackup" version))
- (patches (search-patches "borg-respect-storage-quota.patch"))
(sha256
(base32
- "1p3zia62vyg9vadkdjzzkzbj4dmgijr7ix5lmhfbxpwy5q9imdgp"))
+ "0qqvcscn1l4y83x4sh3izdpmr8zq38j8chjkpfq4q4d01i470hqb"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 60f8051dc6..e79d2a987b 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -681,6 +681,18 @@ store.")
#:tests? #f ; XXX
#:phases (modify-phases %standard-phases
+ ,@(if (hurd-target?)
+ `((add-after 'unpack 'apply-hurd-patch
+ (lambda* (#:key inputs native-inputs
+ #:allow-other-keys)
+ ;; TODO: Move this to 'patches' field.
+ (let ((patch (or (assoc-ref native-inputs
+ "hurd-magic-pid-patch")
+ (assoc-ref inputs
+ "hurd-magic-pid-patch"))))
+ (invoke "patch" "-p1" "--force" "--input"
+ patch)))))
+ '())
(add-before
'configure 'pre-configure
(lambda* (#:key inputs native-inputs outputs
@@ -806,7 +818,9 @@ store.")
,@(if (hurd-target?)
`(("mig" ,mig)
- ("perl" ,perl))
+ ("perl" ,perl)
+ ("hurd-magic-pid-patch"
+ ,(search-patch "glibc-hurd-magic-pid.patch")))
'())))
(native-search-paths
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 7c0429a600..d4661cf515 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -2298,6 +2298,22 @@ data and settings.")
("cairo" ,cairo)))
(native-inputs
`(("texlive" ,texlive)
+ ;; TODO: Replace texlive with minimal texlive-union.
+ ;; ("texlive" ,(texlive-union (list texlive-latex-doi
+ ;; texlive-latex-hyperref
+ ;; texlive-latex-oberdiek
+ ;; texlive-generic-ifxetex
+ ;; texlive-latex-url
+ ;; texlive-latex-pgf
+ ;; texlive-latex-examplep
+ ;; texlive-latex-natbib
+ ;; texlive-latex-verbatimbox
+ ;; texlive-latex-ms
+ ;; texlive-latex-xcolor
+ ;; texlive-fonts-amsfonts
+ ;; texlive-latex-amsfonts
+ ;; ;; ...
+ ;; )))
("imagemagick" ,imagemagick)))
(home-page "http://dorina.mdc-berlin.de/public/rajewsky/discrover/")
(synopsis "Discover discriminative nucleotide sequence motifs")
@@ -4024,6 +4040,14 @@ sequences).")
"src/mash/CommandScreen.cpp")
(("^#include \"kseq\\.h\"")
"#include \"htslib/kseq.h\""))
+ #t))
+ (add-after 'fix-includes 'use-c++14
+ (lambda _
+ ;; capnproto 0.7 requires c++14 to build
+ (substitute* "configure.ac"
+ (("c\\+\\+11") "c++14"))
+ (substitute* "Makefile.in"
+ (("c\\+\\+11") "c++14"))
#t)))))
(native-inputs
`(("autoconf" ,autoconf)
@@ -11382,7 +11406,10 @@ remove biased methylation positions for RRBS sequence files.")
(out (assoc-ref outputs "out"))
(bin (string-append out "/bin/"))
(target (string-append
- out "/lib/python2.7/site-packages/gess/")))
+ out "/lib/python"
+ ,(version-major+minor
+ (package-version python))
+ "/site-packages/gess/")))
(mkdir-p target)
(copy-recursively "." target)
;; Make GESS.py executable
diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm
index b772781f56..f9108b3ad6 100644
--- a/gnu/packages/boost.scm
+++ b/gnu/packages/boost.scm
@@ -122,6 +122,16 @@ across a broad spectrum of applications.")
(license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt"
"Some components have other similar licences."))))
+;; Some programs need Boost to be built with C++14 support.
+(define-public boost-cxx14
+ (package (inherit boost)
+ (arguments
+ (substitute-keyword-arguments (package-arguments boost)
+ ((#:make-flags flags)
+ `(append ,flags
+ '("cxxflags=-std=c++14")))))
+ (properties '((hidden? . #t)))))
+
(define-public boost-for-mysql
;; Older version for MySQL 5.7.23.
(package
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index c155228b4d..2a595fafab 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -317,6 +317,8 @@ menu to select one of the installed operating systems.")
(home-page "https://www.syslinux.org")
(synopsis "Lightweight Linux bootloader")
(description "Syslinux is a lightweight Linux bootloader.")
+ ;; The Makefile specifically targets i386 and x86_64 using nasm.
+ (supported-systems '("i686-linux" "x86_64-linux"))
(license (list license:gpl2+
license:bsd-3 ; gnu-efi/*
license:bsd-4 ; gnu-efi/inc/* gnu-efi/lib/*
diff --git a/gnu/packages/busybox.scm b/gnu/packages/busybox.scm
index 5f1613bb4c..09812d4a49 100644
--- a/gnu/packages/busybox.scm
+++ b/gnu/packages/busybox.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25,6 +26,7 @@
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
+ #:use-module (gnu packages algebra)
#:use-module (gnu packages compression)
#:use-module (gnu packages perl))
@@ -102,3 +104,41 @@ any small or embedded system.")
(home-page "https://www.busybox.net")
;; Some files are gplv2+
(license gpl2)))
+
+(define-public toybox
+ (package
+ (name "toybox")
+ (version "0.7.8")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://landley.net/toybox/downloads/toybox-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1mlqv5hsvy8ii6m698hq6rc316klwv44jlr034knwg6bk1lf2qj9"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'set-environment-variables
+ (lambda _
+ (setenv "CC" (which "gcc"))
+ (setenv "HOSTCC" (which "gcc"))
+ #t))
+ (replace 'configure
+ (lambda _ (invoke "make" "defconfig")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (invoke "make"
+ (string-append "PREFIX=" out)
+ "install")))))
+ #:test-target "tests"))
+ (native-inputs `(("bc" ,bc)))
+ (synopsis "Many common UNIX utilities in a single executable")
+ (description "ToyBox combines tiny versions of many common UNIX utilities
+into a single small executable. It provides a fairly complete environment for
+any small or embedded system.")
+ (home-page "https://landley.net/toybox/")
+ (license bsd-2)))
diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm
index 24e19b472c..a5c677bd4d 100644
--- a/gnu/packages/calendar.scm
+++ b/gnu/packages/calendar.scm
@@ -128,7 +128,9 @@ data units.")
;; running in a TTY:
;; https://github.com/pimutils/khal/issues/683
"not test_printics_read_from_stdin "
- "and not test_import_from_stdin")))))))
+ "and not test_import_from_stdin "
+ ;; https://github.com/pimutils/khal/issues/825
+ "and not test_description_and_location_and_categories")))))))
(native-inputs
`(("python-pytest" ,python-pytest)
("python-pytest-cov" ,python-pytest-cov)
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index d94636ba4c..c48f581576 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -225,6 +225,20 @@ reconstruction capability.")
(sha256
(base32
"03w6ypsmwwy4d7vh6zgwpc60v541vc5ywp8bdb758hbc4yv2wa7d"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; By default 'cdda2wav --help' would print a string like
+ ;; "Version 3.01_linux_4.19.10-gnu_x86_64_x86_64". Change
+ ;; it to not capture the kernel version of the build
+ ;; machine, to allow for reproducible builds.
+ (substitute* "cdda2wav/local.cnf.in"
+ (("^VERSION_OS=.*")
+ (string-append
+ "actual_os := $(shell uname -o)\n"
+ "actual_arch := $(shell uname -m)\n"
+ "VERSION_OS = _$(actual_os)_$(actual_arch)\n")))
+ #t))
(patches (search-patches "cdrtools-3.01-mkisofs-isoinfo.patch"))))
(build-system gnu-build-system)
;; XXX cdrtools bundles a modified, relicensed early version of cdparanoia.
@@ -558,7 +572,8 @@ from an audio CD.")
(for-each wrap
(find-files (string-append out "/bin")
- ".*"))))))
+ ".*")))
+ #t)))
#:tests? #f)) ; no test target
(inputs `(("wget" ,wget)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 937e4e094c..2d669a3412 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -210,12 +210,14 @@ multi-paradigm automated test framework for C++ and Objective-C.")
(version "1.12.2")
(home-page "https://github.com/catchorg/Catch2")
(source (origin
- (method url-fetch)
- (uri (string-append home-page "/archive/v" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/catchorg/Catch2")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0g2ysxc6adqca5wh7nsicnxb9wkxg75cd5izjsl39rcj0v903gr7"))
- (file-name (string-append name "-" version ".tar.gz"))))
+ "1gdp5wm8khn02g2miz381llw3191k7309qj8s3jd6sasj01rhf23"))))
(build-system cmake-build-system)
(synopsis "Automated test framework for C++ and Objective-C")
(description "Catch2 stands for C++ Automated Test Cases in Headers and is
@@ -294,15 +296,18 @@ format.")
(define-public cppcheck
(package
(name "cppcheck")
- (version "1.85")
+ (version "1.86")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/danmar/cppcheck/archive/"
- version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/danmar/cppcheck")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32 "18qlddf1i9bk5nnvy1v2nfxjd46y8wvp3rqz2hrfxjxsyvrfq5yw"))
- (file-name (string-append name "-" version ".tar.gz"))))
+ (base32 "0jr4aah72c7wy94a8vlj3k050rx6pmc7m9nvmll1jwbscxj5f7ff"))))
(build-system cmake-build-system)
+ (arguments
+ '(#:configure-flags '("-DBUILD_TESTS=ON")))
(home-page "http://cppcheck.sourceforge.net")
(synopsis "Static C/C++ code analyzer")
(description "Cppcheck is a static code analyzer for C and C++. Unlike
@@ -1249,13 +1254,14 @@ C/C++, R, and more, and uploads it to the @code{codecov.io} service.")
(version "0.2")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/jupyter/testpath/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jupyter/testpath")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "04kh3fgvmqz6cfcw79q70qwjz7ib7lxm27cc548iy2rpr33qqf55"))))
+ "0r4iiizjql6ny1ln7ciw7rrbjadz1s9zrf2hl0xkgnh3ypd8936f"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; this package does not even have a setup.py
@@ -1414,6 +1420,30 @@ normally the case.")
(define-public python2-pytest-subtesthack
(package-with-python2 python-pytest-subtesthack))
+(define-public python-pytest-sugar
+ (package
+ (name "python-pytest-sugar")
+ (version "0.9.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pytest-sugar" version))
+ (sha256
+ (base32
+ "1asq7yc4g8bx2sn7yy974mhc9ywvaihasjab4inkirdwn9s7mn7w"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-packaging" ,python-packaging)
+ ("python-pytest" ,python-pytest)
+ ("python-termcolor" ,python-termcolor)))
+ (home-page "https://pivotfinland.com/pytest-sugar/")
+ (synopsis "Plugin for pytest that changes the default look and feel")
+ (description
+ "@code{pytest-sugar} is a plugin for py.test that changes the default
+look and feel of py.test, using a progress bar and showing failures and errors
+instantly.")
+ (license license:bsd-3)))
+
(define-public python-hypothesis
(package
(name "python-hypothesis")
@@ -2036,17 +2066,15 @@ retried.")
(name "python-pyhamcrest")
(version "1.9.0")
(source (origin
- (method url-fetch)
- (uri
- (string-append
- "https://github.com/hamcrest/PyHamcrest/archive/V"
- version
- ".tar.gz"))
- (file-name
- (string-append name "-" version ".tar.gz"))
+ ;; Tests not distributed from pypi release.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hamcrest/PyHamcrest")
+ (commit (string-append "V" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1lqjajhwf7x7igvvnj5p1cm31y9njy07qby94w18kl6zwbdjqrwy"))))
+ "01qnzj9qnzz0y78qa3ing24ssvszb0adw59xc4qqmdn5wryy606b"))))
(native-inputs ; All native inputs are for tests
`(("python-pytest-cov" ,python-pytest-cov)
("python-mock" ,python-mock)
@@ -2070,13 +2098,13 @@ retried.")
(name "unittest-cpp")
(version "2.0.0")
(source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/unittest-cpp/unittest-cpp/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/unittest-cpp/unittest-cpp")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "1fgmna2la7z4pwwy2gd10gpgi2q1fk89npjfvkmzvhkxhyc231bl"))))
+ (base32 "0sxb3835nly1jxn071f59fwbdzmqi74j040r81fanxyw3s1azw0i"))))
(arguments
`(#:tests? #f)) ; It's run after build automatically.
(build-system cmake-build-system)
diff --git a/gnu/packages/chemistry.scm b/gnu/packages/chemistry.scm
index 03120aaeee..e682975b36 100644
--- a/gnu/packages/chemistry.scm
+++ b/gnu/packages/chemistry.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Konrad Hinsen <konrad.hinsen@fastmail.net>
;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net>
+;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -19,6 +20,7 @@
(define-module (gnu packages chemistry)
#:use-module (guix packages)
+ #:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download)
#:use-module (gnu packages)
@@ -55,7 +57,7 @@
"avogadro-boost148.patch"))))
(build-system cmake-build-system)
(arguments
- '(#:tests? #f
+ `(#:tests? #f
#:configure-flags
(list "-DENABLE_GLSL=ON"
(string-append "-DPYTHON_LIBRARIES="
@@ -63,7 +65,9 @@
"/lib")
(string-append "-DPYTHON_INCLUDE_DIRS="
(assoc-ref %build-inputs "python")
- "/include/python2.7"))
+ "/include/python"
+ ,(version-major+minor
+ (package-version python))))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-python-lib-path
@@ -76,7 +80,10 @@
(("^.*OUTPUT_VARIABLE.*")
(string-append "set(PYTHON_LIB_PATH \""
(assoc-ref outputs "out")
- "/lib/python2.7/site-packages\")")))
+ "/lib/python"
+ ,(version-major+minor
+ (package-version python))
+ "/site-packages\")")))
#t))
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
@@ -85,7 +92,10 @@
(setenv "PYTHONPATH"
(string-append
(assoc-ref outputs "out")
- "/lib/python2.7/site-packages:"
+ "/lib/python"
+ ,(version-major+minor
+ (package-version python))
+ "/site-packages:"
(getenv "PYTHONPATH")))
(wrap-program (string-append out "/bin/avogadro")
`("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))))
diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
index 929e50ee9b..10601f0bfa 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -88,7 +88,8 @@
("zlib:static" ,zlib "static")
("stex" ,stex)))
(native-inputs
- `(("texlive" ,texlive)
+ `(("texlive" ,(texlive-union (list texlive-latex-oberdiek
+ texlive-generic-epsf)))
("ghostscript" ,ghostscript)
("netpbm" ,netpbm)))
(native-search-paths
@@ -278,7 +279,15 @@ and 32-bit PowerPC architectures.")
(build-system gnu-build-system)
(native-inputs
`(("chez-scheme" ,chez-scheme)
- ("texlive" ,texlive)))
+ ("ghostscript" ,ghostscript)
+ ("texlive" ,(texlive-union (list texlive-latex-oberdiek
+ texlive-generic-epsf
+ texlive-metapost
+ texlive-fonts-charter
+ texlive-generic-pdftex
+ texlive-context-base
+ texlive-fonts-cm
+ texlive-tex-plain)))))
(arguments
`(#:make-flags (list (string-append "PREFIX=" %output)
(string-append "DOCDIR=" %output "/share/doc/"
@@ -288,6 +297,15 @@ and 32-bit PowerPC architectures.")
#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
+ (add-before 'build 'set-HOME
+ (lambda _
+ ;; FIXME: texlive-union does not find the built
+ ;; metafonts, so it tries to generate them in HOME.
+ (setenv "HOME" "/tmp")
+ #t))
+ ;; This package has a custom "bootstrap" script that
+ ;; is meant to be run from the Makefile.
+ (delete 'bootstrap)
(replace 'configure
(lambda* _
(copy-file "config.mk.template" "config.mk")
@@ -327,7 +345,7 @@ programming in Scheme.")
(native-inputs
`(("chez-scheme" ,chez-scheme)
("chez-web" ,chez-web)
- ("texlive" ,texlive)))
+ ("texlive" ,(texlive-union (list texlive-generic-pdftex)))))
(arguments
`(#:tests? #f ; no tests
#:phases
@@ -343,11 +361,16 @@ programming in Scheme.")
(string-append var chez-h)))
#t)))
(add-before 'build 'tangle
- (lambda _
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "TEXINPUTS"
+ (string-append
+ (getcwd) ":"
+ (assoc-ref inputs "chez-web") "/share/texmf-local/tex/generic:"
+ ":"))
;; just using "make" tries to build the .c files before
;; they are created.
- (and (zero? (system* "make" "sockets"))
- (zero? (system* "make")))))
+ (and (invoke "make" "sockets")
+ (invoke "make"))))
(replace 'build
(lambda* (#:key outputs inputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 32b92a976c..e8a50c676c 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -2263,7 +2263,7 @@ single-member files which can't be decompressed in parallel.")
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ;; No tests available.
- (inputs `(("boost" ,boost)
+ (inputs `(("boost" ,boost-cxx14)
("libiconv" ,libiconv)
("xz" ,xz)))
(native-inputs `(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/conkeror.scm b/gnu/packages/conkeror.scm
deleted file mode 100644
index 6145dbf445..0000000000
--- a/gnu/packages/conkeror.scm
+++ /dev/null
@@ -1,83 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
-;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2016 John J. Foerch <jjfoerch@earthlink.net>
-;;;
-;;; This file is part of GNU Guix.
-;;;
-;;; GNU Guix is free software; you can redistribute it and/or modify it
-;;; under the terms of the GNU General Public License as published by
-;;; the Free Software Foundation; either version 3 of the License, or (at
-;;; your option) any later version.
-;;;
-;;; GNU Guix is distributed in the hope that it will be useful, but
-;;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;;; GNU General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
-
-(define-module (gnu packages conkeror)
- #:use-module ((guix licenses) #:prefix license:)
- #:use-module (guix packages)
- #:use-module (guix download)
- #:use-module (guix build-system gnu)
- #:use-module (gnu packages)
- #:use-module (gnu packages gnuzilla))
-
-(define-public conkeror
- (package
- (name "conkeror")
- (version "1.1.0")
- (source (origin
- (method url-fetch)
- (uri
- (string-append "http://repo.or.cz/conkeror.git/snapshot/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "0jz216mjwis7f03j98s4wkcrrq2j3f41fb2y47a5qszc340zhdzv"))))
- (build-system gnu-build-system)
- (inputs `(("icecat" ,icecat)))
- (arguments
- `(#:tests? #f ;no tests
- #:make-flags `("CC=gcc"
- ,(string-append "PREFIX=" (assoc-ref %outputs "out")))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)
- (add-after
- 'install 'install-app-launcher
- (lambda* (#:key inputs outputs #:allow-other-keys)
- ;; This overwrites the installed launcher, which execs xulrunner,
- ;; with one that execs 'icecat --app'
- (let* ((out (assoc-ref outputs "out"))
- (datadir (string-append out "/share/conkeror"))
- (launcher (string-append out "/bin/conkeror")))
- (call-with-output-file launcher
- (lambda (p)
- (format p "#!~a/bin/bash
-exec ~a/bin/icecat --app ~a \"$@\"~%"
- (assoc-ref inputs "bash") ;implicit input
- (assoc-ref inputs "icecat")
- (string-append datadir
- "/application.ini"))))
- (chmod launcher #o555)))))))
- (synopsis "Keyboard focused web browser with Emacs look and feel")
- (description "Conkeror is a highly-programmable web browser based on
-Mozilla XULRunner which is the base of all Mozilla products including Firefox.
-Conkeror has a sophisticated keyboard system for running commands and
-interacting with web page content, modelled after Emacs and Lynx. It is
-self-documenting and extensible with JavaScript.
-
-It comes with builtin support for several Web 2.0 sites like several Google
-services (Search, Gmail, Maps, Reader, etc.), Del.icio.us, Reddit, Last.fm and
-YouTube. For easier editing of form fields, it can spawn external editors.")
- (home-page "http://conkeror.org")
- ;; Conkeror is triple licensed.
- (license (list
- ;; MPL 1.1 -- this license is not GPL compatible
- license:gpl2
- license:lgpl2.1))))
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index f08a204fb8..423bb5b54f 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -7754,3 +7754,24 @@ circular variables).")
"This package provides tools to fit and compare Ornstein-Uhlenbeck models
for evolution along a phylogenetic tree.")
(license license:gpl2+)))
+
+(define-public r-fmsb
+ (package
+ (name "r-fmsb")
+ (version "0.6.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "fmsb" version))
+ (sha256
+ (base32
+ "1n29bnyp20pvpk2lsa9fblsj5w7amp14snc74pk5w3yr5y6rj0s5"))))
+ (build-system r-build-system)
+ (home-page "http://minato.sip21c.org/msb/")
+ (synopsis "Functions for medical statistics book with demographic data")
+ (description
+ "This package provides several utility functions for the book entitled
+\"Practices of Medical and Health Data Analysis using R\" (Pearson Education
+Japan, 2007) with Japanese demographic data and some demographic analysis
+related functions.")
+ (license license:gpl2+)))
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 2fcb7fb36b..bb3d6d916a 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -454,6 +454,23 @@ XBINUTILS and the cross tool chain."
flags)))
((#:phases phases)
`(modify-phases ,phases
+ ;; XXX: The hack below allows us to make sure the
+ ;; 'apply-hurd-patch' phase gets added in the first
+ ;; cross-libc, but does *not* get added twice subsequently
+ ;; when cross-building another libc.
+ ,@(if (and (hurd-triplet? target)
+ (not (hurd-target?)))
+ `((add-after 'unpack 'apply-hurd-patch
+ (lambda* (#:key inputs native-inputs
+ #:allow-other-keys)
+ ;; TODO: Move this to 'patches' field.
+ (let ((patch (or (assoc-ref native-inputs
+ "hurd-magic-pid-patch")
+ (assoc-ref inputs
+ "hurd-magic-pid-patch"))))
+ (invoke "patch" "-p1" "--force" "--input"
+ patch)))))
+ '())
(add-before 'configure 'set-cross-kernel-headers-path
(lambda* (#:key inputs #:allow-other-keys)
(let* ((kernel (assoc-ref inputs "kernel-headers"))
@@ -477,7 +494,9 @@ XBINUTILS and the cross tool chain."
,@(if (hurd-triplet? target)
`(("cross-mig"
,@(assoc-ref (package-native-inputs xheaders)
- "cross-mig")))
+ "cross-mig"))
+ ("hurd-magic-pid-patch"
+ ,(search-patch "glibc-hurd-magic-pid.patch")))
'())
,@(package-inputs libc) ;FIXME: static-bash
,@(package-native-inputs libc)))))))
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 3509bb6fc0..4e4425b729 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -24,7 +24,7 @@
;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
+;;; Copyright © 2017, 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2017, 2018 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017, 2018 Pierre Langlois <pierre.langlois@gmx.com>
@@ -1247,6 +1247,7 @@ changes.")
(define-public sqlite
(package
(name "sqlite")
+ (replacement sqlite-3.26.0)
(version "3.24.0")
(source (origin
(method url-fetch)
@@ -1283,9 +1284,29 @@ widely deployed SQL database engine in the world. The source code for SQLite
is in the public domain.")
(license license:public-domain)))
+(define-public sqlite-3.26.0
+ (package (inherit sqlite)
+ (version "3.26.0")
+ (source (origin
+ (method url-fetch)
+ (uri (let ((numeric-version
+ (match (string-split version #\.)
+ ((first-digit other-digits ...)
+ (string-append first-digit
+ (string-pad-right
+ (string-concatenate
+ (map (cut string-pad <> 2 #\0)
+ other-digits))
+ 6 #\0))))))
+ (string-append "https://sqlite.org/2018/sqlite-autoconf-"
+ numeric-version ".tar.gz")))
+ (sha256
+ (base32
+ "0pdzszb4sp73hl36siiv3p300jvfvbcdxi2rrmkwgs6inwznmajx"))))))
+
;; This is used by Tracker.
(define-public sqlite-with-fts5
- (package (inherit sqlite)
+ (package/inherit sqlite
(name "sqlite-with-fts5")
(arguments
(substitute-keyword-arguments (package-arguments sqlite)
@@ -1294,7 +1315,7 @@ is in the public domain.")
;; This is used by Qt.
(define-public sqlite-with-column-metadata
- (package (inherit sqlite)
+ (package/inherit sqlite
(name "sqlite-with-column-metadata")
(arguments
(substitute-keyword-arguments (package-arguments sqlite)
diff --git a/gnu/packages/datamash.scm b/gnu/packages/datamash.scm
index 182d281a5d..81b0069aab 100644
--- a/gnu/packages/datamash.scm
+++ b/gnu/packages/datamash.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2018 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -29,7 +29,7 @@
(define-public datamash
(package
(name "datamash")
- (version "1.3")
+ (version "1.4")
(source
(origin
(method url-fetch)
@@ -37,8 +37,7 @@
version ".tar.gz"))
(sha256
(base32
- "19jpcv4ryvbz0476d6dgpxpbjkpmih4q84wj06nslls338bm5fzf"))
- (patches (search-patches "datamash-arm-tests.patch"))))
+ "0aj7wvv14s2fsf2rl49mqhxdagy8cbz6rz4xyi7bkg2nahnxsi7s"))))
(native-inputs
`(("which" ,which) ;for tests
("perl" ,perl))) ;for help2man
diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm
index 039ec45965..9e06ac7124 100644
--- a/gnu/packages/dictionaries.scm
+++ b/gnu/packages/dictionaries.scm
@@ -247,21 +247,41 @@ and a Python library.")
(define-public translate-shell
(package
(name "translate-shell")
- (version "0.9.6.8")
+ (version "0.9.6.9")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/soimort/" name "/archive/v"
- version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url"https://github.com/soimort/translate-shell.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "17yc2kwk8957wwxyih0jmsai720ai2yqyvmrqrglcncqg6zdbz9w"))
- (file-name (string-append name "-" version ".tar.gz"))))
+ "1xyf0vdxmbgqcgsr1gvgwh1q4fh080h68radkim6pfcwzffliszm"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure) ; no configure phase
+ (add-after 'unpack 'remove-unnecessary-file
+ ;; This file gets generated during the build phase.
+ (lambda _
+ (delete-file "translate")
+ #t))
+ (add-after 'install 'wrap-binary
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin/trans"))
+ (curl (assoc-ref inputs "curl"))
+ (fribidi (assoc-ref inputs "fribidi"))
+ (rlwrap (assoc-ref inputs "rlwrap")))
+ (wrap-program bin
+ `("PATH" ":" prefix
+ (,(string-append out "/bin:"
+ curl "/bin:"
+ fribidi "/bin:"
+ rlwrap "/bin")))))
+ #t))
(add-after 'install 'emacs-install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -277,7 +297,7 @@ and a Python library.")
(guix build emacs-utils)
(guix build utils))
#:test-target "test"))
- (propagated-inputs
+ (inputs
`(("curl" ,curl)
("fribidi" ,fribidi)
("rlwrap" ,rlwrap)))
diff --git a/gnu/packages/easyrpg.scm b/gnu/packages/easyrpg.scm
new file mode 100644
index 0000000000..05fd2b11a0
--- /dev/null
+++ b/gnu/packages/easyrpg.scm
@@ -0,0 +1,121 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages easyrpg)
+ #:use-module (guix packages)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages audio)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages fontutils)
+ #:use-module (gnu packages gtk)
+ #:use-module (gnu packages icu4c)
+ #:use-module (gnu packages image)
+ #:use-module (gnu packages mp3)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages pulseaudio)
+ #:use-module (gnu packages sdl)
+ #:use-module (gnu packages xdisorg)
+ #:use-module (gnu packages xiph)
+ #:use-module (gnu packages xml))
+
+(define-public liblcf
+ (package
+ (name "liblcf")
+ (version "0.5.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://easyrpg.org/downloads/player/" version
+ "/liblcf-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1k99bcw5c23801jk3mbz5sj5h18x46w1qxrkknhwhfgqzpvxhwrs"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (propagated-inputs
+ ;; Required by 'liblcf.pc'.
+ `(("expat" ,expat)
+ ("icu" ,icu4c)))
+ (home-page "https://easyrpg.org/")
+ (synopsis "Library to handle RPG Maker 2000 and 2003 game data")
+ (description
+ "@code{liblcf} is a library to handle RPG Maker 2000 and 2003 game data.
+It can read and write LCF and XML files.")
+ ;; It includes a copy of Boost Preprocessor Cat and Stringize (boost-1.0):
+ ;; src/boost/preprocessor/config.hpp
+ ;; src/boost/preprocessor/cat.hpp
+ ;; src/boost/preprocessor/stringize.hpp
+ ;; and a copy of inih (bsd-3):
+ ;; src/ini.h
+ ;; src/ini.cpp
+ ;; src/inireader.h
+ ;; src/inireader.cpp
+ ;; TODO: Unbundle them.
+ (license license:expat)))
+
+(define-public easyrpg-player
+ (package
+ (name "easyrpg-player")
+ (version "0.5.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://easyrpg.org/downloads/player/" version
+ "/easyrpg-player-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0w0idr61slg5828j1q31c1kh1h0ryp8psc006y06jph5pp3qgm48"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags
+ (list (string-append "--with-bash-completion-dir="
+ %output "/etc/bash_completion.d/"))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("freetype" ,freetype)
+ ("harfbuzz" ,harfbuzz)
+ ("liblcf" ,liblcf)
+ ("libpng" ,libpng)
+ ("libsndfile" ,libsndfile)
+ ("libvorbis" ,libvorbis)
+ ("libxmp" ,libxmp)
+ ("mpg123" ,mpg123)
+ ("opusfile" ,opusfile)
+ ("pixman" ,pixman)
+ ("sdl2-mixer" ,sdl2-mixer)
+ ("sdl2" ,sdl2)
+ ("speexdsp" ,speexdsp)
+ ;; ("wildmidi" ,wildmidi) ; TODO: package it
+ ("zlib" ,zlib)))
+ (home-page "https://easyrpg.org/")
+ (synopsis "Play RPG Maker 2000 and 2003 games")
+ (description
+ "EasyRPG Player is a game interpreter to play RPG Maker 2000, 2003 and
+EasyRPG games. It uses the LCF parser library (liblcf) to read RPG Maker game
+data.")
+ ;; It bundles FMMidi YM2608 FM synthesizer emulator (bsd-3):
+ ;; src/midisynth.h
+ ;; src/midisynth.cpp
+ ;; and PicoJSON JSON parser/serializer (bsd-2):
+ ;; src/picojson.h
+ ;; TODO: Unbundle them.
+ (license license:gpl3+)))
diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index a78e3e871f..e750c6cac8 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -75,7 +75,7 @@
(define-public calibre
(package
(name "calibre")
- (version "3.28.0")
+ (version "3.35.0")
(source
(origin
(method url-fetch)
@@ -84,7 +84,7 @@
version ".tar.xz"))
(sha256
(base32
- "0b3vv03c6m6972sk8zj3zc5sq6b9837irnfgjlqhv9z5i75m0414"))
+ "1gd15wjz4fhcra6d44xiy3hwbyk0miwb66a1pq5yldyy0hlb271z"))
;; Remove non-free or doubtful code, see
;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html
(modules '((guix build utils)))
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index b333bb9d35..ef97d58a84 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -41,6 +41,7 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages sdl)
#:use-module (gnu packages texinfo)
+ #:use-module (gnu packages xorg)
#:use-module (gnu packages xml)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
@@ -115,7 +116,7 @@ of categories with some of the activities available in that category.
(define-public gcompris-qt
(package
(name "gcompris-qt")
- (version "0.91")
+ (version "0.95")
(source
(origin
(method url-fetch)
@@ -124,17 +125,17 @@ of categories with some of the activities available in that category.
version ".tar.xz"))
(sha256
(base32
- "09h098w9q79hnzla1pcpqlnnr6dbafm4q6zmdp7wlk11ym8n9kvg"))))
+ "1aaijjx2b7k1cyx59jhs64hlp1sppw1faa81qxl5lxc79vifrlrl"))))
(build-system cmake-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'patch-for-qt5.11
- (lambda _
- (substitute* "src/core/CMakeLists.txt"
- (("qt5_use_modules") "target_link_libraries")
- (("Qml Quick Gui Multimedia Network XmlPatterns Svg Xml Sensors Core")
- "Qt5::Qml Qt5::Quick Qt5::Gui Qt5::Multimedia Qt5::Core Qt5::Svg Qt5::Xml Qt5::XmlPatterns Qt5::Sensors"))
+ (add-before 'check 'start-xorg-server
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; The test suite requires a running X server.
+ (system (string-append (assoc-ref inputs "xorg-server")
+ "/bin/Xvfb :1 &"))
+ (setenv "DISPLAY" ":1")
#t))
(add-after 'install 'wrap-executable
(lambda* (#:key inputs outputs #:allow-other-keys)
@@ -152,13 +153,14 @@ of categories with some of the activities available in that category.
'("qtdeclarative" "qtgraphicaleffects"
"qtmultimedia" "qtquickcontrols"))))
#t))))
- #:configure-flags (list "-DQML_BOX2D_MODULE=disabled")
- #:tests? #f)) ; no test target
+ #:configure-flags (list "-DQML_BOX2D_MODULE=disabled"
+ "-DBUILD_TESTING=TRUE")))
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
("gettext" ,gettext-minimal)
("perl" ,perl)
- ("qttools" ,qttools)))
+ ("qttools" ,qttools)
+ ("xorg-server" ,xorg-server)))
(inputs
`(("python-2" ,python-2)
("qtbase" ,qtbase)
@@ -243,7 +245,7 @@ easy.")
(define-public snap
(package
(name "snap")
- (version "4.2.2.2")
+ (version "4.2.2.9")
(source
(origin
(method git-fetch)
@@ -253,7 +255,7 @@ easy.")
(file-name (git-file-name name version))
(sha256
(base32
- "0bay08yr58qj8wzpjg33gdj78rfhyskfzidknpdl3cr1jrj6i4p9"))))
+ "07qyhh4f8gr1fqyvxa2i6lkzaaa0vl12yzllgp81rdil8z8bi976"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 50705416a0..35d59fe8f1 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -24,7 +24,7 @@
;;; Copyright © 2017, 2018 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 George Clemmer <myglc2@gmail.com>
-;;; Copyright © 2017 Feng Shu <tumashu@163.com>
+;;; Copyright © 2017, 2018 Feng Shu <tumashu@163.com>
;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
@@ -41,6 +41,7 @@
;;; Copyright © 2018 Alex Branham <alex.branham@gmail.com>
;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de>
;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
+;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -122,6 +123,7 @@
#:use-module (gnu packages video)
#:use-module (gnu packages haskell)
#:use-module (gnu packages wordnet)
+ #:use-module (gnu packages ocaml)
#:use-module (guix utils)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match))
@@ -1721,7 +1723,7 @@ and stored in memory.")
(define-public emacs-bui
(package
(name "emacs-bui")
- (version "1.2.0")
+ (version "1.2.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1730,7 +1732,7 @@ and stored in memory.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "0ixia5s41f2nbal3wsixacbhbc0mk9yb75ir1amqakip30sq4apv"))))
+ "0sszdl4kvqbihdh8d7mybpp0d8yw2p3gyiipjcxz9xhvvmw3ww4x"))))
(build-system emacs-build-system)
(propagated-inputs
`(("dash" ,emacs-dash)))
@@ -1745,14 +1747,14 @@ type, for example: packages, buffers, files, etc.")
(define-public emacs-guix
(package
(name "emacs-guix")
- (version "0.5")
+ (version "0.5.1")
(source (origin
(method url-fetch)
(uri (string-append "https://emacs-guix.gitlab.io/website/"
"releases/emacs-guix-" version ".tar.gz"))
(sha256
(base32
- "09zxd8x674vrpigmcx8l00ifhaxh35xwkwjb8dw9kydnhv9hyyi1"))))
+ "1gwihi08pz52zbv11lhwcdzsbmcbqvjf8j0ic56543v7nlmywkxh"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -1820,7 +1822,7 @@ management tasks from Emacs. To begin with, run @code{M-x guix-about} or
(define-public emacs-build-farm
(package
(name "emacs-build-farm")
- (version "0.2.1")
+ (version "0.2.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1829,7 +1831,7 @@ management tasks from Emacs. To begin with, run @code{M-x guix-about} or
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "1a4ky0hca26p7f3i2c2s5517ygkyaaz52vs0vxy6f5q95rhlgdhd"))))
+ "0i0bwbav5861j2y15j9nd5m9rdqg9q97zgcbld8pivr9nyxy63lz"))))
(build-system emacs-build-system)
(propagated-inputs
`(("bui" ,emacs-bui)
@@ -4799,7 +4801,7 @@ indentation (space indentation only).
(define-public emacs-elpy
(package
(name "emacs-elpy")
- (version "1.26.0")
+ (version "1.27.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -4808,7 +4810,7 @@ indentation (space indentation only).
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "0wynzp5xmrgiggmam82n6lfaiqmfl4n3ccpsgnh86r6pbsmssxjk"))))
+ "1b76y0kzk7s9ya8k9bpsgn31i9l0rxs4iz6lg7snhjgh03k0ssgv"))))
(build-system emacs-build-system)
(arguments
`(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include)
@@ -5206,26 +5208,28 @@ target will call @code{compile} on it.")
(define-public emacs-cider
(package
(name "emacs-cider")
- (version "0.15.1")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/clojure-emacs/cider/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1j5hlmi14ypszv1f9nvq0jjlz7i742flg0ny3055l7i4x089xx6g"))))
+ (version "0.18.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/clojure-emacs/cider.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1m9kc88vga3q5d731qnpngnsa0n57pf21k3hll20rw8rggrx4vdn"))))
(build-system emacs-build-system)
(arguments
'(#:exclude ; Don't exclude 'cider-test.el'.
'("^\\.dir-locals\\.el$" "^test/")))
(propagated-inputs
`(("emacs-clojure-mode" ,emacs-clojure-mode)
+ ("emacs-sesman" ,emacs-sesman)
("emacs-spinner" ,emacs-spinner)
("emacs-pkg-info" ,emacs-pkg-info)
("emacs-queue" ,emacs-queue)))
- (home-page "https://cider.readthedocs.org/")
+ (home-page "https://cider.readthedocs.io/")
(synopsis "Clojure development environment for Emacs")
(description
"CIDER (Clojure Interactive Development Environment that Rocks) aims to
@@ -5360,8 +5364,8 @@ extensions.")
(license license:gpl3+))))
(define-public emacs-evil-collection
- (let ((commit "abc9dd60f71ccc1f24803a12d853f84b4a8b258c")
- (revision "4"))
+ (let ((commit "4e1f0e0b17153d460805a0da90d6191d66b2673d")
+ (revision "5"))
(package
(name "emacs-evil-collection")
(version (git-version "0.0.1" revision commit))
@@ -5373,7 +5377,7 @@ extensions.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "0c9l93vrsl6kzx8gg305dq8qkb2dr3s10fww7lh382911pdmsh7v"))))
+ "11d5ppdnb2y2mwsdd9g62h7zds962kw3nss89zv5iwgcf9f1fb5x"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-evil" ,emacs-evil)))
@@ -6650,28 +6654,51 @@ containing words from the rime project.")
(define-public emacs-pyim
(package
(name "emacs-pyim")
- (version "1.6.4")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/tumashu/pyim/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "0hfg8q9hcjifvnlghw2g94dfxfirms2psq2ghqb28fhkf0lks13r"))))
+ (version "1.8")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tumashu/pyim")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "16rma4cv7xgky0g3x4an27v30jdi6i1sqw43cl99zhkqvp43l3f9"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-async" ,emacs-async)
("emacs-pyim-basedict" ,emacs-pyim-basedict)
("emacs-popup" ,emacs-popup)
- ("emacs-pos-tip" ,emacs-pos-tip)))
+ ("emacs-posframe" ,emacs-posframe)))
(home-page "https://github.com/tumashu/pyim")
(synopsis "Chinese input method")
(description "Chinese input method which supports quanpin, shuangpin, wubi
and cangjie.")
(license license:gpl2+)))
+(define-public emacs-posframe
+ (package
+ (name "emacs-posframe")
+ (version "0.4.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://elpa.gnu.org/packages/posframe-" version ".el"))
+ (sha256
+ (base32
+ "1h8vvxvsg41vc1nnglqjs2q0k1yzfsn72skga9s76qa3zxmx6kds"))))
+ (build-system emacs-build-system)
+ ;; emacs-minimal does not include the function font-info
+ (arguments `(#:emacs ,emacs))
+ (home-page "https://github.com/tumashu/posframe")
+ (synopsis "Pop a posframe (a child frame) at point")
+ (description "@code{emacs-posframe} can pop a posframe at point. A
+posframe is a child frame displayed within its root window's buffer.
+@code{emacs-posframe} is fast and works well with CJK languages.")
+ (license license:gpl3+)))
+
(define-public emacs-el2org
(package
(name "emacs-el2org")
@@ -6787,7 +6814,7 @@ It should enable you to implement low-level X11 applications.")
(define-public emacs-exwm
(package
(name "emacs-exwm")
- (version "0.20")
+ (version "0.21")
(synopsis "Emacs X window manager")
(source (origin
(method url-fetch)
@@ -6795,7 +6822,7 @@ It should enable you to implement low-level X11 applications.")
version ".tar"))
(sha256
(base32
- "0nhhzbkm0mkj7sd1dy2c19cmn56gyaj9nl8kgy86h4fp63hjaz04"))))
+ "07ng1pgsnc3isfsyzh2gfc7391p9il8lb5xqf1z6yqn20w7k6xzj"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-xelb" ,emacs-xelb)))
@@ -6857,16 +6884,17 @@ built on top of XELB.")
(define-public emacs-switch-window
(package
(name "emacs-switch-window")
- (version "1.5.1")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/dimitri/switch-window/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "07f99apxscwvsp2bjxsbi462c433kcglrjh6xl0gyafs1nvvvnd8"))))
+ (version "1.6.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dimitri/switch-window")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0rci96asgamr6qp6nkyr5vwrnslswjxcjd96yccy4aivh0g66yfg"))))
(build-system emacs-build-system)
(home-page "https://github.com/dimitri/switch-window")
(synopsis "Emacs window switch tool")
@@ -6878,17 +6906,18 @@ other operations.")
(define-public emacs-exwm-x
(package
(name "emacs-exwm-x")
- (version "1.8.1")
+ (version "1.9.0")
(synopsis "Derivative window manager based on EXWM")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/tumashu/exwm-x/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "0ali1100aacq4zbvcck80h51pvw204jlxhn4aikkqq4ngbx03kkr"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tumashu/exwm-x")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "03l3dl7s1qys1kkh40rm1sfx7axy1b8sf5f6nyksj9ps6d30p5i4"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-exwm" ,emacs-exwm)
@@ -7833,6 +7862,19 @@ value of the access token.")
(base32
"10gi14kwxd81blddpvqh95lgmpbfgp0m955naxix3bs3r6a75n4s"))))
(build-system emacs-build-system)
+ (arguments
+ `(#:tests? #t
+ #:test-command '("buttercup" "-L" ".")
+ #:phases
+ (modify-phases %standard-phases
+ ;; The HOME environment variable should be set to an existing
+ ;; directory for the tests to succeed.
+ (add-before 'check 'set-home
+ (lambda _
+ (setenv "HOME" "/tmp")
+ #t)))))
+ (native-inputs
+ `(("emacs-buttercup" ,emacs-buttercup)))
;; In order to securely connect to an IRC server using TLS, Circe requires
;; the GnuTLS binary.
(propagated-inputs
@@ -7853,7 +7895,7 @@ want to use it.")
;; "tracking.el" is a library extracted from Circe package. It requires
;; "shorten.el".
`(#:include '("^shorten.el$" "^tracking.el$")
- #:tests? #f)) ;tests require buttercup
+ ,@(package-arguments emacs-circe)))
(home-page "https://github.com/jorgenschaefer/circe/wiki/Tracking")
(synopsis "Buffer tracking library")
(description "@code{tracking.el} provides a way for different modes to
@@ -10231,7 +10273,7 @@ downloading manager for Emacs.")
(define-public emacs-helpful
(package
(name "emacs-helpful")
- (version "0.13")
+ (version "0.15")
(source (origin
(method url-fetch)
(uri (string-append
@@ -10240,7 +10282,7 @@ downloading manager for Emacs.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "11kj04y1fa3vnw2991cyqf6adz6bb3hlrdkvypjnmpb0s64q64b6"))))
+ "1xmvhphzb4hbg647dz4lafy6hd19b7bk3lxni6irqrzdsrclhzn6"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-elisp-refs" ,emacs-elisp-refs)))
@@ -11234,7 +11276,7 @@ device tree files.")
(define-public emacs-daemons
(package
(name "emacs-daemons")
- (version "1.2.0")
+ (version "2.0.0")
(source
(origin
(method git-fetch)
@@ -11244,7 +11286,7 @@ device tree files.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "00ijgm22ck76gw0x79krl05yy0m8a502yfakazfy5xhpn1zi6ab7"))))
+ "00bkzfaw3bqykcks610vk9wlpa2z360xn32bpsrycacwfv29j7g4"))))
(build-system emacs-build-system)
(home-page "https://github.com/cbowdon/daemons.el")
(synopsis "Emacs UI for managing init system services")
@@ -12729,3 +12771,144 @@ Emacs.")
rooms. It also provides an API which allows Emacs to seamlessly create
RPC channels with users and other software.")
(license license:gpl3+))))
+
+(define-public emacs-sesman
+ (package
+ (name "emacs-sesman")
+ (version "0.3.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/vspinu/sesman.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0r32f8ma9ddczxrrdz0nadp14j3zmk10q1ch02gb82synkx3xdra"))))
+ (build-system emacs-build-system)
+ (arguments
+ `(#:tests? #t
+ #:test-command '("make" "test")))
+ (home-page "https://github.com/vspinu/sesman")
+ (synopsis "Session manager for Emacs based IDEs")
+ (description "Sesman provides facilities for session management and
+interactive session association with the current contexts (project, directory,
+buffers). While sesman can be used to manage arbitrary sessions, it primary
+targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
+ (license license:gpl3+)))
+
+(define-public emacs-buttercup
+ (package
+ (name "emacs-buttercup")
+ (version "1.16")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jorgenschaefer/emacs-buttercup.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0dckgcyzsav6ld78bcyrrygy1cz1jvqgav6vy8f6klpmk3r8xrl1"))))
+ (build-system emacs-build-system)
+ (arguments
+ `(#:tests? #t
+ #:test-command '("make" "test")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'install-bin
+ (lambda* (#:key outputs #:allow-other-keys)
+ (install-file "bin/buttercup"
+ (string-append (assoc-ref outputs "out") "/bin"))
+ #t)))))
+ (home-page "https://github.com/jorgenschaefer/emacs-buttercup")
+ (synopsis "Behavior driven emacs lisp testing framework")
+ (description "Buttercup is a behavior-driven development framework for
+testing Emacs Lisp code. It allows to group related tests so they can share
+common set-up and tear-down code, and allows the programmer to \"spy\" on
+functions to ensure they are called with the right arguments during testing.")
+ (license license:gpl3+)))
+
+(define-public emacs-wordnut
+ (let ((commit "feac531404041855312c1a046bde7ea18c674915")
+ (revision "0"))
+ (package
+ (name "emacs-wordnut")
+ (version (git-version "0.1" revision commit))
+ (home-page "https://github.com/gromnitsky/wordnut")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference (url home-page) (commit commit)))
+ (sha256
+ (base32
+ "1jl0b6g64a9w0q7bfvwha67vgws5xd15b7mkfyb5gkz3pymqhfxn"))
+ (patches
+ (search-patches "emacs-wordnut-require-adaptive-wrap.patch"))
+ (file-name (git-file-name name version))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("wordnet" ,wordnet)
+ ("emacs-adaptive-wrap" ,emacs-adaptive-wrap)))
+ (synopsis "Major mode for WordNet")
+ (description "This Emacs package provides an interface for
+@code{wordnet}. Features include completion, if the query is not found
+too ambiguous and navigation in the result buffer.")
+ (license license:gpl3+))))
+
+(define-public emacs-dedukti-mode
+ (let ((commit "d7c3505a1046187de3c3aeb144455078d514594e"))
+ (package
+ (name "emacs-dedukti-mode")
+ (version (git-version "0" "0" commit))
+ (home-page "https://github.com/rafoo/dedukti-mode")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit commit)))
+ (sha256
+ (base32
+ "1842wikq24c8rg0ac84vb1qby9ng1nssxswyyni4kq85lng5lcrp"))
+ (file-name (git-file-name name version))))
+ (inputs
+ `(("dedukti" ,dedukti)))
+ (build-system emacs-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'install 'patch-dkpath
+ (lambda _
+ (let ((dkcheck-path (which "dkcheck")))
+ (substitute* "dedukti-mode.el"
+ (("dedukti-path \"(.*)\"")
+ (string-append "dedukti-path \"" dkcheck-path "\"")))))))))
+ (synopsis "Emacs major mode for Dedukti files")
+ (description "This package provides an Emacs major mode for editing
+Dedukti files.")
+ (license license:cecill-b))))
+
+(define-public emacs-flycheck-dedukti
+ (let ((commit "3dbff5646355f39d57a3ec514f560a6b0082a1cd"))
+ (package
+ (name "emacs-flycheck-dedukti")
+ (version (git-version "0" "0" commit))
+ (home-page "https://github.com/rafoo/flycheck-dedukti")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit commit)))
+ (sha256
+ (base32
+ "1ffpxnwl3wx244n44mbw81g00nhnykd0lnid29f4aw1av7w6nw8l"))
+ (file-name (git-file-name name version))))
+ (build-system emacs-build-system)
+ (inputs
+ `(("dedukti-mode" ,emacs-dedukti-mode)
+ ("flycheck-mode" ,emacs-flycheck)))
+ (synopsis "Flycheck integration for the dedukti language")
+ (description "This package provides a frontend for Flycheck to perform
+syntax checking on dedukti files.")
+ (license license:cecill-b))))
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 795595e447..2d21f1246a 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -1186,7 +1186,7 @@ play them on systems for which they were never designed!")
(define-public mame
(package
(name "mame")
- (version "0.203")
+ (version "0.205")
(source
(origin
(method git-fetch)
@@ -1196,7 +1196,7 @@ play them on systems for which they were never designed!")
(file-name (git-file-name name version))
(sha256
(base32
- "19ccqc00024fbjyk0k5d9xljhwq7wsrp7phwm2jmn0h77mgdj844"))
+ "1q5z18rlmas598fxga8jr2d6xdngdzjab49xfy4hffdmlq624lw7"))
(modules '((guix build utils)))
(snippet
;; Remove bundled libraries.
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 8ef9a5c277..75045f25b3 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
-;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018 Theodoros Foradis <theodoros@foradis.org>
@@ -9,6 +9,7 @@
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Jonathan Brielmaier <jonathan.brielmaier@web.de>
+;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -690,8 +691,8 @@ language.")
(method url-fetch)
(file-name (string-append name "-" version ".tar.xz"))
(uri (string-append
- "https://launchpad.net/kicad/5.0/" version "/+download/" name
- "-" version ".tar.xz"))
+ "https://launchpad.net/kicad/" (version-major+minor version)
+ "/" version "/+download/" name "-" version ".tar.xz"))
(sha256
(base32 "17nqjszyvd25wi6550j981whlnb1wxzmlanljdjihiki53j84x9p"))))
(build-system cmake-build-system)
@@ -710,7 +711,9 @@ language.")
;; headers in the wxwidgets store item, but in wxPython.
(string-append "-DCMAKE_CXX_FLAGS=-I"
(assoc-ref %build-inputs "wxpython")
- "/include/wx-3.0")
+ "/include/wx-"
+ ,(version-major+minor
+ (package-version python2-wxpython)))
"-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE"
"-DKICAD_SPICE=TRUE"
;; TODO: Enable this when CA certs are working with curl.
@@ -732,7 +735,10 @@ language.")
(file (string-append out "/bin/kicad"))
(path (string-append
out
- "/lib/python2.7/site-packages:"
+ "/lib/python"
+ ,(version-major+minor
+ (package-version python))
+ "/site-packages:"
(getenv "PYTHONPATH"))))
(wrap-program file
`("PYTHONPATH" ":" prefix (,path))
@@ -1709,7 +1715,7 @@ parallel computing platforms. It also supports serial execution.")
("gcc-toolchain" ,gcc-toolchain)
("iverilog" ,iverilog)
("libtool" ,libtool)
- ("octave" ,octave)
+ ("octave" ,octave-cli)
("qt4" ,qt-4)
("sed" ,sed)))
(home-page "http://qucs.sourceforge.net/")
@@ -1839,7 +1845,7 @@ simulations are also supported.")
("libtool" ,libtool)
("mpi" ,openmpi)
("ngspice" ,ngspice)
- ("octave" ,octave)
+ ("octave" ,octave-cli)
("qt4" ,qt-4)
("qucs" ,qucs)
("sed" ,sed)
@@ -1853,3 +1859,55 @@ The S letter indicates SPICE. The purpose of the Qucs-S subproject is to use
free SPICE circuit simulation kernels with the Qucs GUI. It provides the
simulator backends @code{Qucsator}, @code{ngspice} and @code{Xyce}.")
(license license:gpl2+)))
+
+(define-public librepcb
+ (package
+ (name "librepcb")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://download.librepcb.org/releases/0.1.0/librepcb-"
+ version "-source.zip"))
+ (sha256
+ (base32
+ "0affvwwgs1j2wx6bb3zfa2jbfxpckklr8cka2nkswca0p82wd3dv"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("qtbase" ,qtbase)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("qttools" ,qttools) ; for lrelease
+ ("unzip" ,unzip)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (mkdir-p "build")
+ (chdir "build")
+ (let ((lrelease (string-append (assoc-ref inputs "qttools")
+ "/bin/lrelease"))
+ (out (assoc-ref outputs "out")))
+ (invoke "qmake"
+ (string-append "QMAKE_LRELEASE=" lrelease)
+ (string-append "PREFIX=" out)
+ "../librepcb.pro")))))))
+ (home-page "https://librepcb.org/")
+ (synopsis "Electronic Design Automation tool")
+ (description "LibrePCB is @dfn{Electronic Design Automation} (EDA)
+software to develop printed circuit boards. It features human readable file
+formats and complete project management with library, schematic and board
+editors.")
+ (license (list license:gpl3+
+ license:boost1.0 ; libs/clipper,
+ ; libs/optional/tests/catch.hpp,
+ ; libs/sexpresso/tests/catch.hpp
+ license:expat ; libs/delaunay-triangulation,
+ ; libs/parseagle, libs/type_safe
+ license:asl2.0 ; libs/fontobene, libs/googletest,
+ ; libs/parseagle
+ license:isc ; libs/hoedown
+ license:cc0 ; libs/optional, libs/sexpresso
+ license:bsd-2 ; libs/optional/tests/catch.hpp
+ license:lgpl2.1+)))) ; libs/quazip
diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index 9989e2f5a8..e1e5cb5821 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -183,7 +183,7 @@ removable devices or support for multimedia.")
(define-public terminology
(package
(name "terminology")
- (version "1.3.0")
+ (version "1.3.2")
(source (origin
(method url-fetch)
(uri
@@ -191,7 +191,7 @@ removable devices or support for multimedia.")
"terminology/terminology-" version ".tar.xz"))
(sha256
(base32
- "07vw28inkimi9avp16j0rqcfqjq16081554qsv29pcqhz18xp59r"))
+ "1kclxzadmk272s9spa7n704pcb1c611ixxrq88w5zk22va0i25xm"))
(modules '((guix build utils)))
;; Remove the bundled fonts.
(snippet
diff --git a/gnu/packages/entr.scm b/gnu/packages/entr.scm
index dfa9274bea..11d28e60f7 100644
--- a/gnu/packages/entr.scm
+++ b/gnu/packages/entr.scm
@@ -56,7 +56,7 @@
(home-page "http://entrproject.org/")
(synopsis "Run arbitrary commands when files change")
(description
- "entr is a zero-configuration tool with no external build- or run-time
+ "entr is a zero-configuration tool with no external build or run-time
dependencies. The interface to entr is not only minimal, it aims to be simple
enough to create a new category of ad hoc automation. These micro-tests
reduce keystrokes, but more importantly they emphasize the utility of
diff --git a/gnu/packages/file.scm b/gnu/packages/file.scm
index 78f0360c2e..4518c8d3dc 100644
--- a/gnu/packages/file.scm
+++ b/gnu/packages/file.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -30,6 +31,7 @@
(package
(name "file")
(version "5.33")
+ (replacement file/fixed)
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.astron.com/pub/file/file-"
@@ -51,3 +53,10 @@ extensions to tell you the type of a file, but looks at the actual contents
of the file. This package provides the libmagic library.")
(license bsd-2)
(home-page "https://www.darwinsys.com/file/")))
+
+(define file/fixed
+ (package
+ (inherit file)
+ (source
+ (origin (inherit (package-source file))
+ (patches (search-patches "file-CVE-2018-10360.patch"))))))
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 7d7c3ab111..bd18df91be 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -847,7 +847,7 @@ Luhn and family of ISO/IEC 7064 check digit algorithms. ")
(define-public python-duniterpy
(package
(name "python-duniterpy")
- (version "0.50.0")
+ (version "0.51.0")
(source
(origin
(method git-fetch)
@@ -858,11 +858,26 @@ Luhn and family of ISO/IEC 7064 check digit algorithms. ")
(file-name (git-file-name name version))
(sha256
(base32
- "0f24ihglmzphy30pgc49w0rxmsjc76mgcggg078cfsz7xrrk13gf"))))
+ "074mh2kh3s00ib0h99050ss3j4c51v57py6dzm7crida6l0iydbv"))))
(build-system python-build-system)
(arguments
;; Tests fail with "AttributeError: module 'attr' has no attribute 's'".
- `(#:tests? #f))
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'build 'build-documentation
+ (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))
+ #t)))))
+ (native-inputs
+ `(("python-sphinx" ,python-sphinx)
+ ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme)))
(propagated-inputs
`(("python-aiohttp" ,python-aiohttp)
("python-attr" ,python-attr)
@@ -874,19 +889,22 @@ Luhn and family of ISO/IEC 7064 check digit algorithms. ")
(home-page "https://git.duniter.org/clients/python/duniterpy")
(synopsis "Python implementation of Duniter API")
(description "@code{duniterpy} is an implementation of
-@uref{https://github.com/duniter/duniter/, duniter} API. Its
+@uref{https://github.com/duniter/duniter/, duniter} API. Its
main features are:
@itemize
-@item Supports Duniter's Basic Merkle API and protocol
-@item Asynchronous
+@item Support Duniter's Basic Merkle API and protocol
+@item Asynchronous/synchronous without threads
+@item Support HTTP, HTTPS and Web Socket transport for Basic Merkle API
+@item Support Elasticsearch Duniter4j API
@item Duniter signing key
+@item Sign/verify and encrypt/decrypt messages with the Duniter credentials
@end itemize")
(license license:gpl3+)))
(define-public silkaj
(package
(name "silkaj")
- (version "0.6.0")
+ (version "0.6.1")
(source
(origin
(method git-fetch)
@@ -896,7 +914,7 @@ main features are:
(file-name (git-file-name name version))
(sha256
(base32
- "02n028rz1pshgh7w0af3b291r8lwvhzskm1q98d991gr8rscvad2"))))
+ "0a99gbgdd7m9wisqhqpfyaim0rlv9gkp8gmrppkagqf6j0683igh"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ;no test
diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index c396cd644f..0f2d32bbd9 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2017 David Craven <david@craven.ch>
;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -450,8 +451,8 @@ such as:
(let ((base (make-arm-trusted-firmware "sun50i_a64"))
;; Use unreleased version which enables additional features needed for
;; LCD support
- (commit "cabe0a31801e99e7abb84d2114ded6bb56f3c71e")
- (revision "1"))
+ (commit "98aab97484b27e40aa74a93e5d1c1ac037a7e0b8")
+ (revision "2"))
(package
(inherit base)
(name "arm-trusted-firmware-sun50i-a64")
@@ -465,7 +466,7 @@ such as:
(file-name (git-file-name name version))
(sha256
(base32
- "0srw2zj3vn5d2fwzjpwa5h70d5bwvb79jnpdvmd395npv0gxshdz")))))))
+ "0z5si034vcn4m68zaixc5v8fs1c7vxbh7n4hggxs55p0jg01dan5")))))))
(define-public arm-trusted-firmware-puma-rk3399
(let ((base (make-arm-trusted-firmware "rk3399"))
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index f9f8428202..88315008bd 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -22,6 +22,7 @@
;;; Copyright © 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org>
;;; Copyright © 2018 Charlie Ritter <chewzerita@posteo.net>
+;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -622,7 +623,7 @@ languages, plus Greek and Cyrillic.")
(define-public font-gnu-unifont
(package
(name "font-gnu-unifont")
- (version "11.0.02")
+ (version "11.0.03")
(source (origin
(method url-fetch)
(uri (string-append
@@ -630,16 +631,14 @@ languages, plus Greek and Cyrillic.")
version ".tar.gz"))
(sha256
(base32
- "1di8i44c163b9l5f08jcrjfijnqz0j7p7hpfvf8dcms6cm6s4wvy"))))
+ "171zhm52c4rzpn19qcq4n9nyfbcjl38v50zslhvgpjdcmc5jvhav"))))
(build-system gnu-build-system)
- (outputs '("out" ; TrueType version
- "pcf" ; PCF (bitmap) version
- "psf" ; PSF (console) version
- "bin" ; Utilities to manipulate '.hex' format
- ))
+ (outputs '("out" ; TrueType version
+ "pcf" ; PCF (bitmap) version
+ "psf" ; PSF (console) version
+ "bin")) ; Utilities to manipulate '.hex' format
(arguments
- '(#:parallel-build? #f ; parallel build fails
- #:tests? #f ; no check target
+ '(#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
(replace
@@ -1353,3 +1352,24 @@ reproduction and display environments. This package provides only TrueType
files (TTF).")
(home-page "https://software.sil.org/charis/")
(license license:silofl1.1)))
+
+(define-public font-mononoki
+ (package
+ (name "font-mononoki")
+ (version "1.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/madmalik/mononoki/")
+ (commit version)))
+ (sha256
+ (base32
+ "1rkzyxn30rn8qv2h2xz324j7q15hzg2lci8790a7cdl1dfgic4xi"))
+ (file-name (git-file-name name version))))
+ (build-system font-build-system)
+ (synopsis "Font for programming and code review")
+ (description
+ "Mononoki is a typeface by Matthias Tellen, created to enhance code
+formatting.")
+ (home-page "https://madmalik.github.io/mononoki/")
+ (license license:silofl1.1)))
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 293916c4d2..8982c0ec35 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -13,6 +13,7 @@
;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
+;;; Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -227,109 +228,69 @@ the freedesktop.org XDG Base Directory specification.")
(define-public elogind
(package
(name "elogind")
- (version "232.4")
+ (version "239.3")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/elogind/elogind/"
- "archive/v" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/elogind/elogind")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1qcxian48z2dj5gfmp7brrngdydqf2jm00f4rjr5sy1myh8fy931"))
- (patches (search-patches "elogind-glibc-2.27.patch"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- (use-modules (guix build utils))
- (substitute* "Makefile.am"
- ;; Avoid validation against DTD because the DTDs for
- ;; both doctype 4.2 and 4.5 are needed.
- (("XSLTPROC_FLAGS = ") "XSLTPROC_FLAGS = --novalid"))
- #t))))
- (build-system gnu-build-system)
+ "1gipnbnlz5k3gxv33wyhi2zd94hlfa9lm360p8z6w5i9s8dzhf52"))))
+ (build-system meson-build-system)
(arguments
- `(#:tests? #f ;FIXME: "make check" in the "po" directory fails.
- #:configure-flags
- (list (string-append "--with-udevrulesdir="
- (assoc-ref %outputs "out")
- "/lib/udev/rules.d")
-
- ;; Let elogind be its own cgroup controller, rather than relying
- ;; on systemd or OpenRC. By default, 'configure' makes an
- ;; incorrect guess.
- "--with-cgroup-controller=elogind"
-
- (string-append "--with-rootprefix="
- (assoc-ref %outputs "out"))
- (string-append "--with-rootlibexecdir="
- (assoc-ref %outputs "out")
- "/libexec/elogind")
- ;; These are needed to ensure that lto linking works.
- "RANLIB=gcc-ranlib"
- "AR=gcc-ar"
- "NM=gcc-nm")
- #:make-flags '("PKTTYAGENT=/run/current-system/profile/bin/pkttyagent")
+ `(#:configure-flags
+ (let* ((out (assoc-ref %outputs "out"))
+ (sysconf (string-append out "/etc"))
+ (libexec (string-append out "/libexec/elogind"))
+ (dbuspolicy (string-append out "/etc/dbus-1/system.d"))
+ (shepherd (assoc-ref %build-inputs "shepherd"))
+ (halt-path (string-append shepherd "/sbin/halt"))
+ (kexec-path "") ;not available in Guix yet
+ (poweroff-path (string-append shepherd "/sbin/shutdown"))
+ (reboot-path (string-append shepherd "/sbin/reboot")))
+ (list
+ (string-append "-Drootprefix=" out)
+ (string-append "-Dsysconfdir=" sysconf)
+ (string-append "-Drootlibexecdir=" libexec)
+ (string-append "-Ddbuspolicydir=" dbuspolicy)
+ (string-append "-Dc_link_args=-Wl,-rpath=" libexec)
+ (string-append "-Dcpp_link_args=-Wl,-rpath=" libexec)
+ (string-append "-Dhalt-path=" halt-path)
+ (string-append "-Dkexec-path=" kexec-path)
+ (string-append "-Dpoweroff-path=" poweroff-path)
+ (string-append "-Dreboot-path=" reboot-path)
+ "-Dcgroup-controller=elogind"
+ ;; Disable some tests.
+ "-Dtests=false"
+ "-Dslow-tests=false"))
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'patch-locale-header
+ (add-after 'unpack 'fix-pkttyagent-path
(lambda _
- ;; Fix compilation with glibc >= 2.26, which removed xlocale.h.
- ;; This can be removed for elogind 234.
- (substitute* "src/basic/parse-util.c"
- (("xlocale\\.h") "locale.h"))
+ (substitute* "meson.build"
+ (("join_paths\\(bindir, 'pkttyagent'\\)")
+ "'\"/run/current-system/profile/bin/pkttyagent\"'"))
#t))
- (replace 'bootstrap
+ (add-after 'unpack 'change-pid-file-path
(lambda _
- (invoke "intltoolize" "--force" "--automake")
- (invoke "autoreconf" "-vif")))
- (add-before 'build 'fix-service-file
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Fix the file name of the 'elogind' binary in the D-Bus
- ;; '.service' file.
- (substitute* "src/login/org.freedesktop.login1.service"
- (("^Exec=.*")
- (string-append "Exec=" (assoc-ref %outputs "out")
- "/libexec/elogind/elogind\n")))
- #t))
- (add-after 'install 'add-libcap-to-search-path
- (lambda* (#:key inputs outputs #:allow-other-keys)
- ;; Add a missing '-L' for libcap in libelogind.la. See
- ;; <https://lists.gnu.org/archive/html/guix-devel/2017-09/msg00084.html>.
- (let ((libcap (assoc-ref inputs "libcap"))
- (out (assoc-ref outputs "out")))
- (substitute* (string-append out "/lib/libelogind.la")
- (("-lcap")
- (string-append "-L" libcap "/lib -lcap")))
- #t)))
- (add-after 'unpack 'remove-uaccess-tag
- (lambda _
- ;; systemd supports a "uaccess" built-in tag, but eudev currently
- ;; doesn't. This leads to eudev warnings that we'd rather not
- ;; see, so remove the reference to "uaccess."
- (substitute* "src/login/73-seat-late.rules.in"
- (("^TAG==\"uaccess\".*" line)
- (string-append "# " line "\n")))
+ (substitute* "src/login/elogind.c"
+ (("\"/run/elogind.pid\"") "\"/run/systemd/elogind.pid\""))
#t)))))
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)
- ("intltool" ,intltool)
- ("gettext" ,gettext-minimal)
- ("python" ,python)
+ `(("docbook-xml" ,docbook-xml)
+ ("docbook-xml-4.2" ,docbook-xml-4.2)
("docbook-xsl" ,docbook-xsl)
- ("docbook-xml" ,docbook-xml)
- ("xsltproc" ,libxslt)
- ("m4" ,m4)
+ ("gettext" ,gettext-minimal)
+ ("gperf" ,gperf)
("libxml2" ,libxml2) ;for XML_CATALOG_FILES
+ ("m4" ,m4)
("pkg-config" ,pkg-config)
-
- ;; Use gperf 3.0 to work around
- ;; <https://github.com/wingo/elogind/issues/8>.
- ("gperf" ,gperf-3.0)))
+ ("python" ,python)
+ ("xsltproc" ,libxslt)))
(inputs
`(("linux-pam" ,linux-pam)
- ("linux-libre-headers" ,linux-libre-headers)
("libcap" ,libcap)
("shepherd" ,shepherd) ;for 'halt' and 'reboot', invoked
;when pressing the power button
diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm
index b9c6d209b8..dd8af33972 100644
--- a/gnu/packages/ftp.scm
+++ b/gnu/packages/ftp.scm
@@ -170,7 +170,7 @@ as required.")
(define-public libfilezilla
(package
(name "libfilezilla")
- (version "0.14.0")
+ (version "0.15.1")
(source
(origin
(method url-fetch)
@@ -178,11 +178,13 @@ as required.")
name "/" name "-" version ".tar.bz2"))
(sha256
(base32
- "15cfz98asypf9rfybv4c6kx8nk3wak7qlm1azldc0gd1nqm4xqvz"))))
+ "17zlhw5b1a7jzh50cbpy2is3sps5lnzch5yf9qm7mwrviw9c8j10"))))
(build-system gnu-build-system)
(native-inputs
`(("cppunit" ,cppunit)
("pkg-config" ,pkg-config)))
+ (inputs
+ `(("nettle" ,nettle)))
(home-page "https://lib.filezilla-project.org")
(synopsis "Cross-platform C++ library used by Filezilla client")
(description
@@ -207,14 +209,14 @@ output.
(define-public filezilla
(package
(name "filezilla")
- (version "3.37.4")
+ (version "3.39.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.filezilla-project.org/client/"
"FileZilla_" version "_src.tar.bz2"))
(sha256
- (base32 "169wy7ilsh518mcinkjmr6m0kzxbzchmc9mivf5c9b4zp1w4gg3i"))))
+ (base32 "0ks42q6mi3qx85zpa98izkyficv2bdh3jnvmy97xjnjyfy9mwlgv"))))
(build-system gnu-build-system)
(arguments
;; Don't let filezilla phone home to check for updates.
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 34a015bdf7..8a29297805 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -652,6 +652,8 @@ etc.")
(uri (string-append "https://github.com/liballeg/allegro5/releases"
"/download/" version "/allegro-"
version ".tar.gz"))
+ (patches (search-patches
+ "allegro-fix-compilation-mesa-18.2.5-and-later.patch"))
(sha256
(base32
"1w9a5yqi5q03b2qvmx5ff90paz0xbr9cy7i7f0xiqa65ava66q9l"))))
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 7f84e447bb..80d48dbe56 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -146,9 +146,11 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages messaging)
#:use-module (gnu packages networking)
+ #:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system haskell)
+ #:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system cmake)
#:use-module (guix build-system trivial))
@@ -573,7 +575,7 @@ automata. The following features are available:
(define-public meandmyshadow
(package
(name "meandmyshadow")
- (version "0.5")
+ (version "0.5a")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/meandmyshadow/"
@@ -581,10 +583,7 @@ automata. The following features are available:
"-src.tar.gz"))
(sha256
(base32
- "1b6qf83vdfv8jwn2jq9ywmda2qn2f5914i7mwfy04m17wx593m3m"))
- (patches (search-patches
- ;; This will not be needed in the next release.
- "meandmyshadow-define-paths-earlier.patch"))))
+ "0i98v6cgmpsxy7mbb0s2y6f6qq6mkwzk2nrv1nz39ncf948aky2h"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; there are no tests
@@ -1308,7 +1307,7 @@ fight Morgoth, the Lord of Darkness.")
#:phases
(modify-phases %standard-phases
(delete 'configure)))) ; no configure script
- (home-page "http://pingus.seul.org/welcome.html")
+ (home-page "https://pingus.seul.org/")
(synopsis "Lemmings clone")
(description
"Pingus is a free Lemmings-like puzzle game in which the player takes
@@ -2306,7 +2305,7 @@ world}, @uref{http://evolonline.org, Evol Online} and
(define openttd-engine
(package
(name "openttd-engine")
- (version "1.7.1")
+ (version "1.8.0")
(source
(origin (method url-fetch)
(uri (string-append "http://binaries.openttd.org/releases/"
@@ -2323,7 +2322,7 @@ world}, @uref{http://evolonline.org, Evol Online} and
"02d1xmb75yv4x6rfnvxk3vvq4l3lvvwr2pfsdzn7lzalic51ziqh")))))
(sha256
(base32
- "0dhv5bbbg1dmmq7fi3xss0a9jq2rqgb5sf9fsqzlsjcdm590j6b1"))
+ "0zq8xdg0k92p3s4j9x76591zaqz7k9ra69q008m209vdfffjvly2"))
(modules '((guix build utils)))
(snippet
;; The DOS port contains proprietary software.
@@ -2353,7 +2352,7 @@ world}, @uref{http://evolonline.org, Evol Online} and
configure-flags))))))))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs
- `(("allegro" ,allegro-4)
+ `(("allegro" ,allegro)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
("icu4c" ,icu4c)
@@ -5877,3 +5876,72 @@ libraries. AIFF sound effects and music in MOD and OGG formats are supported
when packaged in Blorb container files or optionally from individual files.")
(home-page "http://frotz.sourceforge.net")
(license license:gpl2+))))
+
+(define-public libmanette
+ (package
+ (name "libmanette")
+ (version "0.2.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "14vqz30p4693yy3yxs0gj858x25sl2kawib1g9lj8g5frgl0hd82"))))
+ (build-system meson-build-system)
+ (native-inputs
+ `(("glib" ,glib "bin") ; for glib-compile-resources
+ ("gobject-introspection" ,gobject-introspection)
+ ("pkg-config" ,pkg-config)
+ ("vala" ,vala)))
+ (inputs
+ `(("libevdev" ,libevdev)
+ ("libgudev" ,libgudev)))
+ (home-page "https://wiki.gnome.org/Apps/Games")
+ (synopsis "Game controller library")
+ (description "Libmanette is a small GObject library giving you simple
+access to game controllers. It supports the de-facto standard gamepads as
+defined by the W3C standard Gamepad specification or as implemented by the SDL
+GameController.")
+ (license license:lgpl2.1+)))
+
+(define-public quadrapassel
+ (package
+ (name "quadrapassel")
+ (version "3.31.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "08i01nsgfb502xzzrrcxxbs7awb0j1h4c08vmj0j18ipa1sz8vb8"))))
+ (build-system glib-or-gtk-build-system)
+ (native-inputs
+ `(("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate
+ ("gettext" ,gnu-gettext)
+ ("glib" ,glib "bin") ;for glib-compile-resources
+ ("itstool" ,itstool)
+ ("libxml2" ,libxml2) ;for xmllint
+ ("pkg-config" ,pkg-config)
+ ("vala" ,vala)))
+ (inputs
+ `(("clutter" ,clutter)
+ ("clutter-gtk" ,clutter-gtk)
+ ("gtk+" ,gtk+)
+ ("libcanberra" ,libcanberra)
+ ("libmanette" ,libmanette)
+ ("librsvg" ,librsvg)))
+ (home-page "https://wiki.gnome.org/Apps/Quadrapassel")
+ (synopsis "GNOME version of Tetris")
+ (description "Quadrapassel comes from the classic falling-block game,
+Tetris. The goal of the game is to create complete horizontal lines of
+blocks, which will disappear. The blocks come in seven different shapes made
+from four blocks each: one straight, two L-shaped, one square, and two
+S-shaped. The blocks fall from the top center of the screen in a random
+order. You rotate the blocks and move them across the screen to drop them in
+complete lines. You score by dropping blocks fast and completing lines. As
+your score gets higher, you level up and the blocks fall faster.")
+ (license license:gpl2+)))
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 8207104174..1f1e80dde8 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -461,34 +461,18 @@ Go. It also includes runtime support libraries for these languages.")
(define-public gcc-6
(package
(inherit gcc-5)
- (version "6.4.0")
+ (version "6.5.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gcc/gcc-"
version "/gcc-" version ".tar.xz"))
(sha256
(base32
- "1m0lr7938lw5d773dkvwld90hjlcq2282517d1gwvrfzmwgg42w5"))
- (patches (search-patches "gcc-libsanitizer-fix.patch"
- "gcc-libsanitizer-ustat.patch"
- "gcc-strmov-store-file-names.patch"
+ "0i89fksfp6wr1xg9l8296aslcymv2idn60ip31wr9s4pwin7kwby"))
+ (patches (search-patches "gcc-strmov-store-file-names.patch"
"gcc-6-source-date-epoch-1.patch"
"gcc-6-source-date-epoch-2.patch"
- "gcc-5.0-libvtv-runpath.patch"))
- (modules '((guix build utils)))
- ;; This is required for building with glibc-2.26.
- ;; This can be removed when gcc-6.5.0 is released.
- ;; https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81712
- (snippet
- '(begin
- (for-each
- (lambda (dir)
- (substitute* (string-append "libgcc/config/"
- dir "/linux-unwind.h")
- (("struct ucontext") "ucontext_t")))
- '("aarch64" "alpha" "bfin" "i386" "m68k" "nios2"
- "pa" "sh" "tilepro" "xtensa"))
- #t))))
+ "gcc-5.0-libvtv-runpath.patch"))))
(inputs
`(("isl" ,isl)
,@(package-inputs gcc-4.7)))
@@ -506,16 +490,15 @@ Go. It also includes runtime support libraries for these languages.")
(define-public gcc-7
(package
(inherit gcc-6)
- (version "7.3.0")
+ (version "7.4.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gcc/gcc-"
version "/gcc-" version ".tar.xz"))
(sha256
(base32
- "0p71bij6bfhzyrs8676a8jmpjsfz392s2rg862sdnsk30jpacb43"))
+ "0lgy170b0pp60j9cczqkmaqyjjb584vfamj4c30swd7k0j6y5pgd"))
(patches (search-patches "gcc-strmov-store-file-names.patch"
- "gcc-libsanitizer-ustat.patch"
"gcc-5.0-libvtv-runpath.patch"))))
(description
"GCC is the GNU Compiler Collection. It provides compiler front-ends
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 491f688c8e..cd9b48caff 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -36,7 +36,6 @@
#:use-module (gnu packages enlightenment)
#:use-module (gnu packages file)
#:use-module (gnu packages flex)
- #:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gperf)
@@ -621,11 +620,7 @@ useful for C++.")
(delete-file "tests/test_ossig.py")
#t)))))
(native-inputs
- `(;; Use gcc-7 to work around an internal compiler error that happens
- ;; when using gcc-5.5.0. FIXME: Try removing this when the default
- ;; compiler is no longer gcc-5.5.0.
- ("gcc" ,gcc-7)
- ("which" ,which)
+ `(("which" ,which)
;for tests: dbus-run-session and glib-compile-schemas
("dbus" ,dbus)
("glib-bin" ,glib "bin")
@@ -656,11 +651,7 @@ useful for C++.")
("python-pycairo" ,python2-pycairo)
("gobject-introspection" ,gobject-introspection)))
(native-inputs
- `(;; Use gcc-7 to work around an internal compiler error that happens
- ;; when using gcc-5.5.0. FIXME: Try removing this when the default
- ;; compiler is no longer gcc-5.5.0.
- ("gcc" ,gcc-7)
- ("which" ,which)
+ `(("which" ,which)
;for tests: dbus-run-session and glib-compile-schemas
("dbus" ,dbus)
("glib-bin" ,glib "bin")
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index b497b965bc..5dcf9b1f5f 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -31,6 +31,8 @@
;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net>
;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
+;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
+;;; Copyright © 2018 Timothy Sample <samplet@ngyro.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -95,6 +97,7 @@
#:use-module (gnu packages polkit)
#:use-module (gnu packages popt)
#:use-module (gnu packages ghostscript)
+ #:use-module (gnu packages inkscape)
#:use-module (gnu packages ibus)
#:use-module (gnu packages iso-codes)
#:use-module (gnu packages libcanberra)
@@ -151,6 +154,7 @@
#:use-module (gnu packages version-control)
#:use-module (gnu packages virtualization)
#:use-module (gnu packages vpn)
+ #:use-module (gnu packages web)
#:use-module (gnu packages xorg)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1))
@@ -2217,19 +2221,31 @@ selection and URL hints.")))
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
- (patches ; We have to revert 2 commits to build against freerdp 1.1.
- (search-patches "vinagre-revert-1.patch"
- "vinagre-revert-2.patch"))
+ (patches (search-patches "vinagre-newer-freerdp.patch"
+ "vinagre-newer-rdp-parameters.patch"))
(sha256
(base32
"10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d"))))
(build-system glib-or-gtk-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'install 'skip-gtk-update-icon-cache
+ (lambda _
+ ;; Don't create 'icon-theme.cache'
+ (substitute* (find-files "." "^Makefile$")
+ (("gtk-update-icon-cache") (which "true")))
+ #t))
+ (add-after 'unpack 'patch-configure
+ (lambda _
+ (substitute* "configure"
+ (("freerdp") "freerdp2"))
+ #t)))))
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)
("itstool" ,itstool)
- ("glib-bin" ,glib "bin") ;for glib-compile-schemas
- ("gtk+-bin" ,gtk+ "bin"))) ;for gtk-update-icon-cache
+ ("glib-bin" ,glib "bin"))) ;for glib-compile-schemas
(inputs
`(("libxml2" ,libxml2)
("gtk-vnc" ,gtk-vnc)
@@ -2240,8 +2256,6 @@ selection and URL hints.")))
("spice-gtk" ,spice-gtk)
("telepathy-glib" ,telepathy-glib)
("vte" ,vte)))
- (arguments
- `(#:configure-flags '("--enable-rdp")))
(home-page "https://wiki.gnome.org/Apps/Vinagre")
(synopsis "Remote desktop viewer for GNOME")
(description "Vinagre is a remote display client supporting the VNC, SPICE
@@ -4630,14 +4644,6 @@ configuration program to choose applications starting on login.")
(arguments
'(#:phases
(modify-phases %standard-phases
- (add-after 'set-paths 'work-around-gcc-7-include-path-issue
- ;; FIXME: Work around a problem with gcc-7 includes (see
- ;; <https://bugs.gnu.org/30756>). Note that we use gcc-7
- ;; to work around an internal compiler error in gcc-5.
- (lambda _
- (unsetenv "C_INCLUDE_PATH")
- (unsetenv "CPLUS_INCLUDE_PATH")
- #t))
(add-before
'check 'pre-check
(lambda _
@@ -4655,11 +4661,7 @@ configuration program to choose applications starting on login.")
((".*expect\\(datestr\\).*") ""))
#t)))))
(native-inputs
- `(("gcc" ,gcc-7) ; FIXME: Work around an internal compiler error in
- ; gcc-5. Try removing this when our default compiler is
- ; no longer gcc-5.5.0, and also remove the
- ; 'work-around-gcc-7-include-path-issue' phase above.
- ("glib:bin" ,glib "bin") ; for glib-compile-resources
+ `(("glib:bin" ,glib "bin") ; for glib-compile-resources
("pkg-config" ,pkg-config)
("xmllint" ,libxml2)
;; For testing
@@ -5346,6 +5348,10 @@ libxml2.")
;; script. It provides a generic one if --enable-gdm-xsession is set.
"--enable-gdm-xsession"
+ ;; Use '/etc/environment' for locale settings instead of the
+ ;; systemd-specific '/etc/locale.conf'.
+ "--with-lang-file=/etc/environment"
+
"--localstatedir=/var"
,(string-append "--with-default-path="
(string-join '("/run/setuid-programs"
@@ -5408,6 +5414,11 @@ libxml2.")
;; are met (provided GNOME is installed of course).
"gdm_session_set_environment_variable (self, \"XDG_CONFIG_DIRS\",\n"
" \"/run/current-system/profile/etc/xdg\");\n"
+ ;; The session bus (which GDM will initialize from the this
+ ;; session environment) needs to know where to find the system
+ ;; service files.
+ "gdm_session_set_environment_variable (self, \"XDG_DATA_DIRS\",\n"
+ " \"/run/current-system/profile/share\");\n"
)))
;; Look for custom GDM conf in /run/current-system.
(substitute* '("common/gdm-settings-desktop-backend.c")
@@ -6435,15 +6446,16 @@ functionality and behavior.")
(define-public arc-theme
(package
(name "arc-theme")
- (version "20170302")
+ (version "20181022")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/horst3180/arc-theme"
- "/archive/" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/NicoHood/arc-theme.git")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0igxpngnkf1wpsg872a9jg3c9f5z8afm312yfbillz16mk8w39cw"))))
+ "08951dk1irfadwpr3p323a4fprmxg53rk2r2niwq3v62ryhi3663"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -6454,16 +6466,20 @@ functionality and behavior.")
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("gtk+" ,gtk+)))
+ ("glib" ,glib "bin") ; for glib-compile-resources
+ ("gnome-shell" ,gnome-shell)
+ ("gtk+" ,gtk+)
+ ("inkscape" ,inkscape)
+ ("optipng" ,optipng)
+ ("pkg-config" ,pkg-config)
+ ("sassc" ,sassc)))
(synopsis "A flat GTK+ theme with transparent elements")
(description "Arc is a flat theme with transparent elements for GTK 3, GTK
2, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
(home-page "https://github.com/horst3180/arc-theme")
;; No "or later" language found.
- (license license:gpl3)))
+ (license license:gpl3+)))
(define-public faba-icon-theme
(package
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 53fdc8200c..951fc05fa2 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -471,16 +471,23 @@ interface (FFI) of Guile.")
(define-public python-gpg
(package
(name "python-gpg")
- (version "1.8.0")
+ (version "1.10.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "gpg" version))
(sha256
(base32
- "1x74i6q713c0bckls7rdm8kgsmllf9qvy9x62jghszlhgjkyh9nd"))))
+ "1ji3ynhp36m1ccx7bmaq75dhij9frpn19v9mpi4aajn8csl194il"))))
(build-system python-build-system)
(arguments
- '(#:tests? #f)) ; No test suite.
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'set-environment
+ (lambda _
+ (substitute* "setup.py"
+ (("cc") (which "gcc")))
+ #t)))
+ #:tests? #f)) ; No test suite.
(inputs
`(("gpgme" ,gpgme)))
(native-inputs
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index d6b1f4c2d6..bb7fda24e6 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -62,6 +62,7 @@
#:use-module (gnu packages gl)
#:use-module (gnu packages assembly)
#:use-module (gnu packages rust)
+ #:use-module (gnu packages llvm)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages video)
#:use-module (gnu packages xiph)
@@ -506,16 +507,36 @@ security standards.")
(search-patch "icecat-use-system-media-libs.patch")
(mozilla-patch "icecat-bug-1464061.patch" "d28761dbff18" "1f58rzwx4s1af66fdwn9lgkcd1ksmq8kn8imvf78p90jqi24h7b4")
(mozilla-patch "icecat-bug-1479853.patch" "4faeb696dd06" "12891xx9c15s6kby6d3zk64v5nqgaq7sw597zv1fkd3a6x69hlva")
- (mozilla-patch "icecat-bug-1488295.patch" "12ba39f69876" "1piyq44f0xa0a9z2748aqwpaziaxwp61d86gyhalbyag8lcxfb3p")
- (mozilla-patch "icecat-bug-1500011.patch" "a0adabeedf26" "0f5wazha3zxzhy2j8f93hx62l9p02b1p40vi07qah3ar67h4ccj9")
- (mozilla-patch "icecat-bug-1503082.patch" "19604eb26230" "1wqxgph4z14ijhk2j2m4av5p6gx72d02lzz83q6yy0k065kw8psb")
- (mozilla-patch "icecat-bug-1499861.patch" "98737ab09270" "0fyl6wv0jxcxpkfpsff46y93k49n8lrw0k7c1p45g8da015dx27a")
- (mozilla-patch "icecat-bug-1504452.patch" "1cf7d80355d5" "19jp4x32vyxam54d1r9fm7jwf6krhhf3xazfqmxb9aw4iwdil7dl")
- (mozilla-patch "icecat-bug-1494752.patch" "c264774b8913" "1hxyi131x8jwawrq90cgkph833iv9ixrdrgzl1r978gbzwq10xz2")
+ (mozilla-patch "icecat-CVE-2018-17466.patch" "12ba39f69876" "1piyq44f0xa0a9z2748aqwpaziaxwp61d86gyhalbyag8lcxfb3p")
+ (mozilla-patch "icecat-CVE-2018-18498.patch" "a0adabeedf26" "0f5wazha3zxzhy2j8f93hx62l9p02b1p40vi07qah3ar67h4ccj9")
+ (mozilla-patch "icecat-CVE-2018-12405-pt01.patch" "19604eb26230" "1wqxgph4z14ijhk2j2m4av5p6gx72d02lzz83q6yy0k065kw8psb")
+ (mozilla-patch "icecat-CVE-2018-18492.patch" "98737ab09270" "0fyl6wv0jxcxpkfpsff46y93k49n8lrw0k7c1p45g8da015dx27a")
+ (mozilla-patch "icecat-CVE-2018-18493.patch" "1cf7d80355d5" "19jp4x32vyxam54d1r9fm7jwf6krhhf3xazfqmxb9aw4iwdil7dl")
+ (mozilla-patch "icecat-CVE-2018-12405-pt02.patch" "c264774b8913" "1hxyi131x8jwawrq90cgkph833iv9ixrdrgzl1r978gbzwq10xz2")
(mozilla-patch "icecat-bug-1477773.patch" "ec13fda7c9b0" "0zj7aylgw55g0y7plaafn5gq8jwcsdr1bpdxacs0hq914nm8zy9z")
- (mozilla-patch "icecat-bug-1500759.patch" "5e1a9644aeef" "1qimrpgyrd8zkiri7w57j0aymk20y9b34am5w7rvr6qj1lhrbfla")
+ (mozilla-patch "icecat-CVE-2018-12405-pt03.patch" "5e1a9644aeef" "1qimrpgyrd8zkiri7w57j0aymk20y9b34am5w7rvr6qj1lhrbfla")
(mozilla-patch "icecat-bug-1485655.patch" "9055726e2d89" "1pppxr94zqh6zmi2mn1ih21qap09vk5ivbhnwxqr8iszvygjg44g")
- (mozilla-patch "icecat-bug-1410214.patch" "9e641345e2ef" "0542xss2jdb8drh4g50cfy32l300x69dyywgx3dqs03vgr3qplxy")))
+ (mozilla-patch "icecat-bug-1410214.patch" "9e641345e2ef" "0542xss2jdb8drh4g50cfy32l300x69dyywgx3dqs03vgr3qplxy")
+ (mozilla-patch "icecat-CVE-2018-12405-pt04.patch" "6398541ec302" "1c2yi7mkg3d5afxsgj9fp3zq8yhkmphrll5d60d5xsdv88kqqiyf")
+ (mozilla-patch "icecat-bug-1496736.patch" "3bed863ee656" "038k7jk3yp16410crwfdvhyb2vis49c6bplrfr83v51885cqldar")
+ (mozilla-patch "icecat-bug-1498765.patch" "a08c8493ba19" "0bwg4vg03j962lb9q8ihpiy4rmygykf1q9ij8x7h34q7hg43yjya")
+ (mozilla-patch "icecat-CVE-2018-12405-pt05.patch" "ee204e26690e" "1scs45xhlr1mwv6x2q6n22363f42by8cjmifqwzlikggs21f5mcq")
+ (mozilla-patch "icecat-bug-1507035.patch" "cec8b58ab3fe" "1f131ibpkrhsa44l822hnm5qgvapbs3i9pj25iimdwvr933winz8")
+ (mozilla-patch "icecat-bug-1501680.patch" "282c6bb81562" "1zgw7l5zmni8468y3f6cip1nlw63cfdd9vv9b00cbrgy96d1q2cp")
+ (mozilla-patch "icecat-bug-1500310.patch" "b3a439a26186" "0mrjxcmrlv04fyl36dwxk97dw08g2hlikvw2hfa1l0y8zsc4bgw8")
+ (mozilla-patch "icecat-bug-1500366.patch" "abd59256c4e3" "1jgwh2v4kwb6kf2h7mwf128w1k1jj119bfhlgqpmn9ami35wpzf3")
+ (mozilla-patch "icecat-bug-1493080.patch" "a7cabf306d05" "1n7wv67rcaz8wj31jc77ssjdj3kb61gdg7pigj828c5z2cgns1k5")
+ (mozilla-patch "icecat-CVE-2018-12405-pt06.patch" "8bbf80948b50" "1nvc69zgz9nvbw1pwxkil1fx4cxxpr6bsjrpp6l2kv7jhgax1bqk")
+ (mozilla-patch "icecat-bug-1507564.patch" "60619cc47b10" "09fanqr08kqgraw4xp7y2az4jc7ia8nn200rqjfj20vmkyjz97j3")
+ (mozilla-patch "icecat-bug-1507730.patch" "dd0f01818b9c" "14ziq1bm72n58xrvsgzpjj5z6ifpvi70r5jfhbkbj69mf4y4cx2z")
+ (mozilla-patch "icecat-CVE-2018-12405-pt07.patch" "a73a46ddc848" "1bvvyav3xyn6rgn6haicinxn0dasl9dyc1i37fyb7wr5wcpahybs")
+ (mozilla-patch "icecat-CVE-2018-18494.patch" "a72ec8e21577" "095zghmwdcbaid5426p9vpl757d8sfbsvgn201bjm7nhm03m4z7i")
+ (mozilla-patch "icecat-CVE-2018-12405-pt08.patch" "b6d0fc61fd0b" "0059avawxi4s4747plybjsjq8j2h4z7amw05p28xyg95a2njwnaa")
+ (mozilla-patch "icecat-bug-1499028.patch" "a62ede2dd3bc" "0ikmnibni8bdvpr9p42wskyyic08vzqdz5qr028bqzyg5119gily")
+ (mozilla-patch "icecat-bug-1426574.patch" "0db86656655b" "0kmccb4ccdzbzncwklx7w1bg7r61zwl2wnfp67vl27hm9xykbck7")
+ (mozilla-patch "icecat-CVE-2018-12405-pt09.patch" "20e31905de62" "0b5a441645wy3q4asaygvdq0inrxmxrh33cpgdp6ngflq9p2i6h0")
+ (mozilla-patch "icecat-CVE-2018-12405-pt10.patch" "c2832f98fe51" "0b4jfjfdyrihwjdfavd54hn9kdg2f017lmfr7mj2llp71flxwwj7")
+ (mozilla-patch "icecat-bug-1511495.patch" "d428d2b8f585" "1f9xs0bjhbphvkv60cnvz34sr2rv38jzvi47wh3nablg41yjpdrk")))
(modules '((guix build utils)))
(snippet
'(begin
@@ -620,6 +641,8 @@ security standards.")
;; Icecat 60 checkes for rust>=1.24
`(("rust" ,rust-1.24)
("cargo" ,rust-1.24 "cargo")
+ ("llvm" ,llvm-3.9.1)
+ ("clang" ,clang-3.9.1)
("perl" ,perl)
("python" ,python-2) ; Python 3 not supported
("python2-pysqlite" ,python2-pysqlite)
@@ -639,7 +662,7 @@ security standards.")
#:imported-modules ,%cargo-build-system-modules ;for `generate-checksums'
- #:configure-flags '("--enable-default-toolkit=cairo-gtk3"
+ #:configure-flags `("--enable-default-toolkit=cairo-gtk3"
"--with-distribution-id=org.gnu"
@@ -653,14 +676,25 @@ security standards.")
"--disable-eme"
"--disable-gconf"
- ;; Stylo requires LLVM/clang. For now, disable it.
- "--disable-stylo"
-
;; Building with debugging symbols takes ~5GiB, so
;; disable it.
"--disable-debug"
"--disable-debug-symbols"
+ ;; Clang is needed to build Stylo, Mozilla's new
+ ;; CSS engine. We must specify the clang paths
+ ;; manually, because otherwise the Mozilla build
+ ;; system looks in the directories returned by
+ ;; llvm-config --bindir and llvm-config --libdir,
+ ;; which return paths in the llvm package where
+ ;; clang is not found.
+ ,(string-append "--with-clang-path="
+ (assoc-ref %build-inputs "clang")
+ "/bin/clang")
+ ,(string-append "--with-libclang-path="
+ (assoc-ref %build-inputs "clang")
+ "/lib")
+
;; Hack to work around missing
;; "unofficial" branding in icecat.
"--enable-official-branding"
@@ -754,6 +788,20 @@ security standards.")
(generate-checksums dir null-file)))
(find-files "third_party/rust" ".cargo-checksum.json")))
#t))
+ (add-before 'configure 'augment-CPLUS_INCLUDE_PATH
+ (lambda* (#:key build inputs #:allow-other-keys)
+ ;; Here, we add additional entries to CPLUS_INCLUDE_PATH, to work
+ ;; around a problem that otherwise occurs when attempting to
+ ;; build Stylo, which requires Rust and Clang. Without these
+ ;; additional entries, errors occur during the build indicating
+ ;; that the <cstddef> and "c++config.h" headers cannot be found.
+ ;; Note that the 'build' keyword argument contains the GNU
+ ;; triplet, e.g. "x86_64-unknown-linux-gnu".
+ (let ((gcc (assoc-ref inputs "gcc")))
+ (setenv "CPLUS_INCLUDE_PATH"
+ (string-append gcc "/include/c++" ":"
+ gcc "/include/c++/" build ":"
+ (getenv "CPLUS_INCLUDE_PATH"))))))
(replace
'configure
;; configure does not work followed by both "SHELL=..." and
@@ -770,6 +818,7 @@ security standards.")
(setenv "SHELL" bash)
(setenv "CONFIG_SHELL" bash)
(setenv "AUTOCONF" (which "autoconf")) ; must be autoconf-2.13
+ (setenv "CC" "gcc") ; apparently needed when Stylo is enabled
(mkdir "../build")
(chdir "../build")
(format #t "build directory: ~s~%" (getcwd))
@@ -854,3 +903,8 @@ features built-in privacy-protecting features.")
`((ftp-directory . "/gnu/gnuzilla")
(cpe-name . "firefox_esr")
(cpe-version . ,(first (string-split version #\-)))))))
+
+(define-public conkeror
+ ;; The Conkeror web browser relied on XULRunner, which IceCat > 50 no longer
+ ;; provides. See <http://conkeror.org> for the original web page.
+ (deprecated-package "conkeror" icecat))
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 6c970700a5..a571477ef2 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -406,7 +406,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(package
(inherit go-1.9)
(name "go")
- (version "1.11.1")
+ (version "1.11.4")
(source
(origin
(method url-fetch)
@@ -414,7 +414,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
name version ".src.tar.gz"))
(sha256
(base32
- "05qivf2f59pv4bfrmdr4m0xvswkmvvl9c5a2h5dy45g2k8b8r3sm"))))
+ "05fvp8dq0yffsrvdyii4wgl756dn0xkgm5a80al7j7kb19r45zac"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.9)
((#:phases phases)
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index c271c4b6a0..07b568ee7c 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -45,6 +45,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gperf)
+ #:use-module (gnu packages hurd)
#:use-module (gnu packages libffi)
#:use-module (gnu packages autotools)
#:use-module (gnu packages flex)
@@ -288,7 +289,19 @@ without requiring the source code to be rewritten.")
(substitute* "module/Makefile.in"
(("language/elisp/boot\\.el")
"\n"))
- #t)))))
+ #t))
+ ,@(if (hurd-target?)
+ `((add-after 'unpack 'allow-madvise-ENOSYS
+ (lambda _
+ ;; Do not warn about ENOSYS on 'madvise'. This is
+ ;; what Guile commit
+ ;; 45e4ace6603e00b297e6542362273041aebe7305 does.
+ ;; TODO: Remove for Guile >= 2.2.5.
+ (substitute* "libguile/vm.c"
+ (("perror \\(\"madvise failed\"\\)")
+ "if (errno != ENOSYS) perror (\"madvised failed\");"))
+ #t)))
+ '()))))
(package-arguments guile-2.0)))))
(define-public guile-2.2/fixed
@@ -2316,4 +2329,33 @@ Scheme by using Guile’s foreign function interface.")
(home-page "https://gitlab.com/mothacehe/guile-newt")
(license license:gpl3+))))
+(define-public guile-mastodon
+ (package
+ (name "guile-mastodon")
+ (version "0.0.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://framagit.org/prouby/guile-mastodon.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1vblf3d1bbwna3l09p2ap5y8ycvl549bz6whgk78imyfmn28ygry"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("guile" ,guile-2.2)
+ ("gnutls" ,gnutls)
+ ("guile-json" ,guile-json)))
+ (home-page "https://framagit.org/prouby/guile-mastodon")
+ (synopsis "Guile Mastodon REST API module")
+ (description "This package provides Guile modules to access the
+@uref{https://docs.joinmastodon.org/api/, REST API of Mastodon}, a federated
+microblogging service.")
+ (license license:gpl3+)))
+
;;; guile.scm ends here
diff --git a/gnu/packages/ham-radio.scm b/gnu/packages/ham-radio.scm
index 0f96553c65..b73671c8bc 100644
--- a/gnu/packages/ham-radio.scm
+++ b/gnu/packages/ham-radio.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -20,9 +20,13 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (gnu packages gtk)
#:use-module (gnu packages libusb)
#:use-module (gnu packages pkg-config)
- #:use-module (guix build-system cmake))
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages xml)
+ #:use-module (guix build-system cmake)
+ #:use-module (guix build-system python))
(define-public rtl-sdr
(package
@@ -50,3 +54,30 @@
cheap software defined radio, since the chip allows transferring the raw I/Q
samples to the host. @code{rtl-sdr} provides drivers for this purpose.")
(license license:gpl2+)))
+
+(define-public chirp
+ (package
+ (name "chirp")
+ (version "20181205")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://trac.chirp.danplanet.com/chirp_daily/daily-"
+ version "/chirp-daily-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1cp280b95j39xaxs50zn55jigg7pyfpm9n098hmsyxrplqn8z43c"))))
+ (build-system python-build-system)
+ (inputs
+ `(("python2-libxml2" ,python2-libxml2)
+ ("python2-pygtk" ,python2-pygtk)
+ ("python2-pyserial" ,python2-pyserial)))
+ (arguments
+ `(#:python ,python-2))
+ (home-page "https://chirp.danplanet.com")
+ (synopsis "Cross-radio programming tool")
+ (description "Chirp is a cross-radio programming tool. It supports a
+growing list of radios across several manufacturers and allows transferring of
+memory contents between them.")
+ (license (list license:gpl3+
+ license:lgpl3+)))) ; chirp/elib_intl.py
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 57435dca07..8d0e2aef69 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -5069,10 +5069,11 @@ call stacks with different versions of the compiler.")
;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
;; because it depends on ghc-nanospec, which depends on ghc-hunit.
(define-public ghc-call-stack-boot
- (package
- (inherit ghc-call-stack)
- (arguments '(#:tests? #f))
- (inputs '())))
+ (hidden-package
+ (package
+ (inherit ghc-call-stack)
+ (arguments '(#:tests? #f))
+ (inputs '()))))
(define-public ghc-statevar
(package
diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm
index a2687ac8c3..b994beb560 100644
--- a/gnu/packages/ibus.scm
+++ b/gnu/packages/ibus.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
-;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
;;;
@@ -34,6 +34,7 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages databases)
#:use-module (gnu packages datastructures)
@@ -292,7 +293,7 @@ Japanese language input in most graphical applications.")
(define-public librime
(package
(name "librime")
- (version "1.3.1")
+ (version "1.3.2")
(source
(origin
(method git-fetch)
@@ -301,8 +302,25 @@ Japanese language input in most graphical applications.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1y0h3nnz97smx9z8h5fzk4c27mvrwv8kajxffqc43bhyvxvb2jd6"))))
+ (base32
+ "06q10cv7a3i6d8l3sq79nasw3p1njvmjgh4jq2hqw9abcx351m1r"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (delete-file-recursively "thirdparty/src")
+ (delete-file-recursively "thirdparty/bin")
+ (delete-file-recursively "thirdparty/include/X11")
+ #t))))
(build-system cmake-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-source
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("include_directories\\($\\{PROJECT_SOURCE_DIR\\}/thirdparty/include\\)") "")
+ (("link_directories\\($\\{PROJECT_SOURCE_DIR\\}/thirdparty/lib\\)") ""))
+ #t)))))
(inputs
`(("boost" ,boost)
("glog" ,glog)
@@ -310,6 +328,9 @@ Japanese language input in most graphical applications.")
("marisa" ,marisa)
("opencc" ,opencc)
("yaml-cpp" ,yaml-cpp)))
+ (native-inputs
+ `(("googletest" ,googletest)
+ ("xorgproto" ,xorgproto))) ; keysym.h
(home-page "https://rime.im/")
(synopsis "The core library of Rime Input Method Engine")
(description "@dfn{librime} is the core library of Rime Input Method
diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm
index 0901dc429f..846d498cec 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -35,13 +35,18 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages documentation)
#:use-module (gnu packages fontutils)
+ #:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
+ #:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages graphics)
#:use-module (gnu packages graphviz)
+ #:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
+ #:use-module (gnu packages imagemagick)
#:use-module (gnu packages maths)
+ #:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
#:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config)
@@ -396,3 +401,46 @@ vision algorithms. It can be used to do things like:
@end itemize\n")
(home-page "https://opencv.org/")
(license license:bsd-3)))
+
+(define-public vips
+ (package
+ (name "vips")
+ (version "8.7.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/libvips/libvips/releases/download/v"
+ version "/vips-" version ".tar.gz"))
+ (sha256
+ (base32 "1w3b90pdw7nj2p0gb4f96h6zhmga513f968ldfhz1rkhg7y81c0s"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("gobject-introspection" ,gobject-introspection)))
+ (inputs
+ `(("glib" ,glib)
+ ("libjpeg" ,libjpeg)
+ ("libpng" ,libpng)
+ ("librsvg" ,librsvg)
+ ("libtiff" ,libtiff)
+ ("libexif" ,libexif)
+ ("giflib" ,giflib)
+ ("libgsf" ,libgsf)
+ ("fftw" ,fftw)
+ ("poppler" ,poppler)
+ ("pango" ,pango)
+ ("lcms" ,lcms)
+ ("matio" ,matio)
+ ("libwebp" ,libwebp)
+ ("niftilib" ,niftilib)
+ ("openexr" ,openexr)
+ ("orc" ,orc)
+ ("imagemagick" ,imagemagick)
+ ("libxml2" ,libxml2)
+ ("expat" ,expat)
+ ("hdf5" ,hdf5)))
+ (home-page "https://libvips.github.io/libvips/")
+ (synopsis "Image processing system")
+ (description
+ "vips is a demand-driven, horizontally threaded image processing library.")
+ (license license:lgpl2.1+)))
diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm
index 8e70f1fdfc..877c4a7866 100644
--- a/gnu/packages/image-viewers.scm
+++ b/gnu/packages/image-viewers.scm
@@ -61,7 +61,7 @@
(define-public feh
(package
(name "feh")
- (version "3.1")
+ (version "3.1.1")
(home-page "https://feh.finalrewind.org/")
(source (origin
(method url-fetch)
@@ -69,7 +69,7 @@
name "-" version ".tar.bz2"))
(sha256
(base32
- "01rrl009m1kxwvqqr98y4wk8m1al18fkxwv8cds2k7n4qiv6xdb7"))))
+ "1sy8z6rv5sy1bhk3846hgfdy96wdi874yr2fnxfprks46qp29l31"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases (delete 'configure))
@@ -238,12 +238,14 @@ it and customize it for your needs.")
(version "1.7")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/hellosiyan/Viewnior/archive/"
- name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hellosiyan/Viewnior.git")
+ (commit (string-append name "-" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1rpkk721s3xas125q3g0fl11b5zsrmzv9pzl6ddzcy4sj2rd7ymr"))))
+ "0y4hk3vq8psba5k615w18qj0kbdfp5w0lm98nv5apy6hmcpwfyig"))))
(build-system meson-build-system)
(arguments
'(#:phases
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 207faede91..e4bcd6a274 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -22,6 +22,7 @@
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
+;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -49,6 +50,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages documentation)
#:use-module (gnu packages fontutils)
+ #:use-module (gnu packages freedesktop)
;; To provide gcc@5 and gcc@6, to work around <http://bugs.gnu.org/24703>.
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
@@ -58,6 +60,7 @@
#:use-module (gnu packages graphics)
#:use-module (gnu packages gtk)
#:use-module (gnu packages lua)
+ #:use-module (gnu packages man)
#:use-module (gnu packages maths)
#:use-module (gnu packages mcrypt)
#:use-module (gnu packages perl)
@@ -73,6 +76,7 @@
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system r)
#:use-module (guix build-system scons)
@@ -1570,3 +1574,28 @@ identical visual appearance.")
(description
"Jp2a is a small utility that converts JPEG images to ASCII.")
(license license:gpl2)))
+
+(define-public grim
+ (package
+ (name "grim")
+ (version "1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/emersion/grim/archive/v" version
+ ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0xkk5nqyp1px0sxz4asmchznc0q39wdx1b67ql741k8aj815km0f"))))
+ (build-system meson-build-system)
+ (native-inputs `(("pkg-config" ,pkg-config)))
+ (inputs `(("cairo" ,cairo)
+ ("libjpeg-turbo" ,libjpeg-turbo)
+ ("scdoc" ,scdoc)
+ ("wayland" ,wayland)
+ ("wayland-protocols" ,wayland-protocols)))
+ (home-page "https://github.com/emersion/grim")
+ (synopsis "Create screenshots from a Wayland compositor")
+ (description "grim can create screenshots from a Wayland compositor.")
+ ;; MIT license.
+ (license license:expat)))
diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm
index f40c1180ae..a67919691f 100644
--- a/gnu/packages/ipfs.scm
+++ b/gnu/packages/ipfs.scm
@@ -20,6 +20,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix git-download)
+ #:use-module (guix download)
#:use-module (guix build-system go)
#:use-module (gnu packages golang))
@@ -210,3 +211,39 @@ powerful and simple.")
(description "A subtool for the @command{gx} package manager for packages
written in Go.")
(license license:expat)))
+
+(define-public go-ipfs
+ (package
+ (name "go-ipfs")
+ (version "0.4.18")
+ (source
+ (origin
+ (method url-fetch/tarbomb)
+ (uri (string-append
+ "https://dist.ipfs.io/go-ipfs/v" version
+ "/go-ipfs-source.tar.gz"))
+ (sha256
+ (base32
+ "19hfgbyn5sr1bw0cwm3gsjz0w3b3vh3mmkax1906raah30lavj1x"))
+ (file-name (string-append name "-" version "-source"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:unpack-path "github.com/ipfs/go-ipfs"
+ #:import-path "github.com/ipfs/go-ipfs/cmd/ipfs"
+ #:phases (modify-phases %standard-phases
+ (add-before 'reset-gzip-timestamps 'make-files-writable
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Make sure .gz files are writable so that the
+ ;; 'reset-gzip-timestamps' phase can do its work.
+ (let ((out (assoc-ref outputs "out")))
+ (for-each make-file-writable
+ (find-files out "\\.gz$"))
+ #t))))))
+ (home-page "https://ipfs.io")
+ (synopsis "Go implementation of IPFS, a peer-to-peer hypermedia protocol")
+ (description "IPFS is a global, versioned, peer-to-peer filesystem. It
+combines good ideas from Git, BitTorrent, Kademlia, SFS, and the Web. It is
+like a single bittorrent swarm, exchanging git objects. IPFS provides an
+interface as simple as the HTTP web, but with permanence built in. You can
+also mount the world at @code{/ipfs}.")
+ (license license:expat)))
diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index 4f4e494ee5..ba31d36b9e 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -30,6 +30,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (gnu packages)
+ #:use-module (gnu packages admin)
#:use-module (gnu packages aspell)
#:use-module (gnu packages autogen)
#:use-module (gnu packages autotools)
@@ -65,7 +66,7 @@
(define-public quassel
(package
(name "quassel")
- (version "0.12.5")
+ (version "0.13.0")
(source
(origin
(method url-fetch)
@@ -73,7 +74,7 @@
version ".tar.bz2"))
(sha256
(base32
- "1qkl3sb4ijx4k17m0c42j2p5bc4jymypwhmplm942rbrzm6mg50q"))
+ "0xp9mppxl63qzgsdyprmblvfrj0bb9z57kfc088gvcavvq1210nr"))
(modules '((guix build utils)))
;; We don't want to install the bundled scripts.
(snippet
@@ -86,21 +87,31 @@
(arguments
;; The three binaries are not mutually exlusive, and are all built
;; by default.
- '(#:configure-flags '(;;"-DWANT_QTCLIENT=OFF" ; 5.2 MiB
- ;;"-DWANT_CORE=OFF" ; 2.4 MiB
- ;;"-DWANT_MONO=OFF" ; 6.4 MiB
- "-DUSE_QT5=ON" ; default is qt4
+ '(#:configure-flags '(;;"-DWANT_QTCLIENT=OFF" ; 6.1 MiB
+ ;;"-DWANT_CORE=OFF" ; 3.0 MiB
+ ;;"-DWANT_MONO=OFF" ; 7.6 MiB
"-DWITH_KDE=OFF" ; no to kde integration ...
- "-DWITH_OXYGEN=ON" ; therefore we install bundled icons
- "-DWITH_WEBKIT=OFF") ; we don't depend on qtwebkit
+ "-DWITH_BUNDLED_ICONS=ON" ; so we install bundled icons
+ "-DWITH_OXYGEN_ICONS=ON" ; also the oxygen ones
+ "-DWITH_WEBENGINE=OFF") ; we don't depend on qtwebengine
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-inxi-reference
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((inxi (string-append (assoc-ref inputs "inxi") "/bin/inxi")))
+ (substitute* "src/common/aliasmanager.cpp"
+ ((" inxi ") (string-append " " inxi " ")))
+ #t))))
#:tests? #f)) ; no test target
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
("pkg-config" ,pkg-config)
("qttools" ,qttools)))
(inputs
- `(("qca" ,qca)
+ `(("inxi" ,inxi-minimal)
+ ("qca" ,qca)
("qtbase" ,qtbase)
+ ("qtmultimedia" ,qtmultimedia)
("qtscript" ,qtscript)
("snorenotify" ,snorenotify)
("zlib" ,zlib)))
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index a09bcfabe5..c607cbbcc5 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -301,7 +301,7 @@ JNI.")
`(("jikes" ,jikes)
("jamvm" ,jamvm-1-bootstrap)
("unzip" ,unzip)
- ("zip", zip)))
+ ("zip" ,zip)))
(home-page "http://ant.apache.org")
(synopsis "Build tool for Java")
(description
@@ -1820,6 +1820,8 @@ new Date();"))
(sha256
(base32
"0zywq2203b4hx4jms9vbwvjcj1d3k2v3qpx4s33729fkpmid97r4"))
+ (patches (search-patches
+ "openjdk-10-idlj-reproducibility.patch"))
(modules '((guix build utils)))
(snippet
`(begin
@@ -6138,6 +6140,11 @@ printed.")
(modify-phases %standard-phases
(add-after 'install 'strip-jar-timestamps
(assoc-ref ant:%standard-phases 'strip-jar-timestamps))
+ (add-before 'configure 'fix-timestamp
+ (lambda _
+ (substitute* "configure"
+ (("^TIMESTAMP.*") "TIMESTAMP=19700101\n"))
+ #t))
(add-after 'configure 'fix-bin-ls
(lambda _
(substitute* (find-files "." "Makefile")
diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm
index 8731a44927..c778683e26 100644
--- a/gnu/packages/javascript.scm
+++ b/gnu/packages/javascript.scm
@@ -449,3 +449,40 @@ to use, and is very similar to Lua. There is no need to interact with byzantine
C++ template mechanisms, or worry about marking and unmarking garbage collection
roots, or wrestle with obscure build systems.")
(license license:isc)))
+
+(define-public duktape
+ (package
+ (name "duktape")
+ (version "1.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ ;; Use the GitHub source for ease of updating.
+ (uri (string-append "https://github.com/svaarala/duktape/releases/download/v"
+ version "/duktape-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0rd9wz5716qhzqwwj26i2x5m8dd020rvaf2i08sa4jxrl6nk3cil"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; Tests require many dependencies including v8.
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ ;; Installing is simply copying source code files so they can be
+ ;; embedded elsewhere.
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (src (string-append out "/src")))
+ (install-file "src/duktape.c" src)
+ (install-file "src/duktape.h" src)))))))
+ (synopsis "Embeddable JavaScript engine")
+ (description
+ "Duktape is an embeddable Javascript engine, with a focus on portability
+and compact footprint. Duktape is easy to integrate into a C/C++ project: add
+@code{duktape.c}, @code{duktape.h}, and @code{duk_config.h} to your build, and
+use the Duktape API to call Ecmascript functions from C code and vice versa.")
+ (home-page "http://duktape.org")
+ (license license:expat)))
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 5295a356a2..988bf44c3d 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -207,33 +207,6 @@ Phonon-GStreamer is a backend based on the GStreamer multimedia library.")
;; license: source files mention "either version 2.1 or 3"
(license (list license:lgpl2.1 license:lgpl3))))
-(define-public gpgmepp
- (package
- (name "gpgmepp")
- (version "16.08.2")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/applications"
- "/" version "/src/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0828qlhdi1i26n2xgyb01c0q77m6jlppbxv6mprryxq0ma88940a"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)))
- (propagated-inputs
- `(("boost" ,boost)
- ("gpgme" ,gpgme)))
- (inputs
- `(("qtbase" ,qtbase)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "C++ bindings/wrapper for gpgme")
- (description "C++ bindings/wrapper for gpgme.")
- (license license:lgpl2.1+)
- (properties `((superseded . ,gpgme)))))
-
(define-public kpmcore
(package
(name "kpmcore")
@@ -2003,7 +1976,8 @@ gallons).")
;; This test fails on i686 and aarch64
(lambda _
(substitute* "autotests/unit/file/CMakeLists.txt"
- (("metadatamovertest") ""))
+ (("^\\s*ecm_add_test\\(.* TEST_NAME metadatamovertest .*" line)
+ (string-append "# " line)))
#t))
(replace 'check
(lambda _
@@ -3274,6 +3248,7 @@ setUrl, setUserAgent and call.")
("phonon" ,phonon)
("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative)
+ ("qtquickcontrols2" ,qtquickcontrols2)
("qtsvg" ,qtsvg)
("qtx11extras" ,qtx11extras)
("solid" ,solid)))
@@ -3381,7 +3356,7 @@ workspace.")
(define-public kdelibs4support
(package
(name "kdelibs4support")
- (version "5.42.0")
+ (version "5.49.0")
(source
(origin
(method url-fetch)
@@ -3390,7 +3365,7 @@ workspace.")
(version-major+minor version) "/portingAids/"
name "-" version ".tar.xz"))
(sha256
- (base32 "0aiig8akn6bdxrqdl96xjjy2pxw8hhfrsalbkkzyhh06j794snfb"))))
+ (base32 "1cz70c77l66lbw4fbgmfbq1fldybqxsiay2pg9risgqp3ra8wahi"))))
(build-system cmake-build-system)
(native-inputs
`(("dbus" ,dbus)
@@ -3495,7 +3470,7 @@ http://community.kde.org/Frameworks/Porting_Notes should help with this.")
(define-public khtml
(package
(name "khtml")
- (version "5.42.0")
+ (version "5.49.0")
(source
(origin
(method url-fetch)
@@ -3504,7 +3479,7 @@ http://community.kde.org/Frameworks/Porting_Notes should help with this.")
(version-major+minor version) "/portingAids/"
name "-" version ".tar.xz"))
(sha256
- (base32 "1bfslndxvad0zgzr22w2mz1xwavix9bh5qrrv8dpshlh043bwr3l"))))
+ (base32 "0k9m2pgq64grmgc6ywpzfnn65h8wfkkiwjbmz2mwbf2yi9c1ky64"))))
(build-system cmake-build-system)
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
@@ -3554,7 +3529,7 @@ technology and using KJS for JavaScript support.")
(define-public kjs
(package
(name "kjs")
- (version "5.42.0")
+ (version "5.49.0")
(source
(origin
(method url-fetch)
@@ -3563,7 +3538,7 @@ technology and using KJS for JavaScript support.")
(version-major+minor version) "/portingAids/"
name "-" version ".tar.xz"))
(sha256
- (base32 "1m26sb2qyrcgmpkw76k2yv5my2pkhld96vw6aaqm77q90faw734g"))))
+ (base32 "057ikyi4wffjvxdyk08hmj7h8vmbwbcxv98apmjzgsd611zvx5p0"))))
(build-system cmake-build-system)
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
@@ -3587,7 +3562,7 @@ support.")
(define-public kjsembed
(package
(name "kjsembed")
- (version "5.42.0")
+ (version "5.49.0")
(source
(origin
(method url-fetch)
@@ -3596,7 +3571,7 @@ support.")
(version-major+minor version) "/portingAids/"
name "-" version ".tar.xz"))
(sha256
- (base32 "10w4w4ncwr245bv1ii4sh154w91ghfz0l60k89j50lsydpcqcp3a"))))
+ (base32 "0qddjkfm6f0f5dynqvi3l23mgyfdbk4xzg967sj3a2qlq423ah0m"))))
(build-system cmake-build-system)
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
@@ -3616,7 +3591,7 @@ QObjects, so you can script your applications.")
(define-public kmediaplayer
(package
(name "kmediaplayer")
- (version "5.42.0")
+ (version "5.49.0")
(source
(origin
(method url-fetch)
@@ -3625,7 +3600,7 @@ QObjects, so you can script your applications.")
(version-major+minor version) "/portingAids/"
name "-" version ".tar.xz"))
(sha256
- (base32 "1k1pjc0cz36gs0pl2pxw8f9f82xkbqyy320nfyhan5waxbl1qd5n"))))
+ (base32 "0hbx48ivj4i96yagd9n9vd22ycsljrvijm6nfms4x7z7jr49flrx"))))
(build-system cmake-build-system)
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
@@ -3662,7 +3637,7 @@ KParts instead.")
(define-public kross
(package
(name "kross")
- (version "5.42.0")
+ (version "5.49.0")
(source
(origin
(method url-fetch)
@@ -3671,7 +3646,7 @@ KParts instead.")
(version-major+minor version) "/portingAids/"
name "-" version ".tar.xz"))
(sha256
- (base32 "1aqqwby6jslimpvx42d4n6gjsjc8l82gmsq5ajpv9zkkk91dqfqi"))))
+ (base32 "194zcf499fkwk3wcs3kc3l0fi9h8gn5yqh6gxrgiyn6iyy9a4qdz"))))
(build-system cmake-build-system)
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index d2ae91b179..24144797b8 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -90,12 +90,12 @@
("knotifyconfig" ,knotifyconfig)
("kfilemetadata" ,kfilemetadata)
("kdoctools" ,kdoctools)
- ("kdeclarative", kdeclarative)
- ("qtdeclarative", qtdeclarative)
- ("qtquickcontrols", qtquickcontrols)
- ("kiconthemes", kiconthemes)
+ ("kdeclarative" ,kdeclarative)
+ ("qtdeclarative" ,qtdeclarative)
+ ("qtquickcontrols" ,qtquickcontrols)
+ ("kiconthemes" ,kiconthemes)
("qtgraphicaleffects" ,qtgraphicaleffects)
- ("kplotting", kplotting)))
+ ("kplotting" ,kplotting)))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -112,7 +112,7 @@
,(map (lambda (label)
(string-append (assoc-ref inputs label)
"/lib/qt5/plugins/"))
- '("qtbase", "qtsvg")))
+ '("qtbase" "qtsvg")))
`("FREI0R_PATH" ":" =
(,(string-append frei0r "/lib/frei0r-1/")))
`("QT_QPA_PLATFORM_PLUGIN_PATH" ":" =
diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm
index 822fceb46a..a910d2da49 100644
--- a/gnu/packages/kodi.scm
+++ b/gnu/packages/kodi.scm
@@ -268,7 +268,7 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.")
(define-public kodi
(package
(name "kodi")
- (version "18.0rc1")
+ (version "18.0rc3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -277,7 +277,7 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.")
(file-name (git-file-name name version))
(sha256
(base32
- "0xzzp4x8l0ywx8aq93a1323il6wwslmgdbhasv0r8zp3w1c0wqf1"))
+ "0bwi4gwmwppjw6bf0zihyg42zwnd0imq0aw4xxsgnacqakhxzii0"))
(snippet
'(begin
(use-modules (guix build utils))
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 9d61734f34..bcaeef96e3 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -400,8 +400,8 @@ It has been modified to remove all non-free binary blobs.")
;; supports qemu "virt" machine and possibly a large number of ARM boards.
;; See : https://wiki.debian.org/DebianKernel/ARMMP.
-(define %linux-libre-version "4.19.6")
-(define %linux-libre-hash "1ybi878li06algbv2pdwn81jlh038pfvzz3axn1bzic9p4c9rjhf")
+(define %linux-libre-version "4.19.13")
+(define %linux-libre-hash "0ac0ywy542fiwdiab2z12rbjn9zw8vjbzkbpmpk9nfic2mcyrg8r")
(define %linux-libre-4.19-patches
(list %boot-logo-patch
@@ -423,8 +423,8 @@ It has been modified to remove all non-free binary blobs.")
#:patches %linux-libre-4.19-patches
#:configuration-file kernel-config))
-(define %linux-libre-4.14-version "4.14.85")
-(define %linux-libre-4.14-hash "1jh11y6jakkp3xlq9jbf2myfjzbccjx1iyhd6ny7r9cjkv6r5i5i")
+(define %linux-libre-4.14-version "4.14.91")
+(define %linux-libre-4.14-hash "1xr4q6hqjg4fjcd1w8qi2x9a11ms9wvascy9b1p6czblg9j9dd6a")
(define-public linux-libre-4.14
(make-linux-libre %linux-libre-4.14-version
@@ -433,14 +433,14 @@ It has been modified to remove all non-free binary blobs.")
#:configuration-file kernel-config))
(define-public linux-libre-4.9
- (make-linux-libre "4.9.142"
- "0a7c41m41p83byn68cfixq460sy73ahwcx9y3xm6cv05grqza8zh"
+ (make-linux-libre "4.9.148"
+ "0yrjgvdzbcp750j4fhlxi4ia1v0fqh0y3p99wnbpfvg17j01lbjl"
%intel-compatible-systems
#:configuration-file kernel-config))
(define-public linux-libre-4.4
- (make-linux-libre "4.4.166"
- "1pb6hk141hzf6yf2423h0jfv9bjq09cynsp1xbm12mxayn637xmm"
+ (make-linux-libre "4.4.169"
+ "1snjdih9iv3fg7f9h2r1gldcqmvzj1w398aysws4fialj488x1p4"
%intel-compatible-systems
#:configuration-file kernel-config))
@@ -937,7 +937,7 @@ Zerofree requires the file system to be unmounted or mounted read-only.")
(define-public strace
(package
(name "strace")
- (version "4.25")
+ (version "4.26")
(home-page "https://strace.io")
(source (origin
(method url-fetch)
@@ -945,7 +945,7 @@ Zerofree requires the file system to be unmounted or mounted read-only.")
"/strace-" version ".tar.xz"))
(sha256
(base32
- "00f7zagfh3np5gwi0z7hi7zjd7s5nixcaq7z78n87dvhakkgi1fn"))))
+ "070yz8xii8gnb4psiz628zwm5srh266sfb06f7f1qzagxzz2ykbw"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -964,7 +964,7 @@ Zerofree requires the file system to be unmounted or mounted read-only.")
(description
"strace is a system call tracer, i.e. a debugging tool which prints out a
trace of all the system calls made by a another process/program.")
- (license license:bsd-3)))
+ (license license:lgpl2.1+)))
(define-public ltrace
(package
@@ -2612,7 +2612,7 @@ thanks to the use of namespaces.")
(define-public singularity
(package
(name "singularity")
- (version "2.5.1")
+ (version "2.6.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/singularityware/singularity/"
@@ -2620,7 +2620,7 @@ thanks to the use of namespaces.")
"/singularity-" version ".tar.gz"))
(sha256
(base32
- "0f28dgf2qcy8ljjfix7p9q36q12j7rxyicfzzi4n0fl8zr8ab88g"))))
+ "1whx0hqqi1326scgdxxxa1d94vn95mnq0drid6s8wdp84ni4d3gk"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -4049,7 +4049,7 @@ under OpenGL graphics workloads.")
(define-public efivar
(package
(name "efivar")
- (version "35")
+ (version "37")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/rhboot/" name
@@ -4057,7 +4057,7 @@ under OpenGL graphics workloads.")
"-" version ".tar.bz2"))
(sha256
(base32
- "153k2ifyl4giz5fkryxhz8z621diqjy7v25hfga4z94rs32ks0qy"))))
+ "17vvfivhsrszh7q39b6npjsrhrhsjf1cmmcpp3xrh6wh7ywzwrrw"))))
(build-system gnu-build-system)
(arguments
`(;; Tests require a UEFI system and is not detected in the chroot.
@@ -4973,3 +4973,29 @@ infrastructure for in-kernel netfilter subsystems (such as nfnetlink_log,
nfnetlink_queue, nfnetlink_conntrack) and their respective users and/or
management tools in userspace.")
(license license:gpl2)))
+
+(define-public xfsprogs
+ (package
+ (name "xfsprogs")
+ (version "4.19.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://kernel.org/linux/utils/fs/xfs/xfsprogs/"
+ "xfsprogs-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0gs39yiyamjw516jbak3nj4dy4h2a2g48c1mmv4wbppsccvwmwh5"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f)) ; Kernel/user integration tests are in package "xfstests"
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("util-linux" ,util-linux)))
+ (home-page "https://xfs.wiki.kernel.org/")
+ (synopsis "XFS file system tools")
+ (description "This package provides commands to create and check XFS
+file systems.")
+ ;; The library "libhandle" and the headers in "xfslibs-dev" are
+ ;; licensed under lgpl2.1. the other stuff is licensed under gpl2.
+ (license (list license:gpl2 license:lgpl2.1))))
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 5e8b6fdd3d..261e720e2b 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
+;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -68,6 +69,7 @@
#:use-module (gnu packages databases)
#:use-module (gnu packages gtk)
#:use-module (gnu packages webkit)
+ #:use-module (gnu packages xdisorg)
#:use-module (ice-9 match)
#:use-module (srfi srfi-19))
@@ -83,8 +85,8 @@
,lisp))))
(define-public gcl
- (let ((commit "5956140b1083e2302a59d7ce2054b0b7c2cbb417")
- (revision "1")) ;Guix package revision
+ (let ((commit "d3335e2b3deb63f930eb0328e9b05377744c9512")
+ (revision "2")) ;Guix package revision
(package
(name "gcl")
(version (string-append "2.6.12-" revision "."
@@ -97,7 +99,7 @@
(commit commit)))
(file-name (string-append "gcl-" version "-checkout"))
(sha256
- (base32 "0mwclf2879mh3d9xqkqhghf58lwy7srsnsq9x0f1cc6j302sy4hb"))))
+ (base32 "05v86lhvsby05nzvcd3c4k0wljvgdgd0i6arzd2fx1yd67dl6fgj"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f ; The build system seems not to be thread safe.
@@ -167,8 +169,7 @@
`(("gmp" ,gmp)
("readline" ,readline)))
(native-inputs
- `(("gcc" ,gcc-4.9)
- ("m4" ,m4)
+ `(("m4" ,m4)
("texinfo" ,texinfo)))
(home-page "https://www.gnu.org/software/gcl/")
(synopsis "A Common Lisp implementation")
@@ -771,6 +772,42 @@ thin compatibility layer for gray streams.")
(define-public ecl-trivial-gray-streams
(sbcl-package->ecl-package sbcl-trivial-gray-streams))
+(define-public sbcl-fiasco
+ (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f")
+ (revision "1"))
+ (package
+ (name "sbcl-fiasco")
+ (version (git-version "0.0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/joaotavora/fiasco.git")
+ (commit commit)))
+ (file-name (git-file-name "fiasco" version))
+ (sha256
+ (base32
+ "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
+ (synopsis "Simple and powerful test framework for Common Lisp")
+ (description "A Common Lisp test framework that treasures your failures,
+logical continuation of Stefil. It focuses on interactive debugging.")
+ (home-page "https://github.com/joaotavora/fiasco")
+ ;; LICENCE specifies this is public-domain unless the legislation
+ ;; doesn't allow or recognize it. In that case it falls back to a
+ ;; permissive licence.
+ (license (list license:public-domain
+ (license:x11-style "file://LICENCE"))))))
+
+(define-public cl-fiasco
+ (sbcl-package->cl-source-package sbcl-fiasco))
+
+(define-public ecl-fiasco
+ (sbcl-package->ecl-package sbcl-fiasco))
+
(define-public sbcl-flexi-streams
(package
(name "sbcl-flexi-streams")
@@ -928,25 +965,31 @@ from other CLXes around the net.")
`(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
("sbcl-cl-unicode" ,sbcl-cl-unicode)))))
-(define-public sbcl-stumpwm
+(define-public stumpwm
(package
- (name "sbcl-stumpwm")
- (version "18.05")
+ (name "stumpwm")
+ (version "18.11")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/stumpwm/stumpwm/archive/"
version ".tar.gz"))
(sha256
- (base32 "1n2gaab3lwgf5r1hmwdcw13dkv9xdd7drn2shx28kfxvhdc9kbb9"))
- (file-name (string-append "stumpwm-" version ".tar.gz"))))
+ (base32 "177gxfk4c127i9crghx6fmkipznhgylvzgnjb2pna38g21gg6s39"))
+ (file-name (string-append "stumpwm-" version ".tar.gz"))
+ (patches
+ ;; This patch is included in the post-18.11 git master tree
+ ;; and can be removed when we move to the next release.
+ (search-patches "stumpwm-fix-broken-read-one-line.patch"))))
(build-system asdf-build-system/sbcl)
+ (native-inputs `(("fiasco" ,sbcl-fiasco)))
(inputs `(("cl-ppcre" ,sbcl-cl-ppcre)
("clx" ,sbcl-clx)
("alexandria" ,sbcl-alexandria)))
(outputs '("out" "lib"))
(arguments
- '(#:phases
+ '(#:asd-system-name "stumpwm"
+ #:phases
(modify-phases %standard-phases
(add-after 'create-symlinks 'build-program
(lambda* (#:key outputs #:allow-other-keys)
@@ -979,17 +1022,15 @@ for input. These design decisions reflect the growing popularity of
productive, customizable lisp based systems.")
(home-page "https://github.com/stumpwm/stumpwm")
(license license:gpl2+)
- (properties `((ecl-variant . ,(delay ecl-stumpwm))))))
+ (properties `((cl-source-variant . ,(delay cl-stumpwm))))))
-(define-public cl-stumpwm
- (sbcl-package->cl-source-package sbcl-stumpwm))
+(define-public sbcl-stumpwm
+ (deprecated-package "sbcl-stumpwm" stumpwm))
-(define-public ecl-stumpwm
- (let ((base (sbcl-package->ecl-package sbcl-stumpwm)))
- (package
- (inherit base)
- (outputs '("out"))
- (arguments '()))))
+(define-public cl-stumpwm
+ (package
+ (inherit (sbcl-package->cl-source-package stumpwm))
+ (name "cl-stumpwm")))
;; The slynk that users expect to install includes all of slynk's contrib
;; modules. Therefore, we build the base module and all contribs first; then
@@ -1268,16 +1309,16 @@ multiple inspectors with independent history.")
paths)
#t)))))))
-(define-public sbcl-stumpwm+slynk
+(define-public stumpwm+slynk
(package
- (inherit sbcl-stumpwm)
- (name "sbcl-stumpwm-with-slynk")
+ (inherit stumpwm)
+ (name "stumpwm-with-slynk")
(outputs '("out"))
(inputs
- `(("stumpwm" ,sbcl-stumpwm "lib")
+ `(("stumpwm" ,stumpwm "lib")
("slynk" ,sbcl-slynk)))
(arguments
- (substitute-keyword-arguments (package-arguments sbcl-stumpwm)
+ (substitute-keyword-arguments (package-arguments stumpwm)
((#:phases phases)
`(modify-phases ,phases
(replace 'build-program
@@ -1301,6 +1342,9 @@ multiple inspectors with independent history.")
(delete 'cleanup)
(delete 'create-symlinks)))))))
+(define-public sbcl-stumpwm+slynk
+ (deprecated-package "sbcl-stumpwm-with-slynk" stumpwm+slynk))
+
(define-public sbcl-parse-js
(let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
(revision "1"))
@@ -3741,3 +3785,45 @@ client and server.")
(define-public ecl-s-xml-rpc
(sbcl-package->ecl-package sbcl-s-xml-rpc))
+
+(define-public sbcl-trivial-clipboard
+ (let ((commit "5af3415d1484e6d69a1b5c178f24680d9fd01796"))
+ (package
+ (name "sbcl-trivial-clipboard")
+ (version (git-version "0.0.0.0" "2" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/snmsts/trivial-clipboard")
+ (commit commit)))
+ (file-name (git-file-name "trivial-clipboard" version))
+ (sha256
+ (base32
+ "1gb515z5yq6h5548pb1fwhmb0hhq1ssyb78pvxh4alq799xipxs9"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("xclip" ,xclip)))
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/text.lisp"
+ (("\\(executable-find \"xclip\"\\)")
+ (string-append "(executable-find \""
+ (assoc-ref inputs "xclip")
+ "/bin/xclip\")"))))))))
+ (home-page "https://github.com/snmsts/trivial-clipboard")
+ (synopsis "Access system clipboard in Common Lisp")
+ (description
+ "@command{trivial-clipboard} gives access to the system clipboard.")
+ (license license:expat))))
+
+(define-public cl-trivial-clipboard
+ (sbcl-package->cl-source-package sbcl-trivial-clipboard))
+
+(define-public ecl-trivial-clipboard
+ (sbcl-package->ecl-package sbcl-trivial-clipboard))
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 8a9d1d312b..6dab9c5195 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -95,6 +95,21 @@ languages is in development. The compiler infrastructure includes mirror sets
of programming tools as well as libraries with equivalent functionality.")
(license license:ncsa)))
+;; TODO: Build Mesa with LLVM 7 in the next staging cycle.
+;; TODO: Make LLVM 7 the default LLVM once Clang is also upgraded.
+(define-public llvm-7.0.1
+ (package (inherit llvm)
+ (name "llvm")
+ (version "7.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://llvm.org/releases/"
+ version "/llvm-" version ".src.tar.xz"))
+ (sha256
+ (base32
+ "16s196wqzdw4pmri15hadzqgdi926zln3an2viwyq0kini6zr3d3"))))))
+
;; FIXME: This package is here to prevent many rebuilds on x86_64 and i686
;; from commit fc9dbf41311d99d0fd8befc789ea7c0e35911890. Update users of
;; this in the next rebuild cycle.
diff --git a/gnu/packages/lxqt.scm b/gnu/packages/lxqt.scm
index 4cb24ebf64..b3d32c284f 100644
--- a/gnu/packages/lxqt.scm
+++ b/gnu/packages/lxqt.scm
@@ -513,7 +513,7 @@ of other programs.")
("liblxqt" ,liblxqt)
("libqtxdg" ,libqtxdg)
("libstatgrab" ,libstatgrab)
- ("libsysstat", libsysstat)
+ ("libsysstat" ,libsysstat)
("libxcomposite" ,libxcomposite)
("libxdamage" ,libxdamage)
("libxkbcommon" ,libxkbcommon)
@@ -700,7 +700,7 @@ Qt with LXQt.")
("qtx11extras" ,qtx11extras)))
(native-inputs
`(("pkg-config" ,pkg-config)
- ("qttools", qttools)
+ ("qttools" ,qttools)
("lxqt-build-tools" ,lxqt-build-tools)))
(arguments
'(#:tests? #f ; no tests
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 3f525e39a5..084e62cca4 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -495,7 +495,7 @@ sample proximities between pairs of cases.")
`(("python" ,python)
("numpy" ,python-numpy)
("r-minimal" ,r-minimal)
- ("octave" ,octave)
+ ("octave" ,octave-cli)
("swig" ,swig)
("eigen" ,eigen)
("hdf5" ,hdf5)
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index e88b315946..6d1006c606 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -23,7 +23,7 @@
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
+;;; Copyright © 2017, 2018 Rene Saavedra <pacoon@protonmail.com>
;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
@@ -47,12 +47,13 @@
#:use-module (gnu packages)
#:use-module (gnu packages aspell)
#:use-module (gnu packages autotools)
- #:use-module (gnu packages base)
#:use-module (gnu packages backup)
+ #:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages calendar)
#:use-module (gnu packages check)
+ #:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl)
@@ -60,11 +61,13 @@
#:use-module (gnu packages dejagnu)
#:use-module (gnu packages django)
#:use-module (gnu packages dns)
+ #:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages emacs)
#:use-module (gnu packages enchant)
- #:use-module (gnu packages ghostscript)
+ #:use-module (gnu packages gdb)
#:use-module (gnu packages gettext)
+ #:use-module (gnu packages ghostscript)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
@@ -80,35 +83,31 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages m4)
+ #:use-module (gnu packages man)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages networking)
#:use-module (gnu packages openldap)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-web)
#:use-module (gnu packages readline)
- #:use-module (gnu packages search)
- #:use-module (gnu packages texinfo)
- #:use-module (gnu packages compression)
- #:use-module (gnu packages glib)
- #:use-module (gnu packages pkg-config)
- #:use-module (gnu packages flex)
- #:use-module (gnu packages gdb)
- #:use-module (gnu packages man)
#:use-module (gnu packages ruby)
+ #:use-module (gnu packages search)
+ #:use-module (gnu packages serialization)
#:use-module (gnu packages samba)
#:use-module (gnu packages screen)
#:use-module (gnu packages tcl)
+ #:use-module (gnu packages texinfo)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
- #:use-module (gnu packages networking)
+ #:use-module (gnu packages w3m)
#:use-module (gnu packages web)
#:use-module (gnu packages webkit)
- #:use-module (gnu packages w3m)
- #:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
- #:use-module (gnu packages docbook)
+ #:use-module (gnu packages xml)
#:use-module ((guix licenses)
#:select (fdl1.1+
agpl3+
@@ -487,15 +486,16 @@ and corrections. It is based on a Bayesian filter.")
(define-public offlineimap
(package
(name "offlineimap")
- (version "7.2.1")
+ (version "7.2.2")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/OfflineIMAP/offlineimap/"
- "archive/v" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/OfflineIMAP/offlineimap")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1022xf2w1xax4vx4kzhlfbhaf0b72wkpvrcscvs4q8qk2ja68h8x"))))
+ "11nj7y9fa7v6vcxk3wr8smfgm3mxxnmq3l8q69rrjxlfzcv7dl8m"))))
(build-system python-build-system)
(native-inputs
`(("asciidoc" ,asciidoc)))
@@ -528,7 +528,7 @@ and corrections. It is based on a Bayesian filter.")
(wrap-program bin
`("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))))
#t))))))
- (home-page "http://www.offlineimap.org")
+ (home-page "https://www.offlineimap.org")
(synopsis "Sync emails between two repositories")
(description
"OfflineImap synchronizes emails between two repositories, so that you
@@ -943,7 +943,7 @@ useful features.")
(define-public libetpan
(package
(name "libetpan")
- (version "1.9.1")
+ (version "1.9.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -951,7 +951,7 @@ useful features.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1628lb1qvxixl64ifvjjr839hmirpx532klhv2mr7m6gmn7nlci5"))))
+ (base32 "13jiy2ddxbp9f2mk1mip9sk8h97bva5m0pnq2mlvh5xhifs6gza4"))))
(build-system gnu-build-system)
(native-inputs `(("autoconf" ,autoconf-wrapper)
("automake" ,automake)
@@ -1008,15 +1008,15 @@ compresses it.")
(define-public claws-mail
(package
(name "claws-mail")
- (version "3.17.1")
+ (version "3.17.3")
(source (origin
(method url-fetch)
(uri (string-append
- "https://www.claws-mail.org/releases/" name "-" version
+ "https://www.claws-mail.org/releases/claws-mail-" version
".tar.xz"))
(sha256
(base32
- "1wknxbwyzm5xjh3cqmddcxmvp1rkp301qga5n5rgfi7vcd0myyvm"))))
+ "1wnj6c9cbmhphs2l6wfvndkk2g08rmxw0sl2c8k1k008dxd1ykjh"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("bogofilter" ,bogofilter)
@@ -1068,7 +1068,7 @@ which can add many functionalities to the base client.")
(define-public msmtp
(package
(name "msmtp")
- (version "1.8.0")
+ (version "1.8.1")
(source
(origin
(method url-fetch)
@@ -1076,7 +1076,7 @@ which can add many functionalities to the base client.")
"/msmtp-" version ".tar.xz"))
(sha256
(base32
- "1k9wwlapkxk9ql3xq05y6vwn6ziqk9b1v8lyhj1866qd02zhqwxx"))))
+ "1nm4vizrnrrnknc4mc8nr7grz9q76m1vraa0hsl5rfm34gnsg8ph"))))
(build-system gnu-build-system)
(inputs
`(("libsecret" ,libsecret)
@@ -1731,13 +1731,13 @@ maintained.")
(define-public khard
(package
(name "khard")
- (version "0.11.4")
+ (version "0.12.2")
(source (origin
(method url-fetch)
(uri (pypi-uri name version))
(sha256
(base32
- "1shhlq6ljbd8095hd82v4mw56rjcfxf1ymmgknbgh8gix02nsxw1"))))
+ "01y52qmab4cw9wmx87aahnxbyaxrxw8j2wx06mpcqsfvgk8d54wi"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -1748,14 +1748,17 @@ maintained.")
(doc (string-append out "/share/doc/khard")))
(copy-recursively "misc/khard" doc)
#t))))
- ;; FIXME: check phase fails with
- ;; "Config file /tmp/.config/khard/khard.conf not available"
+ ;; Tests are currently only runnable without preexisting data on
+ ;; the development branch:
+ ;; https://github.com/scheibler/khard/issues/176
#:tests? #f))
(propagated-inputs
- `(("python-vobject" ,python-vobject)
+ `(("python-atomicwrites" ,python-atomicwrites)
+ ("python-configobj" ,python-configobj)
("python-pyyaml" ,python-pyyaml)
- ("python-atomicwrites" ,python-atomicwrites)
- ("python-configobj" ,python-configobj)))
+ ("python-ruamel.yaml" ,python-ruamel.yaml)
+ ("python-unidecode" ,python-unidecode)
+ ("python-vobject" ,python-vobject)))
(synopsis "Console address book using CardDAV")
(description "Khard is an address book for the console. It creates, reads,
modifies and removes CardDAV address book entries at your local machine. For
@@ -2424,15 +2427,15 @@ tools and applications:
(define-public balsa
(package
(name "balsa")
- (version "2.5.3")
+ (version "2.5.6")
(source
(origin
(method url-fetch)
- (uri (string-append "https://pawsa.fedorapeople.org/balsa/balsa-"
- version ".tar.bz2"))
+ (uri (string-append "https://pawsa.fedorapeople.org/balsa/"
+ name "-" version ".tar.bz2"))
(sha256
(base32
- "15jkwp3ylbwd8iha4dr37z1xb6mkk31ym90vv3h2a5xk2rmym5mq"))))
+ "17k6wcsl8gki7cskr3hhmfj6n54rha8ca3b6fzd8blsl5shsankx"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -2595,14 +2598,14 @@ servers. The 4rev1 and 4 versions of IMAP are supported.")
(define-public urlscan
(package
(name "urlscan")
- (version "0.9.0")
+ (version "0.9.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "urlscan" version))
(sha256
(base32
- "133f28bisr4xj0nihpwpil8dyadss62mp8qgqdyzd676hg9xjfyc"))))
+ "0vpdyrx51sg9a8kswa7ibbcgcpvc7r03aq8x4n4c7v2xg0v3c7wb"))))
(build-system python-build-system)
(propagated-inputs
`(("python-urwid" ,python-urwid)))
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index 65d632f64e..c6002eb63a 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -382,6 +382,8 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(parameterize ((%current-target-system #f))
(cross-libc target)))
glibc)))))
+ (native-inputs '())
+ (propagated-inputs '())
;; Only one output.
(outputs '("out")))))
diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index b640884933..8989dd230b 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -228,6 +229,37 @@ automatically.")
(base32
"1p5830h88cx0zn0snwaj0vpph81xicpsirfwlxmcgjrlmn0nm3sj"))))))
+(define-public scdoc
+ (package
+ (name "scdoc")
+ (version "1.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://git.sr.ht/%7Esircmpwn/scdoc/archive/" version
+ ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1ca3js4arkg28gg2iszxxyrq7kgsrz482d1szv5dfd471h3vr5m3"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags '("CC=gcc")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'install 'hardcode-paths
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "Makefile"
+ (("/usr/local") (assoc-ref outputs "out")))
+ #t)))))
+ (home-page "https://git.sr.ht/~sircmpwn/scdoc")
+ (synopsis "Simple man page generator")
+ (description "scdoc is a simple man page generator written for POSIX systems
+in C99.")
+ ;; MIT license, see /share/doc/scdoc-1.6.0/COPYING.
+ (license expat)))
+
(define-public txt2man
(package
(name "txt2man")
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index f88cede68a..448d9e373b 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -29,6 +29,7 @@
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Eric Brown <brown@fastmail.com>
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2018 Amin Bandali <bandali@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -53,7 +54,7 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
- #:use-module (guix build utils)
+ #:use-module ((guix build utils) #:select (alist-replace))
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system ocaml)
@@ -63,6 +64,7 @@
#:use-module (gnu packages algebra)
#:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
@@ -1413,9 +1415,9 @@ can solve two kinds of problems:
;; For a fully featured Octave, users are strongly recommended also to install
;; the following packages: less, ghostscript, gnuplot.
-(define-public octave
+(define-public octave-cli
(package
- (name "octave")
+ (name "octave-cli")
(version "4.4.1")
(source
(origin
@@ -1497,21 +1499,21 @@ Work may be performed both at the interactive command-line as well as via
script files.")
(license license:gpl3+)))
-(define-public qtoctave
- (package (inherit octave)
- (name "qtoctave")
+(define-public octave
+ (package (inherit octave-cli)
+ (name "octave")
(source (origin
- (inherit (package-source octave))))
+ (inherit (package-source octave-cli))))
(inputs
`(("qscintilla" ,qscintilla)
("qt" ,qtbase)
- ,@(package-inputs octave)))
+ ,@(package-inputs octave-cli)))
(native-inputs
`(("qttools" , qttools) ;for lrelease
("texlive" ,texlive) ;for texi2dvi
- ,@(package-native-inputs octave)))
+ ,@(package-native-inputs octave-cli)))
(arguments
- (substitute-keyword-arguments (package-arguments octave)
+ (substitute-keyword-arguments (package-arguments octave-cli)
((#:phases phases)
`(modify-phases ,phases
(add-before 'configure 'patch-qscintilla-library-name
@@ -1525,6 +1527,9 @@ script files.")
"qscintilla2_qt5"))
#t))))))))
+(define-public qtoctave
+ (deprecated-package "qtoctave" octave))
+
(define-public opencascade-oce
(package
(name "opencascade-oce")
@@ -1772,7 +1777,7 @@ scientific applications modeled by partial differential equations.")
("mumps" ,mumps-openmpi)
("openmpi" ,openmpi)
("scalapack" ,scalapack)
- ("scotch" ,pt-scotch)
+ ("scotch" ,pt-scotch32)
,@(package-inputs petsc)))
(arguments
(substitute-keyword-arguments (package-arguments petsc)
@@ -3580,7 +3585,7 @@ in finite element programs.")
`(("unzip" ,unzip)))
(inputs
`(("hdf5" ,hdf5)
- ("octave" ,octave)
+ ("octave" ,octave-cli)
("python" ,python-2) ; print syntax
;; ("python2-numpy" ,python2-numpy) ; only required for the tests
("zlib" ,zlib)))
@@ -3704,7 +3709,13 @@ set.")
`(("doc++" ,doc++)
("netpbm" ,netpbm)
("perl" ,perl) ;needed to run 'ppmquant' during tests
- ("texlive" ,texlive) ;full package required for fonts
+ ("texlive" ,(texlive-union (list texlive-generic-xypic
+ texlive-fonts-xypic
+ texlive-latex-hyperref
+ texlive-latex-oberdiek
+ texlive-generic-ifxetex
+ texlive-latex-url
+ texlive-bibtex)))
("ghostscript" ,ghostscript)))
(inputs
`(("blas" ,openblas)
@@ -3721,6 +3732,12 @@ set.")
"--with-blas")
#:phases
(modify-phases %standard-phases
+ (add-before 'build 'set-HOME
+ (lambda _
+ ;; FIXME: texlive-union does not find the built
+ ;; metafonts, so it tries to generate them in HOME.
+ (setenv "HOME" "/tmp")
+ #t))
(add-before 'configure 'chdir-src
(lambda _ (chdir "src")))
(replace 'configure
@@ -3735,7 +3752,7 @@ set.")
configure-flags)))))))
(add-after 'build 'build-docs
(lambda _
- (zero? (system* "make" "-Cdocs" "pdf" "html"))))
+ (invoke "make" "-Cdocs" "pdf" "html")))
(replace 'check
(lambda _
(setenv "LD_LIBRARY_PATH" (string-append (getcwd) "/hypre/lib"))
@@ -3950,29 +3967,41 @@ as equations, scalars, vectors, and matrices.")
(define-public z3
(package
(name "z3")
- (version "4.8.1")
+ (version "4.8.3")
(home-page "https://github.com/Z3Prover/z3")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page)
(commit (string-append "z3-" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1vr57bwx40sd5riijyrhy70i2wnv9xrdihf6y5zdz56yq88rl48f"))))
- (build-system cmake-build-system)
+ "0p5gdmhd32x6zwmx7j5cgwh4jyfxa9yapym95nlmyfaqzak92qar"))))
+ (build-system gnu-build-system)
(arguments
- `(#:configure-flags
- (list "-DBUILD_PYTHON_BINDINGS=true"
- "-DINSTALL_PYTHON_BINDINGS=true"
- (string-append "-DCMAKE_INSTALL_PYTHON_PKG_DIR="
- %output
- "/lib/python2.7/site-packages"))
- #:phases
+ `(#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'fix-compatability
+ ;; Versions after 4.8.3 have immintrin.h IFDEFed for Windows only.
+ (lambda _
+ (substitute* "src/util/mpz.cpp"
+ (("#include <immintrin.h>") ""))
+ #t))
(add-before 'configure 'bootstrap
(lambda _
(zero?
- (system* "python" "contrib/cmake/bootstrap.py" "create"))))
+ (system* "python" "scripts/mk_make.py"))))
+ ;; work around gnu-build-system's setting --enable-fast-install
+ ;; (z3's `configure' is a wrapper around the above python file,
+ ;; which fails when passed --enable-fast-install)
+ (replace 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (invoke "./configure"
+ (string-append "--prefix=" (assoc-ref outputs "out")))))
+ (add-after 'configure 'change-directory
+ (lambda _
+ (chdir "build")
+ #t))
(add-before 'check 'make-test-z3
(lambda _
;; Build the test suite executable.
@@ -3983,7 +4012,8 @@ as equations, scalars, vectors, and matrices.")
;; Run all the tests that don't require arguments.
(zero? (system* "./test-z3" "/a")))))))
(native-inputs
- `(("python" ,python-2)))
+ `(("which" ,which)
+ ("python" ,python-wrapper)))
(synopsis "Theorem prover")
(description "Z3 is a theorem prover and @dfn{satisfiability modulo
theories} (SMT) solver. It provides a C/C++ API, as well as Python bindings.")
@@ -4052,13 +4082,14 @@ exclusion algorithms are typical examples of such systems.")
(name "elemental")
(version "0.87.7")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/elemental/Elemental/"
- "archive/v" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/elemental/Elemental.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1nfp82w22pi8x8fg9sc37z8kf84dqi1dhxp8bbk7571y4aygvv3v"))))
+ "1687xpjjzig27y2pnqv7hv09smpijyfdpz7qjgmcxf4shfajlfkc"))))
(build-system cmake-build-system)
(home-page "http://libelemental.org")
(native-inputs
@@ -4082,8 +4113,8 @@ exclusion algorithms are typical examples of such systems.")
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DGFORTRAN_LIB=gfortran")
#:phases (modify-phases %standard-phases
- (add-before 'check 'mpi-setup
- ,%openmpi-setup)
+ (add-before 'check 'mpi-setup
+ ,%openmpi-setup)
(add-before 'check 'setup-tests
(lambda _
;; Parallelism is done at the MPI layer.
@@ -4094,7 +4125,7 @@ exclusion algorithms are typical examples of such systems.")
;; Tests are installed, with no easy configuration
;; switch to prevent this, so delete them.
(delete-file-recursively
- (string-append (assoc-ref outputs "out") "/bin"))
+ (string-append (assoc-ref outputs "out") "/bin"))
#t)))))
(synopsis "Dense and sparse-direct linear algebra and optimization")
(description "Elemental is a modern C++ library for distributed-memory
diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm
index 6dc6dfb4cb..c45e267875 100644
--- a/gnu/packages/mes.scm
+++ b/gnu/packages/mes.scm
@@ -63,14 +63,14 @@ extensive examples, including parsers for the Javascript and C99 languages.")
(let ((triplet "i686-unknown-linux-gnu"))
(package
(name "mes")
- (version "0.18")
+ (version "0.19")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/mes/"
"mes-" version ".tar.gz"))
(sha256
(base32
- "1dsaaqyanzsq9m5wrcd2bjhb3qd6928c9q97rg5r730pyqjwxyxf"))))
+ "15h4yhaywdc0djpjlin2jz1kzahpqxfki0r0aav1qm9nxxmnp1l0"))))
(build-system gnu-build-system)
(supported-systems '("i686-linux" "x86_64-linux"))
(propagated-inputs
@@ -93,10 +93,11 @@ extensive examples, including parsers for the Javascript and C99 languages.")
`(#:strip-binaries? #f)) ; binutil's strip b0rkes MesCC/M1/hex2 binaries
(synopsis "Scheme interpreter and C compiler for full source bootstrapping")
(description
- "GNU Mes [Maxwell Equations of Software] aims to create full source
-bootstrapping for GuixSD. It consists of a mutual self-hosting [close to
-Guile-] Scheme interpreter prototype in C and a Nyacc-based C compiler in
-[Guile] Scheme.")
+ "GNU Mes--Maxwell Equations of Software--brings the Reduced Binary Seed
+bootstrap to Guix and aims to help create full source bootstrapping for
+GNU/Linux distributions. It consists of a mutual self-hosting Scheme
+interpreter in C and a Nyacc-based C compiler in Scheme and is compatible with
+Guile.")
(home-page "https://gnu.org/software/mes")
(license gpl3+))))
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index e34f725a40..1500be43b0 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -93,6 +93,7 @@
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
+ #:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
@@ -588,6 +589,12 @@ was initially a fork of xmpppy, but uses non-blocking sockets.")
`(#:test-target "test_nogui"
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'add-plugin-dirs
+ (lambda _
+ (substitute* "gajim/common/configpaths.py"
+ (("_paths\\['PLUGINS_USER'\\]")
+ "_paths['PLUGINS_USER'],os.getenv('GAJIM_PLUGIN_PATH')"))
+ #t))
(add-after 'install 'wrap-gi-typelib-path
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
@@ -625,6 +632,18 @@ was initially a fork of xmpppy, but uses non-blocking sockets.")
(,(string-append (assoc-ref inputs "gtk+")
"/share/glib-2.0/schemas"))))
#t)))))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "GAJIM_PLUGIN_PATH")
+ (separator #f) ;single entry
+ (files '("share/gajim/plugins")))
+ ;; Gajim needs to use the propagated inputs of its plugins.
+ (search-path-specification
+ (variable "PYTHONPATH")
+ (files (list (string-append
+ "lib/python"
+ (version-major+minor (package-version python))
+ "/site-packages"))))))
(native-inputs
`(("intltool" ,intltool)
("python-docutils" ,python-docutils)
@@ -636,7 +655,6 @@ was initially a fork of xmpppy, but uses non-blocking sockets.")
("gtkspell3" ,gtkspell3)
("hicolor-icon-theme" ,hicolor-icon-theme)
("libsecret" ,libsecret)
- ("python-axolotl" ,python-axolotl)
("python-cssutils" ,python-cssutils)
("python-dbus" ,python-dbus)
("python-gnupg" ,python-gnupg)
@@ -657,6 +675,41 @@ transformation; audio and video conferences; file transfer; TLS, GPG and
end-to-end encryption support; XML console.")
(license license:gpl3)))
+(define-public gajim-omemo
+ (package
+ (name "gajim-omemo")
+ (version "2.6.23")
+ (source (origin
+ (method url-fetch/zipbomb)
+ (uri (string-append
+ "https://ftp.gajim.org/plugins_releases/omemo_"
+ version ".zip"))
+ (sha256
+ (base32
+ "134zbscbcnhx4smad0ryvx3ngkqlsspafqf0kk8y2d3vcd9bf3pa"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let* ((out (assoc-ref %outputs "out"))
+ (share (in-vicinity out "share/gajim/plugins"))
+ (source (assoc-ref %build-inputs "source")))
+ (mkdir-p share)
+ (copy-recursively source share)
+ #t))))
+ (propagated-inputs
+ `(("python-axolotl" ,python-axolotl)))
+ (home-page
+ "https://dev.gajim.org/gajim/gajim-plugins/wikis/OmemoGajimPlugin")
+ (synopsis "Gajim OMEMO plugin")
+ (description
+ "This package provides the Gajim OMEMO plugin. OMEMO is an XMPP
+Extension Protocol (XEP) for secure multi-client end-to-end encryption based
+on Axolotl and PEP.")
+ (license license:gpl3+)))
+
(define-public dino
;; The only release tarball is for version 0.0, but it is very old and fails
;; to build.
diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm
index b69ec07158..416135414f 100644
--- a/gnu/packages/monitoring.scm
+++ b/gnu/packages/monitoring.scm
@@ -151,7 +151,7 @@ etc. via a Web interface. Features include:
(define-public zabbix-agentd
(package
(name "zabbix-agentd")
- (version "3.4.11")
+ (version "4.0.2")
(source
(origin
(method url-fetch)
@@ -160,7 +160,7 @@ etc. via a Web interface. Features include:
"/zabbix-" version ".tar.gz"))
(sha256
(base32
- "0qxgf6hx7ibhjmxd2sxizkjc8df4c9d31wz5hhql409ws98qf173"))))
+ "033qb4b9y02jp2ijj8ny0a0yk1mzj0a8ihxrv11h7ln8kpl55vqw"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -182,21 +182,34 @@ solution (client-side agent)")
(package
(inherit zabbix-agentd)
(name "zabbix-server")
+ (outputs '("out" "front-end" "schema"))
(arguments
(substitute-keyword-arguments
`(#:phases
(modify-phases %standard-phases
- (add-after 'install 'install-frontend
+ (add-after 'install 'install-front-end
(lambda* (#:key outputs #:allow-other-keys)
- (let* ((php (string-append (assoc-ref outputs "out")
+ (let* ((php (string-append (assoc-ref outputs "front-end")
"/share/zabbix/php"))
(front-end-conf (string-append php "/conf"))
(etc (string-append php "/etc")))
(mkdir-p php)
- (copy-recursively "./frontends/php" php)
+ (copy-recursively "frontends/php" php)
+ ;; Make front-end write config to ‘/etc/zabbix’ directory.
(rename-file front-end-conf
(string-append front-end-conf "-example"))
- (symlink "/etc/zabbix" front-end-conf)))))
+ (symlink "/etc/zabbix" front-end-conf))
+ #t))
+ (add-after 'install 'install-schema
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((database-directory
+ (string-append (assoc-ref outputs "schema")
+ "/database")))
+ (for-each delete-file
+ (find-files "database" "Makefile\\.in|\\.am$"))
+ (mkdir-p database-directory)
+ (copy-recursively "database" database-directory))
+ #t)))
,@(package-arguments zabbix-agentd))
((#:configure-flags flags)
`(cons* "--enable-server"
@@ -207,6 +220,8 @@ solution (client-side agent)")
(string-append "--with-gnutls="
(assoc-ref %build-inputs "gnutls"))
"--with-libcurl"
+ (string-append "--with-zlib="
+ (assoc-ref %build-inputs "zlib"))
,flags))))
(inputs
`(("curl" ,curl)
diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm
index c9effbafa3..c7736eeb51 100644
--- a/gnu/packages/mp3.scm
+++ b/gnu/packages/mp3.scm
@@ -470,13 +470,13 @@ compression format (.mpc files).")
(define-public eyed3
(package
(name "eyed3")
- (version "0.8.7")
+ (version "0.8.8")
(source (origin
(method url-fetch)
(uri (pypi-uri "eyeD3" version))
(sha256
(base32
- "1fzqy6hkg73xvpapdjrdzr3r0fsamnplvjfl7dz7rzgzx2r4x4pg"))))
+ "197lszkyzm377ym5r0ssryfsiz20yjx8y4rii3wc81n92d1qzlaq"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; the required test data contains copyrighted material.
diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index fe8610ab94..8ddc68a33e 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -189,16 +189,16 @@ player daemon.")
(define-public ncmpc
(package
(name "ncmpc")
- (version "0.32")
+ (version "0.33")
(source (origin
(method url-fetch)
(uri
(string-append "http://musicpd.org/download/ncmpc/"
- (car (string-split version #\.))
+ (version-major version)
"/ncmpc-" version ".tar.xz"))
(sha256
(base32
- "1b01q1pcaw5yyhvmlffc3h0r3w8qy7rhn55a7xj4qkcfqvs8ap08"))))
+ "19fp7xkpai4lq3vmpbppgh3ism7lg2sibv237c0sl5a0hls4mq4l"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
@@ -216,7 +216,7 @@ player daemon.")
(c++ (string-append gcc "/include/c++")))
(setenv path (string-append c++ ":" (getenv path)))
#t))))))
- (inputs `(("gcc", gcc-8) ; for its C++14 support
+ (inputs `(("gcc" ,gcc-8) ; for its C++14 support
("boost" ,boost)
("pcre" ,pcre)
("libmpdclient" ,libmpdclient)
@@ -244,7 +244,7 @@ terminal using ncurses.")
"0m0mjb049sl62vx13h9waavysa30mk0rphacksnvf94n13la62v5"))))
(build-system gnu-build-system)
(inputs `(("libmpdclient" ,libmpdclient)
- ("boost" ,boost)
+ ("boost" ,boost-cxx14)
("readline" ,readline)
("ncurses" ,ncurses)
("taglib" ,taglib)
diff --git a/gnu/packages/mtools.scm b/gnu/packages/mtools.scm
index 32eb1dba47..5be3da0137 100644
--- a/gnu/packages/mtools.scm
+++ b/gnu/packages/mtools.scm
@@ -28,7 +28,7 @@
(define-public mtools
(package
(name "mtools")
- (version "4.0.21")
+ (version "4.0.23")
(source
(origin
(method url-fetch)
@@ -36,7 +36,7 @@
version ".tar.bz2"))
(sha256
(base32
- "1kybydx74qgbwpnjvjn49msf8zipchl43d4cq8zzwcyvfkdzw7h2"))))
+ "1qwfxzr964fasxlzhllahk8mzh7c82s808wvly95dsqsflkdp27i"))))
(build-system gnu-build-system)
(home-page "https://www.gnu.org/software/mtools/")
(synopsis "Access MS-DOS disks without mounting")
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index b59f258ae5..12b55aece3 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -2247,14 +2247,14 @@ from the command line.")
(define-public qtractor
(package
(name "qtractor")
- (version "0.9.2")
+ (version "0.9.3")
(source (origin
(method url-fetch)
(uri (string-append "http://downloads.sourceforge.net/qtractor/"
"qtractor-" version ".tar.gz"))
(sha256
(base32
- "1j3rpvdkw9rw48j4zyfn6rprp01csy4rl6zckcjyx0vh7vaycchr"))))
+ "1010gvkzdzdk39g1g6wx2j19ls0kdl6l9q51xzk2qik7h2fwxl71"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; no "check" target
@@ -2704,6 +2704,12 @@ Songs can be searched by artist, name or even by a part of the song text.")
(lambda _
(setenv "HOME" (string-append (getcwd) "/tmp"))
#t))
+ (add-after 'unpack 'make-python3.7-compatible
+ (lambda _
+ ;; See <https://github.com/beetbox/beets/issues/2978>.
+ (substitute* "beets/autotag/hooks.py"
+ (("re\\._pattern_type") "re.Pattern"))
+ #t))
(replace 'check
(lambda _
(invoke "nosetests" "-v"))))))
@@ -2780,7 +2786,7 @@ for improved Amiga ProTracker 2/3 compatibility.")
(define-public schismtracker
(package
(name "schismtracker")
- (version "20180810")
+ (version "20181223")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2789,7 +2795,7 @@ for improved Amiga ProTracker 2/3 compatibility.")
(file-name (git-file-name name version))
(sha256
(base32
- "0cwp5fna14hjrlf652l96ja5cjq63is3cwg6pp4wbpx43mb7qb2d"))
+ "18k5j10zq39y2q294avdmar87x93k57wqmq8bpz562hdqki2mz1l"))
(modules '((guix build utils)))
(snippet
;; Remove use of __DATE__ and __TIME__ for reproducibility.
@@ -3299,7 +3305,8 @@ plugins, a switch trigger, a toggle switch, and a peakmeter.")
"1wg47vjw9djn99gbnsl2bcwj4xhdid61m4wrbn2nlp797flj91ic"))))
(build-system waf-build-system)
(arguments
- `(#:tests? #f ; no "check" target
+ `(#:python ,python-2
+ #:tests? #f ; no "check" target
#:configure-flags (list "--no-webkit")
#:phases
(modify-phases %standard-phases
@@ -3603,7 +3610,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
(define-public musescore
(package
(name "musescore")
- (version "2.3.2")
+ (version "3.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3612,7 +3619,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
(file-name (git-file-name name version))
(sha256
(base32
- "0ncv0xfmq87plqa43cm0fpidlwzz1nq5s7h7139llrbc36yp3pr1"))
+ "0g8n8xpw5d6wh8bwbvy12sinl9i0ir009sr28i4izr28lr4x8v50"))
(modules '((guix build utils)))
(snippet
;; Un-bundle OpenSSL and remove unused libraries.
@@ -3627,27 +3634,21 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
"thirdparty/openssl"
"thirdparty/portmidi"))
#t))))
- (build-system gnu-build-system)
+ (build-system cmake-build-system)
(arguments
- `(#:make-flags
- `(,(string-append "PREFIX=" (assoc-ref %outputs "out"))
- "USE_SYSTEM_FREETYPE=ON"
- "DOWNLOAD_SOUNDFONT=OFF"
- ;; The following is not supported since Qt 5.11. May be removed in
- ;; a future release.
- "BUILD_WEBKIT=OFF")
- ;; There are tests, but no simple target to run. The command
- ;; used to run them is:
+ `(#:configure-flags
+ `("-DUSE_SYSTEM_FREETYPE=ON"
+ "-DBUILD_WEBENGINE=OFF"
+ "-DDOWNLOAD_SOUNDFONT=OFF")
+ ;; There are tests, but no simple target to run. The command used to
+ ;; run them is:
;;
;; make debug && sudo make installdebug && cd \
;; build.debug/mtest && make && ctest
;;
;; Basically, it requires to start a whole new build process.
;; So we simply skip them.
- #:tests? #f
- #:phases
- (modify-phases %standard-phases
- (delete 'configure))))
+ #:tests? #f))
(inputs
`(("alsa-lib" ,alsa-lib)
("freetype" ,freetype)
@@ -3666,8 +3667,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
("qtsvg" ,qtsvg)
("qtxmlpatterns" ,qtxmlpatterns)))
(native-inputs
- `(("cmake" ,cmake)
- ("pkg-config" ,pkg-config)
+ `(("pkg-config" ,pkg-config)
("qttools" ,qttools)))
(synopsis "Music composition and notation software")
(description "MuseScore is a music score typesetter. Its main purpose is
@@ -3935,9 +3935,9 @@ OSC connections.")
(lambda* (#:key inputs #:allow-other-keys)
(with-directory-excursion "faust"
(delete-file "main.cpp")
- (zero? (system* "faust" "-i"
- "-a" "lv2synth.cpp"
- "-o" "main.cpp" "main.dsp"))))))))
+ (invoke "faust" "-i"
+ "-a" "lv2synth.cpp"
+ "-o" "main.cpp" "main.dsp")))))))
(inputs
`(("boost" ,boost)
("lv2" ,lv2)
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index a9e1576733..84bfe471ed 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -586,7 +586,7 @@ of the same name.")
(define-public wireshark
(package
(name "wireshark")
- (version "2.6.4")
+ (version "2.6.5")
(source
(origin
(method url-fetch)
@@ -594,7 +594,7 @@ of the same name.")
version ".tar.xz"))
(sha256
(base32
- "0qf81dk726sdsmjqa9nd251j1cwvzkyb4hrlp6w4iwa3cdz00sx0"))))
+ "12j3fw0j8qcr86c1vsz4bsb55j9inp0ll3wjjdvg1cj4hmwmn5ck"))))
(build-system gnu-build-system)
(inputs `(("c-ares" ,c-ares)
("glib" ,glib)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 11389440dc..e4f17133d7 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -10,6 +10,7 @@
;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Peter Kreye <kreyepr@gmail.com>
+;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -63,6 +64,7 @@
#:use-module (gnu packages web-browsers)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
+ #:use-module (guix build-system dune)
#:use-module (guix build-system gnu)
#:use-module (guix build-system ocaml)
#:use-module (guix download)
@@ -296,46 +298,46 @@ functional, imperative and object-oriented styles of programming.")
(define-public ocaml ocaml-4.07)
(define-public ocamlbuild
- (package
- (name "ocamlbuild")
- (version "0.13.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/ocaml/ocamlbuild/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1320cfkixs1xlng5av04pa5qjb3ynvi2kl3k1ngqzg5fpi29b0vr"))))
- (build-system gnu-build-system)
- (arguments
- `(#:test-target "test"
- #:tests? #f; tests require findlib
- #:make-flags
- (list (string-append "OCAMLBUILD_PREFIX=" (assoc-ref %outputs "out"))
- (string-append "OCAMLBUILD_BINDIR=" (assoc-ref %outputs "out")
- "/bin")
- (string-append "OCAMLBUILD_LIBDIR=" (assoc-ref %outputs "out")
- "/lib/ocaml/site-lib")
- (string-append "OCAMLBUILD_MANDIR=" (assoc-ref %outputs "out")
- "/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)))
- (home-page "https://github.com/ocaml/ocamlbuild")
- (synopsis "OCaml build tool")
- (description "OCamlbuild is a generic build tool, that has built-in rules
- for building OCaml library and programs.")
- (license license:lgpl2.1+)))
+ (package
+ (name "ocamlbuild")
+ (version "0.13.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ocaml/ocamlbuild/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1320cfkixs1xlng5av04pa5qjb3ynvi2kl3k1ngqzg5fpi29b0vr"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:test-target "test"
+ #:tests? #f; tests require findlib
+ #:make-flags
+ (list (string-append "OCAMLBUILD_PREFIX=" (assoc-ref %outputs "out"))
+ (string-append "OCAMLBUILD_BINDIR=" (assoc-ref %outputs "out")
+ "/bin")
+ (string-append "OCAMLBUILD_LIBDIR=" (assoc-ref %outputs "out")
+ "/lib/ocaml/site-lib")
+ (string-append "OCAMLBUILD_MANDIR=" (assoc-ref %outputs "out")
+ "/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)))
+ (home-page "https://github.com/ocaml/ocamlbuild")
+ (synopsis "OCaml build tool")
+ (description "OCamlbuild is a generic build tool, that has built-in rules
+for building OCaml library and programs.")
+ (license license:lgpl2.1+)))
(define-public opam
(package
@@ -384,7 +386,13 @@ functional, imperative and object-oriented styles of programming.")
;; Use bwrap from the store directly.
(substitute* "src/state/shellscripts/bwrap.sh"
(("-v bwrap") (string-append "-v " bwrap))
- (("exec bwrap") (string-append "exec " bwrap)))
+ (("exec bwrap") (string-append "exec " bwrap))
+ ;; Mount /gnu and /run/current-system in the
+ ;; isolated environment when building with opam.
+ ;; This is necessary for packages to find external
+ ;; dependencies, such as a C compiler, make, etc...
+ (("^add_mounts ro /usr")
+ "add_mounts ro /gnu /run/current-system /usr"))
(substitute* "src/client/opamInitDefaults.ml"
(("\"bwrap\"") (string-append "\"" bwrap "\"")))
;; Build dependencies
@@ -642,9 +650,6 @@ the OCaml core distribution.")
(variable "COQPATH")
(files (list "lib/coq/user-contrib")))))
(build-system ocaml-build-system)
- (native-inputs
- `(("texlive" ,texlive)
- ("hevea" ,hevea)))
(inputs
`(("lablgtk" ,lablgtk)
("python" ,python-2)
@@ -996,7 +1001,7 @@ libpanel, librsvg and quartz.")
`(("ocaml" ,ocaml-4.02)
;; For documentation
("ghostscript" ,ghostscript)
- ("texlive" ,texlive)
+ ("texlive" ,texlive-tiny)
("hevea" ,hevea)
("lynx" ,lynx)
("which" ,which)))
@@ -1561,26 +1566,13 @@ following a very simple s-expression syntax.")
(sha256
(base32
"01zjp1q4hryqaxv4apkjd868fycz2kf887r6lkb6x2a545h1lh7f"))))
- (build-system ocaml-build-system)
+ (build-system dune-build-system)
(arguments
`(#:tests? #f
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)
- (replace 'build
- (lambda _
- (invoke "jbuilder" "build" "@install")
- #t))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (invoke "jbuilder" "install"
- "--prefix" (assoc-ref outputs "out"))
- #t)))))
+ #:jbuild? #t))
(propagated-inputs
`(("ocamlbuild" ,ocamlbuild)
("ocaml-result" ,ocaml-result)))
- (native-inputs
- `(("dune" ,dune)))
(home-page "https://github.com/ocaml-ppx/ocaml-migrate-parsetree")
(synopsis "OCaml parsetree convertor")
(description "This library converts between parsetrees of different OCaml
@@ -1601,60 +1593,9 @@ functions to the next and/or previous version.")
(sha256
(base32
"1x2xfjpkzbcz4rza1d7gh3ipliw6jqfcklbsln82v3561qgkqgmh"))))
- (build-system ocaml-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (delete 'configure)
- (replace 'build
- (lambda _
- (invoke "dune" "build" "@install")
- #t))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (invoke "dune" "install"
- "--prefix" (assoc-ref outputs "out"))
- #t)))))
- (native-inputs
- `(("dune" ,dune)))
- (propagated-inputs
- `(("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)))
- (home-page "https://github.com/let-def/ppx_tools_versioned")
- (synopsis "Variant of ppx_tools")
- (description "This package is a variant of ppx_tools based on
-ocaml-migrate-parsetree")
- (license license:expat)))
-
-(define-public ocaml-ppx-tools-versioned
- (package
- (name "ocaml-ppx-tools-versioned")
- (version "5.2.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/ocaml-ppx/"
- "ppx_tools_versioned/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1x2xfjpkzbcz4rza1d7gh3ipliw6jqfcklbsln82v3561qgkqgmh"))))
- (build-system ocaml-build-system)
+ (build-system dune-build-system)
(arguments
- `(#:tests? #f
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)
- (replace 'build
- (lambda _
- (invoke "dune" "build" "@install")
- #t))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (invoke "dune" "install"
- "--prefix" (assoc-ref outputs "out"))
- #t)))))
- (native-inputs
- `(("dune" ,dune)))
+ `(#:test-target "."))
(propagated-inputs
`(("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)))
(home-page "https://github.com/let-def/ppx_tools_versioned")
@@ -1675,31 +1616,19 @@ ocaml-migrate-parsetree")
(sha256
(base32
"15jjk2pq1vx311gl49s5ag6x5y0654x35w75z07g7kr2q334hqps"))))
- (build-system ocaml-build-system)
+ (build-system dune-build-system)
(native-inputs
`(("camlp4" ,camlp4)
("time" ,time)
("autoconf" ,autoconf)
("automake" ,automake)
- ("bisect" ,ocaml-bisect)
- ("dune" ,dune)))
+ ("bisect" ,ocaml-bisect)))
(propagated-inputs
`(("camlp4" ,camlp4)
("ocaml-ppx-tools-versioned" ,ocaml-ppx-tools-versioned)))
(arguments
`(#:tests? #f; Tests fail to build
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)
- (replace 'build
- (lambda _
- (invoke "jbuilder" "build" "@install")
- #t))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (invoke "dune" "install"
- "--prefix" (assoc-ref outputs "out"))
- #t)))))
+ #:jbuild? #t))
(properties
`((ocaml4.02-variant . ,(delay ocaml4.02-bitstring))))
(home-page "https://github.com/xguerin/bitstring")
@@ -1725,44 +1654,45 @@ powerful.")
(base32
"0vy8ibrxccii1jbsk5q6yh1kxjigqvi7lhhcmizvd5gfhf7mfyc8"))
(patches (search-patches "ocaml-bitstring-fix-configure.patch"))))
- (arguments
- `(#:ocaml ,ocaml-4.02
- #:findlib ,ocaml4.02-findlib
- #:configure-flags
- (list "CAMLP4OF=camlp4of" "--enable-coverage")
- #:make-flags
- (list (string-append "BISECTLIB="
- (assoc-ref %build-inputs "bisect")
- "/lib/ocaml/site-lib")
- (string-append "OCAMLCFLAGS=-g -I "
- (assoc-ref %build-inputs "camlp4")
- "/lib/ocaml/site-lib/camlp4 -I "
- "$(BISECTLIB)/bisect")
- (string-append "OCAMLOPTFLAGS=-g -I "
- (assoc-ref %build-inputs "camlp4")
- "/lib/ocaml/site-lib/camlp4 -I "
- "$(BISECTLIB)/bisect"))
- #:phases
- (modify-phases %standard-phases
- (add-after 'install 'link-lib
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (stubs (string-append out
- "/lib/ocaml/site-lib/stubslibs"))
- (lib (string-append out
- "/lib/ocaml/site-lib/bitstring")))
- (mkdir-p stubs)
- (symlink (string-append lib "/dllbitstring.so")
- (string-append stubs "/dllbitstring.so")))
- #t))
- (add-before 'configure 'fix-configure
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "Makefile.in"
- (("@abs_top_builddir@")
- (string-append "@abs_top_builddir@:" (getenv "LIBRARY_PATH"))))
- (substitute* "configure"
- (("-/bin/sh") (string-append "-" (assoc-ref inputs "bash")
- "/bin/sh"))))))))
+ (build-system ocaml-build-system)
+ (arguments
+ `(#:ocaml ,ocaml-4.02
+ #:findlib ,ocaml4.02-findlib
+ #:configure-flags
+ (list "CAMLP4OF=camlp4of" "--enable-coverage")
+ #:make-flags
+ (list (string-append "BISECTLIB="
+ (assoc-ref %build-inputs "bisect")
+ "/lib/ocaml/site-lib")
+ (string-append "OCAMLCFLAGS=-g -I "
+ (assoc-ref %build-inputs "camlp4")
+ "/lib/ocaml/site-lib/camlp4 -I "
+ "$(BISECTLIB)/bisect")
+ (string-append "OCAMLOPTFLAGS=-g -I "
+ (assoc-ref %build-inputs "camlp4")
+ "/lib/ocaml/site-lib/camlp4 -I "
+ "$(BISECTLIB)/bisect"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'link-lib
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (stubs (string-append out
+ "/lib/ocaml/site-lib/stubslibs"))
+ (lib (string-append out
+ "/lib/ocaml/site-lib/bitstring")))
+ (mkdir-p stubs)
+ (symlink (string-append lib "/dllbitstring.so")
+ (string-append stubs "/dllbitstring.so")))
+ #t))
+ (add-before 'configure 'fix-configure
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "Makefile.in"
+ (("@abs_top_builddir@")
+ (string-append "@abs_top_builddir@:" (getenv "LIBRARY_PATH"))))
+ (substitute* "configure"
+ (("-/bin/sh") (string-append "-" (assoc-ref inputs "bash")
+ "/bin/sh"))))))))
(native-inputs
`(("camlp4" ,camlp4-4.02)
("time" ,time)
@@ -2232,26 +2162,18 @@ through Transport Layer Security (@dfn{TLS}) encrypted connections.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256 (base32
"0mhh019bjkg5xfvpy1pxs4xdxb759fyydmgb6l4j0qww1qgr8klp"))))
- (build-system ocaml-build-system)
+ (build-system dune-build-system)
(arguments
`(#:tests? #f; require lwt_ppx
+ #:jbuild? #t
#:phases
(modify-phases %standard-phases
- (replace 'configure
+ (add-before 'build 'configure
(lambda _
(invoke "ocaml" "src/util/configure.ml" "-use-libev" "true")
- #t))
- (replace 'build
- (lambda _
- (invoke "jbuilder" "build" "@install")
- #t))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (invoke "jbuilder" "install" "--prefix" (assoc-ref outputs "out"))
#t)))))
(native-inputs
- `(("dune" ,dune)
- ("ocaml-cppo" ,ocaml-cppo)
+ `(("ocaml-cppo" ,ocaml-cppo)
("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
("pkg-config" ,pkg-config)
("ppx-tools-versioned" ,ocaml-ppx-tools-versioned)))
@@ -2285,22 +2207,10 @@ locks or other synchronization primitives.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256 (base32
"1lr62j2266pbsi54xmzsfvl2z7fi7smhak7fp1ybl8hssxwi6in2"))))
- (build-system ocaml-build-system)
+ (build-system dune-build-system)
(arguments
`(#:tests? #f; require lwt_ppx
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)
- (replace 'build
- (lambda _
- (invoke "jbuilder" "build" "@install")
- #t))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (invoke "jbuilder" "install" "--prefix" (assoc-ref outputs "out"))
- #t)))))
- (native-inputs
- `(("dune" ,dune)))
+ #:jbuild? #t))
(propagated-inputs
`(("lwt" ,ocaml-lwt)))
(home-page "https://github.com/aantron/lwt_log")
@@ -3114,24 +3024,12 @@ provide a tool that can be used to:
(sha256 (base32
"1dkm3d5h6h56y937gcdk2wixlpzl59vv5pmiafglr89p20kf7gqf"))
(file-name (string-append name "-" version ".tar.gz"))))
- (build-system ocaml-build-system)
+ (build-system dune-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (delete 'configure)
- (replace 'build
- (lambda _
- (invoke "dune" "build" "@install" "--profile" "release")
- #t))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (invoke "dune" "install"
- "--prefix" (assoc-ref outputs "out"))
- #t)))
- #:tests? #f))
+ `(#:tests? #f
+ #:build-flags (list "--profile" "release")))
(native-inputs
- `(("dune" ,dune)
- ("ocamlbuild" ,ocamlbuild)))
+ `(("ocamlbuild" ,ocamlbuild)))
(home-page "https://github.com/mjambon/cppo")
(synopsis "Equivalent of the C preprocessor for OCaml programs")
(description "Cppo is an equivalent of the C preprocessor for OCaml
@@ -3766,26 +3664,14 @@ standard iterator type starting from 4.07.")
(sha256
(base32
"1pdb0mr6z5ax6szblr3f5lbdnqq9grm97cmsfjmdma60yrx2rqhd"))))
- (build-system ocaml-build-system)
+ (build-system dune-build-system)
(arguments
`(#:tests? #f
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)
- (replace 'build
- (lambda _
- (invoke "dune" "build" "@install" "--profile" "release")
- #t))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (invoke "dune" "install"
- "--prefix" (assoc-ref outputs "out"))
- #t)))))
+ #:build-flags (list "--profile" "release")))
(propagated-inputs
`(("ocaml-seq" ,ocaml-seq)))
(native-inputs
- `(("dune" ,dune)
- ("ounit" ,ocaml-ounit)))
+ `(("ounit" ,ocaml-ounit)))
(home-page "https://github.com/ocaml/ocaml-re/")
(synopsis "Regular expression library for OCaml")
(description "Pure OCaml regular expressions with:
@@ -4518,23 +4404,11 @@ the plugins facilitate extensibility, and the frontends serve as entry points.")
(sha256
(base32
"01ssjrqz41jvrqh27jxnh9cx7ywi9b5sgsykd00i7z9nrcwhlfy2"))))
- (build-system ocaml-build-system)
+ (build-system dune-build-system)
(native-inputs
- `(("camlp4" ,camlp4)
- ("dune" ,dune)))
+ `(("camlp4" ,camlp4)))
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (delete 'configure)
- (replace 'build
- (lambda _
- (invoke "dune" "build" "@install" "--profile" "release")
- #t))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (invoke "dune" "install"
- "--prefix" (assoc-ref outputs "out"))
- #t)))
+ `(#:build-flags (list "--profile" "realease")
#:tests? #f))
(synopsis "Comprehensive Unicode library")
(description "Camomile is a Unicode library for OCaml. Camomile provides
@@ -4635,23 +4509,10 @@ connect an engine to your inputs and rendering functions to get an editor.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1hy5ryagqclgdm9lzh1qil5mrynlypv7mn6qm858hdcnmz9zzn0l"))))
- (build-system ocaml-build-system)
+ (build-system dune-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (delete 'configure)
- (replace 'build
- (lambda _
- (invoke "dune" "build" "@install" "--profile" "release")
- #t))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (invoke "dune" "install"
- "--prefix" (assoc-ref outputs "out"))
- #t)))
+ `(#:build-flags (list "--profile" "release")
#:tests? #f))
- (native-inputs
- `(("dune" ,dune)))
(propagated-inputs
`(("lwt" ,ocaml-lwt)
("lwt-log" ,ocaml-lwt-log)
@@ -5129,3 +4990,118 @@ provides BigN, BigZ, BigQ that used to be part of Coq standard library.")
simplifying the proofs of inequalities on expressions of real numbers for the
Coq proof assistant.")
(license license:cecill-c)))
+
+(define-public dedukti
+ (package
+ (name "dedukti")
+ (version "2.6.0")
+ (home-page "https://deducteam.github.io/")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/deducteam/dedukti.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0frl3diff033i4fmq304b8wbsdnc9mvlhmwd7a3zd699ng2lzbxb"))))
+ (inputs
+ `(("menhir" ,ocaml-menhir)))
+ (native-inputs
+ `(("ocamlbuild" ,ocamlbuild)))
+ (build-system ocaml-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'build
+ (lambda _
+ (invoke "make")
+ #t))
+ (replace 'check
+ (lambda _
+ (invoke "make" "tests")
+ #t))
+ (add-before 'install 'set-binpath
+ ;; Change binary path in the makefile
+ (lambda _
+ (let ((out (assoc-ref %outputs "out")))
+ (substitute* "GNUmakefile"
+ (("BINDIR = (.*)$")
+ (string-append "BINDIR = " out "/bin"))))
+ #t))
+ (replace 'install
+ (lambda _
+ (invoke "make" "install")
+ #t)))))
+ (synopsis "Proof-checker for the λΠ-calculus modulo theory, an extension of
+the λ-calculus")
+ (description "Dedukti is a proof-checker for the λΠ-calculus modulo
+theory. The λΠ-calculus is an extension of the simply typed λ-calculus with
+dependent types. The λΠ-calculus modulo theory is itself an extension of the
+λΠ-calculus where the context contains variable declaration as well as rewrite
+rules. This system is not designed to develop proofs, but to check proofs
+developed in other systems. In particular, it enjoys a minimalistic syntax.")
+ (license license:cecill-c)))
+
+(define-public ocaml-biniou
+ (package
+ (name "ocaml-biniou")
+ (version "1.2.0")
+ (home-page "https://github.com/mjambon/biniou")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url (string-append home-page ".git"))
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0mjpgwyfq2b2izjw0flmlpvdjgqpq8shs89hxj1np2r50csr8dcb"))))
+ (build-system dune-build-system)
+ (inputs
+ `(("ocaml-easy-format" ,ocaml-easy-format)))
+ (native-inputs
+ `(("which" ,which)))
+ (synopsis "Data format designed for speed, safety, ease of use and backward
+compatibility")
+ (description "Biniou (pronounced \"be new\" is a binary data format
+designed for speed, safety, ease of use and backward compatibility as
+protocols evolve. Biniou is vastly equivalent to JSON in terms of
+functionality but allows implementations several times faster (4 times faster
+than yojson), with 25-35% space savings.")
+ (license license:bsd-3)))
+
+(define-public ocaml-yojson
+ (package
+ (name "ocaml-yojson")
+ (version "1.4.1")
+ (home-page "https://github.com/ocaml-community/yojson")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url (string-append home-page ".git"))
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0nwsfkmqpyfab4rxq76q8ff7giyanghw08094jyrp275v99zdjr9"))))
+ (build-system dune-build-system)
+ (arguments
+ `(#:test-target "."))
+ (inputs
+ `(("ocaml-biniou" ,ocaml-biniou)
+ ("ocaml-easy-format" ,ocaml-easy-format)))
+ (native-inputs
+ `(("ocaml-cppo" ,ocaml-cppo)))
+ (synopsis "Low-level JSON library for OCaml")
+ (description "Yojson is an optimized parsing and printing library for the
+JSON format. It addresses a few shortcomings of json-wheel including 2x
+speedup, polymorphic variants and optional syntax for tuples and variants.
+@code{ydump} is a pretty printing command-line program provided with the
+yojson package. The program @code{atdgen} can be used to derive OCaml-JSON
+serializers and deserializers from type definitions.")
+ (license license:bsd-3)))
diff --git a/gnu/packages/opencl.scm b/gnu/packages/opencl.scm
index da979253b0..a90b17cee3 100644
--- a/gnu/packages/opencl.scm
+++ b/gnu/packages/opencl.scm
@@ -240,7 +240,7 @@ the system.")
("llvm@3.7" ,llvm-3.7)
("libdrm" ,libdrm)
("libedit" ,libedit)
- ("libpthread-stubs", libpthread-stubs)
+ ("libpthread-stubs" ,libpthread-stubs)
("libsm" ,libsm)
("libva" ,libva)
("libxfixes" ,libxfixes)
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index c5ba65a863..85c95a75e9 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -50,6 +50,7 @@
#:use-module (gnu packages gnupg)
#:use-module (gnu packages gnuzilla)
#:use-module (gnu packages graphviz)
+ #:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages linux)
#:use-module (gnu packages lisp)
@@ -68,8 +69,10 @@
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
#:use-module (gnu packages vim)
+ #:use-module (gnu packages virtualization)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
+ #:use-module (gnu packages xorg)
#:use-module (guix build-system emacs)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
@@ -101,8 +104,8 @@
;; Latest version of Guix, which may or may not correspond to a release.
;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this.
- (let ((version "0.15.0")
- (commit "71a78ba65b00ad1f27086a3dcdded7dc4326ade1")
+ (let ((version "0.16.0")
+ (commit "7ba2b27467a39956f10e2e11061d9569e4b7d632")
(revision 8))
(package
(name "guix")
@@ -119,7 +122,7 @@
(commit commit)))
(sha256
(base32
- "0isagzccfxjqrc38wamknvh0jzv1pjh0wq5baj9jzwl07xkrc0hc"))
+ "14srgkl0vyr6q7azv76nncp63gngmm71y18ybyj9f6l6s4shbcm4"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@@ -316,6 +319,7 @@ the Nix package manager.")
(inputs
`(("gnutls" ,gnutls)
("guile-git" ,guile-git)
+ ("guile-json" ,guile-json)
("guile-gcrypt" ,guile-gcrypt)
,@(fold alist-delete (package-inputs guix)
'("boot-guile" "boot-guile/i686" "util-linux"))))
@@ -933,15 +937,15 @@ for packaging and deployment of cross-compiled Windows applications.")
(define-public libostree
(package
(name "libostree")
- (version "2018.7")
+ (version "2018.9.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/ostreedev/ostree/releases/download/v"
- version "/libostree-" version ".tar.xz"))
+ (version-major+minor version) "/libostree-" version ".tar.xz"))
(sha256
(base32
- "1nc310lv36psxn5yslkxlgi9gjxwqpwqzkg2pldgpwrlv6gkagj8"))))
+ "01mygpkbl9sk2vr3hjbpih6qlg8lwx0q5lklm09f7jfwfpnwyqzj"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -983,3 +987,51 @@ tools that combines a \"git-like\" model for committing and downloading
bootable filesystem trees, along with a layer for deploying them and managing
the bootloader configuration.")
(license license:lgpl2.0+)))
+
+(define-public flatpak
+ (package
+ (name "flatpak")
+ (version "1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/flatpak/flatpak/releases/download/"
+ version "/flatpak-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0bkjwh49kajyd78vdh0g9arb352a7rccaifas9zxa78phhja2v2p"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:tests? #f ;; Tests fail due to trying to create files where it can't.
+ #:configure-flags (list
+ "--enable-documentation=no" ;; FIXME
+ "--enable-system-helper=no"
+ "--localstatedir=/var"
+ (string-append "--with-system-bubblewrap="
+ (assoc-ref %build-inputs "bubblewrap")
+ "/bin/bwrap"))))
+ (native-inputs `(("bison" ,bison)
+ ("gettext" ,gnu-gettext)
+ ("glib:bin" ,glib "bin") ; for glib-mkenums + gdbus-codegen
+ ("gobject-introspection" ,gobject-introspection)
+ ("libcap" ,libcap)
+ ("pkg-config" ,pkg-config)))
+ (inputs `(("appstream-glib" ,appstream-glib)
+ ("bubblewrap" ,bubblewrap)
+ ("gdk-pixbuf" ,gdk-pixbuf)
+ ("gpgme" ,gpgme)
+ ("json-glib" ,json-glib)
+ ("libarchive" ,libarchive)
+ ("libostree" ,libostree)
+ ("libseccomp" ,libseccomp)
+ ("libsoup" ,libsoup)
+ ("libxau" ,libxau)
+ ("libxml2" ,libxml2)
+ ("nettle" ,nettle)
+ ("util-linux" ,util-linux)))
+ (home-page "https://flatpak.org")
+ (synopsis "System for building, distributing, and running sandboxed desktop
+applications")
+ (description "Flatpak is a system for building, distributing, and running
+sandboxed desktop applications on GNU/Linux.")
+ (license license:lgpl2.1+)))
diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index df8ac180b3..25d3c0737c 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -48,7 +48,7 @@
(define-public parallel
(package
(name "parallel")
- (version "20181122")
+ (version "20181222")
(source
(origin
(method url-fetch)
@@ -56,7 +56,7 @@
version ".tar.bz2"))
(sha256
(base32
- "1mcqymf6vg8jhnjv71sswcz5xrwpq2h2ishi8m1hz8rwhc65h1ig"))))
+ "0sd39nzgff3rpyzfwkffb5yxbdm5r6amrkslbgpjlrcrymy9z305"))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/patches/allegro-fix-compilation-mesa-18.2.5-and-later.patch b/gnu/packages/patches/allegro-fix-compilation-mesa-18.2.5-and-later.patch
new file mode 100644
index 0000000000..fa273a5dfa
--- /dev/null
+++ b/gnu/packages/patches/allegro-fix-compilation-mesa-18.2.5-and-later.patch
@@ -0,0 +1,41 @@
+Fixes compilation with Mesa >= 18.2.5.
+
+Taken from upstream:
+
+https://github.com/liballeg/allegro5/commit/a40d30e21802ecf5c9382cf34af9b01bd3781e47
+
+diff --git a/include/allegro5/allegro_opengl.h b/include/allegro5/allegro_opengl.h
+index 0f86a6768..652dd024e 100644
+--- a/include/allegro5/allegro_opengl.h
++++ b/include/allegro5/allegro_opengl.h
+@@ -103,10 +103,14 @@
+
+ /* HACK: Prevent both Mesa and SGI's broken headers from screwing us */
+ #define __glext_h_
++#define __gl_glext_h_
+ #define __glxext_h_
++#define __glx_glxext_h_
+ #include <GL/gl.h>
+ #undef __glext_h_
++#undef __gl_glext_h_
+ #undef __glxext_h_
++#undef __glx_glxext_h_
+
+ #endif /* ALLEGRO_MACOSX */
+
+diff --git a/include/allegro5/opengl/GLext/glx_ext_defs.h b/include/allegro5/opengl/GLext/glx_ext_defs.h
+index 49c502091..fba8aea5d 100644
+--- a/include/allegro5/opengl/GLext/glx_ext_defs.h
++++ b/include/allegro5/opengl/GLext/glx_ext_defs.h
+@@ -1,7 +1,9 @@
+ /* HACK: Prevent both Mesa and SGI's broken headers from screwing us */
+ #define __glxext_h_
++#define __glx_glxext_h_
+ #include <GL/glx.h>
+ #undef __glxext_h_
++#undef __glx_glxext_h_
+
+ #ifndef GLX_VERSION_1_3
+ #define _ALLEGRO_GLX_VERSION_1_3
+--
+2.20.0
diff --git a/gnu/packages/patches/ansible-wrap-program-hack.patch b/gnu/packages/patches/ansible-wrap-program-hack.patch
deleted file mode 100644
index c2e1028392..0000000000
--- a/gnu/packages/patches/ansible-wrap-program-hack.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Ansible changes its behaviour depending on the name of the script that it is
-called as. Make it deal with guix' .real wrapper scripts.
-
-FIXME: Remove once wrapping ansible works properly.
-See http://lists.gnu.org/archive/html/bug-guix/2017-05/msg00015.html.
---- ansible-2.3.0.0/bin/ansible 2017-04-12 16:08:05.000000000 +0200
-+++ ansible-2.3.0.0-fixed/bin/ansible 2017-05-21 20:11:18.720872385 +0200
-@@ -75,7 +75,13 @@
- # sometimes add that
- target = target[:-1]
-
-- if len(target) > 1:
-+ if target[-1] == "real" and target[0].startswith('.'):
-+ target = target[:-1]
-+ target[0] = target[0][1:]
-+ if len(target) > 1 and target[1] != "real" :
-+ sub = target[1]
-+ myclass = "%sCLI" % sub.capitalize()
-+ elif len(target) > 2 and target[2] == "real" :
- sub = target[1]
- myclass = "%sCLI" % sub.capitalize()
- elif target[0] == 'ansible':
diff --git a/gnu/packages/patches/borg-respect-storage-quota.patch b/gnu/packages/patches/borg-respect-storage-quota.patch
deleted file mode 100644
index d23d1ffc01..0000000000
--- a/gnu/packages/patches/borg-respect-storage-quota.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Make sure the client respects the storage quota set by the server:
-
-https://github.com/borgbackup/borg/issues/4093
-
-Patch copied from upstream source repository:
-
-https://github.com/borgbackup/borg/commit/975cc33206e0e3644626fb7204c34d2157715b61
-
-From 975cc33206e0e3644626fb7204c34d2157715b61 Mon Sep 17 00:00:00 2001
-From: Manu <manu@snapdragon.cc>
-Date: Wed, 3 Oct 2018 23:47:36 +0800
-Subject: [PATCH] Add storage_quota for forced_result if set by serve command.
-
----
- src/borg/archiver.py | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/borg/archiver.py b/src/borg/archiver.py
-index 916725e7..279194c1 100644
---- a/src/borg/archiver.py
-+++ b/src/borg/archiver.py
-@@ -4276,6 +4276,7 @@ def get_args(self, argv, cmd):
- result.restrict_to_paths = forced_result.restrict_to_paths
- result.restrict_to_repositories = forced_result.restrict_to_repositories
- result.append_only = forced_result.append_only
-+ result.storage_quota = forced_result.storage_quota
- return result
-
- def parse_args(self, args=None):
---
-2.19.1
-
diff --git a/gnu/packages/patches/datamash-arm-tests.patch b/gnu/packages/patches/datamash-arm-tests.patch
deleted file mode 100644
index a24c5320ad..0000000000
--- a/gnu/packages/patches/datamash-arm-tests.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-See https://lists.gnu.org/archive/html/bug-datamash/2018-03/msg00003.html and
-https://lists.gnu.org/archive/html/bug-datamash/2018-03/txt4DmvR7p6J9.txt
-
-From d446dba317aa067440d6312d955d523129949327 Mon Sep 17 00:00:00 2001
-From: Assaf Gordon <address@hidden>
-Date: Thu, 22 Mar 2018 11:00:34 -0600
-Subject: [PATCH 1/2] tests: fix --format='%4000f' expected output
-
-Can be 1.000009... or 1.000008999, depending on representation.
-
-* tests/datamash-output-format.pl: Check only the first 5 digits.
----
- tests/datamash-output-format.pl | 9 +++++----
- 1 file changed, 5 insertions(+), 4 deletions(-)
-
-diff --git a/tests/datamash-output-format.pl b/tests/datamash-output-format.pl
-index 52c68a2..ca99bb0 100755
---- a/tests/datamash-output-format.pl
-+++ b/tests/datamash-output-format.pl
-@@ -98,12 +98,13 @@ my @Tests =
- {OUT => "0" x 3999 . "1\n"}],
-
- # due to binary floating representation, some decimal point digits won't be
-- # zero (e.g. 1.0000090000000000000000000000000523453254320000000...).
-- # The OUT_SUBST replaces exactly 3994 digits (as expected from the format)
-+ # zero (e.g. 1.0000090000000000000000000000000523453254320000000... or
-+ # 1.000008999999...).
-+ # The OUT_SUBST replaces exactly 3995 digits (as expected from the format)
- # with an "X".
- ['m2', '--format "%.4000f" sum 1', {IN_PIPE=>$in1},
-- {OUT => "1.000009X\n"},
-- {OUT_SUBST => 's/^(1\.000009)([0-9]{3994})$/\1X/'}],
-+ {OUT => "1.00000X\n"},
-+ {OUT_SUBST => 's/^(1\.00000)([0-9]{3995})$/\1X/'}],
-
- );
-
---
-2.7.4
-
-
-From f4871963974a96d6e69cb80b9c2fac7ff0c1d472 Mon Sep 17 00:00:00 2001
-From: Assaf Gordon <address@hidden>
-Date: Thu, 22 Mar 2018 11:18:13 -0600
-Subject: [PATCH 2/2] tests: disable --format="%a" test
-
-Valid output can differ (e.g. 0x8.000p-3 vs 0x1.000p+0).
-
-* tests/datamash-output-format.pl: Disable 'a1' test.
----
- tests/datamash-output-format.pl | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/tests/datamash-output-format.pl b/tests/datamash-output-format.pl
-index ca99bb0..5e90ae0 100755
---- a/tests/datamash-output-format.pl
-+++ b/tests/datamash-output-format.pl
-@@ -90,7 +90,9 @@ my @Tests =
- ['e2', '--format "%.3e" sum 1', {IN_PIPE=>$in1}, {OUT=>"1.000e+00\n"}],
-
- # Test Custom formats: %a
-- ['a1', '--format "%0.3a" sum 1', {IN_PIPE=>$in1}, {OUT=>"0x8.000p-3\n"}],
-+ # Disable the test for now. Valid output can differ (e.g. 0x8.000p-3 and
-+ # 0x1.000p0 ).
-+ # ['a1', '--format "%0.3a" sum 1', {IN_PIPE=>$in1}, {OUT=>"0x8.000p-3\n"}],
-
-
- # Custom formats can use lots of memory
---
-2.7.4
-
diff --git a/gnu/packages/patches/elogind-glibc-2.27.patch b/gnu/packages/patches/elogind-glibc-2.27.patch
deleted file mode 100644
index 4ade587b5e..0000000000
--- a/gnu/packages/patches/elogind-glibc-2.27.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Look for memfd_create in sys/mman.h instead of linux/memfd.h.
-Needed to build with glibc-2.27.
-
---- a/configure.ac 1969-12-31 19:00:00.000000000 -0500
-+++ b/configure.ac 2018-03-27 23:54:15.414589005 -0400
-@@ -360,7 +360,7 @@
- # ------------------------------------------------------------------------------
-
- AC_CHECK_HEADERS([sys/capability.h], [], [AC_MSG_ERROR([*** POSIX caps headers not found])])
--AC_CHECK_HEADERS([linux/memfd.h], [], [])
-+AC_CHECK_HEADERS([sys/mman.h], [], [])
-
- AC_CHECK_HEADERS([printf.h], [have_printf_h=yes], [have_printf_h=no])
- AS_IF([test x$have_printf_h = xyes], [
-@@ -395,6 +395,7 @@
- [], [], [[
- #include <sys/types.h>
- #include <unistd.h>
-+#include <sys/mman.h>
- #include <sys/mount.h>
- #include <fcntl.h>
- #include <sched.h>
diff --git a/gnu/packages/patches/emacs-wordnut-require-adaptive-wrap.patch b/gnu/packages/patches/emacs-wordnut-require-adaptive-wrap.patch
new file mode 100644
index 0000000000..be10254c33
--- /dev/null
+++ b/gnu/packages/patches/emacs-wordnut-require-adaptive-wrap.patch
@@ -0,0 +1,20 @@
+Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
+
+This patch forces the use of adaptive-wrap. This feature is optional but we
+prefer to enable it by default.
+
+diff --git a/wordnut.el b/wordnut.el
+index 0ae86ad..72f9221 100644
+--- a/wordnut.el
++++ b/wordnut.el
+@@ -4,6 +4,7 @@
+ (require 'subr-x)
+ (require 'outline)
+ (require 'imenu)
++(require 'adaptive-wrap)
+
+ (require 'wordnut-history)
+
+--
+2.17.1
+
diff --git a/gnu/packages/patches/file-CVE-2018-10360.patch b/gnu/packages/patches/file-CVE-2018-10360.patch
new file mode 100644
index 0000000000..9285611c04
--- /dev/null
+++ b/gnu/packages/patches/file-CVE-2018-10360.patch
@@ -0,0 +1,27 @@
+https://github.com/file/file/commit/a642587a9c9e2dd7feacdf513c3643ce26ad3c22.patch
+The leading part of the patch starting at line 27 was trimmed off.
+This patch should be OK to drop with file@5.35.
+
+From a642587a9c9e2dd7feacdf513c3643ce26ad3c22 Mon Sep 17 00:00:00 2001
+From: Christos Zoulas <christos@zoulas.com>
+Date: Sat, 9 Jun 2018 16:00:06 +0000
+Subject: [PATCH] Avoid reading past the end of buffer (Rui Reis)
+
+---
+ src/readelf.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/readelf.c b/src/readelf.c
+index 79c83f9f5..1f41b4611 100644
+--- a/src/readelf.c
++++ b/src/readelf.c
+@@ -842,7 +842,8 @@ do_core_note(struct magic_set *ms, unsigned char *nbuf, uint32_t type,
+
+ cname = (unsigned char *)
+ &nbuf[doff + prpsoffsets(i)];
+- for (cp = cname; *cp && isprint(*cp); cp++)
++ for (cp = cname; cp < nbuf + size && *cp
++ && isprint(*cp); cp++)
+ continue;
+ /*
+ * Linux apparently appends a space at the end
diff --git a/gnu/packages/patches/gcc-libsanitizer-fix.patch b/gnu/packages/patches/gcc-libsanitizer-fix.patch
deleted file mode 100644
index 67aa44bed4..0000000000
--- a/gnu/packages/patches/gcc-libsanitizer-fix.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=8937b94d1a643fd9760714642296d034a45254a8
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81066
-
-This patch can be removed when gcc-6.5.0 is released
-
-From 8937b94d1a643fd9760714642296d034a45254a8 Mon Sep 17 00:00:00 2001
-From: doko <doko@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Thu, 7 Sep 2017 07:15:24 +0000
-Subject: [PATCH] 2017-09-07 Matthias Klose <doko@ubuntu.com>
-
- Backported from mainline
- 2017-07-14 Jakub Jelinek <jakub@redhat.com>
-
- PR sanitizer/81066
- * sanitizer_common/sanitizer_linux.h: Cherry-pick upstream r307969.
- * sanitizer_common/sanitizer_linux.cc: Likewise.
- * sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc: Likewise.
- * tsan/tsan_platform_linux.cc: Likewise.
-
-
-git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@251828 138bc75d-0d04-0410-961f-82ee72b054a4
----
- libsanitizer/ChangeLog | 11 +++++++++++
- libsanitizer/sanitizer_common/sanitizer_linux.cc | 3 +--
- libsanitizer/sanitizer_common/sanitizer_linux.h | 4 +---
- .../sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc | 2 +-
- libsanitizer/tsan/tsan_platform_linux.cc | 2 +-
- 5 files changed, 15 insertions(+), 7 deletions(-)
-
-diff --git a/libsanitizer/ChangeLog b/libsanitizer/ChangeLog
-index 252cd09..d988b28 100644
---- a/libsanitizer/ChangeLog
-+++ b/libsanitizer/ChangeLog
-@@ -1,3 +1,14 @@
-+2017-09-07 Matthias Klose <doko@ubuntu.com>
-+
-+ Backported from mainline
-+ 2017-07-14 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR sanitizer/81066
-+ * sanitizer_common/sanitizer_linux.h: Cherry-pick upstream r307969.
-+ * sanitizer_common/sanitizer_linux.cc: Likewise.
-+ * sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc: Likewise.
-+ * tsan/tsan_platform_linux.cc: Likewise.
-+
- 2017-07-04 Release Manager
-
- * GCC 6.4.0 released.
-diff --git a/libsanitizer/sanitizer_common/sanitizer_linux.cc b/libsanitizer/sanitizer_common/sanitizer_linux.cc
-index 2cefa20..223d9c6 100644
---- a/libsanitizer/sanitizer_common/sanitizer_linux.cc
-+++ b/libsanitizer/sanitizer_common/sanitizer_linux.cc
-@@ -546,8 +546,7 @@ uptr internal_prctl(int option, uptr arg2, uptr arg3, uptr arg4, uptr arg5) {
- }
- #endif
-
--uptr internal_sigaltstack(const struct sigaltstack *ss,
-- struct sigaltstack *oss) {
-+uptr internal_sigaltstack(const void *ss, void *oss) {
- return internal_syscall(SYSCALL(sigaltstack), (uptr)ss, (uptr)oss);
- }
-
-diff --git a/libsanitizer/sanitizer_common/sanitizer_linux.h b/libsanitizer/sanitizer_common/sanitizer_linux.h
-index 4497702..1594058 100644
---- a/libsanitizer/sanitizer_common/sanitizer_linux.h
-+++ b/libsanitizer/sanitizer_common/sanitizer_linux.h
-@@ -19,7 +19,6 @@
- #include "sanitizer_platform_limits_posix.h"
-
- struct link_map; // Opaque type returned by dlopen().
--struct sigaltstack;
-
- namespace __sanitizer {
- // Dirent structure for getdents(). Note that this structure is different from
-@@ -28,8 +27,7 @@ struct linux_dirent;
-
- // Syscall wrappers.
- uptr internal_getdents(fd_t fd, struct linux_dirent *dirp, unsigned int count);
--uptr internal_sigaltstack(const struct sigaltstack* ss,
-- struct sigaltstack* oss);
-+uptr internal_sigaltstack(const void* ss, void* oss);
- uptr internal_sigprocmask(int how, __sanitizer_sigset_t *set,
- __sanitizer_sigset_t *oldset);
- void internal_sigfillset(__sanitizer_sigset_t *set);
-diff --git a/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc b/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
-index c919e4f..014162af 100644
---- a/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
-+++ b/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
-@@ -267,7 +267,7 @@ static int TracerThread(void* argument) {
-
- // Alternate stack for signal handling.
- InternalScopedBuffer<char> handler_stack_memory(kHandlerStackSize);
-- struct sigaltstack handler_stack;
-+ stack_t handler_stack;
- internal_memset(&handler_stack, 0, sizeof(handler_stack));
- handler_stack.ss_sp = handler_stack_memory.data();
- handler_stack.ss_size = kHandlerStackSize;
-diff --git a/libsanitizer/tsan/tsan_platform_linux.cc b/libsanitizer/tsan/tsan_platform_linux.cc
-index 09cec5f..908f4fe 100644
---- a/libsanitizer/tsan/tsan_platform_linux.cc
-+++ b/libsanitizer/tsan/tsan_platform_linux.cc
-@@ -291,7 +291,7 @@ bool IsGlobalVar(uptr addr) {
- int ExtractResolvFDs(void *state, int *fds, int nfd) {
- #if SANITIZER_LINUX
- int cnt = 0;
-- __res_state *statp = (__res_state*)state;
-+ struct __res_state *statp = (struct __res_state*)state;
- for (int i = 0; i < MAXNS && cnt < nfd; i++) {
- if (statp->_u._ext.nsaddrs[i] && statp->_u._ext.nssocks[i] != -1)
- fds[cnt++] = statp->_u._ext.nssocks[i];
---
-2.9.3
-
diff --git a/gnu/packages/patches/glibc-hurd-magic-pid.patch b/gnu/packages/patches/glibc-hurd-magic-pid.patch
new file mode 100644
index 0000000000..a6849f7d35
--- /dev/null
+++ b/gnu/packages/patches/glibc-hurd-magic-pid.patch
@@ -0,0 +1,190 @@
+This patch implements "magic" lookup for "pid/…", as used when looking up
+/proc/self.
+
+The patch comes from the 't/magic-pid' branch
+at <https://git.savannah.gnu.org/cgit/hurd/glibc.git>. It squashes
+commit 392e52286a302ca6157fbd221295e64ab6b6d8ba (by Justus Winter)
+and commit 392e52286a302ca6157fbd221295e64ab6b6d8ba (a subsequent fix by
+Samuel Thibault).
+
+From: Justus Winter <4winter@informatik.uni-hamburg.de>
+Subject: [PATCH] hurd: Handle `pid' magical lookup retry
+
+ * hurd/lookup-retry.c: Handle `pid' magical lookup
+ retry.
+
+diff --git a/hurd/lookup-retry.c b/hurd/lookup-retry.c
+index aee2ba8f93..6ed8de1653 100644
+--- a/hurd/lookup-retry.c
++++ b/hurd/lookup-retry.c
+@@ -25,6 +25,7 @@
+ #include <string.h>
+ #include <_itoa.h>
+ #include <eloop-threshold.h>
++#include <unistd.h>
+
+ /* Translate the error from dir_lookup into the error the user sees. */
+ static inline error_t
+@@ -59,6 +60,7 @@ __hurd_file_name_lookup_retry (error_t (*use_init_port)
+ error_t err;
+ char *file_name;
+ int nloops;
++ file_t lastdir = MACH_PORT_NULL;
+
+ error_t lookup_op (file_t startdir)
+ {
+@@ -107,14 +109,15 @@ __hurd_file_name_lookup_retry (error_t (*use_init_port)
+ {
+ case FS_RETRY_REAUTH:
+ if (err = reauthenticate (*result))
+- return err;
++ goto out;
+ /* Fall through. */
+
+ case FS_RETRY_NORMAL:
+ if (nloops++ >= __eloop_threshold ())
+ {
+ __mach_port_deallocate (__mach_task_self (), *result);
+- return ELOOP;
++ err = ELOOP;
++ goto out;
+ }
+
+ /* An empty RETRYNAME indicates we have the final port. */
+@@ -174,7 +177,7 @@ __hurd_file_name_lookup_retry (error_t (*use_init_port)
+
+ if (err)
+ __mach_port_deallocate (__mach_task_self (), *result);
+- return err;
++ goto out;
+ }
+
+ startdir = *result;
+@@ -189,7 +192,10 @@ __hurd_file_name_lookup_retry (error_t (*use_init_port)
+ if (*result != MACH_PORT_NULL)
+ __mach_port_deallocate (__mach_task_self (), *result);
+ if (nloops++ >= __eloop_threshold ())
+- return ELOOP;
++ {
++ err = ELOOP;
++ goto out;
++ }
+ file_name = &retryname[1];
+ break;
+
+@@ -208,7 +214,8 @@ __hurd_file_name_lookup_retry (error_t (*use_init_port)
+ (*end != '/' && *end != '\0'))
+ {
+ errno = save;
+- return ENOENT;
++ err = ENOENT;
++ goto out;
+ }
+ if (! get_dtable_port)
+ err = EGRATUITOUS;
+@@ -226,9 +233,12 @@ __hurd_file_name_lookup_retry (error_t (*use_init_port)
+ }
+ errno = save;
+ if (err)
+- return err;
++ goto out;
+ if (*end == '\0')
+- return 0;
++ {
++ err = 0;
++ goto out;
++ }
+ else
+ {
+ /* Do a normal retry on the remaining components. */
+@@ -255,9 +265,12 @@ __hurd_file_name_lookup_retry (error_t (*use_init_port)
+ if (err = __host_info (__mach_host_self (), HOST_BASIC_INFO,
+ (integer_t *) &hostinfo,
+ &hostinfocnt))
+- return err;
++ goto out;
+ if (hostinfocnt != HOST_BASIC_INFO_COUNT)
+- return EGRATUITOUS;
++ {
++ err = EGRATUITOUS;
++ goto out;
++ }
+ p = _itoa (hostinfo.cpu_subtype, &retryname[8], 10, 0);
+ *--p = '/';
+ p = _itoa (hostinfo.cpu_type, &retryname[8], 10, 0);
+@@ -293,10 +306,11 @@ __hurd_file_name_lookup_retry (error_t (*use_init_port)
+ }
+
+ case '\0':
+- return opentty (result);
++ err = opentty (result);
++ goto out;
+ case '/':
+ if (err = opentty (&startdir))
+- return err;
++ goto out;
+ strcpy (retryname, &retryname[4]);
+ break;
+ default:
+@@ -306,14 +320,48 @@ __hurd_file_name_lookup_retry (error_t (*use_init_port)
+ goto bad_magic;
+ break;
+
++ case 'p':
++ if (retryname[1] == 'i' && retryname[2] == 'd' &&
++ (retryname[3] == '/' || retryname[3] == 0))
++ {
++ char *p, buf[1024]; /* XXX */
++ size_t len;
++ p = _itoa (__getpid (), &buf[sizeof buf], 10, 0);
++ len = &buf[sizeof buf] - p;
++ memcpy (buf, p, len);
++ strcpy (buf + len, &retryname[3]);
++ strcpy (retryname, buf);
++
++ /* Do a normal retry on the remaining components. */
++ __mach_port_mod_refs (__mach_task_self (), lastdir,
++ MACH_PORT_RIGHT_SEND, 1);
++ startdir = lastdir;
++ file_name = retryname;
++ }
++ else
++ goto bad_magic;
++ break;
++
+ default:
+ bad_magic:
+- return EGRATUITOUS;
++ err = EGRATUITOUS;
++ goto out;
+ }
+ break;
+
+ default:
+- return EGRATUITOUS;
++ err = EGRATUITOUS;
++ goto out;
++ }
++
++ if (MACH_PORT_VALID (*result) && *result != lastdir)
++ {
++ if (MACH_PORT_VALID (lastdir))
++ __mach_port_deallocate (__mach_task_self (), lastdir);
++
++ lastdir = *result;
++ __mach_port_mod_refs (__mach_task_self (), lastdir,
++ MACH_PORT_RIGHT_SEND, 1);
+ }
+
+ if (startdir != MACH_PORT_NULL)
+@@ -326,6 +374,10 @@ __hurd_file_name_lookup_retry (error_t (*use_init_port)
+ err = (*use_init_port) (dirport, &lookup_op);
+ } while (! err);
+
++out:
++ if (MACH_PORT_VALID (lastdir))
++ __mach_port_deallocate (__mach_task_self (), lastdir);
++
+ return err;
+ }
+ weak_alias (__hurd_file_name_lookup_retry, hurd_file_name_lookup_retry)
diff --git a/gnu/packages/patches/meandmyshadow-define-paths-earlier.patch b/gnu/packages/patches/meandmyshadow-define-paths-earlier.patch
deleted file mode 100644
index 505cbd23fe..0000000000
--- a/gnu/packages/patches/meandmyshadow-define-paths-earlier.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From: Tobias Geerinckx-Rice <me@tobias.gr>
-Date: Wed, 31 Oct 2018 02:24:26 +0100
-Subject: [PATCH] gnu: meandmyshadow: Define paths earlier.
-
-The following patch was taken verbatim from the upstream repository[0]
-and will be included in the next release.
-
-[0]: https://github.com/acmepjz/meandmyshadow/pull/29
----
-From 4847e6b5755258a1e0534f2d4b91dce2ce3b459e Mon Sep 17 00:00:00 2001
-From: Dmitry Marakasov <amdmi3@amdmi3.ru>
-Date: Wed, 24 Oct 2018 23:31:19 +0300
-Subject: [PATCH] Define paths earlier in CMakeLists.txt
-
-At the very least, paths should be defined before Configure_File(), otherwise empty DATAROOTDIR is substituted in config.h
----
- CMakeLists.txt | 13 +++++++------
- 1 file changed, 7 insertions(+), 6 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index e79639a..6321d9d 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -2,6 +2,13 @@ Project (meandmyshadow)
- CMake_Minimum_Required (VERSION 3.1)
- Set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
-
-+#Path options
-+Set (BINDIR "bin" CACHE STRING "Where to install binaries")
-+Set (DATAROOTDIR "${CMAKE_INSTALL_PREFIX}/share" CACHE STRING "Sets the root of data directories to a non-default location")
-+Set (ICONDIR "${DATAROOTDIR}/icons" CACHE STRING "Sets the icon directory for desktop entry to a non-default location.")
-+Set (DESKTOPDIR "${DATAROOTDIR}/applications" CACHE STRING "Sets the desktop file directory for desktop entry to a non-default location.")
-+
-+#Options
- Option (DEBUG_MODE "Compile the game with debug mode enabled" OFF)
- Option (DISABLED_DEBUG_STUFF "Enable this you'll see a lot of annoying script debug messages which will lag the game." OFF)
-
-@@ -164,12 +171,6 @@ Target_Link_Libraries (
- ${LUA_LIBRARIES}
- )
-
--#Path options
--Set (BINDIR "bin" CACHE STRING "Where to install binaries")
--Set (DATAROOTDIR "${CMAKE_INSTALL_PREFIX}/share" CACHE STRING "Sets the root of data directories to a non-default location")
--Set (ICONDIR "${DATAROOTDIR}/icons" CACHE STRING "Sets the icon directory for desktop entry to a non-default location.")
--Set (DESKTOPDIR "${DATAROOTDIR}/applications" CACHE STRING "Sets the desktop file directory for desktop entry to a non-default location.")
--
- #Install locations
- Install (DIRECTORY ${PROJECT_SOURCE_DIR}/data DESTINATION ${DATAROOTDIR}/meandmyshadow/)
- Install (FILES AUTHORS DESTINATION ${DATAROOTDIR}/meandmyshadow/)
diff --git a/gnu/packages/patches/openjdk-10-idlj-reproducibility.patch b/gnu/packages/patches/openjdk-10-idlj-reproducibility.patch
new file mode 100644
index 0000000000..b29a06f272
--- /dev/null
+++ b/gnu/packages/patches/openjdk-10-idlj-reproducibility.patch
@@ -0,0 +1,36 @@
+From a0a0c6a43b88d946f2b5484892cf0209bd7c0e68 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?G=C3=A1bor=20Boskovits?= <boskovits@gmail.com>
+Date: Sat, 8 Dec 2018 21:25:31 +0100
+Subject: [PATCH] Make idlj respect SOURCE_DATE_EPOCH.
+
+---
+ .../sun/tools/corba/se/idl/toJavaPortable/Util.java | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+diff --git a/src/java.corba/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/Util.java b/src/java.corba/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/Util.java
+index 7397619f2..583d6b8e4 100644
+--- a/src/java.corba/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/Util.java
++++ b/src/java.corba/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/Util.java
+@@ -1146,7 +1146,18 @@ public class Util extends com.sun.tools.corba.se.idl.Util
+ else
+ formatter.setTimeZone (java.util.TimeZone.getDefault ());
+
+- stream.println ("* " + formatter.format (new Date ()));
++ try {
++ String epoch = System.getenv("SOURCE_DATE_EPOCH");
++ if(epoch != null) {
++ long unixTime = Long.parseLong(epoch);
++ stream.println ("* " + formatter.format (new Date (unixTime*1000L)));
++ } else {
++ stream.println ("* " + formatter.format (new Date ()));
++ }
++ } catch (Exception e) {
++ //in case of error fall back to default
++ stream.println ("* " + formatter.format (new Date ()));
++ }
+
+ // <daz>
+ ///////////////
+--
+2.19.2
+
diff --git a/gnu/packages/patches/polkit-CVE-2018-19788.patch b/gnu/packages/patches/polkit-CVE-2018-19788.patch
new file mode 100644
index 0000000000..58cde6c5dc
--- /dev/null
+++ b/gnu/packages/patches/polkit-CVE-2018-19788.patch
@@ -0,0 +1,197 @@
+Fix CVE-2018-19788:
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-19788
+https://gitlab.freedesktop.org/polkit/polkit/issues/74
+
+Patch copied from upstream source repository:
+
+https://gitlab.freedesktop.org/polkit/polkit/commit/2cb40c4d5feeaa09325522bd7d97910f1b59e379
+
+From 2cb40c4d5feeaa09325522bd7d97910f1b59e379 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
+Date: Mon, 3 Dec 2018 10:28:58 +0100
+Subject: [PATCH] Allow negative uids/gids in PolkitUnixUser and Group objects
+
+(uid_t) -1 is still used as placeholder to mean "unset". This is OK, since
+there should be no users with such number, see
+https://systemd.io/UIDS-GIDS#special-linux-uids.
+
+(uid_t) -1 is used as the default value in class initialization.
+
+When a user or group above INT32_MAX is created, the numeric uid or
+gid wraps around to negative when the value is assigned to gint, and
+polkit gets confused. Let's accept such gids, except for -1.
+
+A nicer fix would be to change the underlying type to e.g. uint32 to
+not have negative values. But this cannot be done without breaking the
+API, so likely new functions will have to be added (a
+polkit_unix_user_new variant that takes a unsigned, and the same for
+_group_new, _set_uid, _get_uid, _set_gid, _get_gid, etc.). This will
+require a bigger patch.
+
+Fixes https://gitlab.freedesktop.org/polkit/polkit/issues/74.
+---
+ src/polkit/polkitunixgroup.c | 15 +++++++++++----
+ src/polkit/polkitunixprocess.c | 12 ++++++++----
+ src/polkit/polkitunixuser.c | 13 ++++++++++---
+ 3 files changed, 29 insertions(+), 11 deletions(-)
+
+diff --git a/src/polkit/polkitunixgroup.c b/src/polkit/polkitunixgroup.c
+index c57a1aa..309f689 100644
+--- a/src/polkit/polkitunixgroup.c
++++ b/src/polkit/polkitunixgroup.c
+@@ -71,6 +71,7 @@ G_DEFINE_TYPE_WITH_CODE (PolkitUnixGroup, polkit_unix_group, G_TYPE_OBJECT,
+ static void
+ polkit_unix_group_init (PolkitUnixGroup *unix_group)
+ {
++ unix_group->gid = -1; /* (git_t) -1 is not a valid GID under Linux */
+ }
+
+ static void
+@@ -100,11 +101,14 @@ polkit_unix_group_set_property (GObject *object,
+ GParamSpec *pspec)
+ {
+ PolkitUnixGroup *unix_group = POLKIT_UNIX_GROUP (object);
++ gint val;
+
+ switch (prop_id)
+ {
+ case PROP_GID:
+- unix_group->gid = g_value_get_int (value);
++ val = g_value_get_int (value);
++ g_return_if_fail (val != -1);
++ unix_group->gid = val;
+ break;
+
+ default:
+@@ -131,9 +135,9 @@ polkit_unix_group_class_init (PolkitUnixGroupClass *klass)
+ g_param_spec_int ("gid",
+ "Group ID",
+ "The UNIX group ID",
+- 0,
++ G_MININT,
+ G_MAXINT,
+- 0,
++ -1,
+ G_PARAM_CONSTRUCT |
+ G_PARAM_READWRITE |
+ G_PARAM_STATIC_NAME |
+@@ -166,9 +170,10 @@ polkit_unix_group_get_gid (PolkitUnixGroup *group)
+ */
+ void
+ polkit_unix_group_set_gid (PolkitUnixGroup *group,
+- gint gid)
++ gint gid)
+ {
+ g_return_if_fail (POLKIT_IS_UNIX_GROUP (group));
++ g_return_if_fail (gid != -1);
+ group->gid = gid;
+ }
+
+@@ -183,6 +188,8 @@ polkit_unix_group_set_gid (PolkitUnixGroup *group,
+ PolkitIdentity *
+ polkit_unix_group_new (gint gid)
+ {
++ g_return_val_if_fail (gid != -1, NULL);
++
+ return POLKIT_IDENTITY (g_object_new (POLKIT_TYPE_UNIX_GROUP,
+ "gid", gid,
+ NULL));
+diff --git a/src/polkit/polkitunixprocess.c b/src/polkit/polkitunixprocess.c
+index 972b777..b02b258 100644
+--- a/src/polkit/polkitunixprocess.c
++++ b/src/polkit/polkitunixprocess.c
+@@ -159,9 +159,14 @@ polkit_unix_process_set_property (GObject *object,
+ polkit_unix_process_set_pid (unix_process, g_value_get_int (value));
+ break;
+
+- case PROP_UID:
+- polkit_unix_process_set_uid (unix_process, g_value_get_int (value));
++ case PROP_UID: {
++ gint val;
++
++ val = g_value_get_int (value);
++ g_return_if_fail (val != -1);
++ polkit_unix_process_set_uid (unix_process, val);
+ break;
++ }
+
+ case PROP_START_TIME:
+ polkit_unix_process_set_start_time (unix_process, g_value_get_uint64 (value));
+@@ -239,7 +244,7 @@ polkit_unix_process_class_init (PolkitUnixProcessClass *klass)
+ g_param_spec_int ("uid",
+ "User ID",
+ "The UNIX user ID",
+- -1,
++ G_MININT,
+ G_MAXINT,
+ -1,
+ G_PARAM_CONSTRUCT |
+@@ -303,7 +308,6 @@ polkit_unix_process_set_uid (PolkitUnixProcess *process,
+ gint uid)
+ {
+ g_return_if_fail (POLKIT_IS_UNIX_PROCESS (process));
+- g_return_if_fail (uid >= -1);
+ process->uid = uid;
+ }
+
+diff --git a/src/polkit/polkitunixuser.c b/src/polkit/polkitunixuser.c
+index 8bfd3a1..234a697 100644
+--- a/src/polkit/polkitunixuser.c
++++ b/src/polkit/polkitunixuser.c
+@@ -72,6 +72,7 @@ G_DEFINE_TYPE_WITH_CODE (PolkitUnixUser, polkit_unix_user, G_TYPE_OBJECT,
+ static void
+ polkit_unix_user_init (PolkitUnixUser *unix_user)
+ {
++ unix_user->uid = -1; /* (uid_t) -1 is not a valid UID under Linux */
+ unix_user->name = NULL;
+ }
+
+@@ -112,11 +113,14 @@ polkit_unix_user_set_property (GObject *object,
+ GParamSpec *pspec)
+ {
+ PolkitUnixUser *unix_user = POLKIT_UNIX_USER (object);
++ gint val;
+
+ switch (prop_id)
+ {
+ case PROP_UID:
+- unix_user->uid = g_value_get_int (value);
++ val = g_value_get_int (value);
++ g_return_if_fail (val != -1);
++ unix_user->uid = val;
+ break;
+
+ default:
+@@ -144,9 +148,9 @@ polkit_unix_user_class_init (PolkitUnixUserClass *klass)
+ g_param_spec_int ("uid",
+ "User ID",
+ "The UNIX user ID",
+- 0,
++ G_MININT,
+ G_MAXINT,
+- 0,
++ -1,
+ G_PARAM_CONSTRUCT |
+ G_PARAM_READWRITE |
+ G_PARAM_STATIC_NAME |
+@@ -182,6 +186,7 @@ polkit_unix_user_set_uid (PolkitUnixUser *user,
+ gint uid)
+ {
+ g_return_if_fail (POLKIT_IS_UNIX_USER (user));
++ g_return_if_fail (uid != -1);
+ user->uid = uid;
+ }
+
+@@ -196,6 +201,8 @@ polkit_unix_user_set_uid (PolkitUnixUser *user,
+ PolkitIdentity *
+ polkit_unix_user_new (gint uid)
+ {
++ g_return_val_if_fail (uid != -1, NULL);
++
+ return POLKIT_IDENTITY (g_object_new (POLKIT_TYPE_UNIX_USER,
+ "uid", uid,
+ NULL));
+--
+2.18.1
+
diff --git a/gnu/packages/patches/quilt-compat-getopt-fix-option-with-nondigit-param.patch b/gnu/packages/patches/quilt-getopt-nondigit-param.patch
index 6bbec67e75..6bbec67e75 100644
--- a/gnu/packages/patches/quilt-compat-getopt-fix-option-with-nondigit-param.patch
+++ b/gnu/packages/patches/quilt-getopt-nondigit-param.patch
diff --git a/gnu/packages/patches/quilt-compat-getopt-fix-second-separator.patch b/gnu/packages/patches/quilt-getopt-second-separator.patch
index cde2c8d41c..cde2c8d41c 100644
--- a/gnu/packages/patches/quilt-compat-getopt-fix-second-separator.patch
+++ b/gnu/packages/patches/quilt-getopt-second-separator.patch
diff --git a/gnu/packages/patches/ruby-coffee-rails-fix-rakefile.patch b/gnu/packages/patches/ruby-coffee-rails-fix-rakefile.patch
new file mode 100644
index 0000000000..bd98812da7
--- /dev/null
+++ b/gnu/packages/patches/ruby-coffee-rails-fix-rakefile.patch
@@ -0,0 +1,20 @@
+diff --git a/Rakefile b/Rakefile
+index ae682dc..fdf146d 100644
+--- a/Rakefile
++++ b/Rakefile
+@@ -13,12 +13,12 @@ end
+ task default: :test
+
+ specname = "coffee-rails.gemspec"
+-deps = `git ls-files`.split("\n") - [specname]
++deps = `find . -type f -print0 |sort`.split("\n") - [specname]
+
+ file specname => deps do
+ files = ["CHANGELOG.md", "MIT-LICENSE", "README.md"] + `git ls-files -- lib`.split("\n")
+- test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
+- executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
++ test_files = `ls test/*`.split("\n")
++ executables = []
+
+ require 'erb'
+
diff --git a/gnu/packages/patches/ruby-listen-3.0.8-patch-gemspec.patch b/gnu/packages/patches/ruby-listen-3.0.8-patch-gemspec.patch
new file mode 100644
index 0000000000..e870c060a5
--- /dev/null
+++ b/gnu/packages/patches/ruby-listen-3.0.8-patch-gemspec.patch
@@ -0,0 +1,16 @@
+diff --git a/listen.gemspec b/listen.gemspec
+index ee1316e..067dca3 100644
+--- a/listen.gemspec
++++ b/listen.gemspec
+@@ -14,9 +14,8 @@ Gem::Specification.new do |s|
+ s.description = 'The Listen gem listens to file modifications and '\
+ 'notifies you about the changes. Works everywhere!'
+
+- s.files = `git ls-files -z`.split("\x0").select do |f|
+- /^(?:bin|lib)\// =~ f
+- end + %w(CHANGELOG.md CONTRIBUTING.md LICENSE.txt README.md)
++ s.files = `find bin lib -type f |sort`.split("\n") +
++ %w(CHANGELOG.md CONTRIBUTING.md LICENSE.txt README.md)
+
+ s.test_files = []
+ s.executable = 'listen'
diff --git a/gnu/packages/patches/ruby-listen-patch-gemspec.patch b/gnu/packages/patches/ruby-listen-patch-gemspec.patch
new file mode 100644
index 0000000000..dd4b190b3e
--- /dev/null
+++ b/gnu/packages/patches/ruby-listen-patch-gemspec.patch
@@ -0,0 +1,16 @@
+diff --git a/listen.gemspec b/listen.gemspec
+index 4e110b0..cda047b 100644
+--- a/listen.gemspec
++++ b/listen.gemspec
+@@ -14,9 +14,8 @@ Gem::Specification.new do |s|
+ s.description = 'The Listen gem listens to file modifications and '\
+ 'notifies you about the changes. Works everywhere!'
+
+- s.files = `git ls-files -z`.split("\x0").select do |f|
+- %r{^(?:bin|lib)\/} =~ f
+- end + %w(CHANGELOG.md CONTRIBUTING.md LICENSE.txt README.md)
++ s.files = `find bin lib -type f |sort`.split("\n") +
++ %w(CHANGELOG.md CONTRIBUTING.md LICENSE.txt README.md)
+
+ s.test_files = []
+ s.executable = 'listen'
diff --git a/gnu/packages/patches/ruby-rspec-its-remove-rspec-gemspec.patch b/gnu/packages/patches/ruby-rspec-its-remove-rspec-gemspec.patch
new file mode 100644
index 0000000000..901eb88d21
--- /dev/null
+++ b/gnu/packages/patches/ruby-rspec-its-remove-rspec-gemspec.patch
@@ -0,0 +1,22 @@
+diff --git a/Gemfile b/Gemfile
+index 9786991..bec005d 100644
+--- a/Gemfile
++++ b/Gemfile
+@@ -3,17 +3,6 @@ source 'https://rubygems.org'
+ # Specify your gem's dependencies in rspec-its.gemspec
+ gemspec
+
+-%w[rspec rspec-core rspec-expectations rspec-mocks rspec-support].each do |lib|
+- branch = ENV.fetch('BRANCH','3-1-maintenance')
+- library_path = File.expand_path("../../#{lib}", __FILE__)
+- if File.exist?(library_path)
+- gem lib, :path => library_path
+- else
+- gem lib, :git => "git://github.com/rspec/#{lib}.git",
+- :branch => branch
+- end
+-end
+-
+ # test coverage
+ # gem 'simplecov', :require => false
+
diff --git a/gnu/packages/patches/ruby-therubyracer-fix-gemspec.patch b/gnu/packages/patches/ruby-therubyracer-fix-gemspec.patch
new file mode 100644
index 0000000000..83787192d2
--- /dev/null
+++ b/gnu/packages/patches/ruby-therubyracer-fix-gemspec.patch
@@ -0,0 +1,16 @@
+diff --git a/therubyracer.gemspec b/therubyracer.gemspec
+index 5a6ace7..95e2a27 100644
+--- a/therubyracer.gemspec
++++ b/therubyracer.gemspec
+@@ -8,9 +8,8 @@ Gem::Specification.new do |gem|
+ gem.description = "Call JavaScript code and manipulate JavaScript objects from Ruby. Call Ruby code and manipulate Ruby objects from JavaScript."
+ gem.homepage = "http://github.com/cowboyd/therubyracer"
+
+- gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
+- gem.files = `git ls-files`.split("\n")
+- gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
++ gem.files = `find . -type f |sort`.split("\n")
++ gem.test_files = `find spec -type f |sort`.split("\n")
+ gem.name = "therubyracer"
+ gem.extensions = ["ext/v8/extconf.rb"]
+ gem.require_paths = ["lib", "ext"]
diff --git a/gnu/packages/patches/stumpwm-fix-broken-read-one-line.patch b/gnu/packages/patches/stumpwm-fix-broken-read-one-line.patch
new file mode 100644
index 0000000000..f8dac61307
--- /dev/null
+++ b/gnu/packages/patches/stumpwm-fix-broken-read-one-line.patch
@@ -0,0 +1,45 @@
+From a13db62a4da06426cf2eb2376d1a3723b5ee52d5 Mon Sep 17 00:00:00 2001
+From: Vasily Postnicov <shamaz.mazum@gmail.com>
+Date: Fri, 14 Dec 2018 20:01:53 +0300
+Subject: [PATCH] READ-ONE-LINE: Turn COMPLETIONS into a keyword argument
+
+This keeps READ-ONE-line backwards compatible to changes prior
+dae0422811771d179077b9336618f2b19be85b7b. Currently both
+ARGUMENT-POP-OR-READ and ARGUMENT-POP-REST-OR-READ are still being
+called with the previous lambda list. Update the calls to the
+READ-ONE-LINE that used the 'new' lambda list, COMPLETING-READ and
+YES-OR-NO-P.
+
+Closes #538
+---
+ input.lisp | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/input.lisp b/input.lisp
+index b698a368..7904b35f 100644
+--- a/input.lisp
++++ b/input.lisp
+@@ -307,10 +307,13 @@ passed the substring to complete on and is expected to return a list
+ of matches. If require-match argument is non-nil then the input must
+ match with an element of the completions."
+ (check-type completions (or list function symbol))
+- (let ((line (read-one-line screen prompt completions :initial-input initial-input :require-match require-match)))
++ (let ((line (read-one-line screen prompt
++ :completions completions
++ :initial-input initial-input
++ :require-match require-match)))
+ (when line (string-trim " " line))))
+
+-(defun read-one-line (screen prompt completions &key (initial-input "") require-match password)
++(defun read-one-line (screen prompt &key completions (initial-input "") require-match password)
+ "Read a line of input through stumpwm and return it. Returns nil if the user aborted."
+ (let ((*input-last-command* nil)
+ (*input-completions* completions)
+@@ -842,6 +845,7 @@ user presses 'y'"
+ user presses 'yes'"
+ (loop for line = (read-one-line (current-screen)
+ (format nil "~a(yes or no) " message)
++ :completions
+ '("yes" "no"))
+ until (find line '("yes" "no") :test 'string-equal)
+ do (message "Please answer yes or no")
diff --git a/gnu/packages/patches/vinagre-newer-freerdp.patch b/gnu/packages/patches/vinagre-newer-freerdp.patch
new file mode 100644
index 0000000000..ab79fefc5c
--- /dev/null
+++ b/gnu/packages/patches/vinagre-newer-freerdp.patch
@@ -0,0 +1,320 @@
+https://gitlab.gnome.org/GNOME/vinagre/merge_requests/4.patch
+
+From 83ec3835c36d5cd2c957512c18d21a33b4136c95 Mon Sep 17 00:00:00 2001
+From: Ondrej Holy <oholy@redhat.com>
+Date: Tue, 20 Nov 2018 14:57:17 +0100
+Subject: [PATCH 1/2] Fix build with recent FreeRDP versions
+
+Vinagre is not buildable with recent FreeRDP versions and similar patches
+are used by distributions to fix that. I have also removed some old
+compatibility codes, because it wasn't buildable against 1.0, nor 1.1
+anyway and 1.2 has never been officially released and is superseded by 2.0.
+
+https://gitlab.gnome.org/GNOME/vinagre/issues/4
+---
+ configure.ac | 7 +-
+ plugins/rdp/vinagre-rdp-tab.c | 129 +++++++---------------------------
+ 2 files changed, 27 insertions(+), 109 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 5b51a82..61617f1 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -58,16 +58,15 @@ AS_IF([test "x$have_ssh" = "xyes"],
+ AM_CONDITIONAL([VINAGRE_ENABLE_SSH], [test "x$have_ssh" = "xyes"])
+
+ # Whether to enable support for RDP.
+-RDP_DEPS="freerdp x11"
++RDP_DEPS="freerdp2 x11"
++
+ AC_ARG_ENABLE([rdp],
+ [AS_HELP_STRING([--disable-rdp],
+ [Disable Remote Desktop Protocol (RDP) support])])
+
+ AS_IF([test "x$enable_rdp" != "xno"],
+ [PKG_CHECK_EXISTS([$RDP_DEPS],
+- [have_rdp=yes
+- PKG_CHECK_EXISTS(freerdp >= 1.1,
+- [AC_DEFINE([HAVE_FREERDP_1_1], [1], [FreeRDP is of version 1.1 or newer])], [])],
++ [have_rdp=yes],
+ [have_rdp=no])],
+ [have_rdp=no])
+
+diff --git a/plugins/rdp/vinagre-rdp-tab.c b/plugins/rdp/vinagre-rdp-tab.c
+index 5b98c24..28e3eb6 100644
+--- a/plugins/rdp/vinagre-rdp-tab.c
++++ b/plugins/rdp/vinagre-rdp-tab.c
+@@ -29,12 +29,7 @@
+ #include <freerdp/types.h>
+ #include <freerdp/freerdp.h>
+ #include <freerdp/gdi/gdi.h>
+-#if HAVE_FREERDP_1_1
+ #include <freerdp/locale/keyboard.h>
+-#else
+-#include <freerdp/kbd/vkcodes.h>
+-#include <gdk/gdkx.h>
+-#endif
+
+ #include "vinagre-rdp-tab.h"
+ #include "vinagre-rdp-connection.h"
+@@ -44,12 +39,6 @@
+
+ #define SELECT_TIMEOUT 50
+
+-#if !HAVE_FREERDP_1_1
+-typedef boolean BOOL;
+-typedef uint8 UINT8;
+-typedef uint16 UINT16;
+-#endif
+-
+ struct _VinagreRdpTabPrivate
+ {
+ freerdp *freerdp_session;
+@@ -476,16 +465,18 @@ frdp_drawing_area_draw (GtkWidget *area,
+ return TRUE;
+ }
+
+-static void
++static BOOL
+ frdp_begin_paint (rdpContext *context)
+ {
+ rdpGdi *gdi = context->gdi;
+
+ gdi->primary->hdc->hwnd->invalid->null = 1;
+ gdi->primary->hdc->hwnd->ninvalid = 0;
++
++ return TRUE;
+ }
+
+-static void
++static BOOL
+ frdp_end_paint (rdpContext *context)
+ {
+ VinagreRdpTab *rdp_tab = ((frdpContext *) context)->rdp_tab;
+@@ -495,7 +486,7 @@ frdp_end_paint (rdpContext *context)
+ gint x, y, w, h;
+
+ if (gdi->primary->hdc->hwnd->invalid->null)
+- return;
++ return TRUE;
+
+ x = gdi->primary->hdc->hwnd->invalid->x;
+ y = gdi->primary->hdc->hwnd->invalid->y;
+@@ -517,6 +508,8 @@ frdp_end_paint (rdpContext *context)
+ {
+ gtk_widget_queue_draw_area (priv->display, x, y, w, h);
+ }
++
++ return TRUE;
+ }
+
+ static BOOL
+@@ -524,7 +517,6 @@ frdp_pre_connect (freerdp *instance)
+ {
+ rdpSettings *settings = instance->settings;
+
+-#if HAVE_FREERDP_1_1
+ settings->OrderSupport[NEG_DSTBLT_INDEX] = TRUE;
+ settings->OrderSupport[NEG_PATBLT_INDEX] = TRUE;
+ settings->OrderSupport[NEG_SCRBLT_INDEX] = TRUE;
+@@ -549,32 +541,6 @@ frdp_pre_connect (freerdp *instance)
+ settings->OrderSupport[NEG_POLYGON_CB_INDEX] = FALSE;
+ settings->OrderSupport[NEG_ELLIPSE_SC_INDEX] = FALSE;
+ settings->OrderSupport[NEG_ELLIPSE_CB_INDEX] = FALSE;
+-#else
+- settings->order_support[NEG_DSTBLT_INDEX] = true;
+- settings->order_support[NEG_PATBLT_INDEX] = true;
+- settings->order_support[NEG_SCRBLT_INDEX] = true;
+- settings->order_support[NEG_OPAQUE_RECT_INDEX] = true;
+- settings->order_support[NEG_DRAWNINEGRID_INDEX] = false;
+- settings->order_support[NEG_MULTIDSTBLT_INDEX] = false;
+- settings->order_support[NEG_MULTIPATBLT_INDEX] = false;
+- settings->order_support[NEG_MULTISCRBLT_INDEX] = false;
+- settings->order_support[NEG_MULTIOPAQUERECT_INDEX] = true;
+- settings->order_support[NEG_MULTI_DRAWNINEGRID_INDEX] = false;
+- settings->order_support[NEG_LINETO_INDEX] = true;
+- settings->order_support[NEG_POLYLINE_INDEX] = true;
+- settings->order_support[NEG_MEMBLT_INDEX] = true;
+- settings->order_support[NEG_MEM3BLT_INDEX] = false;
+- settings->order_support[NEG_MEMBLT_V2_INDEX] = true;
+- settings->order_support[NEG_MEM3BLT_V2_INDEX] = false;
+- settings->order_support[NEG_SAVEBITMAP_INDEX] = false;
+- settings->order_support[NEG_GLYPH_INDEX_INDEX] = true;
+- settings->order_support[NEG_FAST_INDEX_INDEX] = true;
+- settings->order_support[NEG_FAST_GLYPH_INDEX] = false;
+- settings->order_support[NEG_POLYGON_SC_INDEX] = false;
+- settings->order_support[NEG_POLYGON_CB_INDEX] = false;
+- settings->order_support[NEG_ELLIPSE_SC_INDEX] = false;
+- settings->order_support[NEG_ELLIPSE_CB_INDEX] = false;
+-#endif
+
+ return TRUE;
+ }
+@@ -587,15 +553,7 @@ frdp_post_connect (freerdp *instance)
+ rdpGdi *gdi;
+ int stride;
+
+- gdi_init (instance,
+-#if defined(FREERDP_VERSION_MAJOR) && defined(FREERDP_VERSION_MINOR) && \
+- !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && \
+- FREERDP_VERSION_MINOR >= 2))
+- CLRBUF_24BPP,
+-#else
+- CLRBUF_32BPP,
+-#endif
+- NULL);
++ gdi_init (instance, PIXEL_FORMAT_BGRA32);
+ gdi = instance->context->gdi;
+
+ instance->update->BeginPaint = frdp_begin_paint;
+@@ -705,21 +663,15 @@ frdp_key_pressed (GtkWidget *widget,
+ VinagreRdpTab *rdp_tab = (VinagreRdpTab *) user_data;
+ VinagreRdpTabPrivate *priv = rdp_tab->priv;
+ frdpEventKey *frdp_event;
+-#if HAVE_FREERDP_1_1
+ UINT16 scancode;
+-#endif
+
+ frdp_event = g_new0 (frdpEventKey, 1);
+ frdp_event->type = FRDP_EVENT_TYPE_KEY;
+ frdp_event->flags = event->type == GDK_KEY_PRESS ? KBD_FLAGS_DOWN : KBD_FLAGS_RELEASE;
+
+-#if HAVE_FREERDP_1_1
+ scancode = freerdp_keyboard_get_rdp_scancode_from_x11_keycode (event->hardware_keycode);
+ frdp_event->code = RDP_SCANCODE_CODE(scancode);
+ frdp_event->extended = RDP_SCANCODE_EXTENDED(scancode);
+-#else
+- frdp_event->code = freerdp_kbd_get_scancode_by_keycode (event->hardware_keycode, &frdp_event->extended);
+-#endif
+
+ if (frdp_event->extended)
+ frdp_event->flags |= KBD_FLAGS_EXTENDED;
+@@ -934,11 +886,13 @@ frdp_authenticate (freerdp *instance,
+ return TRUE;
+ }
+
+-static BOOL
++static DWORD
+ frdp_certificate_verify (freerdp *instance,
+- char *subject,
+- char *issuer,
+- char *fingerprint)
++ const char *common_name,
++ const char *subject,
++ const char *issuer,
++ const char *fingerprint,
++ BOOL host_mismatch)
+ {
+ VinagreTab *tab = VINAGRE_TAB (((frdpContext *) instance->context)->rdp_tab);
+ GtkBuilder *builder;
+@@ -968,17 +922,18 @@ frdp_certificate_verify (freerdp *instance,
+ gtk_widget_hide (dialog);
+
+
+- return response == GTK_RESPONSE_YES;
++ return (response == GTK_RESPONSE_YES) ? 1 : 0;
+ }
+
+-
+-#if HAVE_FREERDP_1_1
+-static BOOL
++static DWORD
+ frdp_changed_certificate_verify (freerdp *instance,
+- char *subject,
+- char *issuer,
+- char *new_fingerprint,
+- char *old_fingerprint)
++ const char *common_name,
++ const char *subject,
++ const char *issuer,
++ const char *new_fingerprint,
++ const char *old_subject,
++ const char *old_issuer,
++ const char *old_fingerprint)
+ {
+ VinagreTab *tab = VINAGRE_TAB (((frdpContext *) instance->context)->rdp_tab);
+ GtkBuilder *builder;
+@@ -1023,9 +978,8 @@ frdp_changed_certificate_verify (freerdp *instance,
+ gtk_widget_hide (dialog);
+
+
+- return response == GTK_RESPONSE_YES;
++ return (response == GTK_RESPONSE_YES) ? 1 : 0;
+ }
+-#endif
+
+ static void
+ init_freerdp (VinagreRdpTab *rdp_tab)
+@@ -1053,15 +1007,9 @@ init_freerdp (VinagreRdpTab *rdp_tab)
+ priv->freerdp_session->PostConnect = frdp_post_connect;
+ priv->freerdp_session->Authenticate = frdp_authenticate;
+ priv->freerdp_session->VerifyCertificate = frdp_certificate_verify;
+-#if HAVE_FREERDP_1_1
+ priv->freerdp_session->VerifyChangedCertificate = frdp_changed_certificate_verify;
+-#endif
+
+-#if HAVE_FREERDP_1_1
+ priv->freerdp_session->ContextSize = sizeof (frdpContext);
+-#else
+- priv->freerdp_session->context_size = sizeof (frdpContext);
+-#endif
+
+ freerdp_context_new (priv->freerdp_session);
+ ((frdpContext *) priv->freerdp_session->context)->rdp_tab = rdp_tab;
+@@ -1070,53 +1018,24 @@ init_freerdp (VinagreRdpTab *rdp_tab)
+ settings = priv->freerdp_session->settings;
+
+ /* Security settings */
+-#if HAVE_FREERDP_1_1
+ settings->RdpSecurity = TRUE;
+ settings->TlsSecurity = TRUE;
+ settings->NlaSecurity = TRUE;
+ settings->EncryptionMethods = ENCRYPTION_METHOD_40BIT | ENCRYPTION_METHOD_128BIT | ENCRYPTION_METHOD_FIPS;
+ settings->EncryptionLevel = ENCRYPTION_LEVEL_CLIENT_COMPATIBLE;
+-#else
+- settings->rdp_security = true;
+- settings->tls_security = true;
+- settings->nla_security = true;
+- settings->encryption = true;
+- settings->encryption_method = ENCRYPTION_METHOD_40BIT | ENCRYPTION_METHOD_128BIT | ENCRYPTION_METHOD_FIPS;
+- settings->encryption_level = ENCRYPTION_LEVEL_CLIENT_COMPATIBLE;
+-#endif
+-#include <freerdp/version.h>
+-#if (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 2 && FREERDP_VERSION_REVISION >= 1) || (FREERDP_VERSION_MAJOR == 2)
+ settings->UseRdpSecurityLayer = FALSE;
+-#else
+- settings->DisableEncryption = FALSE;
+-#endif
+
+ /* Set display size */
+-#if HAVE_FREERDP_1_1
+ settings->DesktopWidth = width;
+ settings->DesktopHeight = height;
+-#else
+- settings->width = width;
+- settings->height = height;
+-#endif
+
+ /* Set hostname */
+-#if HAVE_FREERDP_1_1
+ settings->WindowTitle = g_strdup (hostname);
+ settings->ServerHostname = g_strdup (hostname);
+ settings->ServerPort = port;
+-#else
+- settings->window_title = g_strdup (hostname);
+- settings->hostname = g_strdup (hostname);
+- settings->port = port;
+-#endif
+
+ /* Set keyboard layout */
+-#if HAVE_FREERDP_1_1
+ freerdp_keyboard_init (KBD_US);
+-#else
+- freerdp_kbd_init (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), KBD_US);
+-#endif
+
+ /* Allow font smoothing by default */
+ settings->AllowFontSmoothing = TRUE;
+--
+2.18.1
+
diff --git a/gnu/packages/patches/vinagre-newer-rdp-parameters.patch b/gnu/packages/patches/vinagre-newer-rdp-parameters.patch
new file mode 100644
index 0000000000..99bcee5a98
--- /dev/null
+++ b/gnu/packages/patches/vinagre-newer-rdp-parameters.patch
@@ -0,0 +1,212 @@
+https://gitlab.gnome.org/GNOME/vinagre/merge_requests/4.patch
+
+From 141f9383129795da267a8111897fb3a0a324b080 Mon Sep 17 00:00:00 2001
+From: Ondrej Holy <oholy@redhat.com>
+Date: Thu, 22 Nov 2018 17:22:35 +0100
+Subject: [PATCH 2/2] Handle new RDP certificate parameters
+
+The freerdp2 certificate callbacks contains more parameters, let's
+present some of them to user also.
+---
+ data/vinagre.ui | 80 ++++++++++++++++++++++++++++++-----
+ plugins/rdp/vinagre-rdp-tab.c | 26 +++++-------
+ 2 files changed, 80 insertions(+), 26 deletions(-)
+
+diff --git a/data/vinagre.ui b/data/vinagre.ui
+index 3135336..d7ce258 100644
+--- a/data/vinagre.ui
++++ b/data/vinagre.ui
+@@ -885,7 +885,7 @@ Do you trust the new certificate?</property>
+ <property name="vexpand">True</property>
+ <property name="xalign">0</property>
+ <property name="xpad">12</property>
+- <property name="label" translatable="yes" comments="Subject of the certificate.">Subject:</property>
++ <property name="label" translatable="yes" comments="Subject of the certificate.">New subject:</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+@@ -901,7 +901,7 @@ Do you trust the new certificate?</property>
+ <property name="vexpand">True</property>
+ <property name="xalign">0</property>
+ <property name="xpad">12</property>
+- <property name="label" translatable="yes" comments="Issuer of the certificate.">Issuer:</property>
++ <property name="label" translatable="yes" comments="Issuer of the certificate.">New issuer:</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+@@ -927,7 +927,55 @@ Do you trust the new certificate?</property>
+ </packing>
+ </child>
+ <child>
+- <object class="GtkLabel" id="certificate_changed_subject">
++ <object class="GtkLabel">
++ <property name="visible">True</property>
++ <property name="can_focus">False</property>
++ <property name="vexpand">True</property>
++ <property name="xalign">0</property>
++ <property name="xpad">12</property>
++ <property name="label" translatable="yes" comments="Subject of the old certificate.">Old subject:</property>
++ </object>
++ <packing>
++ <property name="left_attach">0</property>
++ <property name="top_attach">3</property>
++ <property name="width">1</property>
++ <property name="height">1</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkLabel">
++ <property name="visible">True</property>
++ <property name="can_focus">False</property>
++ <property name="vexpand">True</property>
++ <property name="xalign">0</property>
++ <property name="xpad">12</property>
++ <property name="label" translatable="yes" comments="Issuer of the old certificate.">Old issuer:</property>
++ </object>
++ <packing>
++ <property name="left_attach">0</property>
++ <property name="top_attach">4</property>
++ <property name="width">1</property>
++ <property name="height">1</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkLabel">
++ <property name="visible">True</property>
++ <property name="can_focus">False</property>
++ <property name="vexpand">True</property>
++ <property name="xalign">0</property>
++ <property name="xpad">12</property>
++ <property name="label" translatable="yes" comments="Fingerprint of the old certificate.">Old fingerprint:</property>
++ </object>
++ <packing>
++ <property name="left_attach">0</property>
++ <property name="top_attach">5</property>
++ <property name="width">1</property>
++ <property name="height">1</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkLabel" id="certificate_changed_new_subject">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+@@ -942,7 +990,7 @@ Do you trust the new certificate?</property>
+ </packing>
+ </child>
+ <child>
+- <object class="GtkLabel" id="certificate_changed_issuer">
++ <object class="GtkLabel" id="certificate_changed_new_issuer">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+@@ -972,21 +1020,33 @@ Do you trust the new certificate?</property>
+ </packing>
+ </child>
+ <child>
+- <object class="GtkLabel" id="certificate_changed_old_fingerprint_label">
++ <object class="GtkLabel" id="certificate_changed_old_subject">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+- <property name="vexpand">True</property>
++ <property name="hexpand">True</property>
+ <property name="xalign">0</property>
+- <property name="xpad">12</property>
+- <property name="label" translatable="yes" comments="Fingerprint of the old certificate.">Old fingerprint:</property>
+ </object>
+ <packing>
+- <property name="left_attach">0</property>
++ <property name="left_attach">1</property>
+ <property name="top_attach">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
++ <child>
++ <object class="GtkLabel" id="certificate_changed_old_issuer">
++ <property name="visible">True</property>
++ <property name="can_focus">False</property>
++ <property name="hexpand">True</property>
++ <property name="xalign">0</property>
++ </object>
++ <packing>
++ <property name="left_attach">1</property>
++ <property name="top_attach">4</property>
++ <property name="width">1</property>
++ <property name="height">1</property>
++ </packing>
++ </child>
+ <child>
+ <object class="GtkLabel" id="certificate_changed_old_fingerprint">
+ <property name="visible">True</property>
+@@ -997,7 +1057,7 @@ Do you trust the new certificate?</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+- <property name="top_attach">3</property>
++ <property name="top_attach">5</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+diff --git a/plugins/rdp/vinagre-rdp-tab.c b/plugins/rdp/vinagre-rdp-tab.c
+index 28e3eb6..30a8698 100644
+--- a/plugins/rdp/vinagre-rdp-tab.c
++++ b/plugins/rdp/vinagre-rdp-tab.c
+@@ -917,6 +917,7 @@ frdp_certificate_verify (freerdp *instance,
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_fingerprint"));
+ gtk_label_set_text (GTK_LABEL (widget), fingerprint);
+
++ /* FIXME: Warn user in case of host_mismatch. */
+
+ response = gtk_dialog_run (GTK_DIALOG (dialog));
+ gtk_widget_hide (dialog);
+@@ -939,7 +940,6 @@ frdp_changed_certificate_verify (freerdp *instance,
+ GtkBuilder *builder;
+ GtkWidget *dialog;
+ GtkWidget *widget;
+- GtkWidget *label;
+ gint response;
+
+ builder = vinagre_utils_get_builder ();
+@@ -950,29 +950,23 @@ frdp_changed_certificate_verify (freerdp *instance,
+ _("Connect"), GTK_RESPONSE_YES, NULL);
+ gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_YES);
+
+- widget = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_changed_subject"));
++ widget = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_changed_new_subject"));
+ gtk_label_set_text (GTK_LABEL (widget), subject);
+
+- widget = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_changed_issuer"));
++ widget = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_changed_new_issuer"));
+ gtk_label_set_text (GTK_LABEL (widget), issuer);
+
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_changed_new_fingerprint"));
+ gtk_label_set_text (GTK_LABEL (widget), new_fingerprint);
+
+- widget = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_changed_old_fingerprint"));
+- label = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_changed_old_fingerprint_label"));
+- if (old_fingerprint != NULL && old_fingerprint[0] != '\0')
+- {
+- gtk_label_set_text (GTK_LABEL (widget), old_fingerprint);
+- gtk_widget_show (widget);
+- gtk_widget_show (label);
+- }
+- else
+- {
+- gtk_widget_hide (widget);
+- gtk_widget_hide (label);
+- }
++ widget = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_changed_old_subject"));
++ gtk_label_set_text (GTK_LABEL (widget), old_subject);
+
++ widget = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_changed_old_issuer"));
++ gtk_label_set_text (GTK_LABEL (widget), old_issuer);
++
++ widget = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_changed_old_fingerprint"));
++ gtk_label_set_text (GTK_LABEL (widget), old_fingerprint);
+
+ response = gtk_dialog_run (GTK_DIALOG (dialog));
+ gtk_widget_hide (dialog);
+--
+2.18.1
+
diff --git a/gnu/packages/patches/vinagre-revert-1.patch b/gnu/packages/patches/vinagre-revert-1.patch
deleted file mode 100644
index 5a983770b7..0000000000
--- a/gnu/packages/patches/vinagre-revert-1.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-Patch taken from Debian: revert changes that prevent building against freerdp
-version 1.1 branch.
-
-From 8ebc0685b85e0d1f70eb00171f2e7712de3d44bd Mon Sep 17 00:00:00 2001
-From: Michael Biebl <biebl@debian.org>
-Date: Thu, 22 Sep 2016 01:15:55 +0200
-Subject: [PATCH 1/2] Revert "Improve FreeRDP authentication failure handling"
-
-This reverts commit d7b4f88943e8615d252d27e1efc58cb64a9e1821.
----
- plugins/rdp/vinagre-rdp-tab.c | 10 ++++++----
- 1 file changed, 6 insertions(+), 4 deletions(-)
-
-diff --git a/plugins/rdp/vinagre-rdp-tab.c b/plugins/rdp/vinagre-rdp-tab.c
-index b731f9b..8572bc3 100644
---- a/plugins/rdp/vinagre-rdp-tab.c
-+++ b/plugins/rdp/vinagre-rdp-tab.c
-@@ -1195,8 +1195,8 @@ open_freerdp (VinagreRdpTab *rdp_tab)
- VinagreTab *tab = VINAGRE_TAB (rdp_tab);
- GtkWindow *window = GTK_WINDOW (vinagre_tab_get_window (tab));
- gboolean success = TRUE;
-+ gboolean authentication_error = FALSE;
- gboolean cancelled = FALSE;
-- guint authentication_errors = 0;
-
- priv->events = g_queue_new ();
-
-@@ -1205,12 +1205,14 @@ open_freerdp (VinagreRdpTab *rdp_tab)
-
- do
- {
-+ authentication_error = FALSE;
-+
- /* Run FreeRDP session */
- success = freerdp_connect (priv->freerdp_session);
- if (!success)
- {
-- authentication_errors += freerdp_get_last_error (priv->freerdp_session->context) == 0x20009 ||
-- freerdp_get_last_error (priv->freerdp_session->context) == 0x2000c;
-+ authentication_error = freerdp_get_last_error (priv->freerdp_session->context) == 0x20009 ||
-+ freerdp_get_last_error (priv->freerdp_session->context) == 0x2000c;
-
- cancelled = freerdp_get_last_error (priv->freerdp_session->context) == 0x2000b;
-
-@@ -1218,7 +1220,7 @@ open_freerdp (VinagreRdpTab *rdp_tab)
- init_freerdp (rdp_tab);
- }
- }
-- while (!success && authentication_errors < 3);
-+ while (!success && authentication_error);
-
- if (!success)
- {
---
-2.9.3
-
diff --git a/gnu/packages/patches/vinagre-revert-2.patch b/gnu/packages/patches/vinagre-revert-2.patch
deleted file mode 100644
index 686ee203e4..0000000000
--- a/gnu/packages/patches/vinagre-revert-2.patch
+++ /dev/null
@@ -1,448 +0,0 @@
-Patch taken from Debian: revert changes that prevent building against freerdp
-version 1.1 branch.
-
-From bb1828b6b7eb29bb037bcc687cf10f916ddc7561 Mon Sep 17 00:00:00 2001
-From: Michael Biebl <biebl@debian.org>
-Date: Thu, 22 Sep 2016 01:18:16 +0200
-Subject: [PATCH 2/2] Revert "Store credentials for RDP"
-
-This reverts commit 60dea279a24c7f0e398b89a0a60d45e80087ed1d.
----
- plugins/rdp/vinagre-rdp-connection.c | 22 +---
- plugins/rdp/vinagre-rdp-plugin.c | 29 +----
- plugins/rdp/vinagre-rdp-tab.c | 231 +++++++++++++++++------------------
- 3 files changed, 123 insertions(+), 159 deletions(-)
-
-diff --git a/plugins/rdp/vinagre-rdp-connection.c b/plugins/rdp/vinagre-rdp-connection.c
-index f0ff02b..c5f6ed1 100644
---- a/plugins/rdp/vinagre-rdp-connection.c
-+++ b/plugins/rdp/vinagre-rdp-connection.c
-@@ -127,25 +127,9 @@ rdp_parse_item (VinagreConnection *conn, xmlNode *root)
- static void
- rdp_parse_options_widget (VinagreConnection *conn, GtkWidget *widget)
- {
-- const gchar *text;
-- GtkWidget *u_entry, *d_entry, *spin_button, *scaling_button;
-- gboolean scaling;
-- guint width, height;
--
-- d_entry = g_object_get_data (G_OBJECT (widget), "domain_entry");
-- if (!d_entry)
-- {
-- g_warning ("Wrong widget passed to rdp_parse_options_widget()");
-- return;
-- }
--
-- text = gtk_entry_get_text (GTK_ENTRY (d_entry));
-- vinagre_cache_prefs_set_string ("rdp-connection", "domain", text);
--
-- g_object_set (conn,
-- "domain", text != NULL && *text != '\0' ? text : NULL,
-- NULL);
--
-+ GtkWidget *u_entry, *spin_button, *scaling_button;
-+ gboolean scaling;
-+ guint width, height;
-
- u_entry = g_object_get_data (G_OBJECT (widget), "username_entry");
- if (!u_entry)
-diff --git a/plugins/rdp/vinagre-rdp-plugin.c b/plugins/rdp/vinagre-rdp-plugin.c
-index 4751102..f41da37 100644
---- a/plugins/rdp/vinagre-rdp-plugin.c
-+++ b/plugins/rdp/vinagre-rdp-plugin.c
-@@ -100,7 +100,7 @@ vinagre_rdp_plugin_init (VinagreRdpPlugin *plugin)
- static GtkWidget *
- impl_get_connect_widget (VinagreProtocol *plugin, VinagreConnection *conn)
- {
-- GtkWidget *grid, *label, *u_entry, *d_entry, *spin_button, *check;
-+ GtkWidget *grid, *label, *u_entry, *spin_button, *check;
- gchar *str;
- gint width, height;
-
-@@ -146,29 +146,10 @@ impl_get_connect_widget (VinagreProtocol *plugin, VinagreConnection *conn)
- g_free (str);
-
-
-- label = gtk_label_new_with_mnemonic (_("_Domain:"));
-- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
-- gtk_grid_attach (GTK_GRID (grid), label, 0, 3, 1, 1);
-- gtk_widget_set_margin_left (label, 12);
--
-- d_entry = gtk_entry_new ();
-- /* Translators: This is the tooltip for the domain field in a RDP connection */
-- gtk_widget_set_tooltip_text (d_entry, _("Optional."));
-- g_object_set_data (G_OBJECT (grid), "domain_entry", d_entry);
-- gtk_grid_attach (GTK_GRID (grid), d_entry, 1, 3, 1, 1);
-- gtk_label_set_mnemonic_widget (GTK_LABEL (label), d_entry);
-- str = g_strdup (VINAGRE_IS_CONNECTION (conn) ?
-- vinagre_connection_get_domain (conn) :
-- vinagre_cache_prefs_get_string ("rdp-connection", "domain", ""));
-- gtk_entry_set_text (GTK_ENTRY (d_entry), str);
-- gtk_entry_set_activates_default (GTK_ENTRY (d_entry), TRUE);
-- g_free (str);
--
--
- /* Host width */
- label = gtk_label_new_with_mnemonic (_("_Width:"));
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
-- gtk_grid_attach (GTK_GRID (grid), label, 0, 4, 1, 1);
-+ gtk_grid_attach (GTK_GRID (grid), label, 0, 3, 1, 1);
- gtk_widget_set_margin_left (label, 12);
-
- spin_button = gtk_spin_button_new_with_range (MIN_SIZE, MAX_SIZE, 1);
-@@ -176,7 +157,7 @@ impl_get_connect_widget (VinagreProtocol *plugin, VinagreConnection *conn)
- gtk_widget_set_tooltip_text (spin_button, _("Set width of the remote desktop"));
- gtk_spin_button_set_value (GTK_SPIN_BUTTON (spin_button), DEFAULT_WIDTH);
- g_object_set_data (G_OBJECT (grid), "width_spin_button", spin_button);
-- gtk_grid_attach (GTK_GRID (grid), spin_button, 1, 4, 1, 1);
-+ gtk_grid_attach (GTK_GRID (grid), spin_button, 1, 3, 1, 1);
- gtk_label_set_mnemonic_widget (GTK_LABEL (label), spin_button);
- width = VINAGRE_IS_CONNECTION (conn) ?
- vinagre_connection_get_width (conn) :
-@@ -188,7 +169,7 @@ impl_get_connect_widget (VinagreProtocol *plugin, VinagreConnection *conn)
- /* Host height */
- label = gtk_label_new_with_mnemonic (_("_Height:"));
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
-- gtk_grid_attach (GTK_GRID (grid), label, 0, 5, 1, 1);
-+ gtk_grid_attach (GTK_GRID (grid), label, 0, 4, 1, 1);
- gtk_widget_set_margin_left (label, 12);
-
- spin_button = gtk_spin_button_new_with_range (MIN_SIZE, MAX_SIZE, 1);
-@@ -196,7 +177,7 @@ impl_get_connect_widget (VinagreProtocol *plugin, VinagreConnection *conn)
- gtk_widget_set_tooltip_text (spin_button, _("Set height of the remote desktop"));
- gtk_spin_button_set_value (GTK_SPIN_BUTTON (spin_button), DEFAULT_HEIGHT);
- g_object_set_data (G_OBJECT (grid), "height_spin_button", spin_button);
-- gtk_grid_attach (GTK_GRID (grid), spin_button, 1, 5, 1, 1);
-+ gtk_grid_attach (GTK_GRID (grid), spin_button, 1, 4, 1, 1);
- gtk_label_set_mnemonic_widget (GTK_LABEL (label), spin_button);
- height = VINAGRE_IS_CONNECTION (conn) ?
- vinagre_connection_get_height (conn) :
-diff --git a/plugins/rdp/vinagre-rdp-tab.c b/plugins/rdp/vinagre-rdp-tab.c
-index 8572bc3..f3d9c08 100644
---- a/plugins/rdp/vinagre-rdp-tab.c
-+++ b/plugins/rdp/vinagre-rdp-tab.c
-@@ -70,8 +70,6 @@ struct _VinagreRdpTabPrivate
- gboolean scaling;
- double scale;
- double offset_x, offset_y;
--
-- guint authentication_attempts;
- };
-
- G_DEFINE_TYPE (VinagreRdpTab, vinagre_rdp_tab, VINAGRE_TYPE_TAB)
-@@ -611,7 +609,6 @@ frdp_post_connect (freerdp *instance)
- 0, 0,
- gdi->width, gdi->height);
-
-- vinagre_tab_save_credentials_in_keyring (VINAGRE_TAB (rdp_tab));
- vinagre_tab_add_recent_used (VINAGRE_TAB (rdp_tab));
- vinagre_tab_set_state (VINAGRE_TAB (rdp_tab), VINAGRE_TAB_STATE_CONNECTED);
-
-@@ -862,76 +859,114 @@ frdp_mouse_moved (GtkWidget *widget,
- return TRUE;
- }
-
-+static void
-+entry_text_changed_cb (GtkEntry *entry,
-+ GtkBuilder *builder)
-+{
-+ const gchar *text;
-+ GtkWidget *widget;
-+ gsize username_length;
-+ gsize password_length;
-+
-+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "username_entry"));
-+ text = gtk_entry_get_text (GTK_ENTRY (widget));
-+ username_length = strlen (text);
-+
-+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "password_entry"));
-+ text = gtk_entry_get_text (GTK_ENTRY (widget));
-+ password_length = strlen (text);
-+
-+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "ok_button"));
-+ gtk_widget_set_sensitive (widget, password_length > 0 && username_length > 0);
-+}
-+
- static gboolean
- frdp_authenticate (freerdp *instance,
- char **username,
- char **password,
- char **domain)
- {
-- VinagreTab *tab = VINAGRE_TAB (((frdpContext *) instance->context)->rdp_tab);
-- VinagreRdpTab *rdp_tab = VINAGRE_RDP_TAB (tab);
-- VinagreRdpTabPrivate *priv = rdp_tab->priv;
-- VinagreConnection *conn = vinagre_tab_get_conn (tab);
-- GtkWindow *window = GTK_WINDOW (vinagre_tab_get_window (tab));
-- gboolean save_in_keyring = FALSE;
-- gchar *keyring_domain = NULL;
-- gchar *keyring_username = NULL;
-- gchar *keyring_password = NULL;
-+ VinagreTab *tab = VINAGRE_TAB (((frdpContext *) instance->context)->rdp_tab);
-+ VinagreConnection *conn = vinagre_tab_get_conn (tab);
-+ const gchar *user_name;
-+ const gchar *domain_name;
-+ GtkBuilder *builder;
-+ GtkWidget *dialog;
-+ GtkWidget *widget;
-+ GtkWidget *username_entry;
-+ GtkWidget *password_entry;
-+ GtkWidget *domain_entry;
-+ gboolean save_credential_check_visible;
-+ gboolean domain_label_visible;
-+ gboolean domain_entry_visible;
-+ gint response;
-
-- priv->authentication_attempts++;
-+ builder = vinagre_utils_get_builder ();
-
-- if (priv->authentication_attempts == 1)
-- {
-- vinagre_tab_find_credentials_in_keyring (tab, &keyring_domain, &keyring_username, &keyring_password);
-- if (keyring_password != NULL && keyring_username != NULL)
-- {
-- *domain = keyring_domain;
-- *username = keyring_username;
-- *password = keyring_password;
-+ dialog = GTK_WIDGET (gtk_builder_get_object (builder, "auth_required_dialog"));
-+ gtk_window_set_modal ((GtkWindow *) dialog, TRUE);
-+ gtk_window_set_transient_for ((GtkWindow *) dialog, GTK_WINDOW (vinagre_tab_get_window (tab)));
-
-- return TRUE;
-- }
-- else
-- {
-- g_free (keyring_domain);
-- g_free (keyring_username);
-- g_free (keyring_password);
-- }
-+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "host_label"));
-+ gtk_label_set_text (GTK_LABEL (widget), vinagre_connection_get_host (conn));
-+
-+ username_entry = GTK_WIDGET (gtk_builder_get_object (builder, "username_entry"));
-+ password_entry = GTK_WIDGET (gtk_builder_get_object (builder, "password_entry"));
-+ domain_entry = GTK_WIDGET (gtk_builder_get_object (builder, "domain_entry"));
-+
-+ if (*username != NULL && *username[0] != '\0')
-+ {
-+ gtk_entry_set_text (GTK_ENTRY (username_entry), *username);
-+ gtk_widget_grab_focus (password_entry);
- }
-
-- if (vinagre_utils_request_credential (window,
-- "RDP",
-- vinagre_connection_get_host (conn),
-- vinagre_connection_get_domain (conn),
-- vinagre_connection_get_username (conn),
-- TRUE,
-- TRUE,
-- TRUE,
-- 20,
-- domain,
-- username,
-- password,
-- &save_in_keyring))
-+ g_signal_connect (username_entry, "changed", G_CALLBACK (entry_text_changed_cb), builder);
-+ g_signal_connect (password_entry, "changed", G_CALLBACK (entry_text_changed_cb), builder);
-+
-+
-+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "save_credential_check"));
-+ save_credential_check_visible = gtk_widget_get_visible (widget);
-+ gtk_widget_set_visible (widget, FALSE);
-+
-+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "domain_label"));
-+ domain_label_visible = gtk_widget_get_visible (widget);
-+ gtk_widget_set_visible (widget, TRUE);
-+
-+ domain_entry_visible = gtk_widget_get_visible (domain_entry);
-+ gtk_widget_set_visible (domain_entry, TRUE);
-+
-+
-+ response = gtk_dialog_run (GTK_DIALOG (dialog));
-+ gtk_widget_hide (dialog);
-+
-+
-+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "save_credential_check"));
-+ gtk_widget_set_visible (widget, save_credential_check_visible);
-+
-+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "domain_label"));
-+ gtk_widget_set_visible (widget, domain_label_visible);
-+
-+ gtk_widget_set_visible (domain_entry, domain_entry_visible);
-+
-+
-+ if (response == GTK_RESPONSE_OK)
- {
-- if (*domain && **domain != '\0')
-- vinagre_connection_set_domain (conn, *domain);
-+ domain_name = gtk_entry_get_text (GTK_ENTRY (domain_entry));
-+ if (g_strcmp0 (*domain, domain_name) != 0)
-+ *domain = g_strdup (domain_name);
-
-- if (*username && **username != '\0')
-- vinagre_connection_set_username (conn, *username);
-+ user_name = gtk_entry_get_text (GTK_ENTRY (username_entry));
-+ if (g_strcmp0 (*username, user_name) != 0)
-+ *username = g_strdup (user_name);
-
-- if (*password && **password != '\0')
-- vinagre_connection_set_password (conn, *password);
-+ *password = g_strdup (gtk_entry_get_text (GTK_ENTRY (password_entry)));
-
-- vinagre_tab_set_save_credentials (tab, save_in_keyring);
-+ return TRUE;
- }
- else
- {
-- vinagre_tab_remove_from_notebook (tab);
--
- return FALSE;
- }
--
-- return TRUE;
- }
-
- static BOOL
-@@ -1028,25 +1063,30 @@ frdp_changed_certificate_verify (freerdp *instance,
- #endif
-
- static void
--init_freerdp (VinagreRdpTab *rdp_tab)
-+open_freerdp (VinagreRdpTab *rdp_tab)
- {
- VinagreRdpTabPrivate *priv = rdp_tab->priv;
-- rdpSettings *settings;
- VinagreTab *tab = VINAGRE_TAB (rdp_tab);
- VinagreConnection *conn = vinagre_tab_get_conn (tab);
-- gboolean scaling;
-- gchar *hostname;
-- gint width, height;
-- gint port;
-+ rdpSettings *settings;
-+ GtkWindow *window = GTK_WINDOW (vinagre_tab_get_window (tab));
-+ gboolean success = TRUE;
-+ gboolean fullscreen, scaling;
-+ gchar *hostname, *username;
-+ gint port, width, height;
-
- g_object_get (conn,
- "port", &port,
- "host", &hostname,
- "width", &width,
- "height", &height,
-+ "fullscreen", &fullscreen,
- "scaling", &scaling,
-+ "username", &username,
- NULL);
-
-+ priv->events = g_queue_new ();
-+
- /* Setup FreeRDP session */
- priv->freerdp_session = freerdp_new ();
- priv->freerdp_session->PreConnect = frdp_pre_connect;
-@@ -1111,6 +1151,17 @@ init_freerdp (VinagreRdpTab *rdp_tab)
- settings->port = port;
- #endif
-
-+ /* Set username */
-+ username = g_strstrip (username);
-+ if (username != NULL && username[0] != '\0')
-+ {
-+#if HAVE_FREERDP_1_1
-+ settings->Username = g_strdup (username);
-+#else
-+ settings->username = g_strdup (username);
-+#endif
-+ }
-+
- /* Set keyboard layout */
- #if HAVE_FREERDP_1_1
- freerdp_keyboard_init (KBD_US);
-@@ -1120,24 +1171,6 @@ init_freerdp (VinagreRdpTab *rdp_tab)
-
- /* Allow font smoothing by default */
- settings->AllowFontSmoothing = TRUE;
--}
--
--static void
--init_display (VinagreRdpTab *rdp_tab)
--{
-- VinagreRdpTabPrivate *priv = rdp_tab->priv;
-- VinagreTab *tab = VINAGRE_TAB (rdp_tab);
-- VinagreConnection *conn = vinagre_tab_get_conn (tab);
-- GtkWindow *window = GTK_WINDOW (vinagre_tab_get_window (tab));
-- gboolean fullscreen, scaling;
-- gint width, height;
--
-- g_object_get (conn,
-- "width", &width,
-- "height", &height,
-- "fullscreen", &fullscreen,
-- "scaling", &scaling,
-- NULL);
-
- /* Setup display for FreeRDP session */
- priv->display = gtk_drawing_area_new ();
-@@ -1186,54 +1219,20 @@ init_display (VinagreRdpTab *rdp_tab)
- priv->key_release_handler_id = g_signal_connect (GTK_WIDGET (tab), "key-release-event",
- G_CALLBACK (frdp_key_pressed),
- rdp_tab);
--}
--
--static void
--open_freerdp (VinagreRdpTab *rdp_tab)
--{
-- VinagreRdpTabPrivate *priv = rdp_tab->priv;
-- VinagreTab *tab = VINAGRE_TAB (rdp_tab);
-- GtkWindow *window = GTK_WINDOW (vinagre_tab_get_window (tab));
-- gboolean success = TRUE;
-- gboolean authentication_error = FALSE;
-- gboolean cancelled = FALSE;
--
-- priv->events = g_queue_new ();
--
-- init_freerdp (rdp_tab);
-- init_display (rdp_tab);
--
-- do
-- {
-- authentication_error = FALSE;
-
-- /* Run FreeRDP session */
-- success = freerdp_connect (priv->freerdp_session);
-- if (!success)
-- {
-- authentication_error = freerdp_get_last_error (priv->freerdp_session->context) == 0x20009 ||
-- freerdp_get_last_error (priv->freerdp_session->context) == 0x2000c;
--
-- cancelled = freerdp_get_last_error (priv->freerdp_session->context) == 0x2000b;
--
-- freerdp_free (priv->freerdp_session);
-- init_freerdp (rdp_tab);
-- }
-- }
-- while (!success && authentication_error);
-+ /* Run FreeRDP session */
-+ success = freerdp_connect (priv->freerdp_session);
-
- if (!success)
- {
- gtk_window_unfullscreen (window);
-- if (!cancelled)
-- vinagre_utils_show_error_dialog (_("Error connecting to host."),
-- NULL,
-- window);
-+ vinagre_utils_show_error_dialog (_("Error connecting to host."),
-+ NULL,
-+ window);
- g_idle_add ((GSourceFunc) idle_close, rdp_tab);
- }
- else
- {
-- priv->authentication_attempts = 0;
- priv->update_id = g_idle_add ((GSourceFunc) update, rdp_tab);
- }
- }
---
-2.9.3
-
diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm
index fa5ad62e44..b655399345 100644
--- a/gnu/packages/patchutils.scm
+++ b/gnu/packages/patchutils.scm
@@ -102,8 +102,8 @@ listing the files modified by a patch.")
(base32
"06b816m2gz9jfif7k9v2hrm7fz76zjg5pavf7hd3ifybwn4cgjzn"))
(patches (search-patches "quilt-test-fix-regex.patch"
- "quilt-compat-getopt-fix-second-separator.patch"
- "quilt-compat-getopt-fix-option-with-nondigit-param.patch"))))
+ "quilt-getopt-second-separator.patch"
+ "quilt-getopt-nondigit-param.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("gettext" ,gnu-gettext)))
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 65d7b26df3..64bfda489e 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -12,7 +12,7 @@
;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
-;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
+;;; Copyright © 2017, 2018 Rene Saavedra <pacoon@protonmail.com>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
@@ -438,6 +438,7 @@ using the DjVuLibre library.")
(inputs
`(("jbig2dec" ,jbig2dec)
("libjpeg" ,libjpeg)
+ ("mujs" ,mujs)
("mupdf" ,mupdf)
("openjpeg" ,openjpeg)
("openssl" ,openssl)
@@ -447,7 +448,18 @@ using the DjVuLibre library.")
`(#:tests? #f ; package does not contain tests
#:configure-flags (list (string-append "-Dplugindir="
(assoc-ref %outputs "out")
- "/lib/zathura"))))
+ "/lib/zathura")
+ "-Dlink-external=true")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'add-mujs-to-dependencies
+ (lambda _
+ ;; Add mujs to the 'build_dependencies'.
+ (substitute* "meson.build"
+ (("^ libopenjp2 = dependency.*" x)
+ (string-append x " mujs = cc.find_library('mujs')\n"))
+ (("^ libopenjp2")
+ " libopenjp2, mujs")))))))
(home-page "https://pwmt.org/projects/zathura-pdf-mupdf/")
(synopsis "PDF support for zathura (mupdf backend)")
(description "The zathura-pdf-mupdf plugin adds PDF support to zathura
@@ -1001,7 +1013,7 @@ PDF. Indeed @command{pdfposter} was inspired by @command{poster}.")
(define-public pdfgrep
(package
(name "pdfgrep")
- (version "2.1.1")
+ (version "2.1.2")
(source
(origin
(method url-fetch)
@@ -1009,7 +1021,7 @@ PDF. Indeed @command{pdfposter} was inspired by @command{poster}.")
name "-" version ".tar.gz"))
(sha256
(base32
- "02qcl5kmr5qzjfc99qpbpfb1890bxlrq3r208gnding51zrmb09c"))))
+ "1fia10djcxxl7n9jw2prargw4yzbykk6izig2443ycj9syhxrwqf"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index 1b1458a285..07047f4cf3 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -131,14 +131,14 @@ data as produced by digital cameras.")
(define-public libgphoto2
(package
(name "libgphoto2")
- (version "2.5.20")
+ (version "2.5.21")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gphoto/libgphoto/"
version "/libgphoto2-" version ".tar.bz2"))
(sha256
(base32
- "03wbwsb4v7yay8g5ni7pzmkbrh7qnqx977bddjpxsp9f1qag03z1"))))
+ "1ccb8idjkv19p9zxg6hh8y6vbgs8flpnh550lq6a8cmga8d2nmy5"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs
@@ -353,7 +353,7 @@ photographic equipment.")
(define-public darktable
(package
(name "darktable")
- (version "2.4.4")
+ (version "2.6.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -362,7 +362,7 @@ photographic equipment.")
version "/darktable-" version ".tar.xz"))
(sha256
(base32
- "0kdhmiw4wxk2w9v2hms9yk8nl4ymdshnqyj0l07nivzzr6w20hwn"))))
+ "0y04cx0a0rwdclmn16f5y0z2vnm7yxly291gzjgdhcn59a77sga8"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; There are no tests.
@@ -493,14 +493,14 @@ a complete panorama and stitch any series of overlapping pictures.")
(define-public rawtherapee
(package
(name "rawtherapee")
- (version "5.4")
+ (version "5.5")
(source (origin
(method url-fetch)
(uri (string-append "http://rawtherapee.com/shared/source/"
"rawtherapee-" version ".tar.xz"))
(sha256
(base32
- "1229hxqq824hcqg1hy2cfglsp7kjbhhis9m33ss39pgmrb1w227d"))))
+ "1w28a2rnxnw8hs7s8x8zkccgi5z5y653602jg7g86lfx6zxwjsf1"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; no test suite
diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm
index a28cb31e5c..1d33b17a10 100644
--- a/gnu/packages/php.scm
+++ b/gnu/packages/php.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2016 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -48,12 +49,13 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
+ #:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:))
(define-public php
(package
(name "php")
- (version "7.2.12")
+ (version "7.3.0")
(home-page "https://secure.php.net/")
(source (origin
(method url-fetch)
@@ -61,7 +63,7 @@
name "-" version ".tar.xz"))
(sha256
(base32
- "1qbz2j9kzqxxp0mmx02zavvz20ji7izqdnri25g1mrwyhz60974q"))
+ "1db0lm84hynilrjj3k1s7skp1y2gl4ip1ihr7662i2xgannmq6bx"))
(modules '((guix build utils)))
(snippet
'(with-directory-excursion "ext"
@@ -74,7 +76,7 @@
;;"fileinfo/libmagic" ; This is a patched version of libmagic.
'("gd/libgd"
"mbstring/oniguruma"
- "pcre/pcrelib"
+ "pcre/pcre2lib"
"sqlite3/libsqlite"
"xmlrpc/libxmlrpc"
"zip/lib"))
@@ -123,6 +125,7 @@
"--with-mysqli" ; Required for, e.g. wordpress
"--with-pdo-mysql"
"--with-zlib"
+ "--enable-bcmath" ; Required for, e.g. Zabbix frontend
"--enable-calendar"
"--enable-dba=shared"
"--enable-exif"
@@ -176,11 +179,6 @@
(substitute* "ext/standard/tests/streams/bug60602.phpt"
(("'ls'") (string-append "'" (which "ls") "'")))
- ;; The expected output is slightly different from what is given,
- ;; in a section that's not related to the actual test
- (substitute* "sapi/cli/tests/upload_2G.phpt"
- (("Test\\\\n") "Test\n\n"))
-
;; Drop tests that are known to fail.
(for-each delete-file
'("ext/posix/tests/posix_getgrgid.phpt" ; Requires /etc/group.
@@ -291,7 +289,10 @@
"ext/ldap/tests/ldap_set_option_error.phpt"
;; Sometimes cannot start the LDAP server.
- "ext/ldap/tests/bug76248.phpt"))
+ "ext/ldap/tests/bug76248.phpt"
+
+ ;; Bug #76909 preg_match difference between 7.3 and < 7.3
+ "ext/pcre/tests/bug76909.phpt"))
;; Skip tests requiring network access.
(setenv "SKIP_ONLINE_TESTS" "1")
@@ -324,7 +325,7 @@
("oniguruma" ,oniguruma-5)
("openldap" ,openldap)
("openssl" ,openssl)
- ("pcre" ,pcre)
+ ("pcre" ,pcre2)
("postgresql" ,postgresql)
("readline" ,readline)
("sqlite" ,sqlite)
@@ -350,3 +351,12 @@ systems, web content management systems and web frameworks." )
license:lgpl2.1+ ; ext/bcmath/libbcmath
license:bsd-2 ; ext/fileinfo/libmagic
license:expat)))) ; ext/date/lib
+
+(define-public php-with-bcmath
+ (package
+ (inherit php)
+ (name "php-with-bcmath")
+ (arguments
+ (substitute-keyword-arguments (package-arguments php)
+ ((#:configure-flags flags)
+ `(cons "--enable-bcmath" ,flags))))))
diff --git a/gnu/packages/polkit.scm b/gnu/packages/polkit.scm
index 7cc5205faa..830006d439 100644
--- a/gnu/packages/polkit.scm
+++ b/gnu/packages/polkit.scm
@@ -49,6 +49,7 @@
(uri (string-append
"https://www.freedesktop.org/software/polkit/releases/"
name "-" version ".tar.gz"))
+ (patches (search-patches "polkit-CVE-2018-19788.patch"))
(sha256
(base32
"0c91y61y4gy6p91cwbzg32dhavw4b7fflg370rimqhdxpzdfr1rg"))
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index a5b4b7578d..8412325377 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -509,27 +509,28 @@ is Python’s.")
(define-public python-openid
(package
(name "python-openid")
- (version "3.0.10")
+ (version "3.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python3-openid" version))
(sha256
(base32
- "1x3nh3fycqfn43jp5j5pb4q4y2jxp4mdka4absaa3bc0078qd758"))))
+ "00l5hrjh19740w00b3fnsqldnla41wbr2rics09dl4kyd1fkd3b2"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
- (invoke "./admin/runtests")
- #t)))))
+ (invoke "coverage" "run" "-m"
+ "unittest" "openid.test.test_suite"))))))
(properties `((python2-variant . ,(delay python2-openid))))
(propagated-inputs
`(("python-defusedxml" ,python-defusedxml)))
(native-inputs
- `(("python-psycopg2" ,python-psycopg2)
+ `(("python-coverage" ,python-coverage)
+ ("python-psycopg2" ,python-psycopg2)
("python-django" ,python-django)))
(home-page "https://github.com/necaris/python3-openid")
(synopsis "OpenID support for servers and consumers")
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index d0401b7bdd..6972e79081 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -56,6 +56,7 @@
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018 Luther Thompson <lutheroto@gmail.com>
+;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -908,6 +909,29 @@ version identifier.")
(define-public python2-semantic-version
(package-with-python2 python-semantic-version))
+(define-public python-serpent
+ (package
+ (name "python-serpent")
+ (version "1.27")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "serpent" version))
+ (sha256
+ (base32
+ "04p9dsrm5pv8vhk3flvih55kgvlzpi38hlaykdiakddmgwqw93bg"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/irmen/Serpent")
+ (synopsis "Serializer for literal Python expressions")
+ (description
+ "Serpent provides ast.literal_eval() compatible object tree
+serialization. It serializes an object tree into bytes (utf-8 encoded string)
+that can be decoded and then passed as-is to ast.literal_eval() to rebuild it
+as the original object tree. As such it is safe to send serpent data to other
+machines over the network for instance (because only safe literals are
+encoded).")
+ (license license:expat)))
+
(define-public python-setuptools
(package
(name "python-setuptools")
@@ -1048,6 +1072,32 @@ for additional processing.")
(define-public python2-capturer
(package-with-python2 python-capturer))
+(define-public python-case
+ (package
+ (name "python-case")
+ (version "1.5.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "case" version))
+ (sha256
+ (base32
+ "1cagg06vfph864s6l5jb0zqliwxh647bki8j6lf4a4qrv40jnhs8"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-mock" ,python-mock)
+ ("python-nose" ,python-nose)
+ ("python-six" ,python-six)
+ ("python-unittest2" ,python-unittest2)))
+ (native-inputs
+ `(("python-coverage" ,python-coverage)))
+ (home-page "https://github.com/celery/case")
+ (synopsis "Unittest utilities and convenience methods")
+ (description
+ "The @code{case} package provides utilities on top of unittest, including
+some helpful Python 2 compatibility convenience methods.")
+ (license license:bsd-3)))
+
(define-public python-verboselogs
(package
(name "python-verboselogs")
@@ -2268,6 +2318,30 @@ object.")
(define-public python2-pyyaml
(package-with-python2 python-pyyaml))
+(define-public python-vine
+ (package
+ (name "python-vine")
+ (version "1.1.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "vine" version))
+ (sha256
+ (base32
+ "0wkskb2hb494v9gixqnf4bl972p4ibcmxdykzpwjlfa5picns4aj"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-pytest" ,python-pytest)
+ ("python-case" ,python-case)))
+ (home-page "https://github.com/celery/vine")
+ (synopsis "Promises for Python")
+ (description
+ "@code{vine} provides a special implementation of promises in that it can
+be used both for \"promise of a value\" and lazy evaluation. The biggest
+upside for this is that everything in a promise can also be a promise,
+e.g. filters, callbacks and errbacks can all be promises.")
+ (license license:bsd-3)))
+
(define-public python-virtualenv
(package
(name "python-virtualenv")
@@ -5977,9 +6051,10 @@ PEP8_PLUGIN('break_before_binary_operator'),"))
(string-append (getcwd) "/build/lib:"
(getenv "PYTHONPATH")))
(zero? (system* "py.test" "-v")))))))
+ (propagated-inputs
+ `(("python-flake8" ,python-flake8)))
(native-inputs
- `(("python-flake8" ,python-flake8)
- ("python-mock" ,python-mock)
+ `(("python-mock" ,python-mock)
("python-pep8" ,python-pep8)
("python-pycodestyle" ,python-pycodestyle)
("python-pytest" ,python-pytest)))
@@ -8196,18 +8271,21 @@ and provides a uniform API regardless of which JSON implementation is used.")
(define-public python-amqp
(package
(name "python-amqp")
- (version "1.4.9")
+ (version "2.3.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "amqp" version))
(sha256
(base32
- "06n6q0kxhjnbfz3vn8x9yz09lwmn1xi9d6wxp31h5jbks0b4vsid"))))
+ "1sv600dgqwpimr6i1g59y9hpn50mc236gdqkr7zin13kvlpx0g87"))))
(build-system python-build-system)
(native-inputs
- `(("python-nose" ,python-nose)
+ `(("python-case" ,python-case)
+ ("python-pytest-sugar" ,python-pytest-sugar)
("python-mock" ,python-mock)))
+ (propagated-inputs
+ `(("python-vine" ,python-vine)))
(home-page "https://github.com/celery/py-amqp")
(synopsis
"Low-level AMQP client for Python (fork of amqplib)")
@@ -8261,23 +8339,26 @@ applications.")
(define-public python-kombu
(package
(name "python-kombu")
- (version "3.0.37")
+ (version "4.2.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "kombu" version))
(sha256
(base32
- "0l16chb314gpq2v7fh94a22c30lcv6w3ylmhsa60bldlcq6a0r70"))))
+ "15k8f7mzqr049sg9vi48m19vjykviafk3f0p5xzgw9by0x0kyxjj"))))
(build-system python-build-system)
(native-inputs
`(("python-mock" ,python-mock)
- ("python-nose" ,python-nose)))
+ ("python-case" ,python-case)
+ ("python-pyro4" ,python-pyro4)
+ ("python-pytest-sugar" ,python-pytest-sugar)
+ ("python-pytz" ,python-pytz)))
(propagated-inputs
`(("python-anyjson" ,python-anyjson)
("python-amqp" ,python-amqp)
("python-redis" ,python-redis)))
- (home-page "http://kombu.readthedocs.org")
+ (home-page "https://kombu.readthedocs.io")
(synopsis "Message passing library for Python")
(description "The aim of Kombu is to make messaging in Python as easy as
possible by providing an idiomatic high-level interface for the AMQ protocol,
@@ -8303,17 +8384,18 @@ RabbitMQ messaging server is the most popular implementation.")
(define-public python-billiard
(package
(name "python-billiard")
- (version "3.3.0.23")
+ (version "3.5.0.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "billiard" version))
(sha256
(base32
- "02wxsc6bhqvzh8j6w758kvgqbnj14l796mvmrcms8fgfamd2lak9"))))
+ "03msmapj3s5zgqk87d646mafz7a01h5bm2wijalgpi0s80ks5na2"))))
(build-system python-build-system)
(native-inputs
- `(("python-nose" ,python-nose)))
+ `(("python-case" ,python-case)
+ ("python-pytest" ,python-pytest)))
(home-page "https://github.com/celery/billiard")
(synopsis
"Python multiprocessing fork with improvements and bugfixes")
@@ -8337,31 +8419,35 @@ Python 2.4 and 2.5, and will draw its fixes/improvements from python-trunk.")
(define-public python-celery
(package
(name "python-celery")
- (version "3.1.24")
+ (version "4.2.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "celery" version))
(sha256
(base32
- "0yh2prhdnx2dgkb67a5drj12hh2zvzx5f611p7mqqg01ydghif4r"))))
+ "0y66rz7z8dfcgs3s0qxmdddlaq57bzbgxgfz896nbp14grkv9nkp"))))
(build-system python-build-system)
(arguments
- `(#:phases
+ '(;; TODO The tests fail with Python 3.7
+ ;; https://github.com/celery/celery/issues/4849
+ #:tests? #f
+ #:phases
(modify-phases %standard-phases
- ;; These tests break with Python 3.5:
- ;; https://github.com/celery/celery/issues/2897#issuecomment-253066295
- (replace 'check
+ (add-after 'unpack 'patch-requirements
(lambda _
- (zero?
- (system* "nosetests" "--exclude=^test_safe_to_remove.*")))))))
+ (substitute* "requirements/test.txt"
+ (("pytest>=3\\.0,<3\\.3")
+ "pytest>=3.0"))
+ #t)))))
(native-inputs
- `(("python-nose" ,python-nose)))
+ `(("python-case" ,python-case)
+ ("python-pytest" ,python-pytest)))
(propagated-inputs
`(("python-pytz" ,python-pytz)
("python-billiard" ,python-billiard)
("python-kombu" ,python-kombu)))
- (home-page "http://celeryproject.org")
+ (home-page "https://celeryproject.org")
(synopsis "Distributed Task Queue")
(description "Celery is an asynchronous task queue/job queue based on
distributed message passing. It is focused on real-time operation, but
@@ -9226,6 +9312,13 @@ graphviz.")
(setenv "CPATH"
(string-append greenlet "/" python)))))
#t))
+ (add-before 'check 'skip-timer-test
+ (lambda _
+ ;; XXX: Skip 'TestTimerResolution', which appears to be
+ ;; unreliable.
+ (substitute* "src/greentest/test__core_timer.py"
+ (("not greentest.RUNNING_ON_CI") "False"))
+ #t))
(replace 'check
(lambda _
;; Make sure the build directory is on PYTHONPATH.
@@ -9266,17 +9359,6 @@ to provide a high-level synchronous API on top of the libev event loop.")
(strip-python2-variant python-gevent))))
(package
(inherit base)
- (arguments
- (substitute-keyword-arguments (package-arguments base)
- ((#:phases phases)
- `(modify-phases ,phases
- (add-before 'check 'skip-timer-test
- (lambda _
- ;; XXX: Skip 'TestTimerResolution', which appears to be
- ;; unreliable.
- (substitute* "src/greentest/test__core_timer.py"
- (("not greentest.RUNNING_ON_CI") "False"))
- #t))))))
(native-inputs `(,@(package-native-inputs python-gevent)
("python-mock" ,python2-mock))))))
@@ -9759,13 +9841,13 @@ addresses, and phone numbers.")
(define-public python-pyaml
(package
(name "python-pyaml")
- (version "17.7.2")
+ (version "18.11.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "pyaml" version))
(sha256
(base32
- "132grrw0ajq4nrappi3ldbkb952k7yn9b6c7csi2rmvzm1g6ppp2"))))
+ "0fi604ix8lbpj1266q7js6szm771saprdzzcdwmj43wy83694qmr"))))
(build-system python-build-system)
(native-inputs
`(("python-unidecode" ,python-unidecode)))
@@ -9841,20 +9923,25 @@ characters, mouse support, and auto suggestions.")
(define-public python-jedi
(package
(name "python-jedi")
- (version "0.12.1")
+ (version "0.13.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "jedi" version))
(sha256
(base32
- "1h8ypnjisn57kiv1zqrkj1im6sbfnhxllqaa8znh39qkd47ys2dl"))))
+ "0j11q42g5vjkyhhjpyy8nb0gdxs78m3rpjai7p1hvgpyl9rkyjdp"))))
(build-system python-build-system)
(arguments
- `(#:phases
+ `( ;; Many tests are failing with Python 3.7.x as of version 0.13.1 (see:
+ ;; https://github.com/davidhalter/jedi/issues/1263)
+ #:tests? #f
+ #:phases
(modify-phases %standard-phases
- (replace 'check (lambda _
- (invoke "py.test" "-vv"))))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "py.test" "-vv")))))))
(native-inputs
`(("python-pytest" ,python-pytest)
("python-docopt" ,python-docopt)))
@@ -10622,9 +10709,16 @@ useful as a validator for JSON data.")
(base32
"090vdksbz341f7ljvr0zswblw4lspa8qaiikzyjkf318arpxmil9"))))
(build-system python-build-system)
- ;; Test suite requires python-setuptools
- (native-inputs
- `(("python-setuptools" ,python-setuptools)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'set-pythonpath
+ (lambda _
+ (setenv "PYTHONPATH"
+ (string-append
+ (getcwd) "/test/"
+ ":" (getenv "PYTHONPATH")))
+ #t)))))
(home-page
"https://github.com/eliben/pyelftools")
(synopsis
@@ -12544,14 +12638,14 @@ validating Swagger API specifications.")
(define-public python-apache-libcloud
(package
(name "python-apache-libcloud")
- (version "2.3.0")
+ (version "2.4.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "apache-libcloud" version))
(sha256
- (base32
- "15xg79ad4g2xrk081ylvj41k5hmg9hl1xvbmb5hd0fqn08wfwbhf"))))
+ (base32
+ "0daj3mkzw79v5zin2r1s2wkrz1hplfc16bwj4ss68i5qjq4l2p0j"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -13258,6 +13352,28 @@ such as figshare or Zenodo.")
(define-public python2-semver
(package-with-python2 python-semver))
+(define-public python-pyro4
+ (package
+ (name "python-pyro4")
+ (version "4.74")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "Pyro4" version))
+ (sha256
+ (base32
+ "0pzp7c6q3vvkxq0wy9lr6wd5wky40sajz69g697i5rb2q497pvc9"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-serpent" ,python-serpent)))
+ (home-page "https://pyro4.readthedocs.io")
+ (synopsis "Distributed object middleware for Python")
+ (description
+ "Pyro enables you to build applications in which objects can talk to each
+other over the network. You can just use normal Python method calls to call
+objects on other machines, also known as remote procedure calls (RPC).")
+ (license license:expat)))
+
(define-public python2-pyro
(package
(name "python2-pyro")
@@ -14882,3 +14998,859 @@ RFC 8265 and RFC 8266.")
(description "Simple decorator to set attributes of target function or
class in a @acronym{DRY, Don't Repeat Yourself} way.")
(license license:expat)))
+
+(define-public python-sybil
+ (package
+ (name "python-sybil")
+ (version "1.0.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "sybil" version))
+ (sha256
+ (base32
+ "13rdznw3fllmj5sy20bwi3ipzm6rv1dnji1yi01m91ig759jacw6"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(;("python-coveralls" ,python-coveralls)
+ ("python-nose" ,python-nose)
+ ("python-pytest" ,python-pytest)))
+ (home-page "https://github.com/cjw296/sybil")
+ (synopsis
+ "Automated testing for the examples in your documentation.")
+ (description
+ "Automated testing for the examples in your documentation.")
+ (license license:expat)))
+
+(define-public python-sarge
+ (package
+ (name "python-sarge")
+ (version "0.1.5.post0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "sarge" version))
+ (sha256
+ (base32
+ "1c1ll7pys9vra5cfi8jxlgrgaql6c27l6inpy15aprgqhc4ck36s"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f))
+ (home-page "http://sarge.readthedocs.org/")
+ (synopsis
+ "A wrapper for subprocess which provides command pipeline functionality.")
+ (description
+ "A wrapper for subprocess which provides command pipeline functionality.")
+ (license license:bsd-3)))
+
+(define-public python-unidiff
+ (package
+ (name "python-unidiff")
+ (version "0.5.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "unidiff" version))
+ (sha256
+ (base32
+ "1g1501w0ac9plqxd6009ax5c0hi495sv5xnysm68p65njvxvb6lw"))))
+ (build-system python-build-system)
+ (home-page
+ "http://github.com/matiasb/python-unidiff")
+ (synopsis
+ "Unified diff parsing/metadata extraction library.")
+ (description
+ "Unified diff parsing/metadata extraction library.")
+ (license license:expat)))
+
+(define-public python-testfixtures
+ (package
+ (name "python-testfixtures")
+ (version "5.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "testfixtures" version))
+ (sha256
+ (base32
+ "1w581221qbsmc177n7xijqn7wghyaaxxlwd2p34vfcn4jnbfv2ik"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("python-coverage" ,python-coverage)
+ ;("python-coveralls" ,python-coveralls)
+ ("python-mock" ,python-mock)
+ ("python-pytest" ,python-pytest)
+ ;("python-pytest-django" ,python-pytest-django)
+ ("python-sybil" ,python-sybil)
+ ("python-zope-component" ,python-zope-component)))
+ (home-page
+ "https://github.com/Simplistix/testfixtures")
+ (synopsis
+ "A collection of helpers and mock objects for unit tests and doc tests.")
+ (description
+ "A collection of helpers and mock objects for unit tests and doc tests.")
+ (license license:expat)))
+
+(define-public python-pyprint
+ (package
+ (name "python-pyprint")
+ (version "0.2.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "PyPrint" version))
+ (sha256
+ (base32
+ "1qmhcz8n9rnxkj2ikcc208900yg4p9qglhw50br7carr1ca1q3ps"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("python-colorama" ,python-colorama)
+ ("python-termcolor" ,python-termcolor)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
+ (home-page "")
+ (synopsis
+ "A library providing printing facilities for python applications.")
+ (description
+ "A library providing printing facilities for python applications.")
+ (license #f)))
+
+(define-public python-libclang-py3
+ (package
+ (name "python-libclang-py3")
+ (version "3.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "libclang-py3" version))
+ (sha256
+ (base32
+ "0g2zw3mv8i4s9r3l70a5j3k2c09p9igvap0h6lfwf0w32jz8a65b"))))
+ (build-system python-build-system)
+ (home-page
+ "https://bitbucket.org/Anteru/python3-libclang")
+ (synopsis "Python3 bindings for libclang")
+ (description "Python3 bindings for libclang")
+ (license #f)))
+
+(define-public python-coala-utils
+ (package
+ (name "python-coala-utils")
+ (version "0.6.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "coala_utils" version))
+ (sha256
+ (base32
+ "0f2bli6acqjz3i5p6a5ykg9r2hkcaxcpq5q36a2jv30wdjkk31z1"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("python-appdirs" ,python-appdirs)
+ ("python-pyprint" ,python-pyprint)
+ ("python-testfixtures" ,python-testfixtures)))
+ (home-page
+ "https://gitlab.com/coala/coala-utils")
+ (synopsis "A collection of coala utilities.")
+ (description "A collection of coala utilities.")
+ (license #f)))
+
+(define-public python-dependency-management
+ (package
+ (name "python-dependency-management")
+ (version "0.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "dependency_management" version))
+ (sha256
+ (base32
+ "0q5axi5vzla6vfgs8r5mxczih3w0vipa17mqkx2zcirxvy131i7h"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("python-coala-utils" ,python-coala-utils)
+ ("python-sarge" ,python-sarge)))
+ (home-page "https://gitlab.com/coala/package_manager")
+ (synopsis "coala Dependency Management")
+ (description "coala Dependency Management")
+ (license #f)))
+
+(define-public python-colorlog
+ (package
+ (name "python-colorlog")
+ (version "3.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "colorlog" version))
+ (sha256
+ (base32
+ "0i21sd6pggr2gqza41vyq2rqyb552wf5iwl4bc16i7kqislbd53z"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("python-colorama" ,python-colorama)))
+ (home-page
+ "https://github.com/borntyping/python-colorlog")
+ (synopsis "Log formatting with colors!")
+ (description "Log formatting with colors!")
+ (license #f)))
+
+(define-public coala
+ (package
+ (name "coala")
+ (version "0.11.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "coala" version))
+ (sha256
+ (base32
+ "03mz2alvjf9aki5cpjl9167bd5kw0aqp8yml08lb5170gpsfyjyd"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-requires
+ (lambda _
+ (for-each (lambda (requirement)
+ (substitute* "requirements.txt"
+ (((string-append requirement "~="))
+ (string-append requirement ">="))))
+ '("testfixtures"
+ "libclang-py3"
+ "colorlog"))
+ #t)))))
+ (propagated-inputs
+ `(("python-appdirs" ,python-appdirs)
+ ("python-coala-utils" ,python-coala-utils)
+ ("python-colorlog" ,python-colorlog)
+ ("python-dependency-management"
+ ,python-dependency-management)
+ ("python-libclang-py3" ,python-libclang-py3)
+ ("python-packaging" ,python-packaging)
+ ("python-pygments" ,python-pygments)
+ ("python-pyprint" ,python-pyprint)
+ ("python-requests" ,python-requests)
+ ("python-setuptools" ,python-setuptools)
+ ("python-testfixtures" ,python-testfixtures)
+ ("python-unidiff" ,python-unidiff)))
+ (home-page "http://coala.io/")
+ (synopsis
+ "Linting and Fixing Code for All Languages")
+ (description
+ "Linting and Fixing Code for All Languages")
+ (license #f)))
+
+(define-public python-autoflake
+ (package
+ (name "python-autoflake")
+ (version "1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "autoflake" version))
+ (sha256
+ (base32
+ "0cfidqg3msagg92l1hbc644nih0n615c5p9ab1s4yr82g956hkd7"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-pyflakes" ,python-pyflakes)))
+ (home-page "https://github.com/myint/autoflake")
+ (synopsis
+ "Removes unused imports and unused variables")
+ (description
+ "Removes unused imports and unused variables")
+ (license #f)))
+
+(define-public python-cmakelint
+ (package
+ (name "python-cmakelint")
+ (version "1.3.4.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cmakelint" version))
+ (sha256
+ (base32
+ "1fb7jlkp6bxx2i80g0z4xl11i927lh74v9bbnkgv9raafqphj9pg"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/richq/cmake-lint")
+ (synopsis "Static code checker for CMake files")
+ (description
+ "Static code checker for CMake files")
+ (license license:asl2.0)))
+
+(define-public python-cppclean
+ (package
+ (name "python-cppclean")
+ (version "0.12")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cppclean" version))
+ (sha256
+ (base32
+ "05p0qsmrn3zhp33rhdys0ddn8hql6z25sdvbnccqwps8jai5wq2r"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/myint/cppclean")
+ (synopsis
+ "Find problems in C++ source that slow development of large code bases.")
+ (description
+ "Find problems in C++ source that slow development of large code bases.")
+ (license #f)))
+
+(define-public python-cpplint
+ (package
+ (name "python-cpplint")
+ (version "1.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cpplint" version))
+ (sha256
+ (base32
+ "06b7jf9vii2rp8q05h5h6jsrflrwpv2bd5chrj2drij476f16xk8"))))
+ (build-system python-build-system)
+ (home-page
+ "http://en.wikipedia.org/wiki/Cpplint")
+ (synopsis
+ "An automated checker to make sure a C++ file follows Google's C++ style guide")
+ (description
+ "An automated checker to make sure a C++ file follows Google's C++ style guide")
+ (license #f)))
+
+(define-public python-dennis
+ (package
+ (name "python-dennis")
+ (version "0.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "dennis" version))
+ (sha256
+ (base32
+ "0116hbz6dakwcafcij5hr553gwf7wmg9q1mwmrfwc0vxvbajv54c"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-click" ,python-click)
+ ("python-polib" ,python-polib)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
+ (home-page "http://github.com/willkg/dennis")
+ (synopsis
+ "Utilities for working with PO and POT files to ease development and improve localization quality")
+ (description
+ "Utilities for working with PO and POT files to ease development and improve localization quality")
+ (license #f)))
+
+(define-public python-eradicate
+ (package
+ (name "python-eradicate")
+ (version "0.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "eradicate" version))
+ (sha256
+ (base32
+ "092zmck919bn6sl31ixrzhn88g9nvhwzmwzpq8dzgn6c8k2h3bzr"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/myint/eradicate")
+ (synopsis "Removes commented-out code.")
+ (description "Removes commented-out code.")
+ (license #f)))
+
+(define-public python-guess-language-spirit
+ (package
+ (name "python-guess-language-spirit")
+ (version "0.5.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "guess_language-spirit" version ".tar.bz2"))
+ (sha256
+ (base32
+ "1k4j0xldg741a09lin7iy6sqrah5kr2zcpq5kfvd3gvb4iq09cm9"))))
+ (build-system python-build-system)
+ (home-page
+ "https://bitbucket.org/spirit/guess_language")
+ (synopsis "Guess the natural language of a text")
+ (description
+ "Guess the natural language of a text")
+ (license #f)))
+
+(define-public python-template-remover
+ (package
+ (name "python-template-remover")
+ (version "0.1.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "template-remover" version))
+ (sha256
+ (base32
+ "0hgzynfi9z1qjk7qz4nd1620w9m1rjpmd4xjxp0zmbsn7zk1q3s8"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-docopt" ,python-docopt)))
+ (native-inputs
+ `(("python-nose" ,python-nose)))
+ (home-page
+ "http://github.com/deezer/template-remover")
+ (synopsis
+ "Remove the template markup from html files")
+ (description
+ "Remove the template markup from html files")
+ (license #f)))
+
+(define-public python-html-linter
+ (package
+ (name "python-html-linter")
+ (version "0.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "html-linter" version))
+ (sha256
+ (base32
+ "148ijk0hisb9b049xgc72gxdil3f0ichkpigasi11j1ggxkssb9l"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-docopt" ,python-docopt)
+ ("python-template-remover" ,python-template-remover)))
+ (native-inputs
+ `(("python-nose" ,python-nose)))
+ (home-page "http://github.com/sk-/html-linter")
+ (synopsis
+ "Lints an HTML5 file using Google's style guide")
+ (description
+ "Lints an HTML5 file using Google's style guide")
+ (license #f)))
+
+(define-public python-mypy-lang
+ (package
+ (name "python-mypy-lang")
+ (version "0.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "mypy-lang" version))
+ (sha256
+ (base32
+ "0ibwh1v6f7a0w4hpd3ydw9k7ph74b2lcfwwlli9pzby0vzwg2jq5"))))
+ (build-system python-build-system)
+ (home-page "")
+ (synopsis
+ "Dummy to remind people to switch to 'pip install mypy'")
+ (description
+ "Dummy to remind people to switch to 'pip install mypy'")
+ (license #f)))
+
+(define-public python-proselint
+ (package
+ (name "python-proselint")
+ (version "0.8.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "proselint" version))
+ (sha256
+ (base32
+ "1g8vx04gmv0agmggz1ml5vydfppqvl8dzjvqm6vqw5rzafa89m08"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("python-six" ,python-six)
+ ("python-future" ,python-future)
+ ("python-click" ,python-click)))
+ (home-page
+ "http://github.com/amperser/proselint")
+ (synopsis "A linter for prose")
+ (description "A linter for prose")
+ (license license:bsd-3)))
+
+(define-public python-pydocstyle
+ (package
+ (name "python-pydocstyle")
+ (version "2.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pydocstyle" version))
+ (sha256
+ (base32
+ "15ssv8l6cvrmzgwcdzw76rnl4np3qf0dbwr1wsx76y0hc7lwsnsd"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-configparser" ,python-configparser)
+ ("python-six" ,python-six)
+ ("python-snowballstemmer"
+ ,python-snowballstemmer)))
+ (home-page
+ "https://github.com/PyCQA/pydocstyle/")
+ (synopsis "Python docstring style checker")
+ (description "Python docstring style checker")
+ (license license:expat)))
+
+(define-public python-pyroma
+ (package
+ (name "python-pyroma")
+ (version "2.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyroma" version))
+ (sha256
+ (base32
+ "0ncnmrqs19jma2q5yz1sh0lcllvg8m96p78bxm50k6bzfc52h07x"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-docutils" ,python-docutils)))
+ (home-page "https://github.com/regebro/pyroma")
+ (synopsis
+ "Test your project's packaging friendliness")
+ (description
+ "Test your project's packaging friendliness")
+ (license license:expat)))
+
+(define-public python-restructuredtext-lint
+ (package
+ (name "python-restructuredtext-lint")
+ (version "1.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "restructuredtext_lint" version))
+ (sha256
+ (base32
+ "0ds05cc5qx1gagwy3cvr93pckvgsvi3zwhgh14l2cari9jlak364"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("python-docutils"
+ ,python-docutils)))
+ (home-page
+ "https://github.com/twolfson/restructuredtext-lint")
+ (synopsis "reStructuredText linter")
+ (description "reStructuredText linter")
+ (license #f)))
+
+(define-public python-rstcheck
+ (package
+ (name "python-rstcheck")
+ (version "3.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "rstcheck" version))
+ (sha256
+ (base32
+ "1pr1zcd77fj97q6kiz5rfs0nrz1mjwijr4jylcvfk9ca6cyqjnhm"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-docutils"
+ ,python-docutils)))
+ (home-page "https://github.com/myint/rstcheck")
+ (synopsis
+ "Checks syntax of reStructuredText and code blocks nested within it")
+ (description
+ "Checks syntax of reStructuredText and code blocks nested within it")
+ (license #f)))
+
+(define-public python-dparse
+ (package
+ (name "python-dparse")
+ (version "0.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "dparse" version))
+ (sha256
+ (base32
+ "10pm9q5r97828rml3pzi428ihf2cpaiw25hssgbax0zxv1sr37vw"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-packaging" ,python-packaging)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-six" ,python-six)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)
+ ("python-pytest-runner" ,python-pytest-runner)))
+ (home-page "https://github.com/jayfk/dparse")
+ (synopsis "A parser for Python dependency files")
+ (description
+ "A parser for Python dependency files")
+ (license license:expat)))
+
+(define-public python-safety
+ (package
+ (name "python-safety")
+ (version "1.7.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "safety" version))
+ (sha256
+ (base32
+ "0yipd9bpxs600dckkr91i51hscs5x9qidi1nbs1367brmmv4n37z"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("python-click" ,python-click)
+ ("python-dparse" ,python-dparse)
+ ("python-packaging" ,python-packaging)
+ ("python-requests" ,python-requests)))
+ (home-page "https://github.com/pyupio/safety")
+ (synopsis
+ "Safety checks your installed dependencies for known security vulnerabilities.")
+ (description
+ "Safety checks your installed dependencies for known security vulnerabilities.")
+ (license license:expat)))
+
+(define-public python-scspell3k
+ (package
+ (name "python-scspell3k")
+ (version "2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "scspell3k" version))
+ (sha256
+ (base32
+ "02dp70ikvb2yw839cycjksyi1izvfjlwjps74fh3279asa59m2d9"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/myint/scspell")
+ (synopsis
+ "A conservative interactive spell checker for source code.")
+ (description
+ "A conservative interactive spell checker for source code.")
+ (license #f)))
+
+(define-public python-ansicolor
+ (package
+ (name "python-ansicolor")
+ (version "0.2.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ansicolor" version))
+ (sha256
+ (base32
+ "078zsfx1wchz9l9brp5nz623adydwqxabg4zd4qyszfxp43inzni"))))
+ (build-system python-build-system)
+ (home-page
+ "https://github.com/numerodix/ansicolor")
+ (synopsis
+ "A library to produce ansi color output and colored highlighting and diffing")
+ (description
+ "A library to produce ansi color output and colored highlighting and diffing")
+ (license #f)))
+
+(define-public python-vim-vint
+ (package
+ (name "python-vim-vint")
+ (version "0.3.18")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "vim-vint" version))
+ (sha256
+ (base32
+ "0w038bgic7rdim60rhwrx3gwj33lgmhad8shpvcl2iy6fy8rpp7y"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("python-ansicolor" ,python-ansicolor)
+ ("python-chardet" ,python-chardet)
+ ("python-pyyaml" ,python-pyyaml)))
+ (home-page "https://github.com/Kuniwak/vint")
+ (synopsis "Lint tool for Vim script Language")
+ (description "Lint tool for Vim script Language")
+ (license #f)))
+
+(define-public python-vulture
+ (package
+ (name "python-vulture")
+ (version "0.26")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "vulture" version))
+ (sha256
+ (base32
+ "1884vymmlwnpw2naam5xn3cn7w74sn24yvpkf9n567sb3kkzmc49"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f))
+ (home-page
+ "https://github.com/jendrikseipp/vulture")
+ (synopsis "Find dead code")
+ (description "Find dead code")
+ (license license:expat)))
+
+(define-public python-pathspec
+ (package
+ (name "python-pathspec")
+ (version "0.5.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pathspec" version))
+ (sha256
+ (base32
+ "1lyhyc6ps4imcj4f99c3njqf3wk2c0f6szrhkqhp8rp7pg8rbi3j"))))
+ (build-system python-build-system)
+ (home-page
+ "https://github.com/cpburnz/python-path-specification")
+ (synopsis
+ "Utility library for gitignore style pattern matching of file paths.")
+ (description
+ "Utility library for gitignore style pattern matching of file paths.")
+ (license #f)))
+
+(define-public python-yamllint
+ (package
+ (name "python-yamllint")
+ (version "1.11.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "yamllint" version))
+ (sha256
+ (base32
+ "114nbzy8s9sr9czxx7g64p8naf46zgk2cab0df00l3sz6bmcmkq5"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-pathspec" ,python-pathspec)
+ ("python-pyyaml" ,python-pyyaml)))
+ (home-page
+ "https://github.com/adrienverge/yamllint")
+ (synopsis "A linter for YAML files.")
+ (description "A linter for YAML files.")
+ (license #f)))
+
+(define-public python-munkres3
+ (package
+ (name "python-munkres3")
+ (version "1.0.5.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "munkres3" version))
+ (sha256
+ (base32
+ "1kyc4nqrff1zri6ky96s4msls7263jy8rp7hid2q1dcnjb9i1hgp"))))
+ (build-system python-build-system)
+ (home-page
+ "http://github.com/datapublica/munkres")
+ (synopsis
+ "munkres algorithm for the Assignment Problem. Python 3 port.")
+ (description
+ "munkres algorithm for the Assignment Problem. Python 3 port.")
+ (license #f)))
+
+(define-public coala-bears
+ (package
+ (name "coala-bears")
+ (version "0.11.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "coala-bears" version))
+ (sha256
+ (base32
+ "08jlf9jxch1i27kgfmqhnn8qdxzbi2v2l8fwpnc621s6br5k13wl"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-requires
+ (lambda _
+ (for-each (lambda (requirement)
+ (substitute* "bear-requirements.txt"
+ (((string-append requirement "(=|~)="))
+ (string-append requirement ">="))))
+ '("autoflake"
+ "click"
+ "eradicate"
+ "html-linter"
+ "mypy-lang"
+ "proselint"
+ "pydocstyle"
+ "pyflakes"
+ "pyroma"
+ "radon"
+ "restructuredtext-lint"
+ "rstcheck"
+ "safety"
+ "vulture"
+ "yamllint"
+ "yapf"))
+ #t)))))
+ (propagated-inputs
+ `(;;("python-aenum" ,python-aenum)
+ ;; ("python-apertium-lint" ,python-apertium-lint)
+ ("python-autoflake" ,python-autoflake)
+ ("python-autopep8" ,python-autopep8)
+ ("python-bandit" ,python-bandit)
+ ("python-click" ,python-click)
+ ("python-cmakelint" ,python-cmakelint)
+ ("coala" ,coala)
+ ("python-cppclean" ,python-cppclean)
+ ("python-cpplint" ,python-cpplint)
+ ("python-dennis" ,python-dennis)
+ ;; ("python-docutils-ast-writer"
+ ;; ,python-docutils-ast-writer)
+ ("python-eradicate" ,python-eradicate)
+ ("python-guess-language-spirit"
+ ,python-guess-language-spirit)
+ ("python-html-linter" ,python-html-linter)
+ ;; ("python-httpolice" ,python-httpolice)
+ ("python-isort" ,python-isort)
+ ;; ("python-memento-client" ,python-memento-client)
+ ("python-munkres3" ,python-munkres3)
+ ("python-mypy-lang" ,python-mypy-lang)
+ ("python-nbformat" ,python-nbformat)
+ ("python-nltk" ,python-nltk)
+ ("python-proselint" ,python-proselint)
+ ("python-pycodestyle" ,python-pycodestyle)
+ ("python-pydocstyle" ,python-pydocstyle)
+ ("python-pyflakes" ,python-pyflakes)
+ ("python-pylint" ,python-pylint)
+ ("python-pyroma" ,python-pyroma)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-radon" ,python-radon)
+ ("python-restructuredtext-lint"
+ ,python-restructuredtext-lint)
+ ("python-rstcheck" ,python-rstcheck)
+ ("python-safety" ,python-safety)
+ ("python-scspell3k" ,python-scspell3k)
+ ("python-vim-vint" ,python-vim-vint)
+ ("python-vulture" ,python-vulture)
+ ("python-yamllint" ,python-yamllint)
+ ("python-yapf" ,python-yapf)
+ ))
+ (home-page "http://coala.rtfd.org/")
+ (synopsis
+ "Bears for coala (Code Analysis Application)")
+ (description
+ "Bears for coala (Code Analysis Application)")
+ (license #f)))
diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 5348d914cf..84d735c465 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -21,6 +21,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download)
#:use-module (guix packages)
+ #:use-module (gnu packages)
#:use-module (gnu packages ruby)
#:use-module (guix build-system ruby))
@@ -64,6 +65,41 @@ migration.")
(home-page "https://github.com/rails/spring")
(license license:expat)))
+(define-public ruby-spring-watcher-listen
+ (package
+ (name "ruby-spring-watcher-listen")
+ (version "2.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "spring-watcher-listen" version))
+ (sha256
+ (base32
+ "16gjqbhj3bkambafziza4pbw6g4zvh8z17lj87m8r90pgzcp93sj"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f ; circular dependency with rails?
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'fix-gemfile
+ (lambda _
+ (substitute* "Gemfile"
+ (("^gem \\\"spring.*") "gem 'spring'\ngem 'listen'\n"))
+ #t)))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-activesupport" ,ruby-activesupport)))
+ (propagated-inputs
+ `(("ruby-listen" ,ruby-listen)
+ ("ruby-spring" ,ruby-spring)))
+ (synopsis
+ "Makes spring watch files using the listen gem.")
+ (description
+ "Makes spring watch files using the listen gem.")
+ (home-page
+ "https://github.com/jonleighton/spring-watcher-listen")
+ (license license:expat)))
+
(define-public ruby-debug-inspector
(package
(name "ruby-debug-inspector")
@@ -93,3 +129,592 @@ API.")
(home-page
"https://github.com/banister/debug_inspector")
(license license:expat)))
+
+(define-public ruby-activemodel
+ (package
+ (name "ruby-activemodel")
+ (version "5.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "activemodel" version))
+ (sha256
+ (base32
+ "043nnxaf3cfq8jijls0jh1bg3a8v5zd9slc62zc2acp2n2wkjnd4"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f))
+ (propagated-inputs
+ `(("ruby-activesupport" ,ruby-activesupport)))
+ (synopsis
+ "A toolkit for building modeling frameworks like Active Record. Rich support for attributes, callbacks, validations, serialization, internationalization, and testing.")
+ (description
+ "This package provides a toolkit for building modeling frameworks like Active Record. Rich support for attributes, callbacks, validations, serialization, internationalization, and testing.")
+ (home-page "http://www.rubyonrails.org")
+ (license license:expat)))
+
+(define-public ruby-activerecord
+ (package
+ (name "ruby-activerecord")
+ (version "5.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "activerecord" version))
+ (sha256
+ (base32
+ "0pc7cycvhzjpw0swil2inka6c0fvcxhln793czp52pidg0654g7g"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f))
+ (propagated-inputs
+ `(("ruby-activemodel" ,ruby-activemodel)
+ ("ruby-activesupport" ,ruby-activesupport)
+ ("ruby-arel" ,ruby-arel)))
+ (synopsis
+ "Databases on Rails. Build a persistent domain model by mapping database tables to Ruby classes. Strong conventions for associations, validations, aggregations, migrations, and testing come baked-in.")
+ (description
+ "Databases on Rails. Build a persistent domain model by mapping database tables to Ruby classes. Strong conventions for associations, validations, aggregations, migrations, and testing come baked-in.")
+ (home-page "http://www.rubyonrails.org")
+ (license license:expat)))
+
+(define-public ruby-rails-html-sanitizer
+ (package
+ (name "ruby-rails-html-sanitizer")
+ (version "1.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "rails-html-sanitizer" version))
+ (sha256
+ (base32
+ "138fd86kv073zqfx0xifm646w6bgw2lr8snk16lknrrfrss8xnm7"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; tests not included
+ (propagated-inputs
+ `(("ruby-loofah" ,ruby-loofah)))
+ (synopsis
+ "HTML sanitization for Rails applications")
+ (description
+ "HTML sanitization for Rails applications")
+ (home-page
+ "https://github.com/rails/rails-html-sanitizer")
+ (license license:expat)))
+
+(define-public ruby-rails-dom-testing
+ (package
+ (name "ruby-rails-dom-testing")
+ (version "2.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ ;; The gem does not include a Rakefile, so we fetch the tarball from
+ ;; Github.
+ (uri (string-append "https://github.com/rails/rails-dom-testing/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1bjc0mm4hc2xrq0066q7kbgzzmdn1vdnsv08xwy90vf2b6x70lxf"))))
+ (build-system ruby-build-system)
+ (native-inputs
+ `(("bundler" ,bundler)))
+ (propagated-inputs
+ `(("ruby-activesupport" ,ruby-activesupport)
+ ("ruby-nokogiri" ,ruby-nokogiri)))
+ (synopsis
+ " This gem can compare doms and assert certain elements exists in doms using Nokogiri. ")
+ (description
+ " This gem can compare doms and assert certain elements exists in doms using Nokogiri. ")
+ (home-page
+ "https://github.com/rails/rails-dom-testing")
+ (license license:expat)))
+
+(define-public ruby-actionview
+ (package
+ (name "ruby-actionview")
+ (version "5.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "actionview" version))
+ (sha256
+ (base32
+ "0dxanjs7ngpny4ig7dg93ywmg9ljswzg8risdlff6ag8fzvsnidf"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; tests not included
+ (propagated-inputs
+ `(("ruby-activesupport" ,ruby-activesupport)
+ ("ruby-builder" ,ruby-builder)
+ ("ruby-erubi" ,ruby-erubi)
+ ("ruby-rails-dom-testing"
+ ,ruby-rails-dom-testing)
+ ("ruby-rails-html-sanitizer"
+ ,ruby-rails-html-sanitizer)))
+ (synopsis
+ "Simple, battle-tested conventions and helpers for building web pages.")
+ (description
+ "Simple, battle-tested conventions and helpers for building web pages.")
+ (home-page "http://www.rubyonrails.org")
+ (license license:expat)))
+
+(define-public ruby-actionpack
+ (package
+ (name "ruby-actionpack")
+ (version "5.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "actionpack" version))
+ (sha256
+ (base32
+ "19zv9ix9iwpd8dxi5hyxgwrc1gh0fvx0a2vjhmic8dn8six41f4f"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; tests not included
+ (propagated-inputs
+ `(("ruby-actionview" ,ruby-actionview)
+ ("ruby-activesupport" ,ruby-activesupport)
+ ("ruby-rack" ,ruby-rack)
+ ("ruby-rack-test" ,ruby-rack-test)
+ ("ruby-rails-dom-testing"
+ ,ruby-rails-dom-testing)
+ ("ruby-rails-html-sanitizer"
+ ,ruby-rails-html-sanitizer)))
+ (synopsis
+ "Web apps on Rails. Simple, battle-tested conventions for building and testing MVC web applications. Works with any Rack-compatible server.")
+ (description
+ "Web apps on Rails. Simple, battle-tested conventions for building and testing MVC web applications. Works with any Rack-compatible server.")
+ (home-page "http://www.rubyonrails.org")
+ (license license:expat)))
+
+(define-public ruby-actioncable
+ (package
+ (name "ruby-actioncable")
+ (version "5.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "actioncable" version))
+ (sha256
+ (base32
+ "17vdxn0afi5rfnbs09nl0m0cyj7yvpi445bmi8pkmzbaqzqkq3ff"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; tests not included
+ (propagated-inputs
+ `(("ruby-actionpack" ,ruby-actionpack)
+ ("ruby-nio4r" ,ruby-nio4r)
+ ("ruby-websocket-driver" ,ruby-websocket-driver)))
+ (synopsis
+ "Structure many real-time application concerns into channels over a single WebSocket connection.")
+ (description
+ "Structure many real-time application concerns into channels over a single WebSocket connection.")
+ (home-page "http://rubyonrails.org")
+ (license license:expat)))
+
+(define-public ruby-activejob
+ (package
+ (name "ruby-activejob")
+ (version "5.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "activejob" version))
+ (sha256
+ (base32
+ "1m4l7z08cx1lybfswfggy7y1rxnwr6gi15h0g9kkkkvmmn6klf3r"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f))
+ (propagated-inputs
+ `(("ruby-activesupport" ,ruby-activesupport)
+ ("ruby-globalid" ,ruby-globalid)))
+ (synopsis
+ "Declare job classes that can be run by a variety of queueing backends.")
+ (description
+ "Declare job classes that can be run by a variety of queueing backends.")
+ (home-page "http://www.rubyonrails.org")
+ (license license:expat)))
+
+(define-public ruby-activestorage
+ (package
+ (name "ruby-activestorage")
+ (version "5.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "activestorage" version))
+ (sha256
+ (base32
+ "0wncr3h94jsjmmqqmmips9vgy2kf1zhb96rlv5fbrgqplfhvpyag"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("ruby-actionpack" ,ruby-actionpack)
+ ("ruby-activerecord" ,ruby-activerecord)
+ ("ruby-marcel" ,ruby-marcel)))
+ (synopsis
+ "Attach cloud and local files in Rails applications.")
+ (description
+ "Attach cloud and local files in Rails applications.")
+ (home-page "http://rubyonrails.org")
+ (license license:expat)))
+
+(define-public ruby-actionmailer
+ (package
+ (name "ruby-actionmailer")
+ (version "5.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "actionmailer" version))
+ (sha256
+ (base32
+ "0h1nqg47jap0wzp0dhlnck4xjijfvdfw49aipjp8y2ihdpvyqrx6"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; tests not included
+ (propagated-inputs
+ `(("ruby-actionpack" ,ruby-actionpack)
+ ("ruby-actionview" ,ruby-actionview)
+ ("ruby-activejob" ,ruby-activejob)
+ ("ruby-mail" ,ruby-mail)
+ ("ruby-rails-dom-testing"
+ ,ruby-rails-dom-testing)))
+ (synopsis
+ "Email on Rails. Compose, deliver, receive, and test emails using the familiar controller/view pattern. First-class support for multipart email and attachments.")
+ (description
+ "Email on Rails. Compose, deliver, receive, and test emails using the familiar controller/view pattern. First-class support for multipart email and attachments.")
+ (home-page "http://www.rubyonrails.org")
+ (license license:expat)))
+
+(define-public ruby-discard
+ (package
+ (name "ruby-discard")
+ (version "1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "discard" version))
+ (sha256
+ (base32
+ "1vyxhy7yz6l6kkys65kd7b5lj79ajvh495qqhvzn60wlz2dpap7r"))))
+ (build-system ruby-build-system)
+ (propagated-inputs
+ `(("ruby-activerecord" ,ruby-activerecord)))
+ (synopsis
+ "Allows marking ActiveRecord objects as discarded, and provides scopes for filtering.")
+ (description
+ "Allows marking ActiveRecord objects as discarded, and provides scopes for filtering.")
+ (home-page
+ "https://github.com/jhawthorn/discard")
+ (license license:expat)))
+
+(define-public ruby-railties
+ (package
+ (name "ruby-railties")
+ (version "5.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "railties" version))
+ (sha256
+ (base32
+ "19y343dvb7vih82q2ssyhp1cirmp5sp1vpw4k5zmd1bxxkjix9qv"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; tests not included
+ (propagated-inputs
+ `(("ruby-actionpack" ,ruby-actionpack)
+ ("ruby-activesupport" ,ruby-activesupport)
+ ("ruby-method-source" ,ruby-method-source)
+ ("ruby-thor" ,ruby-thor)))
+ (synopsis
+ "Rails internals: application bootup, plugins, generators, and rake tasks.")
+ (description
+ "Rails internals: application bootup, plugins, generators, and rake tasks.")
+ (home-page "http://www.rubyonrails.org")
+ (license license:expat)))
+
+(define-public ruby-sprockets-rails
+ (package
+ (name "ruby-sprockets-rails")
+ (version "3.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "sprockets-rails" version))
+ (sha256
+ (base32
+ "1sak0as7ka964f6zjb1w8hkvfkkbf55kpcyvh7k6nyrb6pqnwmnf"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; tests not included
+ (propagated-inputs
+ `(("ruby-actionpack" ,ruby-actionpack)
+ ("ruby-activesupport" ,ruby-activesupport)
+ ("ruby-sprockets" ,ruby-sprockets)))
+ (synopsis "Sprockets Rails integration")
+ (description "Sprockets Rails integration")
+ (home-page
+ "https://github.com/rails/sprockets-rails")
+ (license license:expat)))
+
+(define-public ruby-sass-rails
+ (package
+ (name "ruby-sass-rails")
+ (version "5.0.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "sass-rails" version))
+ (sha256
+ (base32
+ "0iji20hb8crncz14piss1b29bfb6l89sz3ai5fny3iw39vnxkdcb"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; No tests are included in gem.
+ (propagated-inputs
+ `(("ruby-railties" ,ruby-railties)
+ ("ruby-sass" ,ruby-sass)
+ ("ruby-sprockets" ,ruby-sprockets)
+ ("ruby-sprockets-rails" ,ruby-sprockets-rails)
+ ("ruby-tilt" ,ruby-tilt)))
+ (synopsis
+ "Sass adapter for the Rails asset pipeline.")
+ (description
+ "Sass adapter for the Rails asset pipeline.")
+ (home-page "https://github.com/rails/sass-rails")
+ (license license:expat)))
+
+(define-public ruby-coffee-rails
+ (package
+ (name "ruby-coffee-rails")
+ (version "4.2.2")
+ (source
+ (origin
+ (method url-fetch)
+ ;; Tests are not distributed at rubygems.org so download from GitHub
+ ;; instead.
+ (uri (string-append "https://github.com/rails/coffee-rails/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1zbcs26dnic3ws1p0chggjrcjwkrgv445l765s4r615y1wqq1nfp"))
+ (patches (search-patches "ruby-coffee-rails-fix-rakefile.patch"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; Tests require rails, disable to precent circular dependency.
+ (propagated-inputs
+ `(("ruby-coffee-script" ,ruby-coffee-script)
+ ("ruby-railties" ,ruby-railties)))
+ (synopsis
+ "CoffeeScript adapter for the Rails asset pipeline.")
+ (description
+ "CoffeeScript adapter for the Rails asset pipeline.")
+ (home-page
+ "https://github.com/rails/coffee-rails")
+ (license license:expat)))
+
+(define-public ruby-jquery-rails
+ (package
+ (name "ruby-jquery-rails")
+ (version "4.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "jquery-rails" version))
+ (sha256
+ (base32
+ "02ii77vwxc49f2lrkbdzww2168bp5nihwzakc9mqyrsbw394w7ki"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f))
+ (native-inputs
+ `(("bundler" ,bundler)))
+ (propagated-inputs
+ `(("ruby-rails-dom-testing"
+ ,ruby-rails-dom-testing)
+ ("ruby-railties" ,ruby-railties)
+ ("ruby-thor" ,ruby-thor)))
+ (synopsis
+ "This gem provides jQuery and the jQuery-ujs driver for your Rails 4+ application.")
+ (description
+ "This gem provides jQuery and the jQuery-ujs driver for your Rails 4+ application.")
+ (home-page
+ "http://rubygems.org/gems/jquery-rails")
+ (license license:expat)))
+
+(define-public ruby-web-console
+ (package
+ (name "ruby-web-console")
+ (version "3.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ ;; Download from GitHub as test files are not provided in the gem.
+ (uri (string-append "https://github.com/rails/web-console/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1gmymwvgwqjv4gmg2vb0abm6flwax9sg73wmh6yb7m818pn2lz3n"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; Do not test to prevent dependency cycle with rails.
+ ;; (arguments
+ ;; `(#:phases
+ ;; (modify-phases %standard-phases
+ ;; (add-before 'check 'setenv
+ ;; (lambda _
+ ;; (setenv "RUBYLIB" "lib")
+ ;; ;; (substitute* "Rakefile"
+ ;; ;; (("require 'web_console") ; This is not required for
+ ;; ;; ; travis, so hmm.
+ ;; ;; "require 'pathname'; require 'uri'; require 'web_console"))
+ ;; #t)))))
+ ;; (native-inputs
+ ;; `(("bundler" ,bundler)))
+ (propagated-inputs
+ `(("ruby-actionview" ,ruby-actionview)
+ ("ruby-activemodel" ,ruby-activemodel)
+ ("ruby-debug-inspector" ,ruby-debug-inspector)
+ ("ruby-railties" ,ruby-railties)))
+ (synopsis
+ "A debugging tool for your Ruby on Rails applications.")
+ (description
+ "This package provides a debugging tool for your Ruby on Rails applications.")
+ (home-page
+ "https://github.com/rails/web-console")
+ (license license:expat)))
+
+(define-public ruby-with-advisory-lock
+ (package
+ (name "ruby-with-advisory-lock")
+ (version "3.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "with_advisory_lock" version))
+ (sha256
+ (base32
+ "1gdwy0mmhn199n1sh42j14m47chbhbdym3sah4yz3igpj1l956r7"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("ruby-activerecord" ,ruby-activerecord)))
+ (synopsis "Advisory locking for ActiveRecord")
+ (description "Advisory locking for ActiveRecord")
+ (home-page
+ "https://github.com/mceachen/with_advisory_lock")
+ (license license:expat)))
+
+(define-public ruby-rails
+ (package
+ (name "ruby-rails")
+ (version "5.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "rails" version))
+ (sha256
+ (base32
+ "1307cv1p6cj350hq2mi00dfgjb77rzvlhrr3h0bjz5s0a6jgwv3p"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; No tests included in gem. TODO: download from GitHub so
+ ; tests can be run.
+ (propagated-inputs
+ `(("ruby-actioncable" ,ruby-actioncable)
+ ("ruby-actionmailer" ,ruby-actionmailer)
+ ("ruby-actionpack" ,ruby-actionpack)
+ ("ruby-actionview" ,ruby-actionview)
+ ("ruby-activejob" ,ruby-activejob)
+ ("ruby-activemodel" ,ruby-activemodel)
+ ("ruby-activerecord" ,ruby-activerecord)
+ ("ruby-activestorage" ,ruby-activestorage)
+ ("ruby-activesupport" ,ruby-activesupport)
+ ("bundler" ,bundler)
+ ("ruby-railties" ,ruby-railties)
+ ("ruby-sprockets-rails" ,ruby-sprockets-rails)
+ ("ruby-spring" ,ruby-spring)
+ ("ruby-sqlite3" ,ruby-sqlite3)
+ ("ruby-puma" ,ruby-puma)
+ ("ruby-sass-rails" ,ruby-sass-rails)
+ ("ruby-uglifier" ,ruby-uglifier)
+ ("ruby-coffee-rails" ,ruby-coffee-rails)
+ ("ruby-jquery-rails" ,ruby-jquery-rails)
+ ("ruby-turbolinks" ,ruby-turbolinks)
+ ("ruby-jbuilder" ,ruby-jbuilder)
+ ("ruby-byebug" ,ruby-byebug)
+ ("ruby-web-console" ,ruby-web-console)
+ ("ruby-listen" ,ruby-listen-3.0)
+ ("ruby-spring-watcher-listen" ,ruby-spring-watcher-listen)))
+ (synopsis
+ "Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity. It encourages beautiful code by favoring convention over configuration.")
+ (description
+ "Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity. It encourages beautiful code by favoring convention over configuration.")
+ (home-page "http://www.rubyonrails.org")
+ (license license:expat)))
+
+(define-public ruby-squasher
+ (package
+ (name "ruby-squasher")
+ (version "0.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "squasher" version))
+ (sha256
+ (base32
+ "1z7s4qllbqa27h4qf52h3hacs6y7zksnw32r2qkgs4spsd4x9s2h"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:test-target "spec"))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec)))
+ (synopsis "Squash your old migrations")
+ (description "Squash your old migrations")
+ (home-page "https://github.com/jalkoby/squasher")
+ (license license:expat)))
+
+(define-public ruby-annotate
+ (package
+ (name "ruby-annotate")
+ (version "2.7.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "annotate" version))
+ (sha256
+ (base32
+ "079y33iy65nv1cqnh1zmi3v2y9yp1z3zzsf2wdh35m3c80v6kaz4"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'patch-annotate
+ (lambda _
+ (substitute* "bin/annotate"
+ (("require 'bundler'")
+ "")
+ (("Bundler.setup")
+ "")))))))
+ (propagated-inputs
+ `(("ruby-activerecord" ,ruby-activerecord)
+ ("ruby-activesupport" ,ruby-activesupport)))
+ (synopsis
+ "Annotates Rails/ActiveRecord Models, routes, fixtures, and others based on the database schema.")
+ (description
+ "Annotates Rails/ActiveRecord Models, routes, fixtures, and others based on the database schema.")
+ (home-page
+ "http://github.com/ctran/annotate_models")
+ (license #f)))
diff --git a/gnu/packages/rdesktop.scm b/gnu/packages/rdesktop.scm
index bd2b5737e9..3c8444b00a 100644
--- a/gnu/packages/rdesktop.scm
+++ b/gnu/packages/rdesktop.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -28,6 +29,8 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages cups)
#:use-module (gnu packages docbook)
+ #:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages glib)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
@@ -35,6 +38,7 @@
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages tls)
#:use-module (gnu packages video)
+ #:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xml))
@@ -73,64 +77,67 @@ to remotely control a user's Windows desktop.")
(license license:gpl3+)))
(define-public freerdp
- (let ((commit "03ab68318966c3a22935a02838daaea7b7fbe96c"))
- (package
- (name "freerdp")
- (version (git-version "1.1" "1" commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- ;; We need the 1.1 branch for RDP support in vinagre.
- (url "git://github.com/FreeRDP/FreeRDP.git")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "07ish8rmvbk2zd99k91qybmmh5h4afly75l5kbvslhq1r6k8pbmp"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("libxslt" ,libxslt)
- ("libxml2" ,libxml2)
- ("docbook-xsl" ,docbook-xsl)
- ("xmlto" ,xmlto)))
- (inputs
- `(("libx11" ,libx11)
- ("libxkbfile" ,libxkbfile)
- ("libxcursor" ,libxcursor)
- ("libxext" ,libxext)
- ("libxi" ,libxi)
- ("libxv" ,libxv)
- ("libxrandr" ,libxrandr)
- ("libxrender" ,libxrender)
- ("libxinerama" ,libxinerama)
- ("libxshmfence" ,libxshmfence)
- ("cups" ,cups)
- ("ffmpeg" ,ffmpeg-2.8)
- ("libjpeg" ,libjpeg)
- ("pulseaudio" ,pulseaudio)
- ("alsa-lib" ,alsa-lib)
- ("zlib" ,zlib)
- ("openssl" ,openssl)))
- (arguments
- `(#:build-type "RELEASE"
- #:configure-flags
- (list "-DWITH_JPEG=ON"
- ,@(if (string-prefix? "x86_64"
- (or (%current-target-system)
- (%current-system)))
- '("-DWITH_SSE2=ON")
- '())
- (string-append "-DDOCBOOKXSL_DIR="
- (assoc-ref %build-inputs "docbook-xsl")
- "/xml/xsl/docbook-xsl-"
- ,(package-version docbook-xsl))
- "-DWITH_PULSE=ON"
- "-DWITH_CUPS=ON")
- #:tests? #f)) ; no 'test' target
- (home-page "https://www.freerdp.com")
- (synopsis "Remote Desktop Protocol implementation")
- (description "FreeRDP implements Microsoft's Remote Desktop Protocol.
+ (package
+ (name "freerdp")
+ (version "2.0.0-rc4")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://github.com/FreeRDP/FreeRDP.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0546i0m2d4nz5jh84ngwzpcm3c43fp987jk6cynqspsmvapab6da"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("docbook-xml" ,docbook-xml)
+ ("docbook-xsl" ,docbook-xsl)
+ ("glib" ,glib)
+ ("libxml2" ,libxml2)
+ ("libxslt" ,libxslt)
+ ("pkg-config" ,pkg-config)
+ ("xmlto" ,xmlto)))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("cups" ,cups)
+ ("ffmpeg" ,ffmpeg)
+ ("libjpeg" ,libjpeg)
+ ("libx11" ,libx11)
+ ("libxkbcommon" ,libxkbcommon)
+ ("libxkbfile" ,libxkbfile)
+ ("libxcursor" ,libxcursor)
+ ("libxext" ,libxext)
+ ("libxi" ,libxi)
+ ("libxv" ,libxv)
+ ("libxrandr" ,libxrandr)
+ ("libxrender" ,libxrender)
+ ("libxinerama" ,libxinerama)
+ ("libxshmfence" ,libxshmfence)
+ ("openssl" ,openssl)
+ ("pulseaudio" ,pulseaudio)
+ ("wayland" ,wayland)
+ ("zlib" ,zlib)))
+ (arguments
+ `(#:build-type "RELEASE"
+ #:configure-flags
+ (list "-DWITH_JPEG=ON"
+ "-DWITH_LIBSYSTEMD=OFF"
+ ,@(if (string-prefix? "x86_64"
+ (or (%current-target-system)
+ (%current-system)))
+ '("-DWITH_SSE2=ON")
+ '())
+ (string-append "-DDOCBOOKXSL_DIR="
+ (assoc-ref %build-inputs "docbook-xsl")
+ "/xml/xsl/docbook-xsl-"
+ ,(package-version docbook-xsl))
+ "-DWITH_PULSE=ON"
+ "-DWITH_CUPS=ON"
+ "-DBUILD_TESTING=ON")))
+ (home-page "https://www.freerdp.com")
+ (synopsis "Remote Desktop Protocol implementation")
+ (description "FreeRDP implements Microsoft's Remote Desktop Protocol.
It consists of the @code{xfreerdp} client, libraries for client and server
functionality, and Windows Portable Runtime (WinPR), a portable implementation
of parts of the Windows API.")
- (license license:asl2.0))))
+ (license license:asl2.0)))
diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm
index 22ea21dd94..1c045b6ecc 100644
--- a/gnu/packages/rdf.scm
+++ b/gnu/packages/rdf.scm
@@ -299,7 +299,7 @@ ideal (e.g. in LV2 implementations or embedded applications).")
(define-public python-rdflib
(package
(name "python-rdflib")
- (version "4.1.2")
+ (version "4.2.2")
(source
(origin
(method url-fetch)
@@ -307,15 +307,12 @@ ideal (e.g. in LV2 implementations or embedded applications).")
"https://pypi.python.org/packages/source/r/rdflib/rdflib-"
version
".tar.gz"))
- (patches
- ;; The patch has no effect under Python 3.
- (search-patches "python2-rdflib-drop-sparqlwrapper.patch"))
(sha256
(base32
- "0kvaf332cqbi47rqzlpdx4mbkvw12mkrzkj8n9l19wk713d4py9w"))))
+ "0398c714znnhaa2x7v51b269hk20iz073knq2mvmqp2ma92z27fs"))))
(build-system python-build-system)
(arguments
- '(;; FIXME: Three test failures. Try uncommenting the below next update.
+ '(;; FIXME: Three test failures. Should be fixed next release.
#:tests? #f))
;; #:phases
;; (modify-phases %standard-phases
@@ -323,7 +320,7 @@ ideal (e.g. in LV2 implementations or embedded applications).")
;; (lambda _
;; ;; Run tests from the build directory so python3 only
;; ;; sees the installed 2to3 version.
- ;; (zero? (system* "nosetests" "--where=./build/src")))))
+ ;; (zero? (system* "nosetests" "--where=./build/src")))))))
(native-inputs
`(("python-nose" ,python-nose)))
(propagated-inputs
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 2fde016851..6db0edaac1 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -30,12 +30,18 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages base)
+ #:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages databases)
+ #:use-module (gnu packages rails)
#:use-module (gnu packages readline)
#:use-module (gnu packages autotools)
#:use-module (gnu packages java)
+ #:use-module (gnu packages javascript)
#:use-module (gnu packages libffi)
+ #:use-module (gnu packages libidn)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages lsof)
#:use-module (gnu packages maths)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
@@ -340,6 +346,42 @@ notebook).")
(home-page "https://github.com/SciRuby/iruby")
(license license:expat)))
+(define-public ruby-rspec-spies
+ (package
+ (name "ruby-rspec-spies")
+ (version "2.1.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "rspec-spies" version))
+ (sha256
+ (base32
+ "0pyjy35k59gsiv7l8585yx4gkg2vhycjycz9jlmgkx8s62dxnjgv"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; Tests fail, is this completely deprecated?
+ ;; phases
+ ;; (modify-phases %standard-phases
+ ;; (replace 'check
+ ;; (lambda _
+ ;; (zero? (system* "rspec"))))
+ ;; (add-before 'check 'fix-dependencies
+ ;; (lambda _
+ ;; (delete-file "Gemfile.lock")
+ ;; (substitute* "Gemfile"
+ ;; ((".*jeweler.*") "\n"))
+ ;; #t)))))
+ ;; (native-inputs
+ ;; `(("bundler" ,bundler)
+ ;; ("ruby-appraisal" ,ruby-appraisal)))
+ (propagated-inputs
+ `(("ruby-rspec" ,ruby-rspec-2)))
+ (synopsis "test spies, for rspec")
+ (description "test spies, for rspec")
+ (home-page
+ "http://github.com/technicalpickles/rspec-spies")
+ (license #f)))
+
;; RSpec is the dominant testing library for Ruby projects. Even RSpec's
;; dependencies use RSpec for their test suites! To avoid these circular
;; dependencies, we disable tests for all of the RSpec-related packages.
@@ -455,19 +497,51 @@ outcomes of a code example.")
(source
(origin
(method url-fetch)
- (uri (rubygems-uri "rspec-its" version))
+ ;; Use GitHub as a source because otherwise we cannot patch directly
+ (uri (string-append "https://github.com/rspec/rspec-its/archive/v"
+ version ".tar.gz"))
(sha256
(base32
- "1pwphny5jawcm1hda3vs9pjv1cybaxy17dc1s75qd7drrvx697p3"))))
+ "088f3y7vd3c8g2gpi0z76qabaabfg0fb70ly3d0xqzbani0lrf09"))
+ (patches
+ (list
+ (origin (method url-fetch)
+ (uri (string-append
+ "https://github.com/rspec/rspec-its/commit/"
+ "bfaab439c7c879f5ef25552f41827891f6308373.patch"))
+ (file-name "ruby-rspec-its-fix-specs-for-ruby-2.4.patch")
+ (sha256
+ (base32
+ "0lnik0kvrpgkakvdb2fmzg22pdlraf6kiidr9sv6rnfyviiqwxgh")))))))
(build-system ruby-build-system)
(arguments
- `(#:tests? #f)) ; needs cucumber.
+ `(#:test-target "spec"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'dont-install-gems-from-gemfile
+ (lambda _
+ (substitute* "Gemfile"
+ (("rspec rspec-core rspec-expectations rspec-mocks rspec-support")
+ ""))
+ #t))
+ (add-before 'check 'remove-unnecessary-dependency-versions-from-gemfile
+ (lambda _
+ (substitute* "rspec-its.gemspec"
+ (("rake.*") "rake'\n")
+ (("cucumber.*") "cucumber'\n"))
+ #t)))))
(propagated-inputs
`(("ruby-rspec-core" ,ruby-rspec-core)
("ruby-rspec-expectations" ,ruby-rspec-expectations)))
- (synopsis "RSpec extension gem for attribute matching")
- (description "@code{rspec-its} is an RSpec extension gem for attribute
-matching.")
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-cucumber" ,ruby-cucumber)
+ ("ruby-aruba" ,ruby-aruba)))
+ (synopsis "RSpec extension that provides the @code{its} method")
+ (description
+ "RSpec::Its provides the its method as a short-hand to specify the expected
+value of an attribute. For example, one can use @code{its(:size)\\{should
+eq(1)\\}}.")
(home-page "https://github.com/rspec/rspec-its")
(license license:expat)))
@@ -505,6 +579,56 @@ support for stubbing and mocking.")
(propagated-inputs
`(("ruby-diff-lcs" ,ruby-diff-lcs)))))
+(define-public ruby-rspec-pending-for
+ (package
+ (name "ruby-rspec-pending-for")
+ (version "0.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "rspec-pending_for" version))
+ (sha256
+ (base32
+ "0f9sj7v3j14fvd631smxr04l53pk8dqwn9ybqkjdqmzvcv73b5n6"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:test-target "spec"))
+ (native-inputs
+ `(("bundler" ,bundler)))
+ (propagated-inputs
+ `(("ruby-rspec-core" ,ruby-rspec-core)
+ ("ruby-ruby-engine" ,ruby-ruby-engine)
+ ("ruby_version" ,ruby_version)))
+ (synopsis
+ "Mark specs pending or skipped for specific Ruby engine (e.g. MRI or JRuby) / version combinations")
+ (description
+ "Mark specs pending or skipped for specific Ruby engine (e.g. MRI or JRuby) / version combinations")
+ (home-page
+ "https://github.com/pboling/rspec-pending_for")
+ (license #f)))
+
+(define-public ruby-rspec-rerun
+ (package
+ (name "ruby-rspec-rerun")
+ (version "1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "rspec-rerun" version))
+ (sha256
+ (base32
+ "1gy7znkcaqhpccfnk2nvaqbsvgxy3q57cmjwkl9fi1zabaq5lbkj"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(;; No included tests
+ #:tests? #f))
+ (propagated-inputs `(("ruby-rspec" ,ruby-rspec)))
+ (synopsis "Re-run failed RSpec tests.")
+ (description "Re-run failed RSpec tests.")
+ (home-page
+ "https://github.com/dblock/rspec-rerun")
+ (license license:expat)))
+
(define-public ruby-rspec
(package
(name "ruby-rspec")
@@ -590,6 +714,26 @@ supported: XML Markup and XML Events.")
(home-page "https://github.com/jimweirich/builder")
(license license:expat)))
+(define-public ruby-bump
+ (package
+ (name "ruby-bump")
+ (version "0.6.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "bump" version))
+ (sha256
+ (base32
+ "1c7ychr61n5xy5np3vj8h4d4jmcn3cwicssvq56mfvg8hph7x2cw"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(;; No included tests
+ #:tests? #f))
+ (synopsis "Bump your gem version file")
+ (description "Bump your gem version file")
+ (home-page "https://github.com/gregorym/bump")
+ (license license:expat)))
+
(define-public ruby-rjb
(package
(name "ruby-rjb")
@@ -641,6 +785,45 @@ configuration, and more.")
(home-page "http://log4r.rubyforge.org/")
(license license:bsd-3)))
+(define-public ruby-appraisal
+ (package
+ (name "ruby-appraisal")
+ (version "2.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "appraisal" version))
+ (sha256
+ (base32
+ "10ng010lhswdykjhwic7bgv28qpjj42qwxvprpj1f4cavdimh4vp"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f ; tests require network access
+ #:test-target "spec"
+ #:phases
+ (modify-phases %standard-phases
+ ;; remove bundler from Rakefile to avoid dependency issues
+ (add-before 'check 'remove-dependency-checking
+ (lambda _
+; (substitute* "Rakefile"
+ ; (("^require 'bundler.*") ""))
+ (substitute* "Gemfile"
+ (("thor.*") "thor'\n"))
+ #t)))))
+ (propagated-inputs
+ `(("bundler" ,bundler)
+ ("ruby-thor" ,ruby-thor)))
+ (native-inputs
+ `(("ruby-activesupport" ,ruby-activesupport)
+ ("ruby-rspec" ,ruby-rspec)))
+ (synopsis
+ "Appraisal integrates with bundler and rake to test your library against different versions of dependencies in repeatable scenarios called \"appraisals.\"")
+ (description
+ "Appraisal integrates with bundler and rake to test your library against different versions of dependencies in repeatable scenarios called \"appraisals.\"")
+ (home-page
+ "http://github.com/thoughtbot/appraisal")
+ (license license:expat)))
+
(define-public ruby-atoulme-antwrap
(package
(name "ruby-atoulme-antwrap")
@@ -726,6 +909,31 @@ AsciiDoc content to HTML5, DocBook 5 (or 4.5), PDF, and other formats.")
(home-page "https://asciidoctor.org")
(license license:expat)))
+(define-public ruby-ast
+ (package
+ (name "ruby-ast")
+ (version "2.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "ast" version))
+ (sha256
+ (base32
+ "0pp82blr5fakdk27d1d21xq9zchzb6vmyb1zcsl520s3ygvprn8m"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; TODO: run tests
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-bacon" ,ruby-bacon)
+ ("ruby-racc" ,ruby-racc)))
+ (synopsis
+ "A library for working with Abstract Syntax Trees.")
+ (description
+ "This package provides a library for working with Abstract Syntax Trees.")
+ (home-page "https://whitequark.github.io/ast/")
+ (license license:expat)))
+
(define-public ruby-sporkmonger-rack-mount
;; Testing the addressable gem requires a newer commit than that released, so
;; use an up to date version.
@@ -784,6 +992,150 @@ format.")
(home-page "https://github.com/nicksieger/ci_reporter")
(license license:expat)))
+(define-public ruby-coffee-script-source
+ (package
+ (name "ruby-coffee-script-source")
+ (version "1.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "coffee-script-source" version))
+ (sha256
+ (base32
+ "1k4fg39rrkl3bpgchfj94fbl9s4ysaz16w8dkqncf2vyf79l3qz0"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; no tests
+ (synopsis "Source code for the ruby-coffee-script gem.")
+ (description
+ "This gem contains the JavaScript source code used for converting between
+CoffeeScript to JavaScript. It is updated each time a new version of
+CoffeeScript is released.")
+ ;; homepage listed on rubygems does not exist, so use the rubygems URL instead
+ (home-page
+ "https://rubygems.org/gems/coffee-script-source")
+ (license license:expat)))
+
+;; Seems to work except for 2 rspec errors already fixed upstream
+;; https://github.com/egonSchiele/contracts.ruby/commit/c1f22bfc6b28125b55d42a33ca3e05f15e82d6f2.diff
+;; might need to add that as a patch when adding to guix
+(define-public ruby-contracts
+ (package
+ (name "ruby-contracts")
+ (version "0.12.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "contracts" version))
+ (sha256
+ (base32
+ "0xszv56p58q7da8agc4dsnw8x46gnh6ahbag5gdmvbxjgml03mdl"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f ; enable these when adding TO GUIX!!!!
+ #:test-target "spec"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-rakefile
+ (lambda _
+ (substitute* "Rakefile"
+ ((".*rubocop.*") "")
+ ((".*RuboCop.*") ""))
+ #t)))))
+ (native-inputs
+ `(("ruby-rspec" ,ruby-rspec)))
+ (synopsis
+ "This library provides contracts for Ruby. Contracts let you clearly express how your code behaves, and free you from writing tons of boilerplate, defensive code.")
+ (description
+ "This library provides contracts for Ruby. Contracts let you clearly express how your code behaves, and free you from writing tons of boilerplate, defensive code.")
+ (home-page
+ "http://github.com/egonSchiele/contracts.ruby")
+ (license #f)))
+
+(define-public ruby-coveralls
+ (package
+ (name "ruby-coveralls")
+ (version "0.8.22")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "coveralls" version))
+ (sha256
+ (base32
+ "022kc16np6w4mv17hq3m9hhw9l8hjl78ld3fzqqx6337vwvwvwcg"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f
+ #:test-target "spec"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'extract-gemspec 'update-dependency
+ (lambda _
+ ;; Relax dependency to avoid conflicting versions in nio4r
+ ;; for instance.
+ (substitute* "coveralls-ruby.gemspec"
+ (("<simplecov.*") "<simplecov>)\n")
+ (("<tins.*") "<tins>)\n"))
+
+ #t))
+ (add-before 'check 'fix-dependencies
+ (lambda _
+ (substitute* "spec/spec_helper.rb"
+ ((".*pry.*") "\n"))
+ #t)))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec)
+ ("ruby-truthy" ,ruby-truthy)
+ ("ruby-webmock" ,ruby-webmock)
+ ("ruby-vcr" ,ruby-vcr)
+ ("git" ,git))) ; git is required for testing
+ (propagated-inputs
+ `(("ruby-json" ,ruby-json)
+ ("ruby-rest-client" ,ruby-rest-client)
+ ("ruby-simplecov" ,ruby-simplecov)
+ ("ruby-term-ansicolor" ,ruby-term-ansicolor)
+ ("ruby-thor" ,ruby-thor)
+ ("ruby-simplecov" ,ruby-simplecov)
+ ("ruby-tins" ,ruby-tins)))
+ (synopsis
+ "A Ruby implementation of the Coveralls API.")
+ (description
+ "A Ruby implementation of the Coveralls API.")
+ (home-page "https://coveralls.io")
+ (license license:expat)))
+
+(define-public ruby-crack
+ (package
+ (name "ruby-crack")
+ (version "0.4.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "crack" version))
+ (sha256
+ (base32
+ "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (zero? (length
+ (filter (lambda (file)
+ (display file)(display "\n")
+ (not (zero? (system* "ruby" file))))
+ (find-files "spec" ".*rb$")))))))))
+ (propagated-inputs
+ `(("ruby-safe-yaml" ,ruby-safe-yaml)))
+ (synopsis
+ "Really simple JSON and XML parsing, ripped from Merb and Rails.")
+ (description
+ "Really simple JSON and XML parsing, ripped from Merb and Rails.")
+ (home-page "http://github.com/jnunemaker/crack")
+ (license license:expat)))
+
(define-public ruby-czmq-ffi-gen
(package
(name "ruby-czmq-ffi-gen")
@@ -862,6 +1214,28 @@ support for security mechanisms.")
(home-page "https://github.com/paddor/cztop")
(license license:isc)))
+(define-public ruby-descendants-tracker
+ (package
+ (name "ruby-descendants-tracker")
+ (version "0.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "descendants_tracker" version))
+ (sha256
+ (base32
+ "15q8g3fcqyb41qixn6cky0k3p86291y7xsh1jfd851dvrza1vi79"))))
+ (build-system ruby-build-system)
+ (propagated-inputs
+ `(("ruby-thread-safe" ,ruby-thread-safe)))
+ (synopsis
+ "Module that adds descendant tracking to a class")
+ (description
+ "Module that adds descendant tracking to a class")
+ (home-page
+ "https://github.com/dkubb/descendants_tracker")
+ (license license:expat)))
+
(define-public ruby-saikuro-treemap
(package
(name "ruby-saikuro-treemap")
@@ -940,6 +1314,59 @@ support.")
(home-page "http://www.kuwata-lab.com/erubis/")
(license license:expat)))
+(define-public ruby-execjs
+ (package
+ (name "ruby-execjs")
+ (version "2.7.0")
+ (source
+ (origin
+ (method url-fetch)
+ ;; fetch from github as the gem does not contain testing code
+ (uri (string-append "https://github.com/rails/execjs/archive/v"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0h1bi96gks205pz2mn2zwldz8h0ajwggyi85bwfbksmrsn2lwick"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; tests require ruby-therubyracer and thus v8.
+ (native-inputs
+ `(("bundler" ,bundler)))
+ (synopsis
+ "ExecJS lets you run JavaScript code from Ruby.")
+ (description
+ "ExecJS lets you run JavaScript code from Ruby.")
+ (home-page "https://github.com/rails/execjs")
+ (license license:expat)))
+
+(define-public ruby-event-bus
+ (package
+ (name "ruby-event-bus")
+ (version "0.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "event-bus" version))
+ (sha256
+ (base32
+ "0bqcznr15q1346avpddnyd9144hqdww86yfpb4jayaj6lm0fqwyq"))))
+ (build-system ruby-build-system)
+ (arguments
+ ;; disable testing to break the cycle with aruba. Instead simply test that
+ ;; the library can be require'd.
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (zero? (system* "ruby" "-Ilib" "-r" "event/bus")))))))
+ (synopsis
+ "This gem notifies subscribers about event")
+ (description
+ "This gem notifies subscribers about event")
+ (home-page
+ "https://github.com/cucumber/event-bus")
+ (license license:expat)))
+
(define-public ruby-orderedhash
(package
(name "ruby-orderedhash")
@@ -1007,6 +1434,63 @@ Ruby.")
(home-page "https://github.com/maik/xml-simple")
(license license:ruby)))
+(define-public ruby-therubyracer
+ (package
+ (name "ruby-therubyracer")
+ (version "0.12.2")
+ (source
+ (origin
+ (method url-fetch)
+ ;; Build from GitHub source so that patches can be applied.
+ (uri (string-append "https://github.com/cowboyd/therubyracer/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0vyiacgg0hngl3gxh7n5lvskac5ms2rcbjrixj4mc8c2adhmqj1a"))
+ (patches (search-patches "ruby-therubyracer-fix-gemspec.patch"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:test-target "spec"
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'extract-gemspec)
+ (add-before 'build 'fix-gemfile
+ (lambda _
+ (substitute* "Gemfile"
+ (("redjs.*") "redjs'\n")
+ ((".*gem-compiler.*") "\n"))
+ #t))
+ (add-before 'install 'prepare-libv8
+ ;; Since therubyracer requires 'libv8' when compiling native
+ ;; extensions during installation, it must be installed into the same
+ ;; gem directory. We make 'libv8' a native input and copy the entire
+ ;; libv8 gem directory into the the current output and install
+ ;; therubyracer into that.
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (copy-recursively
+ (assoc-ref inputs "ruby-libv8")
+ (assoc-ref outputs "out"))
+ #t))
+ (add-before 'check 'compile
+ (lambda _
+ (zero? (system* "rake" "compile")))))))
+ (propagated-inputs
+ `(("ruby-ref" ,ruby-ref)))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-redjs" ,ruby-redjs)
+ ("ruby-rspec" ,ruby-rspec-2)
+ ("ruby-rake-compiler" ,ruby-rake-compiler)
+ ("ruby-libv8" ,ruby-libv8)))
+ (synopsis
+ "Call JavaScript code and manipulate JavaScript objects from Ruby. Call Ruby code and manipulate Ruby objects from JavaScript.")
+ (description
+ "Call JavaScript code and manipulate JavaScript objects from Ruby. Call Ruby code and manipulate Ruby objects from JavaScript.")
+ (home-page
+ "http://github.com/cowboyd/therubyracer")
+ (license license:expat)))
+
(define-public ruby-thor
(package
(name "ruby-thor")
@@ -1176,6 +1660,98 @@ standard output stream.")
(home-page "https://github.com/geemus/formatador")
(license license:expat)))
+(define-public ruby-fuubar
+ (package
+ (name "ruby-fuubar")
+ (version "2.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ ;; The gem does not include files required for testing.
+ (uri (string-append "https://github.com/thekompanee/fuubar/archive/releases/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1363fy7x12srr51cy5x1xkf9z7jlzzlwpsifwgx6bivnp6lar3ny"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f ; some tests fail when running (zero? (system* "rspec"
+ ; "-Ilib" "spec")) inside the container, but seem to work outside.
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'delete-certificate
+ (lambda _
+ ;; Remove 's.cert_chain' as we do not build with a private key
+ (substitute* "fuubar.gemspec"
+ ((".*cert_chain.*") "")
+ ((".*signing_key.*") ""))
+ #t)))))
+ (native-inputs
+ `(("bundler" ,bundler)))
+ (propagated-inputs
+ `(("ruby-rspec" ,ruby-rspec)
+ ("ruby-ruby-progressbar" ,ruby-ruby-progressbar)))
+ (synopsis
+ "the instafailing RSpec progress bar formatter")
+ (description
+ "the instafailing RSpec progress bar formatter")
+ (home-page
+ "https://github.com/thekompanee/fuubar")
+ (license license:expat)))
+
+(define-public ruby-hashdiff
+ (package
+ (name "ruby-hashdiff")
+ (version "0.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "hashdiff" version))
+ (sha256
+ (base32
+ "1r06gar8zp4hyzyc0ky7n6mybjj542lrfda5y78fm5hyhiplv104"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f
+ #:test-target "spec"))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec-2)))
+ (synopsis
+ " HashDiff is a diff lib to compute the smallest difference between two hashes. ")
+ (description
+ " HashDiff is a diff lib to compute the smallest difference between two hashes. ")
+ (home-page
+ "https://github.com/liufengyun/hashdiff")
+ (license license:expat)))
+
+(define-public ruby-httparty
+ (package
+ (name "ruby-httparty")
+ (version "0.16.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "httparty" version))
+ (sha256
+ (base32
+ "1zsc40nrg5fbaabbjcklnrgwgg6qdqycvg5sq8iahp1v8jxfarzw"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:test-target "spec"))
+ (propagated-inputs
+ `(("ruby-multi-xml" ,ruby-multi-xml)))
+ (native-inputs
+ `(("ruby-cucumber" ,ruby-cucumber)))
+ (synopsis
+ "Makes http fun! Also, makes consuming restful web services dead easy.")
+ (description
+ "Makes http fun! Also, makes consuming restful web services dead easy.")
+ (home-page
+ "http://jnunemaker.github.com/httparty")
+ (license license:expat)))
+
(define-public ruby-shindo
(package
(name "ruby-shindo")
@@ -1430,6 +2006,33 @@ assertion messages for tests.")
(home-page "https://github.com/k-tsj/power_assert")
(license (list license:bsd-2 license:ruby))))
+(define-public ruby-powerpack
+ (package
+ (name "ruby-powerpack")
+ (version "0.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "powerpack" version))
+ (sha256
+ (base32
+ "1fnn3fli5wkzyjl4ryh0k90316shqjfnhydmc7f8lqpi0q21va43"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f
+ #:test-target "spec"))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec)
+ ("ruby-yard" ,ruby-yard)))
+ (synopsis
+ "A few useful extensions to core Ruby classes.")
+ (description
+ "This package provides a few useful extensions to core Ruby classes.")
+ (home-page
+ "https://github.com/bbatsov/powerpack")
+ (license license:expat)))
+
(define-public ruby-locale
(package
(name "ruby-locale")
@@ -1502,6 +2105,33 @@ use GNU gettext tools for maintenance.")
(home-page "https://ruby-gettext.github.com/")
(license (list license:lgpl3+ license:ruby))))
+(define-public ruby-github-api
+ (package
+ (name "ruby-github-api")
+ (version "0.18.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "github_api" version))
+ (sha256
+ (base32
+ "04x8mlvinl17wfw6r71c9jbh7g78ziiwvsqv20ylyjzybr7x0w6s"))))
+ (build-system ruby-build-system)
+ (propagated-inputs
+ `(("ruby-addressable" ,ruby-addressable)
+ ("ruby-descendants-tracker"
+ ,ruby-descendants-tracker)
+ ("ruby-faraday" ,ruby-faraday)
+ ("ruby-hashie" ,ruby-hashie)
+ ("ruby-oauth2" ,ruby-oauth2)))
+ (synopsis
+ " Ruby client that supports all of the GitHub API methods. It's build in a modular way, that is, you can either instantiate the whole api wrapper Github.new or use parts of it e.i. Github::Client::Repos.new if working solely with repositories is your main concern. Intuitive query methods allow you easily call API endpoints. ")
+ (description
+ " Ruby client that supports all of the GitHub API methods. It's build in a modular way, that is, you can either instantiate the whole api wrapper Github.new or use parts of it e.i. Github::Client::Repos.new if working solely with repositories is your main concern. Intuitive query methods allow you easily call API endpoints. ")
+ (home-page
+ "http://piotrmurach.github.io/github/")
+ (license license:expat)))
+
(define-public ruby-packnga
(package
(name "ruby-packnga")
@@ -1552,6 +2182,43 @@ It allows writing tests, checking results and automated testing in Ruby.")
(home-page "https://test-unit.github.io/")
(license (list license:psfl license:ruby))))
+(define-public ruby-maruku
+ (package
+ (name "ruby-maruku")
+ (version "0.7.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "maruku" version))
+ (sha256
+ (base32
+ "1r7bxpgnx2hp3g12bjrmdrpv663dfqxsdp0af69kjhxmaxpia56x"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(;; TODO: 3 tests seem to fail due to HTML encoding issues
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (if tests?
+ (invoke "rspec")
+ #t))))))
+ (native-inputs
+ `(("ruby-rspec" ,ruby-rspec)
+ ("ruby-simplecov" ,ruby-simplecov)
+ ("ruby-nokogiri-diff" ,ruby-nokogiri-diff)))
+ (synopsis
+ "Maruku is a Markdown interpreter in Ruby.
+ It features native export to HTML and PDF (via Latex). The
+ output is really beautiful!")
+ (description
+ "Maruku is a Markdown interpreter in Ruby.
+ It features native export to HTML and PDF (via Latex). The
+ output is really beautiful!")
+ (home-page "http://github.com/bhollis/maruku")
+ (license license:expat)))
+
(define-public ruby-metaclass
(package
(name "ruby-metaclass")
@@ -1587,6 +2254,49 @@ objects.")
(home-page "https://github.com/floehopper/metaclass")
(license license:expat)))
+(define-public ruby-mysql2
+ (package
+ (name "ruby-mysql2")
+ (version "0.5.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/brianmario/mysql2/archive/"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "063qm7m43fjnwizbg2avv2byvkpwsxcnhjyvci1q2s1zcmys211s"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(;; TODO: Tests require a running MySQL/MariaDB service
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'replace-git-ls-files
+ (lambda _
+ (substitute* "mysql2.gemspec"
+ (("git ls-files") "echo"))))
+ (add-before 'build 'compile
+ (lambda _
+ (invoke "rake" "compile")))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (if tests?
+ (invoke "rspec" "-Ilib" "-Iext")
+ #t))))))
+ (inputs
+ `(("mariadb" ,mariadb)))
+ (native-inputs
+ `(("ruby-rspec" ,ruby-rspec)
+ ("ruby-rake-compiler" ,ruby-rake-compiler)))
+ (synopsis
+ "A simple, fast Mysql library for Ruby, binding to libmysql")
+ (description
+ "This package provides a simple, fast Mysql library for Ruby, binding to libmysql")
+ (home-page
+ "https://github.com/brianmario/mysql2")
+ (license license:expat)))
+
(define-public ruby-blankslate
(package
(name "ruby-blankslate")
@@ -1643,6 +2353,66 @@ irb's last-word approach.")
(home-page "http://tagaholic.me/bond/")
(license license:expat)))
+(define-public ruby-idn-ruby
+ (package
+ (name "ruby-idn-ruby")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "idn-ruby" version))
+ (sha256
+ (base32
+ "07vblcyk3g72sbq12xz7xj28snpxnh3sbcnxy8bglqbfqqhvmawr"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-Rakefile
+ (lambda _
+ (substitute* "Rakefile"
+ (("rake/rdoctask")
+ "rdoc/task"))
+ #t))
+ (add-before 'build 'run-extconf.rb
+ (lambda _
+ (with-directory-excursion "ext"
+ (invoke "ruby" "extconf.rb")
+ (invoke "make"))))
+ (replace 'check
+ (lambda _
+ (unless (zero?
+ (system "ruby --verbose -Iext test/*.rb"))
+ (error "test failure"))
+ #t)))))
+ (inputs
+ `(("libidn" ,libidn)))
+ (synopsis
+ "
+ Ruby Bindings for the GNU LibIDN library, an implementation of the
+ Stringprep, Punycode and IDNA specifications defined by the IETF
+ Internationalized Domain Names (IDN) working group.
+
+ Included are the most important parts of the Stringprep, Punycode
+ and IDNA APIs like performing Stringprep processings, encoding to
+ and decoding from Punycode strings and converting entire domain names
+ to and from the ACE encoded form.
+ ")
+ (description
+ "
+ Ruby Bindings for the GNU LibIDN library, an implementation of the
+ Stringprep, Punycode and IDNA specifications defined by the IETF
+ Internationalized Domain Names (IDN) working group.
+
+ Included are the most important parts of the Stringprep, Punycode
+ and IDNA APIs like performing Stringprep processings, encoding to
+ and decoding from Punycode strings and converting entire domain names
+ to and from the ACE encoded form.
+ ")
+ (home-page
+ "http://github.com/deepfryed/idn-ruby")
+ (license #f)))
+
(define-public ruby-instantiator
(package
(name "ruby-instantiator")
@@ -2095,6 +2865,34 @@ instance, it provides @code{assert_true}, @code{assert_false} and
(home-page "https://github.com/halostatue/minitest-bonus-assertions")
(license license:expat)))
+(define-public ruby-minitest-reporters
+ (package
+ (name "ruby-minitest-reporters")
+ (version "1.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "minitest-reporters" version))
+ (sha256
+ (base32
+ "0xc7cs65yjslz9zg8mm0y29wpf7s1h5yzixgyjs5gvlr8c81carn"))))
+ (build-system ruby-build-system)
+ (propagated-inputs
+ `(("ruby-ansi" ,ruby-ansi)
+ ("ruby-builder" ,ruby-builder)
+ ("ruby-minitest" ,ruby-minitest)
+ ("ruby-ruby-progressbar" ,ruby-ruby-progressbar)))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-maruku" ,ruby-maruku)))
+ (synopsis
+ "Death to haphazard monkey-patching! Extend Minitest through simple hooks.")
+ (description
+ "Death to haphazard monkey-patching! Extend Minitest through simple hooks.")
+ (home-page
+ "https://github.com/CapnKernul/minitest-reporters")
+ (license license:expat)))
+
(define-public ruby-minitest-rg
(package
(name "ruby-minitest-rg")
@@ -2186,6 +2984,53 @@ URIs using the normal URI.parse method.")
(home-page "https://github.com/dball/data_uri")
(license license:expat)))
+(define-public ruby-duktape
+ (package
+ (name "ruby-duktape")
+ (version "1.3.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ ;; fetch from github as the gem does not contain testing code
+ (uri (string-append "https://github.com/judofyr/duktape.rb/archive/v"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1xgs7ll9xwm5p451mh70cm5646wijc2jdvjdb81a17wwvccf7djw"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ ;; Duktape comes with the duktape .c and .h files. Replace these with
+ ;; those from the duktape Guix package.
+ (add-after 'unpack 'replace-bundled-duktape
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (for-each (lambda (file)
+ (delete-file (string-append "ext/duktape/" file))
+ (copy-file
+ (string-append
+ (assoc-ref inputs "duktape") "/src/" file)
+ (string-append "ext/duktape/" file)))
+ (list "duktape.c" "duktape.h"))))
+ (add-before 'check 'remove-dependency
+ (lambda _
+ ;; Gem is not needed for testing.
+ (substitute* "Gemfile"
+ (("^ gem 'aws-sdk', '~> 2.2.0'") ""))
+ #t)))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rake-compiler" ,ruby-rake-compiler)
+ ("ruby-sdoc" ,ruby-sdoc)
+ ("duktape" ,duktape)))
+ (synopsis "Bindings to the Duktape JavaScript interpreter")
+ (description
+ "Bindings to the Duktape JavaScript interpreter")
+ (home-page
+ "https://github.com/judofyr/duktape.rb")
+ (license license:expat)))
+
(define-public ruby-git
(package
(name "ruby-git")
@@ -2338,13 +3183,13 @@ rogue test/unit/autorun requires.")
(define-public ruby-arel
(package
(name "ruby-arel")
- (version "8.0.0")
+ (version "9.0.0")
(source (origin
(method url-fetch)
(uri (rubygems-uri "arel" version))
(sha256
(base32
- "0nw0qbc6ph625p6n3maqq9f527vz3nbl0hk72fbyka8jzsmplxzl"))))
+ "1jk7wlmkr61f6g36w9s2sn46nmdg6wn2jfssrhbhirv5x9n95nk0"))))
(build-system ruby-build-system)
(arguments '(#:tests? #f)) ; no tests
(home-page "https://github.com/rails/arel")
@@ -2354,6 +3199,29 @@ Ruby. It simplifies the generation of complex SQL queries and adapts to
various relational database implementations.")
(license license:expat)))
+(define-public ruby-marcel
+ (package
+ (name "ruby-marcel")
+ (version "0.3.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "marcel" version))
+ (sha256
+ (base32
+ "1nxbjmcyg8vlw6zwagf17l9y2mwkagmmkg95xybpn4bmf3rfnksx"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("ruby-mimemagic" ,ruby-mimemagic)))
+ (synopsis
+ "Simple mime type detection using magic numbers, filenames, and extensions")
+ (description
+ "Simple mime type detection using magic numbers, filenames, and extensions")
+ (home-page "https://github.com/basecamp/marcel")
+ (license license:expat)))
+
(define-public ruby-minitar
;; We package from the GitHub source to fix the security issue reported at
;; https://github.com/halostatue/minitar/issues/16.
@@ -2505,6 +3373,62 @@ for select languages.")
(home-page "http://coderay.rubychan.de")
(license license:expat)))
+(define-public ruby-parser
+ (package
+ (name "ruby-parser")
+ (version "2.3.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "parser" version))
+ (sha256
+ (base32
+ "0fxcs83z28wxn6bphbq5q40c1y5ab8zl8ww17jwkbi032wf6iik6"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; need more
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-racc" ,ruby-racc)))
+ (propagated-inputs `(("ruby-ast" ,ruby-ast)))
+ (synopsis "A Ruby parser written in pure Ruby.")
+ (description
+ "This package provides a Ruby parser written in pure Ruby.")
+ (home-page
+ "https://github.com/whitequark/parser")
+ (license license:expat)))
+
+(define-public ruby-prawn-manual-builder
+ (package
+ (name "ruby-prawn-manual-builder")
+ (version "0.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "prawn-manual_builder" version))
+ (sha256
+ (base32
+ "0wbjnkqp55p5wmz85ldypcray223glckd209hmdxhnzk8s5pb3za"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(;; No included tests
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'extract-gemspec 'patch-gemspec
+ (lambda _
+ (substitute* ".gemspec"
+ ;; Loosen the requirement for pdf-inspector
+ (("~> 1\\.0\\.7") ">= 0")))))))
+ (propagated-inputs
+ `(("ruby-coderay" ,ruby-coderay)))
+ (synopsis
+ "A tool for writing manuals for Prawn and Prawn accessories")
+ (description
+ "This package provides a tool for writing manuals for Prawn and Prawn accessories")
+ (home-page "")
+ (license (list #f #f #f))))
+
(define-public ruby-progress_bar
(package
(name "ruby-progress_bar")
@@ -2536,6 +3460,34 @@ rate.")
(home-page "https://github.com/paul/progress_bar")
(license license:wtfpl2)))
+(define-public ruby-ruby-progressbar
+ (package
+ (name "ruby-ruby-progressbar")
+ (version "1.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "ruby-progressbar" version))
+ (sha256
+ (base32
+ "1igh1xivf5h5g3y5m9b4i4j2mhz2r43kngh4ww3q1r80ch21nbfk"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; Tests require further dependencies such as 'rspectacular'.
+ (synopsis
+ "Ruby/ProgressBar is an extremely flexible text progress bar library for Ruby.
+The output can be customized with a flexible formatting system including:
+percentage, bars of various formats, elapsed time and estimated time remaining.
+")
+ (description
+ "Ruby/ProgressBar is an extremely flexible text progress bar library for Ruby.
+The output can be customized with a flexible formatting system including:
+percentage, bars of various formats, elapsed time and estimated time remaining.
+")
+ (home-page
+ "https://github.com/jfelchner/ruby-progressbar")
+ (license license:expat)))
+
(define-public ruby-pry
(package
(name "ruby-pry")
@@ -2560,6 +3512,34 @@ invocation, and source and documentation browsing.")
(home-page "https://pryrepl.org")
(license license:expat)))
+(define-public ruby-psych
+ (package
+ (name "ruby-psych")
+ (version "3.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "psych" version))
+ (sha256
+ (base32
+ "0g9yrzzfza5yjfnn4pkykr71fhpayahvimvyyv8xi3i34a03v9xg"))))
+ (build-system ruby-build-system)
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rake-compiler" ,ruby-rake-compiler)))
+ (synopsis
+ "Psych is a YAML parser and emitter. Psych leverages libyaml[http://pyyaml.org/wiki/LibYAML]
+for its YAML parsing and emitting capabilities. In addition to wrapping libyaml,
+Psych also knows how to serialize and de-serialize most Ruby objects to and from the YAML format.
+")
+ (description
+ "Psych is a YAML parser and emitter. Psych leverages libyaml[http://pyyaml.org/wiki/LibYAML]
+for its YAML parsing and emitting capabilities. In addition to wrapping libyaml,
+Psych also knows how to serialize and de-serialize most Ruby objects to and from the YAML format.
+")
+ (home-page "https://github.com/ruby/psych")
+ (license license:expat)))
+
(define-public ruby-guard
(package
(name "ruby-guard")
@@ -2608,6 +3588,72 @@ file or directories are modified.")
(home-page "http://guardgem.org/")
(license license:expat)))
+(define-public ruby-tilt
+ (package
+ (name "ruby-tilt")
+ (version "2.0.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "tilt" version))
+ (sha256
+ (base32
+ "0lgk8bfx24959yq1cn55php3321wddw947mgj07bxfnwyipy9hqf"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; There are a number of unpackaged dependencies e.g. kramdown.
+ ;; (native-inputs
+ ;; `(("bundler" ,bundler)
+ ;; ("ruby-yard" ,ruby-yard)
+ ;; ("ruby-asciidoctor" ,ruby-asciidoctor)
+ ;; ("ruby-builder" ,ruby-builder)
+ ;; ("ruby-coffee-script" ,ruby-coffee-script)
+ ;; ("ruby-contest" ,ruby-contest)
+ ;; ("ruby-creole" ,ruby-creole)
+ ;; ("ruby-erubis" ,ruby-erubis)
+ ;; ("ruby-haml" ,ruby-haml); do we really need haml <4 ?
+ ;; ("ruby-kramdown" ,ruby-kramdown)))
+ (synopsis
+ "Generic interface to multiple Ruby template engines")
+ (description
+ "Generic interface to multiple Ruby template engines")
+ (home-page "http://github.com/rtomayko/tilt/")
+ (license license:expat)))
+
+(define-public ruby-thread-order
+ (package
+ (name "ruby-thread-order")
+ (version "1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "thread_order" version))
+ (sha256
+ (base32
+ "1n8zs3m7na5jmpf0pw0z79vg0x0lfzajpynp28zb43l89l00qcfi"))))
+ (build-system ruby-build-system)
+ (native-inputs
+ `(("ruby-rspec" ,ruby-rspec)))
+ (arguments
+ '(;; TODO: 1 test fails
+ ;; 1) ThreadOrder is implemented without depending on the stdlib
+ ;; Failure/Error: expect(loaded_filenames).to_not include 'monitor.rb'
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (if tests?
+ (invoke "rspec")
+ #t))))))
+ (synopsis
+ "Test helper for ordering threaded code (does not depend on gems or stdlib, tested on 1.8.7 - 2.2, rbx, jruby).")
+ (description
+ "Test helper for ordering threaded code (does not depend on gems or stdlib, tested on 1.8.7 - 2.2, rbx, jruby).")
+ (home-page
+ "https://github.com/JoshCheek/thread_order")
+ (license license:expat)))
+
(define-public ruby-thread-safe
(package
(name "ruby-thread-safe")
@@ -2628,6 +3674,29 @@ utilities for Ruby.")
(home-page "https://github.com/ruby-concurrency/thread_safe")
(license license:asl2.0)))
+(define-public ruby-truthy
+ (package
+ (name "ruby-truthy")
+ (version "1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "truthy" version))
+ (sha256
+ (base32
+ "19silgd65j3qwfk5w891p9wcmzdmi9ddm2kg5zbvvqn2h9lkfzmd"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; Files required for testing are not in gem, and homepage
+ ; has disappeared.
+ (propagated-inputs `(("ruby-hoe" ,ruby-hoe)))
+ (synopsis
+ "Easily get truthiness values of Ruby objects")
+ (description
+ "Easily get truthiness values of Ruby objects")
+ (home-page "https://rubygems.org/gems/truthy")
+ (license #f)))
+
(define-public ruby-tzinfo
(package
(name "ruby-tzinfo")
@@ -2965,6 +4034,47 @@ when working with Ruby code.")
;; There is no mention of the "or later" clause.
(license license:gpl2)))
+(define-public ruby-jeweler
+ (package
+ (name "ruby-jeweler")
+ (version "2.3.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "jeweler" version))
+ (sha256
+ (base32
+ "0jbivh9vf9wm91kwjnlcvswqyk2g24bnxj9gavinx9jh4bphagi5"))))
+ (build-system ruby-build-system)
+ (propagated-inputs
+ `(("ruby-builder" ,ruby-builder)
+ ("bundler" ,bundler)
+ ("ruby-git" ,ruby-git)
+ ("ruby-github-api" ,ruby-github-api)
+ ("ruby-highline" ,ruby-highline)
+ ("ruby-nokogiri" ,ruby-nokogiri)
+ ("ruby-psych" ,ruby-psych)
+ ("ruby-rake" ,ruby-rake)
+ ("ruby-rdoc" ,ruby-rdoc)
+ ("ruby-semver2" ,ruby-semver2)))
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'delete-Gemfile.lock
+ (lambda _
+ ;; Bundler isn't being used for fetching dependendencies, so
+ ;; delete the Gemfile.lock
+ (delete-file "Gemfile.lock")
+ #t
+ )))))
+ (synopsis
+ "Simple and opinionated helper for creating Rubygem projects on GitHub")
+ (description
+ "Simple and opinionated helper for creating Rubygem projects on GitHub")
+ (home-page
+ "http://github.com/technicalpickles/jeweler")
+ (license license:expat)))
+
(define-public ruby-json
(package
(name "ruby-json")
@@ -3010,7 +4120,15 @@ a native C extension.")
(lambda _
;; Regenerate gemspec so loosened dependency constraints are
;; propagated.
- (invoke "rake" "gemspec"))))))
+ (invoke "rake" "gemspec")))
+ (add-after 'regenerate-gemspec 'fix-json-java.gemspec
+ (lambda _
+ ;; This gemspec doesn't look to be generated by the above
+ ;; command, so patch it separately.
+ (substitute* "json-java.gemspec"
+ (("%q<test-unit>\\.freeze, \\[\"~> 2\\.0\"\\]")
+ "%q<test-unit>.freeze, [\">= 2.0\"]"))
+ #t)))))
(native-inputs
`(("bundler" ,bundler)
("ragel" ,ragel)
@@ -3044,6 +4162,71 @@ a native C extension.")
(home-page "https://rubygems.org/gems/rb-fsevent")
(license license:expat)))
+(define-public ruby-libv8
+ (package
+ (name "ruby-libv8")
+ (version "6.7.288.46.0") ; Package an even-numbered release so only source
+ ; code it included and not binaries.
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "libv8" version))
+ (sha256
+ (base32
+ "1f1gd8n8yrnd2d2bmlbcm1qgfpw050087y8gq4z72cj8mal60k3f"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:test-target "spec"
+ ;#:gem-flags (list "--" "--with-system-v8")
+ #:phases
+ (modify-phases %standard-phases
+ ;; Non-printing characters trip up this build phase and it isn't used
+ ;; anyway.
+ ;(delete 'extract-gemspec)
+ ;; (replace 'replace-git-ls-files
+ ;; (lambda _
+ ;; (substitute* "libv8.gemspec"
+ ;; (("git ls-files") "find . -type f |sort"))
+ ;; #t))
+ (add-after 'extract-gemspec 'fix-dependencies
+ (lambda _
+ ;; Remove non-printing character that trips up substitute*
+ (system* "sed" "s/ stub.*//" "-i" "libv8.gemspec")
+ ;;(delete-file-recursively "vendor")
+ (substitute* "libv8.gemspec"
+ ;; (("<rake>.*") "<rake>)\n")
+ (("<rake-compiler>.*") "<rake-compiler>)\n")
+ ((", \\\"vendor.*") "]\n")
+ ) ; Do not distribute
+ ; depot_tools as this includes pre-built
+ ; binaries.
+
+ #t))
+ )))
+ ;; (Add-after 'install 'remove-extraneous-files
+ ;; (lambda* (#:key outputs #:allow-other-keys)
+ ;; (delete-file-recursively
+ ;; (string-append
+ ;; (assoc-ref outputs "out")
+ ;; ;; TODO: Generalise this path.
+ ;; "/lib/ruby/gems/2.3.0/gems/libv8-5.2.361.43.1/vendor")))))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rake" ,ruby-rake)
+ ("ruby-rake-compiler" ,ruby-rake-compiler)
+ ("ruby-rspec" ,ruby-rspec)
+ ("ruby-rspec-spies" ,ruby-rspec-spies)
+ ("which" ,which)
+ ("python" ,python-2)))
+ (synopsis
+ "Distributes the V8 JavaScript engine in binary and source forms in order
+to support fast builds of The Ruby Racer")
+ (description
+ "Distributes the V8 JavaScript engine in binary and source forms in order
+to support fast builds of The Ruby Racer")
+ (home-page "http://github.com/cowboyd/libv8")
+ (license license:expat)))
+
(define-public ruby-listen
(package
(name "ruby-listen")
@@ -3051,31 +4234,106 @@ a native C extension.")
(source
(origin
(method url-fetch)
- (uri (rubygems-uri "listen" version))
+ ;; The gem does not include a Rakefile, so we fetch the tarball from
+ ;; Github.
+ (uri (string-append "https://github.com/guard/listen/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx"))))
+ "0f0mx4nzpd17svvmkcb2q66w3gdvs1zkrpc0p3wq1s2va5b5cnss"))
+ (patches (search-patches "ruby-listen-patch-gemspec.patch"))))
(build-system ruby-build-system)
- (arguments '(#:tests? #f)) ; no tests
+ (arguments
+ `(#:test-target "spec"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'fix-dependencies'
+ (lambda _
+ (substitute* "Rakefile"
+ ((".*rubocop.*") ""))
+ #t)))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec)
+ ("ruby-coveralls" ,ruby-coveralls)))
(propagated-inputs
- `(("ruby-rb-inotify" ,ruby-rb-inotify)
- ("ruby-rb-fsevent" ,ruby-rb-fsevent)))
- (synopsis "Listen to file modifications")
- (description "The Listen gem listens to file modifications and notifies
-you about the changes.")
+ `(("ruby-rb-fsevent" ,ruby-rb-fsevent)
+ ("ruby-rb-inotify" ,ruby-rb-inotify)
+ ("ruby-ruby-dep" ,ruby-ruby-dep)))
+ (synopsis
+ "The Listen gem listens to file modifications and notifies you about the changes. Works everywhere!")
+ (description
+ "The Listen gem listens to file modifications and notifies you about the changes. Works everywhere!")
(home-page "https://github.com/guard/listen")
(license license:expat)))
(define-public ruby-listen-3.0
(package
(inherit ruby-listen)
+ (name "ruby-listen")
(version "3.0.8")
- (source (origin
- (method url-fetch)
- (uri (rubygems-uri "listen" version))
- (sha256
- (base32
- "1l0y7hbyfiwpvk172r28hsdqsifq1ls39hsfmzi1vy4ll0smd14i"))))))
+ (source
+ (origin
+ (method url-fetch)
+ ;; The gem does not include a Rakefile, so we fetch the tarball from
+ ;; Github.
+ (uri (string-append "https://github.com/guard/listen/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "06cy038xlbi8hcr9nv0c9wvafi7s3d05sdc7ydkv8qndi9bs68l3"))
+ (patches (search-patches "ruby-listen-3.0.8-patch-gemspec.patch"))))))
+
+(define-public ruby-loofah
+ (package
+ (name "ruby-loofah")
+ (version "2.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "loofah" version))
+ (sha256
+ (base32
+ "109ps521p0sr3kgc460d58b4pr1z4mqggan2jbsf0aajy9s6xis8"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; 1 test fails
+ (native-inputs
+ `(("ruby-hoe" ,ruby-hoe)
+ ("ruby-rr" ,ruby-rr)))
+ (propagated-inputs
+ `(("ruby-nokogiri" ,ruby-nokogiri)))
+ (synopsis
+ "Loofah is a general library for manipulating and transforming HTML/XML
+documents and fragments. It's built on top of Nokogiri and libxml2, so
+it's fast and has a nice API.
+
+Loofah excels at HTML sanitization (XSS prevention). It includes some
+nice HTML sanitizers, which are based on HTML5lib's whitelist, so it
+most likely won't make your codes less secure. (These statements have
+not been evaluated by Netexperts.)
+
+ActiveRecord extensions for sanitization are available in the
+`loofah-activerecord` gem (see
+https://github.com/flavorjones/loofah-activerecord).")
+ (description
+ "Loofah is a general library for manipulating and transforming HTML/XML
+documents and fragments. It's built on top of Nokogiri and libxml2, so
+it's fast and has a nice API.
+
+Loofah excels at HTML sanitization (XSS prevention). It includes some
+nice HTML sanitizers, which are based on HTML5lib's whitelist, so it
+most likely won't make your codes less secure. (These statements have
+not been evaluated by Netexperts.)
+
+ActiveRecord extensions for sanitization are available in the
+`loofah-activerecord` gem (see
+https://github.com/flavorjones/loofah-activerecord).")
+ (home-page
+ "https://github.com/flavorjones/loofah")
+ (license license:expat)))
(define-public ruby-activesupport
(package
@@ -3099,7 +4357,7 @@ you about the changes.")
(propagated-inputs
`(("ruby-concurrent" ,ruby-concurrent)
("ruby-i18n" ,ruby-i18n)
- ("ruby-minitest" ,ruby-minitest)
+ ;("ruby-minitest" ,ruby-minitest)
("ruby-tzinfo" ,ruby-tzinfo)
("ruby-tzinfo-data" ,ruby-tzinfo-data)))
(synopsis "Ruby on Rails utility library")
@@ -3478,6 +4736,41 @@ differences (added or removed nodes) between two XML/HTML documents.")
(home-page "https://github.com/postmodern/nokogiri-diff")
(license license:expat))))
+(define-public ruby-racc
+ (package
+ (name "ruby-racc")
+ (version "1.4.14")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "racc" version))
+ (sha256
+ (base32
+ "00yhs2ag7yy5v83mqvkbnhk9bvsh6mx3808k53n61ddzx446v1zl"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; tests fail to compile
+ (native-inputs
+ `(("ruby-hoe" ,ruby-hoe)
+ ("ruby-rake-compiler" ,ruby-rake-compiler)))
+ (synopsis
+ "Racc is a LALR(1) parser generator.
+ It is written in Ruby itself, and generates Ruby program.
+
+ NOTE: Ruby 1.8.x comes with Racc runtime module. You
+ can run your parsers generated by racc 1.4.x out of the
+ box.")
+ (description
+ "Racc is a LALR(1) parser generator.
+ It is written in Ruby itself, and generates Ruby program.
+
+ NOTE: Ruby 1.8.x comes with Racc runtime module. You
+ can run your parsers generated by racc 1.4.x out of the
+ box.")
+ (home-page
+ "http://i.loveruby.net/en/projects/racc/")
+ (license license:expat)))
+
(define-public ruby-rack
(package
(name "ruby-rack")
@@ -3594,6 +4887,200 @@ clickjacking, directory traversal, session hijacking and IP spoofing.")
(home-page "https://github.com/sinatra/sinatra/tree/master/rack-protection")
(license license:expat)))
+(define-public ruby-radius
+ (package
+ (name "ruby-radius")
+ (version "0.7.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "radius" version))
+ (sha256
+ (base32
+ "0n0clzgvxpjm2gjlpz98x6gkw5hb84bmd435a1yaqs3m0k896v5s"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ ;; TODO: There are two .gem files in the source, and the build system
+ ;; seems to get confused, and attempts to remove the wrong one (I
+ ;; think)...
+ ;;
+ ;; For now, workaround the issue, by creating the file the install
+ ;; phase in the build system tries to remove.
+ (add-before 'install 'workaround-gem-removal
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((directory (string-append
+ (assoc-ref outputs "out")
+ "/lib/ruby/vendor_ruby/cache/pkg")))
+ (mkdir-p directory)
+ (with-output-to-file
+ (string-append directory "/radius-0.7.0.prerelease.gem")
+ (lambda _ (display "")))))))))
+ (native-inputs
+ `(("ruby-simplecov" ,ruby-simplecov)
+ ("ruby-kramdown" ,ruby-kramdown)
+ ("ruby-coveralls" ,ruby-coveralls)))
+ (synopsis
+ "Radius is a powerful tag-based template language for Ruby inspired by the template languages used in MovableType and TextPattern. It uses tags similar to XML, but can be used to generate any form of plain text (HTML, e-mail, etc...).")
+ (description
+ "Radius is a powerful tag-based template language for Ruby inspired by the template languages used in MovableType and TextPattern. It uses tags similar to XML, but can be used to generate any form of plain text (HTML, e-mail, etc...).")
+ (home-page "http://github.com/jlong/radius")
+ (license #f)))
+
+(define-public ruby-rainbow
+ (package
+ (name "ruby-rainbow")
+ (version "2.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "rainbow" version))
+ (sha256
+ (base32
+ "11licivacvfqbjx2rwppi8z89qff2cgs67d4wyx42pc5fg7g9f00"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:test-target "spec"))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec)))
+ (synopsis
+ "Colorize printed text on ANSI terminals")
+ (description
+ "Colorize printed text on ANSI terminals")
+ (home-page "https://github.com/sickill/rainbow")
+ (license license:expat)))
+
+(define-public ruby-redjs
+ ;; There are no releases on rubygems and the last git commit was in 2012, so
+ ;; we package that.
+ (let ((commit "0d844f066666f967a78b20beb164c52d9ac3f5ca"))
+ (package
+ (name "ruby-redjs")
+ (version (string-append "0.4.6-1." (string-take commit 8)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cowboyd/redjs.git")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0cl3543xnzfn5qvlwjl2g1gg0jm6mfa75ag9qh89pfay7b0mxz7i"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f ; There are no tests.
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'replace-git-ls-files
+ (lambda _
+ (substitute* "redjs.gemspec"
+ (("git ls-files") "find . -type f |sort"))
+ #t)))))
+ (synopsis "")
+ (description
+ "")
+ (home-page "")
+ (license license:expat)))) ;?
+
+(define-public ruby-rr
+ (package
+ (name "ruby-rr")
+ (version "1.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "rr" version))
+ (sha256
+ (base32
+ "0b05ycaw17wbxzycv1wvzklpqjnmi0dqy01igcl5jfmy1ydky66r"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; test files not included
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec)))
+ (synopsis
+ "RR is a test double framework that features a rich selection of double techniques and a terse syntax.")
+ (description
+ "RR is a test double framework that features a rich selection of double techniques and a terse syntax.")
+ (home-page "https://rr.github.io/rr")
+ (license license:expat)))
+
+(define-public ruby-rubocop
+ (package
+ (name "ruby-rubocop")
+ (version "0.41.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "rubocop" version))
+ (sha256
+ (base32
+ "02adr908a9l8nhdfjz137i20w1dv8mbfiamy0m9z9q0fvslfdxly"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; test files not included
+ (propagated-inputs
+ `(("ruby-parser" ,ruby-parser)
+ ("ruby-powerpack" ,ruby-powerpack)
+ ("ruby-rainbow" ,ruby-rainbow)
+ ("ruby-ruby-progressbar" ,ruby-ruby-progressbar)
+ ("ruby-unicode-display-width"
+ ,ruby-unicode-display-width)))
+ (synopsis
+ " Automatic Ruby code style checking tool.
+ Aims to enforce the community-driven Ruby Style Guide.
+")
+ (description
+ " Automatic Ruby code style checking tool.
+ Aims to enforce the community-driven Ruby Style Guide.
+")
+ (home-page "http://github.com/bbatsov/rubocop")
+ (license license:expat)))
+
+(define-public ruby-rest-client
+ (package
+ (name "ruby-rest-client")
+ (version "1.8.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "rest-client" version))
+ (sha256
+ (base32
+ "1m8z0c4yf6w47iqz6j2p7x1ip4qnnzvhdph9d5fgx081cvjly3p7"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'fix-dependencies
+ (lambda _
+ (substitute* "rest-client.gemspec"
+ ((".*pry.*") "\n"))
+ #t))
+ (add-before 'check 'delete-network-tests
+ (lambda _
+ (delete-file "spec/integration/request_spec.rb")
+ #t)))))
+ (propagated-inputs
+ `(("ruby-http-cookie" ,ruby-http-cookie)
+ ("ruby-mime-types" ,ruby-mime-types)
+ ("ruby-netrc" ,ruby-netrc)))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-webmock", ruby-webmock)
+ ("ruby-rspec", ruby-rspec-2)))
+ (synopsis
+ "A simple HTTP and REST client for Ruby, inspired by the Sinatra microframework style of specifying actions: get, put, post, delete.")
+ (description
+ "A simple HTTP and REST client for Ruby, inspired by the Sinatra microframework style of specifying actions: get, put, post, delete.")
+ (home-page
+ "https://github.com/rest-client/rest-client")
+ (license license:expat)))
+
(define-public ruby-contest
(package
(name "ruby-contest")
@@ -3705,6 +5192,43 @@ and trust on your team.")
(home-page "https://cucumber.io/")
(license license:expat)))
+(define-public ruby-cucumber-core-1
+ (package
+ (inherit ruby-cucumber-core)
+ (version "1.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "cucumber-core" version))
+ (sha256
+ (base32
+ "0qj2fsqvp94nggnikbnrfvnmzr1pl6ifmdsxj69kdw1kkab30jjr"))))))
+
+(define-public ruby-cucumber-wire
+ (package
+ (name "ruby-cucumber-wire")
+ (version "0.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "cucumber-wire" version))
+ (sha256
+ (base32
+ "09ymvqb0sbw2if1nxg8rcj33sf0va88ancq5nmp8g01dfwzwma2f"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(;; This is a small dependency of ruby-cucumber, and requires cucumber
+ ;; in general (e.g. the require 'cucumber/step_argument' in
+ ;; lib/cucumber/wire/protocol/requets.rb), including for the tests.
+ #:tests? #t
+ #:test-target "spec"))
+ (native-inputs
+ `(("bundler" ,bundler)))
+ (synopsis "Wire protocol for Cucumber")
+ (description "Dependency of ruby-cucumber")
+ (home-page "https://github.com/cucumber/cucumber-ruby-wire")
+ (license license:expat)))
+
(define-public ruby-bio-logger
(package
(name "ruby-bio-logger")
@@ -4089,6 +5613,28 @@ neither too verbose nor too minimal.")
(home-page "https://github.com/tpope/fivemat")
(license license:expat)))
+(define-public ruby-semver2
+ (package
+ (name "ruby-semver2")
+ (version "3.4.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "semver2" version))
+ (sha256
+ (base32
+ "1g7w95kckdz00pi3yrvl6ymbnl5dvxcmfb4kkkp888jcq4fawdvg"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(;; No included tests
+ #:tests? #f))
+ (synopsis
+ "maintain versions as per http://semver.org")
+ (description
+ "maintain versions as per http://semver.org")
+ (home-page "https://github.com/haf/semver")
+ (license #f)))
+
(define-public ruby-sqlite3
(package
(name "ruby-sqlite3")
@@ -4264,6 +5810,165 @@ support to both Ruby and JRuby. It uses @code{unf_ext} on CRuby and
(home-page "https://github.com/knu/ruby-unf")
(license license:bsd-2)))
+(define-public ruby-unicode-display-width
+ (package
+ (name "ruby-unicode-display-width")
+ (version "1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "unicode-display_width" version))
+ (sha256
+ (base32
+ "194d70pfxq4d7rrk0vsk1dvj46ns2f350308khi7q5cvnmg3h1xs"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; test data not included in gem.
+ (synopsis
+ "[Unicode 1.1.0] Determines the monospace display width of a string using EastAsianWidth.txt, Unicode general category, and other data.")
+ (description
+ "[Unicode 1.1.0] Determines the monospace display width of a string using EastAsianWidth.txt, Unicode general category, and other data.")
+ (home-page
+ "http://github.com/janlelis/unicode-display_width")
+ (license license:expat)))
+
+(define-public ruby-vcr
+ (package
+ (name "ruby-vcr")
+ (version "3.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "vcr" version))
+ (sha256
+ (base32
+ "1y19gb8vz1rbhx1qhim6kpp0fzksqhd7grb50hmrbjx5h4hc3y0y"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; No Rakefile in gem, and there's likely unpackaged
+ ; dependencies anyway.
+ (synopsis
+ "Record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests.")
+ (description
+ "Record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests.")
+ (home-page "http://vcr.github.io/vcr")
+ (license license:expat)))
+
+(define-public ruby_version ; There is another gem called 'ruby-version' so we
+ ; use an underscore in this name
+ (package
+ (name "ruby_version")
+ (version "1.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "ruby_version" version))
+ (sha256
+ (base32
+ "0854i1bjy56176anr05l5m0vc81nl53c7fyfg7sljj62m1d64dgj"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'fix-dependencies
+ (lambda _
+ (delete-file "Gemfile.lock")
+ (delete-file "pkg/ruby_version-1.0.0.gem")
+ (substitute* "ruby_version.gemspec"
+ ((".*rdoc.*") "\n")
+ (("rake.*") "rake>)\n")
+ ((".*rubygems-tasks.*") "\n"))
+ (substitute* "Rakefile"
+ (("^require 'rubygems/tasks'") "")
+ (("Gem::Tasks.new") ""))
+ #t)))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec-2)
+ ("ruby-rake" ,ruby-rake)))
+ (synopsis
+ "Provides a RubyVersion class to simplify checking for the right Ruby version in your programs.")
+ (description
+ "Provides a RubyVersion class to simplify checking for the right Ruby version in your programs.")
+ (home-page
+ "https://github.com/janlelis/ruby_version")
+ (license license:expat)))
+
+(define-public ruby-webmock
+ (package
+ (name "ruby-webmock")
+ (version "1.22.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "webmock" version))
+ (sha256
+ (base32
+ "0la47vzbikhvnx8qcj8jli87agzzffwh11ggm7rpq43iz2rwp0sl"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("bundler" ,bundler)
+ ("ruby-addressable" ,ruby-addressable)
+ ("ruby-crack" ,ruby-crack)
+ ("ruby-rspec" ,ruby-rspec)
+ ("ruby-hashdiff" ,ruby-hashdiff)))
+ (synopsis
+ "WebMock allows stubbing HTTP requests and setting expectations on HTTP requests.")
+ (description
+ "WebMock allows stubbing HTTP requests and setting expectations on HTTP requests.")
+ (home-page "http://github.com/bblimke/webmock")
+ (license license:expat)))
+
+(define-public ruby-websocket-driver
+ (package
+ (name "ruby-websocket-driver")
+ (version "0.6.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "websocket-driver" version))
+ (sha256
+ (base32
+ "1m37q24mxykvixcj8sv0jz7y2a88spysxg5rp4zf4p1q7mbblshy"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; tests not included
+ (propagated-inputs
+ `(("ruby-websocket-extensions"
+ ,ruby-websocket-extensions)))
+ (synopsis
+ "WebSocket protocol handler with pluggable I/O")
+ (description
+ "WebSocket protocol handler with pluggable I/O")
+ (home-page
+ "http://github.com/faye/websocket-driver-ruby")
+ (license license:expat)))
+
+(define-public ruby-websocket-extensions
+ (package
+ (name "ruby-websocket-extensions")
+ (version "0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "websocket-extensions" version))
+ (sha256
+ (base32
+ "07qnsafl6203a2zclxl20hy4jq11c471cgvd0bj5r9fx1qqw06br"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; tests not included
+ (synopsis
+ "Generic extension manager for WebSocket connections")
+ (description
+ "Generic extension manager for WebSocket connections")
+ (home-page
+ "http://github.com/faye/websocket-extensions-ruby")
+ (license license:expat)))
+
(define-public ruby-domain-name
(package
(name "ruby-domain-name")
@@ -4434,6 +6139,23 @@ device.")
(home-page "https://rubyworks.github.io/ansi")
(license license:bsd-2)))
+(define-public ruby-ansi-to-html
+ (package
+ (name "ruby-ansi-to-html")
+ (version "0.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "ansi-to-html" version))
+ (sha256
+ (base32
+ "0gfvxhdd87kn1ppl8idi7663zqqkwldbbmdhmcimcx7w6hq4nj65"))))
+ (build-system ruby-build-system)
+ (synopsis "ANSI color sequence to HTML")
+ (description "ANSI color sequence to HTML")
+ (home-page "")
+ (license license:expat)))
+
(define-public ruby-systemu
(package
(name "ruby-systemu")
@@ -4842,7 +6564,7 @@ part of the Prawn PDF generator.")
(define-public ruby-puma
(package
(name "ruby-puma")
- (version "3.9.1")
+ (version "3.11.4")
(source
(origin
(method url-fetch)
@@ -4852,7 +6574,7 @@ part of the Prawn PDF generator.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "03pifga841h17brh4vgia8i2ybh3cmsyg0dbybzdf6dq51wzcxdx"))))
+ "1kv2xsv74v7bf8qwsgz439xp7qcx26ms565h1g6x7fm8xbaxl5dj"))))
(build-system ruby-build-system)
(arguments
`(#:tests? #f ; Tests require an out-dated version of minitest.
@@ -5212,7 +6934,40 @@ in standard Ruby syntax.")
"1p3f43scdzx9zxmy2kw5zsc3az6v46nq4brwcxmnscjy4w4racbv"))))
(build-system ruby-build-system)
(arguments
- `(#:tests? #f))
+ `(#:tests? #f
+ #:test-target "spec"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'remove-dependency-and-patch-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "spec/spec_helper.rb"
+ ;; cannot require coveralls otherwise there is a dependency cycle
+ ;; childprocess, coveralls, rest-client, webmock, addressable,
+ ;; rspec-its, aruba, childprocess.
+ ((".*coveralls.*") "")
+ ((".*Coveralls.*") "")
+ ;; patch path to /bin/sh
+ (("/bin/sh") (which "sh"))
+ ;; testing
+ (("; sleep") "; puts \"before_sleep\"; sleep; puts \"after_sleep\"")
+ )
+ (substitute* "lib/childprocess/unix/process.rb"
+ (("send_signal 'TERM'") "puts 'terming'; send_signal 'TERM'")
+ (("send_signal 'KILL'") "puts 'killing'; send_signal 'KILL'")
+ (("return true if @exit_code")
+ "puts \"exit_code: #{@exit_code}\"; p self; return true if @exit_code"))
+ ;; sleep POLL_INTERVAL
+ (substitute* "lib/childprocess/abstract_process.rb"
+ (("sleep POLL_INTERVAL")
+ "puts 'sleeping'; sleep POLL_INTERVAL; puts 'awake'")
+ (("unless ok") "puts \"ok was #{ok} and exited? was #{exited?}\"; unless ok"))
+ #t))
+ ;(replace 'check
+ ; ;; for testing for ben only
+ ; (lambda _
+ ; (zero? (system* "rspec" "spec/childprocess_spec.rb" "-e" "kills
+ ; the full process tree"))))
+ )))
(native-inputs
`(("bundler" ,bundler)
("ruby-rspec" ,ruby-rspec)))
@@ -5248,9 +7003,12 @@ programs running in the background, in Ruby.")
(base32
"08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l"))))
(build-system ruby-build-system)
- (arguments
- ;; Tests require network
- `(#:tests? #f))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-yard" ,ruby-yard)
+ ("ruby-rubocop" ,ruby-rubocop)
+ ("ruby-mocha" ,ruby-mocha)
+ ("ruby-minitest-reporters" ,ruby-minitest-reporters)))
(home-page "https://simonecarletti.com/code/publicsuffix-ruby/")
(synopsis "Domain name parser")
(description "The gem @code{public_suffix} is a domain name parser,
@@ -5265,23 +7023,46 @@ all known public suffixes.")
(package
(name "ruby-addressable")
(version "2.5.2")
- (source (origin
- (method url-fetch)
- (uri (rubygems-uri "addressable" version))
- (sha256
- (base32
- "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk"))))
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "addressable" version))
+ (sha256
+ (base32
+ "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk"))))
(build-system ruby-build-system)
- (propagated-inputs
- `(("ruby-public-suffix" ,ruby-public-suffix)))
(arguments
- ;; No test target
- `(#:tests? #f))
- (home-page "https://github.com/sporkmonger/addressable")
- (synopsis "Alternative URI implementation")
- (description "Addressable is a replacement for the URI implementation that
-is part of Ruby's standard library. It more closely conforms to RFC 3986,
-RFC 3987, and RFC 6570 (level 4), providing support for IRIs and URI templates.")
+ '(#:test-target "spec"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-rakefile
+ (lambda _
+ (substitute* "Gemfile"
+ (("git: 'https://github.com/sporkmonger/rack-mount.git',") "")
+ ((".*launchy.*") "")
+ ((".*rake.*") "gem 'rake'\n")
+ ((".*redcarpet.*") ""))
+ #t))
+ (add-before 'check 'delete-network-test
+ (lambda _
+ (delete-file "spec/addressable/net_http_compat_spec.rb")
+ #t)))))
+ (native-inputs
+ `(("ruby-rspec" ,ruby-rspec)
+ ("bundler" ,bundler)
+ ("ruby-idn-ruby" ,ruby-idn-ruby)
+ ("ruby-public-suffix" ,ruby-public-suffix)
+ ("ruby-sporkmonger-rack-mount" ,ruby-sporkmonger-rack-mount)
+ ("ruby-rspec-its", ruby-rspec-its)
+ ("ruby-yard" ,ruby-yard)
+ ("ruby-simplecov" ,ruby-simplecov)))
+ (synopsis "Uniform resource identifier (URI) reimplementation")
+ (description
+ "Addressable is a replacement for the URI implementation that is part of
+Ruby's standard library. It more closely conforms to the relevant RFCs and
+adds support for IRIs and URI templates.")
+ (home-page
+ "https://github.com/sporkmonger/addressable")
(license license:asl2.0)))
(define-public ruby-colorator
@@ -5546,19 +7327,58 @@ interface. It allows Jekyll to rebuild your site when a file changes.")
(package
(name "ruby-parallel")
(version "1.12.1")
- (source (origin
- (method url-fetch)
- (uri (rubygems-uri "parallel" version))
- (sha256
- (base32
- "01hj8v1qnyl5ndrs33g8ld8ibk0rbcqdpkpznr04gkbxd11pqn67"))))
+ (source
+ (origin
+ (method url-fetch)
+ ;; fetch from github as rubygem does not contain tests
+ (uri (string-append "https://github.com/grosser/parallel/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0jpibyj9xzihllq02vg48gc7w3xklp5srx52ddcfg165mkx6xpwp"))))
(build-system ruby-build-system)
- (arguments `(#:tests? #f)); No rakefile
+ (arguments
+ `(;; TODO 3 test failures
+ ;; rspec ./spec/parallel_spec.rb:190 # Parallel.in_processes does not open unnecessary pipes
+ ;; rspec './spec/parallel_spec.rb[1:9:7]' # Parallel.each works with SQLite in processes
+ ;; rspec './spec/parallel_spec.rb[1:9:16]' # Parallel.each works with SQLite in threads
+ #:tests? #f
+ #:test-target "rspec-rerun:spec"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-Gemfile
+ (lambda _
+ (substitute* "Gemfile"
+ (("gem 'rspec-legacy_formatters'") "")
+ (("gem 'activerecord.*$") "gem 'activerecord'\n"))))
+ (add-before 'check 'delete-Gemfile.lock
+ (lambda _
+ ;; Bundler isn't being used for fetching dependendencies, so
+ ;; delete the Gemfile.lock
+ (delete-file "Gemfile.lock")
+ #t))
+ (add-before 'build 'patch-gemspec
+ (lambda _
+ (substitute* "parallel.gemspec"
+ (("git ls-files") "find"))
+ #t)))))
+ (native-inputs
+ `(("ruby-rspec" ,ruby-rspec)
+ ("ruby-rspec-rerun" ,ruby-rspec-rerun)
+ ("bundler" ,bundler)
+ ("ruby-activerecord" ,ruby-activerecord)
+ ("ruby-ruby-progressbar" ,ruby-ruby-progressbar)
+ ("ruby-bump" ,ruby-bump)
+ ("procps" ,procps)
+ ("lsof" ,lsof)
+ ("ruby-mysql2" ,ruby-mysql2)
+ ("ruby-sqlite3" ,ruby-sqlite3)
+ ("ruby-i18n" ,ruby-i18n)))
+ (synopsis "Run Ruby code in parallel processes")
+ (description
+ "Run any kind of code in parallel processes")
(home-page "https://github.com/grosser/parallel")
- (synopsis "Parallel processing in Ruby")
- (description "Parallel allows you to run any code in parallel Processes
-(to use all CPUs) or Threads(to speedup blocking operations). It is best
-suited for map-reduce or e.g. parallel downloads/uploads.")
(license license:expat)))
(define-public ruby-cane
@@ -5712,20 +7532,57 @@ functionality from Prawn.")
(package
(name "ruby-prawn-table")
(version "0.2.2")
- (source (origin
- (method url-fetch)
- (uri (rubygems-uri "prawn-table" version))
- (sha256
- (base32
- "1nxd6qmxqwl850icp18wjh5k0s3amxcajdrkjyzpfgq0kvilcv9k"))))
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "prawn-table" version))
+ (sha256
+ (base32
+ "1nxd6qmxqwl850icp18wjh5k0s3amxcajdrkjyzpfgq0kvilcv9k"))))
(build-system ruby-build-system)
- (arguments `(#:tests? #f)); No rakefile
(propagated-inputs
- `(("ruby-prawn" ,ruby-prawn)))
- (home-page "https://github.com/prawnpdf/prawn-table")
- (synopsis "Tables support for Prawn")
- (description "This gem provides tables support for Prawn.")
- (license license:gpl3+)))
+ `(("ruby-prawn" ,ruby-prawn)
+ ("ruby-pdf-inspector" ,ruby-pdf-inspector)))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-yard" ,ruby-yard)
+ ("ruby-mocha" ,ruby-mocha)
+ ("ruby-coderay" ,ruby-coderay)
+ ("ruby-prawn-manual-builder" ,ruby-prawn-manual-builder)
+ ("ruby-simplecov" ,ruby-simplecov)
+ ("ruby-rspec-2" ,ruby-rspec-2)))
+ (arguments
+ '(;; TODO: 1 test fails
+ ;; Failure/Error: pdf.page_count.should == 1
+ ;; expected: 1
+ ;; got: 2 (using ==)
+ ;; # ./spec/table_spec.rb:1308
+ ;;
+ ;; 225 examples, 1 failure
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'patch-gemspec
+ (lambda _
+ (substitute* "prawn-table.gemspec"
+ ;; Loosen the requirement for pdf-inspector
+ (("~> 1\\.1\\.0") ">= 0")
+ ;; Loosen the requirement for pdf-reader
+ (("~> 1\\.2") ">= 0"))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (if tests?
+ (invoke "rspec")
+ #t))))))
+ (synopsis
+ " Prawn::Table provides tables for the Prawn PDF toolkit
+")
+ (description
+ " Prawn::Table provides tables for the Prawn PDF toolkit
+")
+ (home-page
+ "https://github.com/prawnpdf/prawn-table")
+ (license (list #f #f #f))))
(define-public ruby-kramdown
(package
@@ -5838,21 +7695,47 @@ is compatible with stylesheets designed for pygments.")
(define-public ruby-hashie
(package
(name "ruby-hashie")
- (version "3.6.0")
- (source (origin
- (method url-fetch)
- (uri (rubygems-uri "hashie" version))
- (sha256
- (base32
- "13bdzfp25c8k51ayzxqkbzag3wj5gc1jd8h7d985nsq6pn57g5xh"))))
+ (version "3.5.7")
+ (source
+ (origin
+ (method url-fetch)
+ ;; The gem does not include Gemfile.
+ (uri (string-append "https://github.com/intridea/hashie/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "00afsf591jj1q7j44fswwwrki01qgxa6wnqi6a6sq3bfjm1jlxy6"))))
(build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f
+ #:test-target "spec"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'fix-dependencies
+ (lambda _
+ (substitute* "Gemfile"
+ ((".*pry.*") "")
+ ((".*guard.*") "")
+ ((".*codeclimate.*") "")
+ (("rubocop.*") "rubocop'\n")
+ (("rspec-core.*") "rspec-core'\n"))
+ (substitute* "spec/spec_helper.rb"
+ ((".*pry.*") ""))
+ #t)))))
(native-inputs
- `(("bundler" ,bundler)))
- (arguments `(#:tests? #f)); FIXME: Could not locate Gemfile or .bundle/ directory
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec)
+ ("ruby-rspec-pending-for" ,ruby-rspec-pending-for)
+ ;("ruby-guard" ,ruby-guard)
+ ;("ruby-guard-rspec" ,ruby-guard-rspec)
+ ("ruby-activesupport" ,ruby-activesupport)
+ ("ruby-rubocop" ,ruby-rubocop)))
+ (synopsis
+ "Hashie is a collection of classes and mixins that make hashes more powerful.")
+ (description
+ "Hashie is a collection of classes and mixins that make hashes more powerful.")
(home-page "https://github.com/intridea/hashie")
- (synopsis "Extensions to Ruby Hashes")
- (description "Hashie is a collection of classes and mixins that make Ruby
-hashes more powerful.")
(license license:expat)))
(define-public ruby-heredoc-unindent
@@ -6042,3 +7925,1282 @@ Pathname.")
(description "The Pagination Generator forms the core of the pagination
logic in Jekyll. It calculates and generates the pagination pages.")
(license license:expat)))
+
+(define-public ruby-aruba
+ (package
+ (name "ruby-aruba")
+ (version "0.14.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "aruba" version))
+ (sha256
+ (base32
+ "11v7d4d3q1as3w5md22q3vilnmqw1icp7sg955ylfzmxjc07pdby"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f ; There are 3 test failures to do with running commands, not
+ ; sure what the issue is.
+ #:test-target "spec"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'fix-gemfile
+ (lambda _
+ (substitute* "Gemfile"
+ ((".*byebug.*") "\n")
+ ((".*pry.*") "\n")
+ ((".*yaml.*") "\n")
+ ((".*bcat.*") "\n")
+ ((".*kramdown.*") "\n")
+ ((".*fuubar.*") "\n")
+ ((".*rubocop.*") "\n")
+ ((".*cucumber-pro.*") "\n")
+ ((".*license_finder.*") "\n")
+ ((".*relish.*") "\n")
+ )
+ (substitute* "spec/spec_helper.rb"
+ ((".*simplecov.*") "")
+ (("^SimpleCov.*") ""))
+ #t))
+ (add-before 'check 'set-home
+ (lambda _ (setenv "HOME" "/tmp") #t)))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-simplecov" ,ruby-simplecov)
+ ("ruby-rspec" ,ruby-rspec)
+ ("ruby-fuubar" ,ruby-fuubar)))
+ (propagated-inputs
+ `(("ruby-childprocess" ,ruby-childprocess)
+ ("ruby-contracts" ,ruby-contracts)
+ ("ruby-cucumber" ,ruby-cucumber)
+ ("ruby-ffi" ,ruby-ffi)
+ ("ruby-rspec-expectations" ,ruby-rspec-expectations)
+ ("ruby-thor" ,ruby-thor)))
+ (synopsis
+ "Extension for popular TDD and BDD frameworks like \"Cucumber\", \"RSpec\" and \"Minitest\" to make testing commandline applications meaningful, easy and fun.")
+ (description
+ "Extension for popular TDD and BDD frameworks like \"Cucumber\", \"RSpec\" and \"Minitest\" to make testing commandline applications meaningful, easy and fun.")
+ (home-page "http://github.com/cucumber/aruba")
+ (license license:expat)))
+
+;; A version of ruby-aruba without tests run so that circular dependencies can
+;; be avoided.
+(define ruby-aruba-without-tests
+ (package (inherit ruby-aruba)
+ (arguments
+ `(#:tests? #f))
+ (propagated-inputs
+ (map (lambda (input)
+ (if (string=? (car input)
+ "ruby-cucumber")
+ `("ruby-cucumber" ,ruby-cucumber-without-tests)
+ input))
+ (package-propagated-inputs ruby-aruba)))
+ (native-inputs
+ `())))
+
+(define-public ruby-cucumber
+ (package
+ (name "ruby-cucumber")
+ (version "2.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "cucumber" version))
+ (sha256
+ (base32
+ "1k4j31a93r0zhvyq2mm2k8irppbvkzbsg44r3mf023959v18fzih"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:test-target "spec"
+ ;; TODO: Test failure as documented at
+ ;; https://github.com/cucumber/cucumber/issues/58
+ ;;
+ ;; Cucumber::Formatter::Html when writing the report to a file with a
+ ;; step that embeds a snapshot converts the snapshot path to a relative
+ ;; path
+ ;;
+ ;; Failure/Error: expect(@out).to
+ ;; receive(:respond_to?).with(:path).and_return(true)
+ ;;
+ ;; (#<StringIO:0x00005555570887a0>).respond_to?(:path)
+ ;; expected: 1 time with arguments: (:path)
+ ;; received: 3 times with arguments: (:path)
+ ;; # ./spec/cucumber/formatter/html_spec.rb:35
+ #:tests? #f))
+ (propagated-inputs
+ `(("ruby-builder" ,ruby-builder)
+ ("ruby-cucumber-core" ,ruby-cucumber-core-1)
+ ("ruby-cucumber-wire" ,ruby-cucumber-wire)
+ ("ruby-diff-lcs" ,ruby-diff-lcs)
+ ("ruby-gherkin" ,ruby-gherkin)
+ ("ruby-multi-json" ,ruby-multi-json)
+ ("ruby-multi-test" ,ruby-multi-test)))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ;; Use a untested version of aruba, to avoid a circular dependency, as
+ ;; ruby-aruba depends on ruby-cucumber.
+ ("ruby-aruba", ruby-aruba-without-tests)
+ ("ruby-rspec" ,ruby-rspec)
+ ("ruby-pry" ,ruby-pry)
+ ("ruby-nokogiri" ,ruby-nokogiri)))
+ (synopsis
+ "Behaviour Driven Development with elegance and joy")
+ (description
+ "Behaviour Driven Development with elegance and joy")
+ (home-page "http://cukes.info")
+ (license license:asl2.0)))
+
+(define ruby-cucumber-without-tests
+ (package (inherit ruby-cucumber)
+ (arguments
+ `(#:tests? #f))
+ (native-inputs
+ `())))
+
+(define-public ruby-coffee-script
+ (package
+ (name "ruby-coffee-script")
+ (version "2.4.1")
+ (source
+ (origin
+ (method url-fetch)
+ ;; fetch from github as the gem does not contain testing code
+ (uri (string-append
+ "https://github.com/rails/ruby-coffee-script/archive/v"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0gbcg40ks4ifm332ljmgq2l44ssld0z6xhjzk48v6mpaxyz8mc92"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'fix-test
+ (lambda _
+ ;; patch submitted upstream at
+ ;; https://github.com/rails/ruby-coffee-script/pull/6
+ (substitute* "test/test_coffee_script.rb"
+ ((" unexpected unless\\\"")
+ " unexpected unless\", '[stdin]:3:11: unexpected unless'"))
+ #t)))))
+ (propagated-inputs
+ `(("ruby-coffee-script-source" ,ruby-coffee-script-source)
+ ("ruby-execjs" ,ruby-execjs)
+ ("ruby-duktape", ruby-duktape))) ; use as the JS interpreter
+ (synopsis "bridge to the javascript CoffeeScript compiler.")
+ (description
+ "Ruby CoffeeScript is a bridge to the javascript CoffeeScript compiler.
+CoffeeScript is an attempt to expose the good parts of JavaScript in a simple
+way.")
+ (home-page
+ "http://github.com/rails/ruby-coffee-script")
+ (license license:expat)))
+
+(define-public ruby-ref
+ (package
+ (name "ruby-ref")
+ (version "2.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ ;; Tests are not distributed at rubygems.org so download from GitHub
+ ;; instead.
+ (uri (string-append "https://github.com/ruby-concurrency/ref/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1090z8vzf8bf7gx3akvrn4alcklyanbg6hipjmzlzkx0lr1l5zj4"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:test-target "spec"))
+ (synopsis
+ "Library that implements weak, soft, and strong references in Ruby that work
+across multiple runtimes (MRI, Jruby and Rubinius). Also includes implementation
+of maps/hashes that use references and a reference queue.")
+ (description
+ "Library that implements weak, soft, and strong references in Ruby that work
+across multiple runtimes (MRI, Jruby and Rubinius). Also includes
+implementation of maps/hashes that use references and a reference queue.")
+ (home-page
+ "http://github.com/ruby-concurrency/ref")
+ (license license:expat)))
+
+;; haml 4 cannot currently be packaged because tilt is not yet packaged.
+(define-public ruby-haml
+ (package
+ (name "ruby-haml")
+ (version "4.0.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "haml" version))
+ (sha256
+ (base32
+ "0mrzjgkygvfii66bbylj2j93na8i89998yi01fin3whwqbvx0m1p"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; circular dependency with tilt
+; (propagated-inputs `(("ruby-tilt" ,ruby-tilt)))
+ (synopsis "Haml (HTML Abstraction Markup Language) library.")
+ (description
+ "Haml (HTML Abstraction Markup Language) is a layer on top of HTML or XML
+that is designed to express the structure of documents using indentation rather
+than closing tags. It was originally envisioned as a plugin for Ruby on Rails,
+but it can function as a stand-alone templating engine.")
+ (home-page "http://haml.info/")
+ (license license:expat)))
+
+(define-public ruby-faraday
+ (package
+ (name "ruby-faraday")
+ (version "0.9.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "faraday" version))
+ (sha256
+ (base32
+ "1kplqkpn2s2yl3lxdf6h7sfldqvkbkpxwwxhyk7mdhjplb5faqh6"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("ruby-multipart-post" ,ruby-multipart-post)))
+ (synopsis "HTTP/REST API client library.")
+ (description "HTTP/REST API client library.")
+ (home-page
+ "https://github.com/lostisland/faraday")
+ (license license:expat)))
+
+(define-public ruby-nio4r
+ (package
+ (name "ruby-nio4r")
+ (version "2.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "nio4r" version))
+ (sha256
+ (base32
+ "0jjrj7vs29w6dfgsxq08226jfbi2j0x62lf4p9zmvyp19dj4z00a"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f
+ #:test-target "spec"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'fix-dependencies
+ (lambda _
+ (substitute* "Gemfile"
+ (("rubocop.*") "rubocop\"\n"))
+ #t))
+ (add-before 'check 'compile
+ (lambda _
+ (zero? (system* "rake" "compile")))))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rake-compiler" ,ruby-rake-compiler)
+ ("ruby-rspec" ,ruby-rspec)
+ ("ruby-rubocop" ,ruby-rubocop)
+ ("ruby-coveralls" ,ruby-coveralls)))
+ (synopsis "New IO for Ruby")
+ (description "New IO for Ruby")
+ (home-page "https://github.com/celluloid/nio4r")
+ (license license:expat)))
+
+(define-public ruby-globalid
+ (package
+ (name "ruby-globalid")
+ (version "0.3.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "globalid" version))
+ (sha256
+ (base32
+ "145xrpsfx1qqjy33r6qa588wb16dvdhxzj2aysh755vhg6hgm291"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f))
+ (propagated-inputs
+ `(("ruby-activesupport" ,ruby-activesupport)))
+ (synopsis
+ "URIs for your models makes it easy to pass references around.")
+ (description
+ "URIs for your models makes it easy to pass references around.")
+ (home-page "http://www.rubyonrails.org")
+ (license license:expat)))
+
+(define-public ruby-sprockets
+ (package
+ (name "ruby-sprockets")
+ (version "3.7.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "sprockets" version))
+ (sha256
+ (base32
+ "0sv3zk5hwxyjvg7iy9sggjc7k3mfxxif7w8p260rharfyib939ar"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; tests not included
+ (propagated-inputs
+ `(("ruby-concurrent" ,ruby-concurrent)
+ ("ruby-rack" ,ruby-rack)))
+ (synopsis
+ "Sprockets is a Rack-based asset packaging system that concatenates and serves JavaScript, CoffeeScript, CSS, LESS, Sass, and SCSS.")
+ (description
+ "Sprockets is a Rack-based asset packaging system that concatenates and serves JavaScript, CoffeeScript, CSS, LESS, Sass, and SCSS.")
+ (home-page "https://github.com/rails/sprockets")
+ (license license:expat)))
+
+(define-public ruby-uglifier
+(package
+ (name "ruby-uglifier")
+ (version "3.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "uglifier" version))
+ (sha256
+ (base32
+ "05a7xqzzlliqbd32jfkmis08pb0cljns7jx14ybkqb9zbg7ph35h"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; Tests fail, perhaps they require npm? test-target "spec"
+ ;; #:phases
+ ;; (modify-phases %standard-phases
+ ;; (add-before 'check 'list
+ ;; (lambda _
+ ;; (system* "rake" "js")
+ ;; (system* "gem" "list"))))))
+ (propagated-inputs
+ `(("ruby-execjs" ,ruby-execjs)))
+ ;; (native-inputs
+ ;; `(("bundler" ,bundler)
+ ;; ("ruby-rubocop" ,ruby-rubocop)
+ ;; ("ruby-rspec" ,ruby-rspec)
+ ;; ("ruby-sourcemap" ,ruby-sourcemap)
+ ;; ("ruby-duktape" ,ruby-duktape))) ; Use as the JS interpreter
+ (synopsis
+ "Uglifier minifies JavaScript files by wrapping UglifyJS to be accessible in Ruby")
+ (description
+ "Uglifier minifies JavaScript files by wrapping UglifyJS to be accessible in Ruby")
+ (home-page "http://github.com/lautis/uglifier")
+ (license license:expat)))
+
+(define-public ruby-sourcemap
+(package
+ (name "ruby-sourcemap")
+ (version "0.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "sourcemap" version))
+ (sha256
+ (base32
+ "0l111zg9qh2g15rpmi2d006m3h27hl462d7zmc4js67ppmkcd7w8"))))
+ (build-system ruby-build-system)
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-minitest" ,ruby-minitest)))
+ (synopsis "Ruby source maps")
+ (description "Ruby source maps")
+ (home-page "http://github.com/maccman/sourcemap")
+ (license license:expat)))
+
+(define-public ruby-turbolinks-source
+ (package
+ (name "ruby-turbolinks-source")
+ (version "5.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "turbolinks-source" version))
+ (sha256
+ (base32
+ "1s197pamkac9kkhslj41gxxihx6jp3dh4g394k9zmbxwkfrf36zb"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; There are no tests.
+ (synopsis "Turbolinks JavaScript assets")
+ (description "Turbolinks JavaScript assets")
+ (home-page
+ "https://github.com/turbolinks/turbolinks-source-gem")
+ (license license:expat)))
+
+(define-public ruby-turbolinks
+ (package
+ (name "ruby-turbolinks")
+ (version "5.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "turbolinks" version))
+ (sha256
+ (base32
+ "1dpsl17mygsd3hjcb2zq05n9zygbi0qc5130h276lw6py8g7nppc"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; There are no tests.
+ (propagated-inputs
+ `(("ruby-turbolinks-source" ,ruby-turbolinks-source)))
+ (synopsis
+ "Rails engine for Turbolinks 5 support")
+ (description
+ "Rails engine for Turbolinks 5 support")
+ (home-page
+ "https://github.com/turbolinks/turbolinks-rails")
+ (license license:expat)))
+
+(define-public ruby-jbuilder
+ (package
+ (name "ruby-jbuilder")
+ (version "2.7.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "jbuilder" version))
+ (sha256
+ (base32
+ "1n3myqk2hdnidzzbgcdz2r1y4cr5vpz5nkfzs0lz4y9gkjbjyh2j"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'fix-dependencies'
+ (lambda _
+ (substitute* "Gemfile"
+ ((".*pry.*") ""))
+ #t)))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-mocha" ,ruby-mocha)
+ ("ruby-appraisal" ,ruby-appraisal)))
+ (propagated-inputs
+ `(("ruby-activesupport" ,ruby-activesupport)
+ ("ruby-multi-json" ,ruby-multi-json)))
+ (synopsis
+ "Create JSON structures via a Builder-style DSL")
+ (description
+ "Create JSON structures via a Builder-style DSL")
+ (home-page "https://github.com/rails/jbuilder")
+ (license license:expat)))
+
+(define-public ruby-erubi
+ (package
+ (name "ruby-erubi")
+ (version "1.7.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "erubi" version))
+ (sha256
+ (base32
+ "1zkaqb8zv14azb2fa8w79d3mssdx86k9kg2m1bgc2k428y2zf8g9"))))
+ (build-system ruby-build-system)
+ (synopsis
+ "Erubi is a ERB template engine for ruby. It is a simplified fork of Erubis")
+ (description
+ "Erubi is a ERB template engine for ruby. It is a simplified fork of Erubis")
+ (home-page
+ "https://github.com/jeremyevans/erubi")
+ (license license:expat)))
+
+(define-public ruby-rubygems
+ (package
+ (name "ruby-rubygems")
+ (version (string-append "2.6.6"))
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://rubygems.org/rubygems/rubygems-"
+ version ".tgz"))
+ (sha256
+ (base32
+ "0x0ldlwr627d0brw96jdbscib6d2nk19izvnh8lzsasszi1k5rkq"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'build
+ (lambda* (#:key outputs #:allow-other-keys)
+ (zero? (system*
+ "ruby" "setup.rb"
+ (string-append
+ "--prefix=" (assoc-ref outputs "out"))))))
+ (delete 'check) ; fix
+ (delete 'install) ; done in build
+ )))
+ (synopsis "")
+ (description
+ "")
+ (home-page "")
+ (license license:expat))) ;?
+
+(define-public ruby-ruby-dep
+ (package
+ (name "ruby-ruby-dep")
+ (version "1.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "ruby_dep" version))
+ (sha256
+ (base32
+ "12i57gpy0gmkwnd7l6xdjpfw9bygxmgwx4hjwgg4mca2jr7d3g47"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; Do not test to avoid circular dependency with gem_isolator.
+ (synopsis
+ "Creates a version constraint of supported Rubies,suitable for a gemspec file")
+ (description
+ "Creates a version constraint of supported Rubies,suitable for a gemspec file")
+ (home-page "https://github.com/e2/ruby_dep")
+ (license license:expat)))
+
+(define-public ruby-guard-compat
+ (package
+ (name "ruby-guard-compat")
+ (version "1.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "guard-compat" version))
+ (sha256
+ (base32
+ "1zj6sr1k8w59mmi27rsii0v8xyy2rnsi09nqvwpgj1q10yq1mlis"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:test-target "spec"))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec)
+ ("ruby-rubocop" ,ruby-rubocop)))
+ (synopsis
+ "Helps creating valid Guard plugins and testing them")
+ (description
+ "Helps creating valid Guard plugins and testing them")
+ (home-page "")
+ (license license:expat)))
+
+(define-public ruby-guard-rspec
+ (package
+ (name "ruby-guard-rspec")
+ (version "4.7.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "guard-rspec" version))
+ (sha256
+ (base32
+ "1jkm5xp90gm4c5s51pmf92i9hc10gslwwic6mvk72g0yplya0yx4"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; Tests require further dependencies e.g. gem_isolator.
+ (propagated-inputs
+ `(("ruby-guard" ,ruby-guard)
+ ("ruby-guard-compat" ,ruby-guard-compat)
+ ("ruby-rspec" ,ruby-rspec)))
+ (synopsis
+ "Guard::RSpec automatically run your specs (much like autotest).")
+ (description
+ "Guard::RSpec automatically run your specs (much like autotest).")
+ (home-page
+ "https://github.com/guard/guard-rspec")
+ (license license:expat)))
+
+(define-public ruby-backports
+ (package
+ (name "ruby-backports")
+ (version "3.6.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "backports" version))
+ (sha256
+ (base32
+ "0m8jkjh4kymgfipd6yb0zcxlas4x5r60k2c94zkklb1ryma33grc"))))
+ (build-system ruby-build-system)
+ (synopsis
+ "Essential backports that enable many of the nice features of Ruby 1.8.7 up to 2.1.0 for earlier versions.")
+ (description
+ "Essential backports that enable many of the nice features of Ruby 1.8.7 up to 2.1.0 for earlier versions.")
+ (home-page
+ "http://github.com/marcandre/backports")
+ (license license:expat)))
+
+(define-public ruby-gh
+ (package
+ (name "ruby-gh")
+ (version "0.14.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "gh" version))
+ (sha256
+ (base32
+ "0j7m6jmxzkxvnqgnhmci33a89qpaxxcrm55kk5vz4bcpply04hx2"))))
+ (build-system ruby-build-system)
+ (propagated-inputs
+ `(("ruby-addressable" ,ruby-addressable)
+ ("ruby-backports" ,ruby-backports)
+ ("ruby-faraday" ,ruby-faraday)
+ ("ruby-multi-json" ,ruby-multi-json)
+ ("ruby-net-http-persistent"
+ ,ruby-net-http-persistent)
+ ;("ruby-net-http-pipeline"
+ ; ,ruby-net-http-pipeline)
+ ))
+ (synopsis
+ "multi-layer client for the github api v3")
+ (description
+ "multi-layer client for the github api v3")
+ (home-page "http://gh.rkh.im/")
+ (license license:expat)))
+
+(define-public ruby-faraday-middleware
+ (package
+ (name "ruby-faraday-middleware")
+ (version "0.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "faraday_middleware" version))
+ (sha256
+ (base32
+ "0nxia26xzy8i56qfyz1bg8dg9yb26swpgci8n5jry8mh4bnx5r5h"))))
+ (build-system ruby-build-system)
+ (propagated-inputs
+ `(("ruby-faraday" ,ruby-faraday)))
+ (synopsis "Various middleware for Faraday")
+ (description "Various middleware for Faraday")
+ (home-page
+ "https://github.com/lostisland/faraday_middleware")
+ (license license:expat)))
+
+(define-public ruby-launchy
+ (package
+ (name "ruby-launchy")
+ (version "2.4.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "launchy" version))
+ (sha256
+ (base32
+ "190lfbiy1vwxhbgn4nl4dcbzxvm049jwc158r2x7kq3g5khjrxa2"))))
+ (build-system ruby-build-system)
+ (propagated-inputs
+ `(("ruby-addressable" ,ruby-addressable)))
+ (synopsis
+ "Launchy is helper class for launching cross-platform applications in a fire and forget manner. There are application concepts (browser, email client, etc) that are common across all platforms, and they may be launched differently on each platform. Launchy is here to make a common approach to launching external application from within ruby programs.")
+ (description
+ "Launchy is helper class for launching cross-platform applications in a fire and forget manner. There are application concepts (browser, email client, etc) that are common across all platforms, and they may be launched differently on each platform. Launchy is here to make a common approach to launching external application from within ruby programs.")
+ (home-page
+ "http://github.com/copiousfreetime/launchy")
+ (license #f)))
+
+(define-public ruby-travis
+ (package
+ (name "ruby-travis")
+ (version "1.8.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "travis" version))
+ (sha256
+ (base32
+ "0s88790wlhlsaxs9561w3h6vhj00sc36bw6k7rajj6vi0416s73z"))))
+ (build-system ruby-build-system)
+ (propagated-inputs
+ `(("ruby-addressable" ,ruby-addressable)
+ ("ruby-backports" ,ruby-backports)
+ ("ruby-faraday" ,ruby-faraday)
+ ("ruby-faraday-middleware"
+ ,ruby-faraday-middleware)
+ ("ruby-gh" ,ruby-gh)
+ ("ruby-highline" ,ruby-highline)
+ ("ruby-launchy" ,ruby-launchy)
+ ("ruby-pry" ,ruby-pry)
+ ;("ruby-pusher-client" ,ruby-pusher-client)
+ ;("ruby-typhoeus" ,ruby-typhoeus)
+ ))
+ (synopsis
+ "CLI and Ruby client library for Travis CI")
+ (description
+ "CLI and Ruby client library for Travis CI")
+ (home-page
+ "https://github.com/travis-ci/travis.rb")
+ (license license:expat)))
+
+(define-public ruby-sinatra
+ (package
+ (name "ruby-sinatra")
+ (version "2.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "sinatra" version))
+ (sha256
+ (base32
+ "0dbpy8cm06psnk4q1d8map4z81xvlghyi91075xsm56ka2d6kpsi"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("ruby-rack" ,ruby-rack)
+ ("ruby-rack-protection" ,ruby-rack-protection)
+ ("ruby-tilt" ,ruby-tilt)))
+ (native-inputs
+ `(("ruby-rack-test" ,ruby-rack-test)))
+ (synopsis
+ "Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort.")
+ (description
+ "Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort.")
+ (home-page "http://www.sinatrarb.com/")
+ (license license:expat)))
+
+(define-public ruby-bzip2-ruby
+ ;; Use git reference because gem is out of date.
+ (let ((revision "1")
+ (commit "e58f154624ff2d770e92a70e0d8fb1a9e6564720"))
+ (package
+ (name "ruby-bzip2-ruby")
+ (version (string-append "0.2.7." revision "." commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/brianmario/bzip2-ruby.git")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "072jzd1fm6z0fnc166q7n4h8h4vrb9jhpcl7swh7d0qm4fx4cxvz"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:test-target "spec"
+ ; #:gem-flags
+ ; (list "--"
+ ; (string-append "--with-bz2-dir="
+ ; (assoc-ref %build-inputs "bzip2")
+ ; "/include/" ))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-gemspec-and-source
+ (lambda _
+ (substitute* "bzip2-ruby.gemspec"
+ (("s.files = `git ls-files`") "s.files = `find *`")
+ (("s.test_files = `git ls-files spec`")
+ "s.files = `find spec`"))
+ ;; Use part of the patch proposed at
+ ;; https://github.com/brianmario/bzip2-ruby/pull/26
+ (substitute* "ext/bzip2/writer.c"
+ (("RBASIC\\(res\\)->klass = rb_cString;")
+ "RBASIC_SET_CLASS(res, rb_cString);"))
+ #t)))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec-2)
+ ("ruby-rake-compiler" ,ruby-rake-compiler)))
+ (synopsis "Ruby C bindings to libbzip2.")
+ (description "Ruby C bindings to libbzip2.")
+ (home-page
+ "http://github.com/brianmario/bzip2-ruby")
+ (license #f))))
+
+(define-public ruby-open4
+ (package
+ (name "ruby-open4")
+ (version "1.3.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "open4" version))
+ (sha256
+ (base32
+ "1cgls3f9dlrpil846q0w7h66vsc33jqn84nql4gcqkk221rh7px1"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f))
+ (synopsis
+ "open child process with handles on pid, stdin, stdout, and stderr: manage child processes and their io handles easily.")
+ (description
+ "open child process with handles on pid, stdin, stdout, and stderr: manage child processes and their io handles easily.")
+ (home-page "https://github.com/ahoward/open4")
+ (license #f)))
+
+(define-public ruby-hamster
+ (package
+ (name "ruby-hamster")
+ (version "3.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "hamster" version))
+ (sha256
+ (base32
+ "1n1lsh96vnyc1pnzyd30f9prcsclmvmkdb3nm5aahnyizyiy6lar"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("ruby-concurrent" ,ruby-concurrent)))
+ (synopsis
+ "Efficient, immutable, thread-safe collection classes for Ruby")
+ (description
+ "Efficient, immutable, thread-safe collection classes for Ruby")
+ (home-page
+ "https://github.com/hamstergem/hamster")
+ (license license:expat)))
+
+(define-public ruby-lino
+ (package
+ (name "ruby-lino")
+ (version "1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "lino" version))
+ (sha256
+ (base32
+ "11d29g0fk372b9fcpyr0k6hxm2b4j4igpysmi542hgbbgqgp9cd3"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("ruby-hamster" ,ruby-hamster)
+ ("ruby-open4" ,ruby-open4)))
+ (synopsis "Command line builders and executors.")
+ (description
+ "Command line builders and executors.")
+ (home-page "https://github.com/tobyclemson/lino")
+ (license license:expat)))
+
+(define-public ruby-terraform
+ (package
+ (name "ruby-terraform")
+ (version "0.12.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "ruby-terraform" version))
+ (sha256
+ (base32
+ "198q2nmfbyn0x7vs81x4gmxymz0z5k7y7x9v48vi8szqlhm9fp7r"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs `(("ruby-lino" ,ruby-lino)))
+ (synopsis
+ "Wraps the Terraform CLI so that Terraform can be invoked from a Ruby script or Rakefile.")
+ (description
+ "Wraps the Terraform CLI so that Terraform can be invoked from a Ruby script or Rakefile.")
+ (home-page
+ "https://github.com/tobyclemson/ruby_terraform")
+ (license license:expat)))
+
+(define-public ruby-sucker-punch
+ (package
+ (name "ruby-sucker-punch")
+ (version "2.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "sucker_punch" version))
+ (sha256
+ (base32
+ "064dgfg3jwna2x1iyhbz3pvh3iryxs4vls77jmmad571hjz0l01p"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("ruby-concurrent" ,ruby-concurrent)))
+ (synopsis
+ "Asynchronous processing library for Ruby")
+ (description
+ "Asynchronous processing library for Ruby")
+ (home-page
+ "https://github.com/brandonhilkert/sucker_punch")
+ (license license:expat)))
+
+(define-public ruby-que
+(package
+ (name "ruby-que")
+ (version "1.0.0.beta3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "que" version))
+ (sha256
+ (base32
+ "0gr9pb814d4qj3ds98g6cjrdk7wv0yg8aqbm7c1lmgl87jkg8q04"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f))
+ (synopsis
+ "A job queue that uses PostgreSQL's advisory locks for speed and reliability.")
+ (description
+ "This package provides a job queue that uses PostgreSQL's advisory locks for speed and reliability.")
+ (home-page "https://github.com/chanks/que")
+ (license license:expat)))
+
+(define-public ruby-autoprefixer-rails
+ (package
+ (name "ruby-autoprefixer-rails")
+ (version "7.2.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "autoprefixer-rails" version))
+ (sha256
+ (base32
+ "12jiv0nigfcnzn03w8avv6ivr9hwx4hqd28758yvsrfdzq31i05a"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f))
+ (native-inputs
+ `(("bundler" ,bundler)))
+ (propagated-inputs
+ `(("ruby-execjs" ,ruby-execjs)))
+ (synopsis
+ "Parse CSS and add vendor prefixes to CSS rules using values from the Can I Use website.")
+ (description
+ "Parse CSS and add vendor prefixes to CSS rules using values from the Can I Use website.")
+ (home-page
+ "https://github.com/ai/autoprefixer-rails")
+ (license license:expat)))
+
+(define-public ruby-bootstrap-sass
+ (package
+ (name "ruby-bootstrap-sass")
+ (version "3.3.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "bootstrap-sass" version))
+ (sha256
+ (base32
+ "1bc9bf6caddqn1rv15b5x56yczmbjzaxzl9lk5zbwrg1bfph4bx9"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("ruby-autoprefixer-rails"
+ ,ruby-autoprefixer-rails)
+ ("ruby-sass" ,ruby-sass)))
+ (synopsis
+ "bootstrap-sass is a Sass-powered version of Bootstrap 3, ready to drop right into your Sass powered applications.")
+ (description
+ "bootstrap-sass is a Sass-powered version of Bootstrap 3, ready to drop right into your Sass powered applications.")
+ (home-page
+ "https://github.com/twbs/bootstrap-sass")
+ (license license:expat)))
+
+(define-public ruby-multi-xml
+ (package
+ (name "ruby-multi-xml")
+ (version "0.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "multi_xml" version))
+ (sha256
+ (base32
+ "0lmd4f401mvravi1i1yq7b2qjjli0yq7dfc4p1nj5nwajp7r6hyj"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(;; No included tests
+ #:tests? #f))
+ (synopsis
+ "Provides swappable XML backends utilizing LibXML, Nokogiri, Ox, or REXML.")
+ (description
+ "Provides swappable XML backends utilizing LibXML, Nokogiri, Ox, or REXML.")
+ (home-page "https://github.com/sferik/multi_xml")
+ (license license:expat)))
+
+(define-public ruby-omniauth-oauth2
+ (package
+ (name "ruby-omniauth-oauth2")
+ (version "1.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "omniauth-oauth2" version))
+ (sha256
+ (base32
+ "0mskwlw5ibx9mz7ywqji6mm56ikf7mglbnfc02qhg6ry527jsxdm"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("ruby-oauth2" ,ruby-oauth2)
+ ("ruby-omniauth" ,ruby-omniauth)))
+ (synopsis
+ "An abstract OAuth2 strategy for OmniAuth.")
+ (description
+ "An abstract OAuth2 strategy for OmniAuth.")
+ (home-page
+ "https://github.com/omniauth/omniauth-oauth2")
+ (license license:expat)))
+
+(define-public ruby-jwt
+ (package
+ (name "ruby-jwt")
+ (version "1.5.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "jwt" version))
+ (sha256
+ (base32
+ "124zz1142bi2if7hl5pcrcamwchv4icyr5kaal9m2q6wqbdl6aw4"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f))
+ (synopsis
+ "A pure ruby implementation of the RFC 7519 OAuth JSON Web Token (JWT) standard.")
+ (description
+ "This package provides a pure ruby implementation of the RFC 7519 OAuth JSON Web Token (JWT) standard.")
+ (home-page "http://github.com/jwt/ruby-jwt")
+ (license license:expat)))
+
+(define-public ruby-oauth2
+ (package
+ (name "ruby-oauth2")
+ (version "1.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "oauth2" version))
+ (sha256
+ (base32
+ "094hmmfms8vpm6nwglpl7jmlv85nlfzl0kik4fizgx1rg70a6mr5"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("ruby-faraday" ,ruby-faraday)
+ ("ruby-jwt" ,ruby-jwt)
+ ("ruby-multi-json" ,ruby-multi-json)
+ ("ruby-multi-xml" ,ruby-multi-xml)
+ ("ruby-rack" ,ruby-rack)))
+ (synopsis
+ "A Ruby wrapper for the OAuth 2.0 protocol built with a similar style to the original OAuth spec.")
+ (description
+ "This package provides a Ruby wrapper for the OAuth 2.0 protocol built with a similar style to the original OAuth spec.")
+ (home-page "http://github.com/intridea/oauth2")
+ (license license:expat)))
+
+(define-public ruby-omniauth
+ (package
+ (name "ruby-omniauth")
+ (version "1.8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "omniauth" version))
+ (sha256
+ (base32
+ "1msqr4qq7mfdvl3rg89529isrv595hvjpj2gi0say4b8nwqfggmg"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("ruby-hashie" ,ruby-hashie)
+ ("ruby-rack" ,ruby-rack)))
+ (synopsis
+ "A generalized Rack framework for multiple-provider authentication.")
+ (description
+ "This package provides a generalized Rack framework for multiple-provider authentication.")
+ (home-page
+ "https://github.com/omniauth/omniauth")
+ (license license:expat)))
+
+(define-public ruby-warden
+ (package
+ (name "ruby-warden")
+ (version "1.2.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "warden" version))
+ (sha256
+ (base32
+ "0va966lhpylcwbqb9n151kkihx30agh0a57mwjwdxyanll4s1q12"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs `(("ruby-rack" ,ruby-rack)))
+ (synopsis
+ "Rack middleware that provides authentication for rack applications")
+ (description
+ "Rack middleware that provides authentication for rack applications")
+ (home-page "http://github.com/hassox/warden")
+ (license license:expat)))
+
+(define-public ruby-warden-oauth2
+ (package
+ (name "ruby-warden-oauth2")
+ (version "0.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "warden-oauth2" version))
+ (sha256
+ (base32
+ "1z9154lvzrnnfjbjkmirh4n811nygp6pm2fa6ikr7y1ysa4zv3cz"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("ruby-warden" ,ruby-warden)))
+ (synopsis "OAuth 2.0 strategies for Warden")
+ (description "OAuth 2.0 strategies for Warden")
+ (home-page
+ "https://github.com/opperator/warden-oauth2")
+ (license #f)))
+
+(define-public ruby-rerun
+ (package
+ (name "ruby-rerun")
+ (version "0.13.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "rerun" version))
+ (sha256
+ (base32
+ "1cskvxk8z8vmfail8na7hj91hs0qnvds9nydj04zi3dbddgnbmvz"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("ruby-listen" ,ruby-listen)))
+ (synopsis
+ "Restarts your app when a file changes. A no-frills, command-line alternative to Guard, Shotgun, Autotest, etc.")
+ (description
+ "Restarts your app when a file changes. A no-frills, command-line alternative to Guard, Shotgun, Autotest, etc.")
+ (home-page "http://github.com/alexch/rerun/")
+ (license license:expat)))
+
+(define-public ruby-kgio
+ (package
+ (name "ruby-kgio")
+ (version "2.11.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "kgio" version))
+ (sha256
+ (base32
+ "1528pyj1szzzp3pgj05fzjd36qjrxm9yj2x5radc9p1z7vl67y50"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f))
+ (synopsis
+ "This is a legacy project, do not use it for new projects. Ruby
+2.3 and later should make this obsolete. kgio provides
+non-blocking I/O methods for Ruby without raising exceptions on
+EAGAIN and EINPROGRESS.")
+ (description
+ "This is a legacy project, do not use it for new projects. Ruby
+2.3 and later should make this obsolete. kgio provides
+non-blocking I/O methods for Ruby without raising exceptions on
+EAGAIN and EINPROGRESS.")
+ (home-page "https://bogomips.org/kgio/")
+ (license #f)))
+
+(define-public ruby-raindrops
+ (package
+ (name "ruby-raindrops")
+ (version "0.19.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "raindrops" version))
+ (sha256
+ (base32
+ "1qpbd9jif40c53fz2r0l8khfl016y8s8bkx37ibcaafclbl3xygp"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f))
+ (synopsis
+ "raindrops is a real-time stats toolkit to show statistics for Rack HTTP
+servers. It is designed for preforking servers such as unicorn, but
+should support any Rack HTTP server on platforms supporting POSIX shared
+memory. It may also be used as a generic scoreboard for sharing atomic
+counters across multiple processes.")
+ (description
+ "raindrops is a real-time stats toolkit to show statistics for Rack HTTP
+servers. It is designed for preforking servers such as unicorn, but
+should support any Rack HTTP server on platforms supporting POSIX shared
+memory. It may also be used as a generic scoreboard for sharing atomic
+counters across multiple processes.")
+ (home-page "https://bogomips.org/raindrops/")
+ (license #f)))
+
+(define-public ruby-quantile
+ (package
+ (name "ruby-quantile")
+ (version "0.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "quantile" version))
+ (sha256
+ (base32
+ "1jlddrmmvx9qkh29a1narz81fi41qdrbiif9fd8bl6pxxa9awbi3"))))
+ (build-system ruby-build-system)
+ (synopsis
+ "Graham Cormode and S. Muthukrishnan's Effective Computation of Biased Quantiles over Data Streams in ICDEâ\x80\x9905")
+ (description
+ "Graham Cormode and S. Muthukrishnan's Effective Computation of Biased Quantiles over Data Streams in ICDEâ\x80\x9905")
+ (home-page
+ "http://github.com/matttproud/ruby_quantile_estimation")
+ (license license:asl2.0)))
+
+(define-public ruby-prometheus-client
+ (package
+ (name "ruby-prometheus-client")
+ (version "0.8.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "prometheus-client" version))
+ (sha256
+ (base32
+ "0ihbmnll7qkkhy5isd7vl3wrznyxm1havhzxhl8729im5qi6si51"))))
+ (build-system ruby-build-system)
+ (propagated-inputs
+ `(("ruby-quantile" ,ruby-quantile)))
+ (synopsis
+ "A suite of instrumentation metric primitivesthat can be exposed through a web services interface.")
+ (description
+ "This package provides a suite of instrumentation metric primitivesthat can be exposed through a web services interface.")
+ (home-page
+ "https://github.com/prometheus/client_ruby")
+ (license license:asl2.0)))
+
+(define-public ruby-prometheus-exporter
+ (package
+ (name "ruby-prometheus-exporter")
+ (version "0.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "prometheus_exporter" version))
+ (sha256
+ (base32
+ "0v8d7km30y0rqspzkmiqajglqyp2hcd3arg94pf7lay382l695s0"))))
+ (build-system ruby-build-system)
+ (synopsis
+ "Prometheus metric collector and exporter for Ruby")
+ (description
+ "Prometheus metric collector and exporter for Ruby")
+ (home-page
+ "https://github.com/discourse/prometheus_exporter")
+ (license license:expat)))
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index ef40431733..501736d898 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -191,6 +191,8 @@ safety and thread safety guarantees.")
(source (rust-source version "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm"
#:patches '("rust-1.19-mrustc.patch")))
(outputs '("out" "cargo"))
+ (properties '((timeout . 72000) ;20 hours
+ (max-silent-time . 18000))) ;5 hours (for armel)
(arguments
`(#:imported-modules ,%cargo-build-system-modules ;for `generate-checksums'
#:modules ((guix build utils) (ice-9 match) (guix build gnu-build-system))
@@ -427,6 +429,7 @@ safety and thread safety guarantees.")
(package
(inherit base-rust)
(outputs '("out" "doc" "cargo"))
+ (properties '())
(arguments
(substitute-keyword-arguments (package-arguments rust-1.19)
((#:phases phases)
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index 66d0b5a35d..213e416a4d 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -150,14 +150,14 @@ anywhere.")
(define-public samba
(package
(name "samba")
- (version "4.9.3")
+ (version "4.9.4")
(source (origin
(method url-fetch)
(uri (string-append "https://download.samba.org/pub/samba/stable/"
"samba-" version ".tar.gz"))
(sha256
(base32
- "1krm47x08c0vcrq12dxs8mbicma1ck2sl1i0hgkvrmwsgrqdi3yg"))))
+ "0kqbzywlnh1skg6g78qilyn12qv7wri66h5v9f77igncpkcai63d"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -365,7 +365,10 @@ many event types, including timers, signals, and the classic file descriptor eve
#t))))
(build-system gnu-build-system)
(arguments
- '(#:phases
+ '(;; LMDB is only supported on 64-bit systems, yet the test suite
+ ;; requires it.
+ #:tests? (assoc-ref %build-inputs "lmdb")
+ #:phases
(modify-phases %standard-phases
(replace 'configure
;; ldb use a custom configuration script that runs waf.
@@ -385,7 +388,9 @@ many event types, including timers, signals, and the classic file descriptor eve
`(("talloc" ,talloc)
("tdb" ,tdb)))
(inputs
- `(("lmdb" ,lmdb)
+ `(,@(if (target-64bit?)
+ `(("lmdb" ,lmdb))
+ '())
("popt" ,popt)
("tevent" ,tevent)))
(synopsis "LDAP-like embedded database")
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 7267afd709..862eedfd18 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -37,6 +37,7 @@
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages compression)
#:use-module (gnu packages libevent)
@@ -80,13 +81,12 @@
(define-public mit-scheme
(package
(name "mit-scheme")
- (version "9.2")
+ (version "10.1.3")
(source #f) ; see below
(outputs '("out" "doc"))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; no "check" target
- #:modules ((guix build gnu-build-system)
+ `(#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1))
#:phases
@@ -100,12 +100,23 @@
;; Delete these dangling symlinks since they break
;; `patch-shebangs'.
(for-each delete-file
- (append '("src/lib/shim-config.scm")
- (find-files "src/lib/lib" "\\.so$")
- (find-files "src/lib" "^liarc-")
- (find-files "src/compiler" "^make\\.")))
+ (find-files "src/compiler" "^make\\."))
(chdir "src")
#t))
+ (add-after 'unpack 'patch-/bin/sh
+ (lambda _
+ (setenv "CONFIG_SHELL" (which "sh"))
+ (substitute* '("../tests/ffi/autogen.sh"
+ "../tests/ffi/autobuild.sh"
+ "../tests/ffi/test-ffi.sh"
+ "../tests/runtime/test-process.scm"
+ "runtime/unxprm.scm")
+ (("/bin/sh") (which "sh"))
+ (("\\./autogen\\.sh")
+ (string-append (which "sh") " autogen.sh"))
+ (("\\./configure")
+ (string-append (which "sh") " configure")))
+ #t))
;; FIXME: the texlive-union insists on regenerating fonts. It stores
;; them in HOME, so it needs to be writeable.
(add-before 'build 'set-HOME
@@ -128,9 +139,6 @@
(invoke bin/sh "./configure"
(string-append "--prefix=" out)
(string-append "SHELL=" bin/sh))
- (substitute* '("Makefile" "make-common")
- (("/lib/mit-scheme/doc")
- (string-append "/share/doc/" ,name "-" ,version)))
#t))))
(add-after 'build 'build-doc
(lambda* _
@@ -147,16 +155,20 @@
(with-directory-excursion "../doc"
(for-each (lambda (target)
(invoke "make" target))
- '("install-config" "install-info-gz" "install-man"
+ '("install-info-gz" "install-man"
"install-html" "install-pdf")))
(mkdir-p new-doc/mit-scheme-dir)
(copy-recursively
- (string-append old-doc-dir "/" ,name "-" ,version)
+ (string-append old-doc-dir "/" ,name)
new-doc/mit-scheme-dir)
(delete-file-recursively old-doc-dir)
#t))))))
(native-inputs
- `(("texlive" ,(texlive-union (list texlive-tex-texinfo)))
+ `(;; Autoconf, Automake, and Libtool are necessary for the FFI tests.
+ ("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("texlive" ,(texlive-union (list texlive-tex-texinfo)))
("texinfo" ,texinfo)
("m4" ,m4)))
(inputs
@@ -185,16 +197,18 @@
(match (%current-system)
("x86_64-linux"
(base32
- "1skzxxhr0iq96bf0j5m7mvf3i4sppfyfa6gpqn34mwgkw1fx8274"))
+ "03m7cc035w3avs91j2pcz9f15ssgvgp3rm045d1vbydqrkzfyw8k"))
("i686-linux"
(base32
- "1fmlpnhf5a75db93phajh4ysbdgrgl72v45lk3kznriprl0a7jc6"))
+ "05sjyz90xxfnmi87qv8x0yx0fcallnzl1dciygdafp317pn489is"))
(_
- (base32
- "0w5ib5vsidihb4hb6fma3sp596ykr8izagm57axvgd6lqzwicsjg"))))))))
+ (base32
+ ""))))))))
;; Fails to build on MIPS, see <http://bugs.gnu.org/18221>.
- (supported-systems '("x86_64-linux" "i686-linux" "armhf-linux"))
+ ;; Also, the portable C version of MIT/GNU Scheme did not work in time for
+ ;; release in version 10.1.
+ (supported-systems '("x86_64-linux" "i686-linux"))
(home-page "https://www.gnu.org/software/mit-scheme/")
(synopsis "A Scheme implementation with integrated editor and debugger")
@@ -210,17 +224,17 @@ features an integrated Emacs-like editor and a large runtime library.")
;; long after the initial publication: <https://bugs.gnu.org/33525>. For
;; transparency, we give this "second 4.3b" release a different version
;; number.
- (let ((upstream-version "4.3b"))
+ (let ((upstream-version "4.3e"))
(package
(name "bigloo")
- (version "4.3b2")
+ (version "4.3e1")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp-sop.inria.fr/indes/fp/Bigloo/bigloo"
upstream-version ".tar.gz"))
(sha256
(base32
- "02s0wrz5b1p0yqk9x6kax1vwzil7g9cyxfvl3vmy7fzznsza9gs4"))
+ "12k1kxyn3yilba0508xh8wkrw6279gnghzqi0bs2ayf5d2wkqdj3"))
;; Remove bundled libraries.
(modules '((guix build utils)))
(snippet
@@ -306,14 +320,14 @@ and between Scheme and Java programs.")
(define-public hop
(package
(name "hop")
- (version "3.1.0-pre2")
+ (version "3.2.0-pre1")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp-sop.inria.fr/indes/fp/Hop/hop-"
version ".tar.gz"))
(sha256
(base32
- "0bvq79vxcpgwydwi923cxb5w9isx2x8r3d0xndbdhacmmsw1m811"))))
+ "0jf418d0s9imv98s6qrpjxr1mdaxr37knh5qyfl5y4a9cc41mlg5"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@@ -324,8 +338,12 @@ and between Scheme and Java programs.")
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
+ (substitute* '("tools/Makefile"
+ "test/hopjs/TEST.in")
+ (("/bin/rm") (which "rm")))
(invoke "./configure"
(string-append "--prefix=" out)
+ "--hostcc=gcc"
(string-append "--blflags="
;; user flags completely override useful
;; default flags, so repeat them here.
@@ -353,14 +371,14 @@ mashups, office (web agendas, mail clients, ...), etc.")
(define-public chicken
(package
(name "chicken")
- (version "4.13.0")
+ (version "5.0.0")
(source (origin
(method url-fetch)
(uri (string-append "https://code.call-cc.org/releases/"
version "/chicken-" version ".tar.gz"))
(sha256
(base32
- "0hvckhi5gfny3mlva6d7y9pmx7cbwvq0r7mk11k3sdiik9hlkmdd"))))
+ "15b5yrzfa8aimzba79x7v6y282f898rxqxfxrr446sjx9jwlpfd8"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
@@ -537,7 +555,7 @@ of libraries.")
(define-public gambit-c
(package
(name "gambit-c")
- (version "4.9.0")
+ (version "4.9.1")
(source
(origin
(method url-fetch)
@@ -547,14 +565,14 @@ of libraries.")
(string-map (lambda (c) (if (char=? c #\.) #\_ c)) version)
".tgz"))
(sha256
- (base32 "19862w9ij0g5xrkskl4g89xbs17gp9cc6cfcdca6dlfkb3lk6xhp"))))
+ (base32 "14x9xa0yh7187alzw2m937jnh4csj0dyywi3va8bhi7aaw4p5qai"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
;; According to the ./configure script, this makes the build slower and
;; use >= 1 GB memory, but makes Gambit much faster.
'("--enable-single-host")))
- (home-page "http://gambitscheme.org")
+ (home-page "http://dynamo.iro.umontreal.ca/wiki/index.php/Main_Page")
(synopsis "Efficient Scheme interpreter and compiler")
(description
"Gambit consists of two main programs: gsi, the Gambit Scheme
diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm
index 400c053048..fb2526c04a 100644
--- a/gnu/packages/security-token.scm
+++ b/gnu/packages/security-token.scm
@@ -51,6 +51,7 @@
#:use-module (gnu packages tex)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages web)
#:use-module (gnu packages xml))
(define-public ccid
@@ -307,3 +308,36 @@ and other operations. It includes a library and a command-line tool.")
;; license for that one file. Please see it for details. The vast
;; majority of files are licensed under bsd-2.
(license license:bsd-2)))
+
+(define-public yubikey-personalization
+ (package
+ (name "yubikey-personalization")
+ (version "1.19.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://developers.yubico.com/" name
+ "/Releases/ykpers-" version ".tar.gz"))
+ (sha256
+ (base32
+ "104lc0nnqdr365fa7c4vrq67rxp1dp8idndsh9jlhnj9dnhszj1b"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags (list (string-append "--with-udevrulesdir="
+ (assoc-ref %outputs "out")
+ "/lib/udev/rules.d"))))
+ (inputs
+ `(("json-c" ,json-c)
+ ("libusb" ,libusb)
+ ;; The library "libyubikey" is also known as "yubico-c".
+ ("libyubikey" ,libyubikey)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("eudev" ,eudev)))
+ (home-page "https://developers.yubico.com/yubikey-personalization/")
+ (synopsis "Library and tools to personalize YubiKeys")
+ (description
+ "The YubiKey Personalization package contains a C library and command
+line tools for personalizing YubiKeys. You can use these to set an AES key,
+retrieve a YubiKey's serial number, and so forth.")
+ (license license:bsd-2)))
diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm
index 2df0ce1364..b85c507d64 100644
--- a/gnu/packages/serialization.scm
+++ b/gnu/packages/serialization.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
-;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Corentin Bocquillon <corentin@nybble.fr>
;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
;;; Copyright © 2017 Frederick M. Muriithi <fredmanglis@gmail.com>
@@ -271,7 +271,23 @@ that implements both the msgpack and msgpack-rpc specifications.")
"01gxn7kc8pzyh4aadjxxzq8cignmbwmm9rfrsmgqfg9w2q75dn74"))))
(build-system cmake-build-system)
(arguments
- '(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
+ '(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'dont-install-gtest-libraries
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (with-directory-excursion
+ (string-append out "/include")
+ (delete-file-recursively "gtest")
+ (delete-file-recursively "gmock"))
+ (with-directory-excursion
+ (string-append out "/lib")
+ (for-each (lambda (file)
+ (delete-file file))
+ '("libgmock.so" "libgmock_main.so"
+ "libgtest.so" "libgtest_main.so"))))
+ #t)))))
(native-inputs
`(("python" ,python)))
(home-page "https://github.com/jbeder/yaml-cpp")
@@ -306,7 +322,7 @@ it a convenient format to store user input files.")
(define-public capnproto
(package
(name "capnproto")
- (version "0.6.1")
+ (version "0.7.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -314,7 +330,7 @@ it a convenient format to store user input files.")
version ".tar.gz"))
(sha256
(base32
- "010s9yhq4531wvdfrdf2477zswhck6cjfby79w73rff3v06090l0"))))
+ "0hfdnhlbskagzgvby8wy6lrxj53zfzpfqimbhga68c0ji2yw1969"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -324,6 +340,14 @@ it a convenient format to store user input files.")
;; Workaround for test that tries to resolve port name from
;; /etc/services, which is not present in build environment.
(substitute* "src/kj/async-io-test.c++" ((":http") ":80"))
+ #t))
+ (add-before 'check 'use-tmp-for-tempory-files
+ (lambda _
+ ;; Use /tmp for tempory files, as the default /var/tmp directory
+ ;; doesn't exist.
+ (substitute* "src/kj/filesystem-disk-test.c++"
+ (("VAR\\_TMP \"/var/tmp\"")
+ "VAR_TMP \"/tmp\""))
#t)))))
(home-page "https://capnproto.org")
(synopsis "Capability-based RPC and serialization system")
@@ -436,6 +460,7 @@ to generate and parse. The two primary functions are @code{cbor.loads} and
(method url-fetch)
(uri (string-append "https://github.com/google/flatbuffers/archive/v"
version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0z4swldxs0s31hnkqdhsbfmc8vx3p7zsvmqaw4l31r2iikdy651p"))))
diff --git a/gnu/packages/storage.scm b/gnu/packages/storage.scm
index 5051ccd986..4eae37815e 100644
--- a/gnu/packages/storage.scm
+++ b/gnu/packages/storage.scm
@@ -321,7 +321,7 @@
("python2-testtools" ,python2-testtools)
("python2-tox" ,python2-tox)))
(inputs
- `(("boost" ,boost)
+ `(("boost" ,boost-cxx14)
("curl" ,curl)
("cryptsetup" ,cryptsetup)
("expat" ,expat)
diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index c29c88a588..5222354e74 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -30,7 +30,7 @@
(define-public syncthing
(package
(name "syncthing")
- (version "0.14.52")
+ (version "0.14.54")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/syncthing/syncthing"
@@ -38,12 +38,19 @@
"/syncthing-source-v" version ".tar.gz"))
(sha256
(base32
- "1hhn72l74vb9l32i1a54ry2l85ji78cq6isd20lxxdk0bjqc4m29"))
- (modules '((guix build utils)))
- ;; Delete bundled ("vendored") free software source code.
- (snippet '(begin
- (delete-file-recursively "vendor")
- #t))))
+ "1pfjckwsrhy8lbmy42fawgh1gcfmjbh3dfxx05w5yjxnpd1g2z6r"))
+ ;; Since the update to Go 1.11, Go programs have been keeping
+ ;; spurious references to all their dependencies:
+ ;; <https://bugs.gnu.org/33620>.
+ ;; For Syncthing, this increases the size of the 'out' closure
+ ;; from 87.6 MiB to 253.5 MiB. So, we use the bundled
+ ;; dependencies until the bug is resolved.
+; (modules '((guix build utils)))
+; ;; Delete bundled ("vendored") free software source code.
+; (snippet '(begin
+; (delete-file-recursively "vendor")
+; #t))
+ ))
(build-system go-build-system)
;; The primary Syncthing executable goes to "out", while the auxiliary
;; server programs and utility tools go to "utils". This reduces the size
@@ -63,7 +70,7 @@
#t))
(replace 'build
- (lambda* (#:key inputs #:allow-other-keys)
+ (lambda _
(with-directory-excursion "src/github.com/syncthing/syncthing"
(invoke "go" "run" "build.go" "-no-upgrade"))))
@@ -107,48 +114,6 @@
(delete-file (string-append out man "/man1/strelaysrv.1"))
(delete-file (string-append utils man "/man1/syncthing.1"))
#t))))))
- ;; When updating Syncthing, check 'vendor/manifest' in the source
- ;; distribution to ensure we are using the correct versions of these
- ;; dependencies.
- (inputs
- `(("go-github-com-audriusbutkevicius-cli"
- ,go-github-com-audriusbutkevicius-cli)
- ("go-github-com-audriusbutkevicius-go-nat-pmp"
- ,go-github-com-audriusbutkevicius-go-nat-pmp)
- ("go-github-com-audriusbutkevicius-pfilter"
- ,go-github-com-audriusbutkevicius-pfilter)
- ("go-github-com-bkaradzic-go-lz4" ,go-github-com-bkaradzic-go-lz4)
- ("go-github-com-calmh-du" ,go-github-com-calmh-du)
- ("go-github-com-calmh-xdr" ,go-github-com-calmh-xdr)
- ("go-github-com-prometheus-union" ,(go-github-com-prometheus-union))
- ("go-github-com-chmduquesne-rollinghash-adler32"
- ,go-github-com-chmduquesne-rollinghash-adler32)
- ("go-github-com-gobwas-glob" ,go-github-com-gobwas-glob)
- ("go-github-com-gogo-protobuf-union"
- ,(go-github-com-gogo-protobuf-union))
- ("go-github-com-golang-groupcache-lru"
- ,go-github-com-golang-groupcache-lru)
- ("go-github-com-jackpal-gateway" ,go-github-com-jackpal-gateway)
- ("go-github-com-kballard-go-shellquote"
- ,go-github-com-kballard-go-shellquote)
- ("go-github-com-lib-pq" ,go-github-com-lib-pq)
- ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
- ("go-github-com-oschwald-geoip2-golang"
- ,go-github-com-oschwald-geoip2-golang)
- ("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
- ("go-github-com-rcrowley-go-metrics" ,go-github-com-rcrowley-go-metrics)
- ("go-github-com-sasha-s-go-deadlock" ,go-github-com-sasha-s-go-deadlock)
- ("go-github-com-syncthing-notify" ,go-github-com-syncthing-notify)
- ("go-github-com-syndtr-goleveldb" ,go-github-com-syndtr-goleveldb)
- ("go-github-com-thejerf-suture" ,go-github-com-thejerf-suture)
- ("go-github-com-vitrun-qart" ,(go-github-com-vitrun-qart-union))
- ("go-golang-org-x-crypto" ,(go-golang-org-x-crypto-union))
- ("go-golang-org-x-net-union" ,(go-golang-org-x-net-union))
- ("go-golang-org-x-text" ,(go-golang-org-x-text-union))
- ("go-golang-org-x-time-rate" ,go-golang-org-x-time-rate)
- ("go-gopkg.in-ldap.v2" ,go-gopkg.in-ldap.v2)
- ;; For tests
- ("go-github-com-d4l3k-messagediff" ,go-github-com-d4l3k-messagediff)))
(synopsis "Decentralized continuous file system synchronization")
(description "Syncthing is a peer-to-peer file synchronization tool that
supports a wide variety of computing platforms. It uses the Block Exchange
@@ -941,8 +906,8 @@ using sh's word-splitting rules.")
(license expat))))
(define-public go-github-com-syncthing-notify
- (let ((commit "b76b45868a77e7800dd06cce61101af9c4274bcc")
- (revision "2"))
+ (let ((commit "116c45bb5ad48777321e4984d1320d56889b6097")
+ (revision "3"))
(package
(name "go-github-com-syncthing-notify")
(version (git-version "0.0.0" revision commit))
@@ -954,7 +919,7 @@ using sh's word-splitting rules.")
(file-name (git-file-name name version))
(sha256
(base32
- "1xxkzaxygxxr51i2kdxsdaqb5i95hqpkw4kcr75wmsp914slw2q9"))))
+ "14bh95pkhwmnc65bnv08p3y4flj1j7f6xxr2cgmlwrphnlp9yhl9"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/syncthing/notify"))
@@ -1188,11 +1153,11 @@ server tools for Prometheus metrics.")
(license asl2.0))))
(define-public go-github-com-client-golang-prometheus
- (let ((commit "180b8fdc22b4ea7750bcb43c925277654a1ea2f3")
+ (let ((commit "7e9098b20fb8e103a7a5691878272d7e3d703663")
(revision "0"))
(package
(name "go-github-com-prometheus-client-golang-prometheus")
- (version (git-version "0.0.0" revision commit))
+ (version (git-version "0.9.1" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1201,11 +1166,12 @@ server tools for Prometheus metrics.")
(file-name (git-file-name name version))
(sha256
(base32
- "1kkfx1j9ka18ydsmdi2cdy3hs39c22b39mbc4laykmj2x93lmbdp"))))
+ "09q8hlvgyn58hn8fmmj535hrwhqc1215czwzf7fhaqpa9zamj4w1"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/prometheus/client_golang/prometheus"
- #:unpack-path "github.com/prometheus/client_golang"))
+ #:unpack-path "github.com/prometheus/client_golang"
+ #:tests? #f)) ; 'TestHandler' test fails in this non-critical dependency
(propagated-inputs
`(("go-github-com-beorn7-perks-quantile"
,go-github-com-beorn7-perks-quantile)
diff --git a/gnu/packages/terraform.scm b/gnu/packages/terraform.scm
index f14b152fdb..d96c5b0dfc 100644
--- a/gnu/packages/terraform.scm
+++ b/gnu/packages/terraform.scm
@@ -22,7 +22,48 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
- #:use-module (guix build-system go))
+ #:use-module (guix build-system go)
+ #:use-module (gnu packages golang)
+ #:use-module (gnu packages cdrom)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages virtualization))
+
+(define-public terraform
+ (package
+ (name "terraform")
+ (version "0.11.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hashicorp/terraform")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "0637x7jcm62pdnivmh4rggly6dmlvdh3jpsd1z4vba15gbm203nz"))))
+ (build-system go-build-system)
+ (outputs '("out" "lib"))
+ (arguments
+ '(#:import-path "github.com/hashicorp/terraform"
+ #:phases
+ (modify-phases %standard-phases
+ ;; I'm not sure what purpose they serve, but they are readonly, so
+ ;; they break the reset-gzip-timestamps phase.
+ (add-after 'install 'delete-test-fixtures
+ (lambda* (#:key outputs #:allow-other-keys)
+ (delete-file-recursively
+ (string-append
+ (assoc-ref outputs "lib")
+ "/src/github.com/hashicorp/terraform/config/module/test-fixtures")))))))
+ (synopsis "Tool for building and changing computing infrastructure")
+ (description
+ "Terraform uses descriptions of infrastructure written in @acronym{HCL,
+Hashicorp Configuration Language} which describe graphs of resources,
+including information about dependencies. From this, Terraform can plan and
+apply changes to the described resources.
+
+Terraform uses plugins that provide intergrations to different providers.")
+ (home-page "https://www.terraform.io/")
+ (license license:mpl2.0)))
(define-public terraform-docs
(package
@@ -47,3 +88,120 @@ the inputs and outputs for modules of the Terraform infrastructure management
tool. These can be shown, or written to a file in JSON or Markdown formats.")
(home-page "https://github.com/segmentio/terraform-docs")
(license license:expat)))
+
+(define-public terraform-provider-libvirt
+ (package
+ (name "terraform-provider-libvirt")
+ (version "0.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dmacvicar/terraform-provider-libvirt")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "004gxy55p5cf39f2zpah0i2zhvs4x6ixnxy8z9v7314604ggpkna"))))
+ (build-system go-build-system)
+ (outputs '("out" "lib"))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libvirt" ,libvirt)
+ ("cdrtools" ,cdrtools)))
+ (arguments
+ '(#:import-path "github.com/dmacvicar/terraform-provider-libvirt"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-mkisofs
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute*
+ "src/github.com/dmacvicar/terraform-provider-libvirt/libvirt/cloudinit_def.go"
+ (("mkisofs")
+ (string-append (assoc-ref inputs "cdrtools")
+ "/bin/mkisofs")))))
+ ;; This should be redundant once the vendor directory is removed from
+ ;; this package
+ (add-before 'reset-gzip-timestamps 'remove-readonly-gzip-files
+ (lambda* (#:key outputs #:allow-other-keys)
+ (for-each delete-file
+ (find-files
+ (assoc-ref outputs "lib")
+ ".*\\.t?gz")))))))
+ (synopsis "")
+ (description "")
+ (home-page "")
+ (license "")))
+
+(define-public terraform-provider-template
+ (package
+ (name "terraform-provider-template")
+ (version "1.0.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/terraform-providers/terraform-provider-template")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0jl6bp6gwg96sdk5j6s13vv1j9gxjpy2yva3barmzv9138i665mz"))))
+ (build-system go-build-system)
+ (outputs '("out" "lib"))
+ (arguments
+ '(#:import-path "github.com/terraform-providers/terraform-provider-template"))
+ (synopsis "")
+ (description "")
+ (home-page "")
+ (license "")))
+
+(define-public terraform-provider-aws
+ (package
+ (name "terraform-provider-aws")
+ (version "1.23.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/terraform-providers/terraform-provider-aws")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "156277pbllmglpppnrp6qskiq744mxjjmsw39d0d3qpqs5af4x1y"))))
+ (build-system go-build-system)
+ (outputs '("out" "lib"))
+ (arguments
+ '(#:import-path "github.com/terraform-providers/terraform-provider-aws"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'reset-gzip-timestamps 'remove-readonly-gzip-files
+ (lambda* (#:key outputs #:allow-other-keys)
+ (for-each delete-file
+ (find-files
+ (assoc-ref outputs "lib")
+ ".*\\.t?gz")))))))
+ (synopsis "")
+ (description "")
+ (home-page "")
+ (license "")))
+
+(define-public terraform-provider-local
+ (package
+ (name "terraform-provider-local")
+ (version "1.1.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/terraform-providers/terraform-provider-local")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1qxfyyg8k43rw0gny4dadamc2a9hk3x6ybdivifjc17m7il0janc"))))
+ (build-system go-build-system)
+ (outputs '("out" "lib"))
+ (arguments
+ '(#:import-path "github.com/terraform-providers/terraform-provider-local"))
+ (synopsis "")
+ (description "")
+ (home-page "")
+ (license "")))
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 916aa54d58..765f6aa849 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -265,7 +265,7 @@ This package contains the binaries.")
(let* ((root (string-append (assoc-ref %outputs "out")
"/share/texmf-dist"))
(dvips (string-append root "/dvips"))
- (maps (string-append root "/fonts/map/dvips/tetex"))
+ (maps (string-append root "/fonts/map/dvips"))
(encs (string-append root "/fonts/enc/dvips/base")))
(mkdir-p dvips)
(copy-recursively (assoc-ref %build-inputs "source") dvips)
@@ -281,12 +281,12 @@ This package contains the binaries.")
(uri (svn-reference
(url (string-append "svn://www.tug.org/texlive/tags/"
%texlive-tag "/Master/texmf-dist/"
- "/fonts/map/dvips/tetex"))
+ "/fonts/map/dvips"))
(revision %texlive-revision)))
(file-name (string-append "dvips-font-maps-" version "-checkout"))
(sha256
(base32
- "100208pg7q6lj7swiq9p9287nn6b64bl62bnlaxpjni9y2kdrqy5"))))
+ "09hply3nmy24ilnc6cl8q70jcqxvq6bwri572kms008ini3h9vqh"))))
("dvips-base-enc"
,(origin
(method svn-fetch)
@@ -609,20 +609,36 @@ documents.")
(find-files "." "cm(.*[0-9]+.*|inch)\\.mf$"))
#t))
(replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
+ (lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(tfm (string-append
out "/share/texmf-dist/fonts/tfm/public/cm"))
- (mf (string-append
- out "/share/texmf-dist/fonts/source/public/cm")))
+ (mf (string-append
+ out "/share/texmf-dist/fonts/source/public/cm"))
+ (type1 (string-append
+ out "/share/texmf-dist/fonts/type1/public/amsfonts/cm")))
(for-each (cut install-file <> tfm)
(find-files "build" "\\.*"))
(for-each (cut install-file <> mf)
(find-files "." "\\.mf"))
+ (mkdir-p type1)
+ (copy-recursively (assoc-ref inputs "cm-type1") type1)
#t))))))
(native-inputs
`(("texlive-bin" ,texlive-bin)
- ("texlive-metafont-base" ,texlive-metafont-base)))
+ ("texlive-metafont-base" ,texlive-metafont-base)
+ ("cm-type1"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/type1/public/amsfonts/cm"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-type1-" version "-checkout"))
+ (sha256
+ (base32
+ "12jyl9jp3hidifa4l5pmi47p71d5mb5kj5rknxkygilix8yz2iy6"))))))
(home-page "https://www.ctan.org/pkg/cm")
(synopsis "Computer Modern fonts for TeX")
(description "This package provides the Computer Modern fonts by Donald
@@ -3995,10 +4011,27 @@ e-TeX.")
(begin
(use-modules (guix build utils))
(let ((target (string-append (assoc-ref %outputs "out")
- "/share/texmf-dist/tex/generic/pdftex")))
+ "/share/texmf-dist/tex/generic/pdftex"))
+ (target-map (string-append (assoc-ref %outputs "out")
+ "/share/texmf-dist/fonts/map/pdftex")))
(mkdir-p target)
(copy-recursively (assoc-ref %build-inputs "source") target)
+ (mkdir-p target-map)
+ (copy-recursively (assoc-ref %build-inputs "pdftex-map") target-map)
#t))))
+ (native-inputs
+ `(("pdftex-map"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/map/pdftex"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-map-" version "-checkout"))
+ (sha256
+ (base32
+ "197z9kx3bpnz58f5xrn5szyvmb3fxqq12y5sc4dw4jnm3xll8ji2"))))))
(home-page "https://www.ctan.org/pkg/pdftex")
(synopsis "TeX extension for direct creation of PDF")
(description
@@ -4940,3 +4973,255 @@ used inside tables and moving arguments such as footnotes and section
titles.")
;; No version of the GPL is specified.
(license license:gpl3+)))
+
+(define-public texlive-generic-xypic
+ (package
+ (name "texlive-generic-xypic")
+ (version (number->string %texlive-revision))
+ (source
+ (origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/tex/generic/xypic"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1g5cyxwdfznq4lk9zl6fkjkapmhmwd2cm4m5aibxj20qgwnaggfz"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let ((target (string-append (assoc-ref %outputs "out")
+ "/share/texmf-dist/tex/generic/xypic")))
+ (mkdir-p target)
+ (copy-recursively (assoc-ref %build-inputs "source") target)
+ #t))))
+ (home-page "https://www.ctan.org/pkg/xypic")
+ (synopsis "Flexible diagramming macros for TeX")
+ (description
+ "A package for typesetting a variety of graphs and diagrams with TeX.
+Xy-pic works with most formats (including LaTeX, AMS-LaTeX, AMS-TeX, and plain
+TeX).")
+ (license license:gpl3+)))
+
+(define-public texlive-fonts-xypic
+ (package
+ (name "texlive-fonts-xypic")
+ (version (number->string %texlive-revision))
+ (source (origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/source/public/xypic"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0p20v1257kwsqnrk98cdhhiz2viv8l3ly4xay4by0an3j37m9xs3"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils)
+ (ice-9 match))
+ #:builder
+ (begin
+ (use-modules (guix build utils)
+ (ice-9 match))
+ (let ((root (string-append (assoc-ref %outputs "out")
+ "/share/texmf-dist/"))
+ (pkgs '(("source" . "fonts/source/public/xypic")
+ ("xypic-afm" . "fonts/afm/public/xypic")
+ ("xypic-type1" . "fonts/type1/public/xypic")
+ ("xypic-enc" . "fonts/enc/dvips/xypic"))))
+ (for-each (match-lambda
+ ((pkg . dir)
+ (let ((target (string-append root dir)))
+ (mkdir-p target)
+ (copy-recursively (assoc-ref %build-inputs pkg)
+ target))))
+ pkgs)
+ #t))))
+ (native-inputs
+ `(("xypic-afm"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/afm/public/xypic"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-afm-" version "-checkout"))
+ (sha256
+ (base32
+ "149xdijxp8lw3s0qv2aqxxxyyn748z57dpr596rjvkqdffpnsddh"))))
+ ("xypic-type1"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/type1/public/xypic"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-type1-" version "-checkout"))
+ (sha256
+ (base32
+ "1bln89wib7g3hcv2jny3qi6jb73k9d2vbgx3wnnjwp3ryg0846if"))))
+ ("xypic-enc"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/enc/dvips/xypic"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-enc-" version "-checkout"))
+ (sha256
+ (base32
+ "0yi8vms3203l3p5slnhrrlzzp0f0jw77fkcvcaicrz2vmw9z99x7"))))))
+ (home-page "https://www.ctan.org/pkg/xypic")
+ (synopsis "Fonts for XY-pic")
+ (description "This package provides the XY-pic fonts.")
+ (license license:gpl3+)))
+
+(define-public texlive-bibtex
+ (package
+ (name "texlive-bibtex")
+ (version (number->string %texlive-revision))
+ (source
+ (origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/bibtex"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1gk9q22fcb2fa1ql6cf9yw505x6a6axdzzfxbsya7nkrph860af8"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let ((target (string-append (assoc-ref %outputs "out")
+ "/share/texmf-dist/bibtex")))
+ (mkdir-p target)
+ (copy-recursively (assoc-ref %build-inputs "source") target)
+ #t))))
+ (home-page "https://www.ctan.org/pkg/bibtex")
+ (synopsis "Process bibliographies for LaTeX")
+ (description
+ "BibTeX allows the user to store his citation data in generic form, while
+printing citations in a document in the form specified by a BibTeX style, to
+be specified in the document itself (one often needs a LaTeX citation-style
+package, such as @command{natbib} as well).")
+ (license license:knuth)))
+
+(define-public texlive-fonts-charter
+ (package
+ (name "texlive-fonts-charter")
+ (version (number->string %texlive-revision))
+ (source (origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/type1/bitstrea/charter"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0yvib45xxff3jm5270zij4q888pivbc18cqs7lz4pqfhn1am4wnv"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils)
+ (ice-9 match))
+ #:builder
+ (begin
+ (use-modules (guix build utils)
+ (ice-9 match))
+ (let ((root (string-append (assoc-ref %outputs "out")
+ "/share/texmf-dist/"))
+ (pkgs '(("source" . "fonts/type1/bitstrea/charter")
+ ("charter-afm" . "fonts/afm/bitstrea/charter")
+ ("charter-tfm" . "fonts/tfm/bitstrea/charter"))))
+ (for-each (match-lambda
+ ((pkg . dir)
+ (let ((target (string-append root dir)))
+ (mkdir-p target)
+ (copy-recursively (assoc-ref %build-inputs pkg)
+ target))))
+ pkgs)
+ #t))))
+ (native-inputs
+ `(("charter-afm"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/afm/bitstrea/charter"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-afm-" version "-checkout"))
+ (sha256
+ (base32
+ "02nbkqrlr3vypnzslmr7dxg1353mmc0rl4ynx0s6qbvf313fq76a"))))
+ ("charter-tfm"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/tfm/bitstrea/charter"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-tfm-" version "-checkout"))
+ (sha256
+ (base32
+ "0j7ci9vprivbhac70aq0z7m23hqcpx1g0i3wp1k0h8ilhimj80xk"))))))
+ (home-page "https://www.ctan.org/pkg/charter")
+ (synopsis "Charter fonts for TeX")
+ (description "A commercial text font donated for the common good. Support
+for use with LaTeX is available in @code{freenfss}, part of
+@command{psnfss}. ")
+ (license (license:non-copyleft (string-append "http://mirrors.ctan.org/"
+ "fonts/charter/readme.charter")))))
+
+(define-public texlive-context-base
+ (package
+ (name "texlive-context-base")
+ (version (number->string %texlive-revision))
+ (source (origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/tex/context/base"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0zwl0cg6pka13i26dpqh137391f3j9sk69cpvwrm4ivsa0rqnw6g"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let ((target (string-append (assoc-ref %outputs "out")
+ "/share/texmf-dist/tex/context/case")))
+ (mkdir-p target)
+ (copy-recursively (assoc-ref %build-inputs "source") target)
+ #t))))
+ (home-page "https://www.ctan.org/pkg/context")
+ (synopsis "Full featured, parameter driven macro package for TeX")
+ (description "A full featured, parameter driven macro package, which fully
+supports advanced interactive documents. See the ConTeXt garden for a wealth
+of support information.")
+ (license license:gpl2+)))
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index cda79231f1..91bc64bc1f 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -52,7 +52,8 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages readline)
- #:use-module (gnu packages slang))
+ #:use-module (gnu packages slang)
+ #:use-module (gnu packages web))
(define-public dos2unix
(package
@@ -758,15 +759,33 @@ indentation.
(version "1.0.5")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/BYVoid/OpenCC"
- "/archive/ver." version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/BYVoid/OpenCC")
+ (commit (string-append "ver." version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "01870gbkf711msirf3206k0ajaabypjhnx3fny5wikw0ladn9q8w"))))
+ (base32
+ "1pv5md225qwhbn8ql932zdg6gh1qlx3paiajaks8gfsa07yzvhr4"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; TODO: Unbundle tclap, darts-clone, gtest
+ (delete-file-recursively "deps/rapidjson-0.11") #t))))
(build-system cmake-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-3rd-party-references
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((rapidjson (assoc-ref inputs "rapidjson")))
+ (substitute* "src/CMakeLists.txt"
+ (("../deps/rapidjson-0.11")
+ (string-append rapidjson "/include/rapidjson")))
+ #t))))))
(native-inputs
- `(("python" ,python-wrapper)))
+ `(("python" ,python-wrapper)
+ ("rapidjson" ,rapidjson)))
(home-page "https://github.com/BYVoid/OpenCC")
(synopsis "Convert between Traditional Chinese and Simplified Chinese")
(description "Open Chinese Convert (OpenCC) converts between Traditional
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index d9971441c6..09bc4b4117 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -394,7 +394,7 @@ required structures.")
(package
(inherit openssl)
(name "openssl")
- (version "1.1.1")
+ (version "1.1.1a")
(source (origin
(method url-fetch)
(uri (list (string-append "https://www.openssl.org/source/openssl-"
@@ -407,16 +407,16 @@ required structures.")
(patches (search-patches "openssl-1.1-c-rehash-in.patch"))
(sha256
(base32
- "0gbab2fjgms1kx5xjvqx8bxhr98k4r8l2fa8vw7kvh491xd8fdi8"))))
+ "0hcz7znzznbibpy3iyyhvlqrq44y88plxwdj32wjzgbwic7i687w"))))
(outputs '("out"
- "doc" ; 6.7 MiB of man3 pages and full HTML documentation
+ "doc" ; 6.8 MiB of man3 pages and full HTML documentation
"static")) ; 6.4 MiB of .a files
(arguments
(substitute-keyword-arguments (package-arguments openssl)
((#:phases phases)
`(modify-phases ,phases
(delete 'patch-tests) ; These two phases are not needed by
- (delete 'patch-Makefile.org) ; OpenSSL 1.1.0.
+ (delete 'patch-Makefile.org) ; OpenSSL 1.1.
;; Override configure phase since -rpath is now a configure option.
(replace 'configure
@@ -522,13 +522,13 @@ netcat implementation that supports TLS.")
(package
(name "python-acme")
;; Remember to update the hash of certbot when updating python-acme.
- (version "0.28.0")
+ (version "0.29.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "acme" version))
(sha256
(base32
- "11dvcbdifn5d02p4k5li8r6r39bl3p5ap9p3zjwvasm24hf2yz5z"))))
+ "0z5l966b1asbcdzl77bmywf22c1q0xill00jj7qyml9wx2nh7qm2"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -579,7 +579,7 @@ netcat implementation that supports TLS.")
(uri (pypi-uri name version))
(sha256
(base32
- "02h959qkq7z0s13ivgf7jyl3gnc55wcck6n546k0kh155bpf5qri"))))
+ "14i6yrcb9s7ygy99gccfc8jscymi24xb72s5lgg9b2y40z909ikg"))))
(build-system python-build-system)
(arguments
`(,@(substitute-keyword-arguments (package-arguments python-acme)
@@ -826,7 +826,7 @@ then ported to the GNU / Linux environment.")
(define-public mbedtls-apache
(package
(name "mbedtls-apache")
- (version "2.14.1")
+ (version "2.16.0")
(source
(origin
(method url-fetch)
@@ -836,7 +836,7 @@ then ported to the GNU / Linux environment.")
version "-apache.tgz"))
(sha256
(base32
- "07f6xn77w5rd6fhq5s1dmna3czs4chk5j2s6wkj366cvikawp2gi"))))
+ "1qlscr0m97favkqmrlj90rlgw40h8lcypxz0snvr1iwkj1pbbnp3"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm
index a9bbebcd13..764ee52b0a 100644
--- a/gnu/packages/tor.scm
+++ b/gnu/packages/tor.scm
@@ -4,7 +4,7 @@
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2017, 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;;
@@ -162,7 +162,7 @@ networks.")
(define-public onionshare
(package
(name "onionshare")
- (version "0.9.2")
+ (version "1.3.1")
(source
(origin
(method git-fetch)
@@ -172,7 +172,7 @@ networks.")
(file-name (git-file-name name version))
(sha256
(base32
- "1nzr6m3jp04p1i8b652s27zv0xhybl3zwcn5r6l9h0f7d7x4iglv"))))
+ "02zic4cxwrcfdg22dq9c2rzni3l18wynjxd38scc59s37vlw7w2r"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -181,55 +181,24 @@ networks.")
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(onionshare (string-append out "/share/onionshare")))
- (substitute* "onionshare/strings.py"
- ;; correct the locale directory
- (("helpers.get_resource_path\\('locale'\\)")
- (string-append "'" onionshare "/locale'")))
- (substitute* "onionshare/helpers.py"
- ;; correct the location of version.txt
- (("get_resource_path\\('version.txt'\\)")
- (string-append "'" onionshare "/version.txt'"))
- (("get_resource_path\\('wordlist.txt'\\)")
- (string-append "'" onionshare "/wordlist.txt'")))
- (substitute* "onionshare/web.py"
- ;; fix the location of the html files
- (("helpers.get_resource_path\\('html/denied.html'\\)")
- (string-append "'" onionshare "/html/denied.html'"))
- (("helpers.get_resource_path\\('html/404.html'\\)")
- (string-append "'" onionshare "/html/404.html'"))
- (("helpers.get_resource_path\\('html/index.html'\\)")
- (string-append "'" onionshare "/html/index.html'")))
- (substitute* "onionshare_gui/file_selection.py"
- ;; fancy box image in the GUI
- (("helpers.get_resource_path\\('images/drop_files.png'\\)")
- (string-append "'" onionshare "/images/drop_files.png'")))
- (substitute* "onionshare_gui/server_status.py"
- (("helpers.get_resource_path\\('images/server_stopped.png'\\)")
- (string-append "'" onionshare "/images/server_stopped.png'"))
- (("helpers.get_resource_path\\('images/server_working.png'\\)")
- (string-append "'" onionshare "/images/server_working.png'"))
- (("helpers.get_resource_path\\('images/server_started.png'\\)")
- (string-append "'" onionshare "/images/server_started.png'")))
- (substitute* "onionshare_gui/onionshare_gui.py"
- ;; for the icon on the GUI
- (("helpers.get_resource_path\\('images/logo.png'\\)")
- (string-append "'" onionshare "/images/logo.png'")))
- (substitute* '("setup.py" "onionshare/helpers.py")
+ (substitute* '("setup.py" "onionshare/common.py")
(("sys.prefix,") (string-append "'" out "',")))
(substitute* "setup.py"
;; for the nautilus plugin
(("/usr/share/nautilus") "share/nautilus"))
- #t)))
+ (substitute* "install/onionshare.desktop"
+ (("/usr") out))
+ #t)))
(delete 'check)
(add-before 'strip 'tests
;; After all the patching we run the tests after installing.
;; This is also a known issue:
;; https://github.com/micahflee/onionshare/issues/284
(lambda _
- (invoke "nosetests" "test")
+ (invoke "pytest" "test")
#t)))))
(native-inputs
- `(("python-nose" ,python-nose)))
+ `(("python-pytest" ,python-pytest)))
(inputs
`(("python-flask" ,python-flask)
("python-nautilus" ,python-nautilus)
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index d068c30735..2eaf0c69f4 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -146,14 +146,14 @@ as well as the classic centralized workflow.")
(name "git")
;; XXX When updating Git, check if the special 'git-source' input to cgit
;; needs to be updated as well.
- (version "2.19.2")
+ (version "2.20.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/software/scm/git/git-"
version ".tar.xz"))
(sha256
(base32
- "1scbggzghkzzfqg4ky3qh7h9w87c3zya4ls5disz7dbx56is7sgw"))))
+ "1sf3h6ms43k15h01ln8lcf24vx9n7c11s83h1ax63sm2zbi92blx"))))
(build-system gnu-build-system)
(native-inputs
`(("native-perl" ,perl)
@@ -166,7 +166,7 @@ as well as the classic centralized workflow.")
version ".tar.xz"))
(sha256
(base32
- "1sqhllkabylm46paswg0j54fiar44fmcdmkjkysmjn2gj6hqpz95"))))
+ "1fkn134y7an850l7p487v39y5zciaa65gryzqz815dyg8ziwq2h6"))))
;; For subtree documentation.
("asciidoc" ,asciidoc)
("docbook-xsl" ,docbook-xsl)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index fc6caf3ff8..2ef92ae630 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -865,26 +865,6 @@ audio/video codec library.")
(base32
"0b59qk5wpc5ksiha76jbhb859g5gxa4w0k6afh3kgvgajiivs73l"))))))
-(define-public ffmpeg-2.8
- (package
- (inherit ffmpeg)
- (version "2.8.15")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
- version ".tar.xz"))
- (sha256
- (base32
- "065xbvnfmxfbfrc14cavpqyd2slil99vcjksw4ndb7w8zdh0wp3v"))))
- (arguments
- (substitute-keyword-arguments (package-arguments ffmpeg)
- ((#:configure-flags flags)
- `(map (lambda (flag)
- (if (string=? flag "--disable-mipsdsp")
- "--disable-mipsdspr1"
- flag))
- ,flags))))))
-
(define-public ffmpegthumbnailer
(package
(name "ffmpegthumbnailer")
@@ -916,31 +896,19 @@ thumbnailer uses ffmpeg to decode frames from the video files, so supported
videoformats depend on the configuration flags of ffmpeg.")
(license license:gpl2+)))
-;; Fix build with newer x264.
-(define %vlc-libx264-compat.patch
- (origin
- (method url-fetch)
- (uri (string-append "https://git.videolan.org/?p=vlc.git;a=patch;h="
- "a8953ba707cca1f2de372ca24513296bcfcdaaa8"))
- (file-name "vlc-libx264-compat.patch")
- (sha256
- (base32
- "04igckbdp3sbp8vh0ihmhcf3yjyyk9r3cd5dm9mn9j6vipi1dg3g"))))
-
(define-public vlc
(package
(name "vlc")
- (version "3.0.4")
+ (version "3.0.5")
(source (origin
(method url-fetch)
(uri (string-append
"https://download.videolan.org/pub/videolan/vlc/"
(car (string-split version #\-))
"/vlc-" version ".tar.xz"))
- (patches (list %vlc-libx264-compat.patch))
(sha256
(base32
- "17jsq0zqpqyxw4ckvjba0hf6zk8ywc4wf8sy3z03hh3ij0vxpwq1"))))
+ "1nvj00khy08sing0mdnw6virmiq579mrk5rvpx9710nlxggqgh7m"))))
(build-system gnu-build-system)
(native-inputs
`(("flex" ,flex)
@@ -1338,7 +1306,7 @@ access to mpv's powerful playback capabilities.")
(define-public youtube-dl
(package
(name "youtube-dl")
- (version "2018.11.07")
+ (version "2018.12.17")
(source (origin
(method url-fetch)
(uri (string-append "https://yt-dl.org/downloads/"
@@ -1346,7 +1314,7 @@ access to mpv's powerful playback capabilities.")
version ".tar.gz"))
(sha256
(base32
- "1rvc2m2kbm2kycqsa7fkcg5gql9f0w3hn1a7jg48zzl06ayggxk9"))))
+ "1nd4zr3wd35vldm775m9wcgbzma2013yyj134lcz19ipjs38isrk"))))
(build-system python-build-system)
(arguments
;; The problem here is that the directory for the man page and completion
@@ -1496,7 +1464,7 @@ audio, images) from the Web. It can use either mpv or vlc for playback.")
(define-public youtube-viewer
(package
(name "youtube-viewer")
- (version "3.4.1")
+ (version "3.5.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1505,7 +1473,7 @@ audio, images) from the Web. It can use either mpv or vlc for playback.")
(file-name (git-file-name name version))
(sha256
(base32
- "0axgb95lx81psgrb2a5rfdd8gl4mhsrzf41jas6l58d1xkaj54ri"))))
+ "1s7hv2a46cx2nbdykrijqfh8hdkf3zqn6q8sg3ajnnc5agaspyrg"))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-build" ,perl-module-build)))
@@ -1955,7 +1923,7 @@ and custom quantization matrices.")
("python-websocket-client" ,python-websocket-client)
("python-iso3166" ,python-iso3166)
("python-iso639" ,python-iso639)
- ("python-isodate", python-isodate)
+ ("python-isodate" ,python-isodate)
("python-pycryptodome" ,python-pycryptodome)
("python-requests" ,python-requests)
("python-urllib3" ,python-urllib3)))
@@ -3264,3 +3232,23 @@ API. It includes bindings for Python, Ruby, and other languages.")
helps you create the film you have always dreamed of. Easily add sub-titles,
transitions, and effects and then export your film to many common formats.")
(license license:gpl3+)))
+
+(define-public dav1d
+ (package
+ (name "dav1d")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://downloads.videolan.org/pub/videolan/"
+ "dav1d/" version "/dav1d-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0dw0liday8cbyrirhm6bgzhxg4cdy66nspfkdlq338gdsfqcvrsc"))))
+ (build-system meson-build-system)
+ (native-inputs `(("nasm" ,nasm)))
+ (home-page "https://code.videolan.org/videolan/dav1d")
+ (synopsis "AV1 decoder")
+ (description "dav1d is a new AV1 cross-platform decoder, and focused on
+speed and correctness.")
+ (license license:bsd-2)))
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index ecce4e0ae6..53d028681d 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -33,6 +33,7 @@
#:use-module (gnu packages acl)
#:use-module (gnu packages admin) ; For GNU hostname
#:use-module (gnu packages attr)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gawk)
@@ -61,15 +62,16 @@
(define-public vim
(package
(name "vim")
- (version "8.1.0551")
+ (version "8.1.0644")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/vim/vim/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/vim/vim")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1wi6j9w04wg3hxsch3izl2mxb0065vpvxscz19zjn5ypkfypnm8n"))))
+ "1xksb2v8rw1zgrd5fwqvrh44lf277k85sad2y4ia1z17y7i8j2fl"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@@ -103,7 +105,9 @@
("ncurses" ,ncurses)
("perl" ,perl)
("tcsh" ,tcsh))) ; For runtime/tools/vim32
- (home-page "http://www.vim.org/")
+ (native-inputs
+ `(("libtool" ,libtool)))
+ (home-page "https://www.vim.org/")
(synopsis "Text editor based on vi")
(description
"Vim is a highly configurable text editor built to enable efficient text
@@ -135,6 +139,7 @@ configuration files.")
(install-file "xxd" bin)
#t))))))
(inputs `())
+ (native-inputs `())
(synopsis "Hexdump utility from vim")
(description "This package provides the Hexdump utility xxd that comes
with the editor vim.")))
@@ -165,6 +170,19 @@ with the editor vim.")))
,@(substitute-keyword-arguments (package-arguments vim)
((#:phases phases)
`(modify-phases ,phases
+ (add-before 'check 'skip-test87
+ ;; This test fails for unknown reasons after switching
+ ;; to a git checkout.
+ (lambda _
+ (delete-file "src/testdir/test87.ok")
+ (delete-file "src/testdir/test87.in")
+ (substitute* '("src/Makefile"
+ "src/testdir/Make_vms.mms")
+ (("test87") ""))
+ (substitute* "src/testdir/Make_all.mak"
+ (("test86.out \\\\") "test86")
+ (("test87.out") ""))
+ #t))
(add-before 'check 'start-xserver
(lambda* (#:key inputs #:allow-other-keys)
;; Some tests require an X server, but does not start one.
@@ -175,7 +193,8 @@ with the editor vim.")))
display " &")))))))))))
(native-inputs
`(("pkg-config" ,pkg-config)
- ("xorg-server" ,xorg-server)))
+ ("xorg-server" ,xorg-server)
+ ,@(package-native-inputs vim)))
(inputs
`(("acl" ,acl)
("atk" ,atk)
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 2f8e541d40..274f827cd9 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -72,6 +72,8 @@
#:use-module (gnu packages web)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
+ #:use-module (gnu packages xorg)
+ #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system python)
@@ -95,14 +97,14 @@
(define-public qemu
(package
(name "qemu")
- (version "3.0.0")
+ (version "3.1.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qemu.org/qemu-"
version ".tar.xz"))
(sha256
(base32
- "04sp3f1gp4bdb913jf7fw761njaqp2l32wgipp1sapmxx17zcyld"))))
+ "1z5bd5nfyjvhfi1s95labc82y4hjdjjkdabw931362ls0zghh1ba"))))
(build-system gnu-build-system)
(arguments
'(;; Running tests in parallel can occasionally lead to failures, like:
@@ -386,14 +388,14 @@ manage system or application containers.")
(define-public libvirt
(package
(name "libvirt")
- (version "4.3.0")
+ (version "4.10.0")
(source (origin
(method url-fetch)
(uri (string-append "https://libvirt.org/sources/libvirt-"
version ".tar.xz"))
(sha256
(base32
- "1dy243dqaj174hcka0my7q781wf0dvyi7f9328nwnplqicnf4cd5"))))
+ "0v17zzyyb25nn9l18v5244myg7590dp6ppwgi8xysipifc0q77bz"))))
(build-system gnu-build-system)
(arguments
`(;; FAIL: virshtest
@@ -437,6 +439,8 @@ manage system or application containers.")
#t))))))
(inputs
`(("libxml2" ,libxml2)
+ ("eudev" ,eudev)
+ ("libpciaccess" ,libpciaccess)
("gnutls" ,gnutls)
("dbus" ,dbus)
("qemu" ,qemu)
@@ -519,13 +523,13 @@ three libraries:
(define-public python-libvirt
(package
(name "python-libvirt")
- (version "4.1.0")
+ (version "4.10.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "libvirt-python" version))
(sha256
(base32
- "1ixqhxjkczl8vk9wjx4cknw4374cw5nnsacbd2s755kpd0ys7hny"))))
+ "11fipj9naihgc9afc8bz5hi05xa1shp4qcy170sa18p3sl4zljb9"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -557,7 +561,7 @@ virtualization library.")
(define-public virt-manager
(package
(name "virt-manager")
- (version "1.5.1")
+ (version "2.0.0")
(source (origin
(method url-fetch)
(uri (string-append "https://virt-manager.org/download/sources"
@@ -565,11 +569,10 @@ virtualization library.")
version ".tar.gz"))
(sha256
(base32
- "1ardmd4sxdmd57y7qpka44gf09c1yq2g0xs074d3k1h925crv27f"))))
+ "1b48xbrx99mfiv80c60k3ydzkpcpbq57c8h8dl0gnffmnzbs8vzb"))))
(build-system python-build-system)
(arguments
- `(#:python ,python-2
- #:use-setuptools? #f ; Uses custom distutils 'install' command.
+ `(#:use-setuptools? #f ; Uses custom distutils 'install' command.
;; Some of the tests seem to require network access to install virtual
;; machines.
#:tests? #f
@@ -626,12 +629,12 @@ virtualization library.")
("libosinfo" ,libosinfo)
("vte" ,vte)
("gobject-introspection" ,gobject-introspection)
- ("python2-libvirt" ,python2-libvirt)
- ("python2-requests" ,python2-requests)
- ("python2-ipaddr" ,python2-ipaddr)
- ("python2-pycairo" ,python2-pycairo)
- ("python2-pygobject" ,python2-pygobject)
- ("python2-libxml2" ,python2-libxml2)
+ ("python-libvirt" ,python-libvirt)
+ ("python-requests" ,python-requests)
+ ("python-ipaddress" ,python-ipaddress)
+ ("python-pycairo" ,python-pycairo)
+ ("python-pygobject" ,python-pygobject)
+ ("python-libxml2" ,python-libxml2)
("spice-gtk" ,spice-gtk)))
;; virt-manager searches for qemu-img or kvm-img in the PATH.
(propagated-inputs
@@ -769,7 +772,7 @@ Machine Protocol.")
(define-public lookingglass
(package
(name "lookingglass")
- (version "a11")
+ (version "a12")
(source
(origin
(method url-fetch)
@@ -778,8 +781,8 @@ Machine Protocol.")
(file-name (string-append name "-" version))
(sha256
(base32
- "11qwyp332l66sqksqa0z9439yi4accmbq7wjc6kikc5fimdh9wk5"))))
- (build-system gnu-build-system)
+ "0x57chx83f8pq56d9sfxmc9p4qjm9nqvdyamj41bmy145mxw5w3m"))))
+ (build-system cmake-build-system)
(inputs `(("fontconfig" ,fontconfig)
("glu" ,glu)
("mesa" ,mesa)
@@ -794,16 +797,17 @@ Machine Protocol.")
`(#:tests? #f ;; No tests are available.
#:make-flags '("CC=gcc")
#:phases (modify-phases %standard-phases
- (replace 'configure
+ (add-before 'configure 'chdir-to-client
(lambda* (#:key outputs #:allow-other-keys)
(chdir "client")
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
- (install-file "bin/looking-glass-client"
+ (install-file "looking-glass-client"
(string-append (assoc-ref outputs "out")
"/bin"))
- #t)))))
+ #t))
+ )))
(home-page "https://looking-glass.hostfission.com")
(synopsis "KVM Frame Relay (KVMFR) implementation")
(description "Looking Glass allows the use of a KVM (Kernel-based Virtual
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 1edd1ac56a..dabf84a947 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
+;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -28,6 +29,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
+ #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (gnu packages)
@@ -37,6 +39,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gnupg)
+ #:use-module (gnu packages gnuzilla)
#:use-module (gnu packages libevent)
#:use-module (gnu packages linux)
#:use-module (gnu packages perl)
@@ -400,3 +403,47 @@ DNS domain name queries.")
@command{sshuttle} virtual private networks. It supports flexible profiles
with configuration options for most of @command{sshuttle}’s features.")
(license license:gpl3+)))
+
+(define-public badvpn
+ (package
+ (name "badvpn")
+ (version "1.999.130")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ambrop72/badvpn.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0rm67xhi7bh3yph1vh07imv5y1pwyldvw3wa5bz471g8mnkc7d3c"))))
+ (build-system cmake-build-system)
+ (arguments
+ '(#:tests? #f)) ; no tests
+ (inputs
+ `(("nspr" ,nspr)
+ ("nss" ,nss)
+ ("openssl" ,openssl)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "https://github.com/ambrop72/badvpn")
+ (synopsis "Peer-to-peer virtual private network (VPN)")
+ (description "@code{BadVPN} is a collection of virtual private
+network (VPN) tools. It includes:
+
+@enumerate
+@item NCD programming language.\n
+NCD (Network Configuration Daemon) is a daemon and programming/scripting
+language for configuration of network interfaces and other aspects of the
+operating system.
+@item Tun2socks network-layer proxifier.\n
+The tun2socks program socksifes TCP connections at the network layer. It
+implements a TUN device which accepts all incoming TCP connections (regardless
+of destination IP), and forwards the connections through a SOCKS server.
+@item Peer-to-peer VPN.\n
+The peer-to-peer VPN implements a Layer 2 (Ethernet) network between the peers
+(VPN nodes).
+@end enumerate")
+ ;; This project contains a bundled lwIP. lwIP is also released under the
+ ;; 3-clause BSD license.
+ (license license:bsd-3)))
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index 578cfca560..e1ad01aa25 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -50,6 +50,7 @@
#:use-module (gnu packages tls)
#:use-module (gnu packages webkit)
#:use-module (gnu packages xorg)
+ #:use-module (gnu packages gcc)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
@@ -152,16 +153,16 @@ features including, tables, builtin image display, bookmarks, SSL and more.")
"0dwxhnq90whakgdg21lzcf03n2g1c7hqgliwhav8av5na5mqpn93"))
(file-name (string-append name "-" version ".tar.gz"))))
(inputs
- `(("lua-5.1", lua-5.1)
+ `(("lua-5.1" ,lua-5.1)
("gtk+" ,gtk+)
- ("gsettings-desktop-schemas", gsettings-desktop-schemas)
- ("glib-networking", glib-networking)
- ("lua5.1-filesystem", lua5.1-filesystem)
- ("luajit", luajit)
- ("webkitgtk", webkitgtk)
- ("sqlite", sqlite)))
+ ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+ ("glib-networking" ,glib-networking)
+ ("lua5.1-filesystem" ,lua5.1-filesystem)
+ ("luajit" ,luajit)
+ ("webkitgtk" ,webkitgtk)
+ ("sqlite" ,sqlite)))
(native-inputs
- `(("pkg-config", pkg-config)))
+ `(("pkg-config" ,pkg-config)))
(build-system glib-or-gtk-build-system)
(arguments
'(#:make-flags
@@ -364,45 +365,48 @@ driven and does not detract you from your daily work.")
(license license:gpl3+)))
(define-public next-gtk-webkit
- (let ((commit "b8899341bbdefd0a33412608fbb0b1f92f818c65"))
- (package
- (name "next-gtk-webkit")
- (version (git-version "1.0.0" "1" commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://source.atlas.engineer/public/next")
- (commit commit)))
- (sha256
- (base32
- "12jmf1b9qr85il9h15mb9vpsfh1wzcln9x9xpn4lps0kkccnpkz9"))
- (file-name (git-file-name "next" version))))
- (build-system glib-or-gtk-build-system)
- (arguments
- `(#:tests? #f ; no tests
- #:make-flags (list "gtk-webkit"
- "CC=gcc"
- (string-append "PREFIX=" %output))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)
- (replace 'install
- (lambda* (#:key (make-flags '()) #:allow-other-keys)
- (apply invoke "make" "install-gtk-webkit" make-flags))))))
- (inputs
- `(("glib-networking" ,glib-networking)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("webkitgtk" ,webkitgtk)))
- (native-inputs
- `(("pkg-config" ,pkg-config)))
- (home-page "https://next.atlas.engineer")
- (synopsis "Infinitely extensible web-browser (user interface only)")
- (description "Next is a keyboard-oriented, extensible web-browser
+ (package
+ (name "next-gtk-webkit")
+ (version "1.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://source.atlas.engineer/public/next")
+ (commit version)))
+ (sha256
+ (base32
+ "0a066f56hnb9znbwnv1blm31j0ysv05n4wzlkli0zgw087c9047x"))
+ (file-name (git-file-name "next" version))))
+ (build-system glib-or-gtk-build-system)
+ (arguments
+ `(#:tests? #f ; no tests
+ #:make-flags (list "gtk-webkit"
+ (string-append
+ "CC="
+ (assoc-ref %build-inputs "gcc-7")
+ "/bin/gcc")
+ (string-append "PREFIX=" %output))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda* (#:key (make-flags '()) #:allow-other-keys)
+ (apply invoke "make" "install-gtk-webkit" make-flags))))))
+ (inputs
+ `(("glib-networking" ,glib-networking)
+ ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+ ("webkitgtk" ,webkitgtk-2.22)))
+ (native-inputs
+ `(("gcc-7" ,gcc-7) ; needed because webkitgtk-2.22 is compiled with gcc-7
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://next.atlas.engineer")
+ (synopsis "Infinitely extensible web-browser (user interface only)")
+ (description "Next is a keyboard-oriented, extensible web-browser
inspired by Emacs and designed for power users. The application has familiar
key-bindings, is fully configurable and extensible in Lisp, and has powerful
features for productive professionals.")
- (license license:bsd-3))))
+ (license license:bsd-3)))
(define-public sbcl-next
(package
@@ -428,8 +432,6 @@ features for productive professionals.")
(define expected-fasl (string-append
lib
"/lib/sbcl/next--system.fasl"))
- (pk actual-fasl)
- (pk expected-fasl)
(copy-file actual-fasl expected-fasl)
#t))
(add-after 'create-symlinks 'build-program
@@ -445,6 +447,9 @@ features for productive professionals.")
;; the illegal version will result in NIL in the .desktop
;; file.
(lambda* (#:key outputs #:allow-other-keys)
+ (with-output-to-file "version"
+ (lambda _
+ (format #t "~a" ,(package-version next-gtk-webkit))))
(invoke "make" "install-assets"
(string-append "PREFIX="
(assoc-ref outputs "out"))))))))
@@ -456,15 +461,14 @@ features for productive professionals.")
("cl-strings" ,sbcl-cl-strings)
("cl-string-match" ,sbcl-cl-string-match)
("puri" ,sbcl-puri)
- ("queues.simple-queue" ,sbcl-queues.simple-queue)
("sqlite" ,sbcl-cl-sqlite)
("parenscript" ,sbcl-parenscript)
("cl-json" ,sbcl-cl-json)
("swank" ,sbcl-slime-swank)
("cl-markup" ,sbcl-cl-markup)
("cl-css" ,sbcl-cl-css)
- ("usocket" ,sbcl-usocket)
("bordeaux-threads" ,sbcl-bordeaux-threads)
("s-xml-rpc" ,sbcl-s-xml-rpc)
- ("unix-opts" ,sbcl-unix-opts)))
+ ("unix-opts" ,sbcl-unix-opts)
+ ("trivial-clipboard" ,sbcl-trivial-clipboard)))
(synopsis "Infinitely extensible web-browser (with Lisp development files)")))
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 750b760362..c1d29c94ad 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -57,6 +57,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system perl)
+ #:use-module (guix build-system ruby)
#:use-module (guix build-system cmake)
#:use-module (guix build-system r)
#:use-module (guix build-system trivial)
@@ -113,6 +114,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages ruby)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages xml)
#:use-module (gnu packages curl)
@@ -196,14 +198,14 @@ Interface} specification.")
(name "nginx")
;; Consider updating the nginx-documentation package if the nginx package is
;; updated.
- (version "1.14.1")
+ (version "1.14.2")
(source (origin
(method url-fetch)
(uri (string-append "https://nginx.org/download/nginx-"
version ".tar.gz"))
(sha256
(base32
- "19542jxcjf4dvrqvgb5vr36mhbzcjrxc3v0xh451rm60610rf2dz"))))
+ "15wppq12qmq8acjs35xfj61czhf9cdc0drnl5mm8hcg3aihryb80"))))
(build-system gnu-build-system)
(inputs `(("openssl" ,openssl)
("pcre" ,pcre)
@@ -1281,12 +1283,14 @@ minimum to provide high performance operation.")
#:tests? #f
#:phases
(modify-phases %standard-phases
+ (delete 'bootstrap)
(delete 'configure)
(add-after 'unpack 'unpack-libsass-and-set-path
(lambda* (#:key inputs #:allow-other-keys)
(invoke "tar" "xvf" (assoc-ref inputs "libsass"))
(setenv "SASS_LIBSASS_PATH"
- (string-append (getcwd) "/libsass-" ,version)))))))
+ (string-append (getcwd) "/libsass-" ,version))
+ #t)))))
(inputs
`(("libsass" ,libsass)))
(synopsis "CSS pre-processor")
@@ -3060,7 +3064,7 @@ select or poll.")
(native-inputs
`(("perl-test-fatal" ,perl-test-fatal)
("perl-test-needs" ,perl-test-needs)
- ("perl-test-requiresinternet", perl-test-requiresinternet)))
+ ("perl-test-requiresinternet" ,perl-test-requiresinternet)))
(propagated-inputs
`(("perl-encode-locale" ,perl-encode-locale)
("perl-file-listing" ,perl-file-listing)
@@ -6876,3 +6880,33 @@ instructions on how to use Guix in a shared HPC environment.")
"This package provides UI widget and layout functions for writing Shiny apps that
work well on small screens.")
(license l:gpl3)))
+
+(define-public ruby-unicorn
+ (package
+ (name "ruby-unicorn")
+ (version "5.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "unicorn" version))
+ (sha256
+ (base32
+ "09s3mdsrc080h7b70lkl2wnv36iy9ipdqbi1ffm3fxd0498xjb7h"))))
+ (build-system ruby-build-system)
+ (propagated-inputs
+ `(("ruby-kgio" ,ruby-kgio)
+ ("ruby-raindrops" ,ruby-raindrops)))
+ (synopsis
+ "unicorn is an HTTP server for Rack applications designed to only serve
+fast clients on low-latency, high-bandwidth connections and take
+advantage of features in Unix/Unix-like kernels. Slow clients should
+only be served by placing a reverse proxy capable of fully buffering
+both the the request and response in between unicorn and slow clients.")
+ (description
+ "unicorn is an HTTP server for Rack applications designed to only serve
+fast clients on low-latency, high-bandwidth connections and take
+advantage of features in Unix/Unix-like kernels. Slow clients should
+only be served by placing a reverse proxy capable of fully buffering
+both the the request and response in between unicorn and slow clients.")
+ (home-page "https://bogomips.org/unicorn/")
+ (license (list #f #f))))
diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index b56cdd8938..f135666a7e 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -168,14 +168,14 @@ HTML/CSS applications to full-fledged web browsers.")
(define-public webkitgtk-2.22
(package/inherit webkitgtk
(name "webkitgtk")
- (version "2.22.4")
+ (version "2.22.5")
(source (origin
(method url-fetch)
(uri (string-append "https://www.webkitgtk.org/releases/"
name "-" version ".tar.xz"))
(sha256
(base32
- "1f2335hjzsvjxjf6hy5cyypsn65wykpx2pbk1sp548w0hclbxdgs"))))
+ "04ybyvaz5xhfkd2k65pc0sqizngjvd82j1p56wz3lz4a84zqdlwr"))))
(native-inputs
`(("gcc" ,gcc-7) ; webkitgtk-2.22 requires gcc-6 or newer
,@(package-native-inputs webkitgtk)))
diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm
index 0fb1142b68..49bc6ecea7 100644
--- a/gnu/packages/wget.scm
+++ b/gnu/packages/wget.scm
@@ -45,7 +45,7 @@
(define-public wget
(package
(name "wget")
- (version "1.19.5")
+ (version "1.20.1")
(source
(origin
(method url-fetch)
@@ -53,23 +53,8 @@
version ".tar.lz"))
(sha256
(base32
- "0xfaxmlnih7dhkyks5wi4vrn0n1xshmy6gx6fb2k1120sprydyr9"))))
+ "0a29qsqxkk8145vkyy35q5a1wc7qzwx3qj3gmfrkmi9xs96yhqqg"))))
(build-system gnu-build-system)
- (arguments
- '(#:phases (modify-phases %standard-phases
- (add-before 'check 'disable-https-tests
- (lambda _
- ;; XXX: Skip TLS tests, which fail with "The
- ;; certificate's owner does not match hostname" as
- ;; reported at:
- ;; <https://lists.gnu.org/archive/html/bug-wget/2017-07/msg00012.html>.
- ;; The problem appears to be due to a change in GnuTLS
- ;; 3.5.12, whereby 'gnutls_x509_crt_check_hostname2' no
- ;; longer matches IP address against the 'CN' or
- ;; 'DNSname' fields of certificates.
- (substitute* "testenv/Makefile"
- (("SSL_TESTS=1") ""))
- #t)))))
(inputs
`(("gnutls" ,gnutls)
("libidn2" ,libidn2)
diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
index 802b3dd38f..150a346afa 100644
--- a/gnu/packages/wine.scm
+++ b/gnu/packages/wine.scm
@@ -225,7 +225,7 @@ integrate Windows applications into your desktop.")
(define-public wine-staging-patchset-data
(package
(name "wine-staging-patchset-data")
- (version "3.21")
+ (version "4.0-rc4")
(source
(origin
(method git-fetch)
@@ -235,7 +235,7 @@ integrate Windows applications into your desktop.")
(file-name (git-file-name name version))
(sha256
(base32
- "1bxryvqw5rvhcx8vjl714jaj0rjsrh95kh3sn499rrljc3c8qsbl"))))
+ "18jd5d9yjps41b48gl7xkjyli0pqj84f7qpm1siz359r795x6inv"))))
(build-system trivial-build-system)
(native-inputs
`(("bash" ,bash)
@@ -276,12 +276,12 @@ integrate Windows applications into your desktop.")
(method url-fetch)
(uri (string-append
"https://dl.winehq.org/wine/source/"
- (version-major version) ".x"
+ (version-major version) ".0"
"/wine-" version ".tar.xz"))
(file-name (string-append name "-" version ".tar.xz"))
(sha256
(base32
- "1h70wb7kysbzv36i3fblyiihvalwhy6sj4s2a8nf21nz2mhc0k58"))))
+ "1394pdhn3myw7fsyqd7vmmga3x952v63pzgnrgr91jp9kyq2l1q3"))))
(inputs `(("autoconf" ,autoconf) ; for autoreconf
("gtk+" ,gtk+)
("libva" ,libva)
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 8322a62b51..a761bce235 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -76,6 +76,7 @@
#:use-module (gnu packages lua)
#:use-module (gnu packages linux)
#:use-module (gnu packages suckless)
+ #:use-module (gnu packages mpd)
#:use-module (guix download)
#:use-module (guix git-download))
@@ -604,7 +605,7 @@ Haskell, no knowledge of the language is required to install and use it.")
("ghc-random" ,ghc-random)
("ghc-utf8-string" ,ghc-utf8-string)
("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
- ("ghc-semigroups", ghc-semigroups)
+ ("ghc-semigroups" ,ghc-semigroups)
("ghc-x11" ,ghc-x11)
("ghc-x11-xft" ,ghc-x11-xft)
("xmonad" ,xmonad)))
@@ -1051,3 +1052,45 @@ its size
@item Display preview images in a tiled icon layout
@end itemize")
(license license:gpl2+)))
+
+(define-public polybar
+ (package
+ (name "polybar")
+ (version "3.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/jaagr/polybar/releases/"
+ "download/" version "/polybar.tar"))
+ (sha256
+ (base32 "0sjh3xmf11g09spi88zj7xsc3a3vv78kixab6n5i7436py7xwzb4"))
+ (file-name (string-append name "-" version ".tar"))))
+ (build-system cmake-build-system)
+ (arguments
+ ;; Test is disabled because it requires downloading googletest from the
+ ;; Internet.
+ '(#:tests? #f))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("cairo" ,cairo)
+ ("i3-wm" ,i3-wm)
+ ("libmpdclient" ,libmpdclient)
+ ("libnl" ,libnl)
+ ("libxcb" ,libxcb)
+ ("pulseaudio" ,pulseaudio)
+ ("xcb-proto" ,xcb-proto)
+ ("xcb-util" ,xcb-util)
+ ("xcb-util-cursor" ,xcb-util-cursor)
+ ("xcb-util-image" ,xcb-util-image)
+ ("xcb-util-wm" ,xcb-util-wm)
+ ("xcb-util-xrm" ,xcb-util-xrm)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("python-2" ,python-2) ; lib/xpp depends on python 2
+ ("python" ,python))) ; xcb-proto depends on python 3
+ (home-page "https://polybar.github.io/")
+ (synopsis "Fast and easy-to-use status bar")
+ (description "Polybar aims to help users build beautiful and highly
+customizable status bars for their desktop environment. It has built-in
+functionality to display information about the most commonly used services.")
+ (license license:expat)))
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 82ed065a3f..dc729229f3 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -24,6 +24,7 @@
;;; Copyright © 2018 Thomas Sigurdsen <tonton@riseup.net>
;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
+;;; Copyright © 2018 Nam Nguyen <namn@berkeley.edu>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -52,6 +53,8 @@
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages documentation)
+ #:use-module (gnu packages admin)
+ #:use-module (gnu packages base)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages check)
@@ -1555,3 +1558,57 @@ to automatically turn it on on login.")
(description "This package provides a small utility for inverting the
colors on all monitors attached to an XRandR-capable X11 display server.")
(license license:gpl3+)))
+
+(define-public sct
+ (package
+ (name "sct")
+ (version "0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://www.umaxx.net/dl/sct-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0r57z9ki8pvxhawfxys0v5h85z2x211sqxki0xvk1bga88ryldlv"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:make-flags (list "CC=gcc")
+ #:tests? #f ; No tests exist.
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'fix-sctd-paths
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (coreutils (assoc-ref inputs "coreutils"))
+ (inetutils (assoc-ref inputs "inetutils"))
+ (sed (assoc-ref inputs "sed")))
+ (substitute* "sctd.sh"
+ (("\\$\\(which sct\\)") (string-append out "/bin/sct"))
+ (("date") (string-append coreutils "/bin/date"))
+ (("printf") (string-append coreutils "/bin/printf"))
+ (("sleep") (string-append coreutils "/bin/sleep"))
+ (("logger") (string-append inetutils "/bin/logger"))
+ (("sed") (string-append sed "/bin/sed"))))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (install-file "sct" (string-append out "/bin"))
+ (install-file "sctd.sh" (string-append out "/bin"))
+ (install-file "sct.1" (string-append out "/man/man1"))
+ (install-file "sctd.1" (string-append out "/man/man1"))
+ (rename-file (string-append out "/bin/sctd.sh")
+ (string-append out "/bin/sctd"))
+ #t))))))
+ (inputs
+ `(("coreutils" ,coreutils) ; sctd uses "date", "printf" and "sleep"
+ ("inetutils" ,inetutils) ; sctd uses "logger"
+ ("libxrandr" ,libxrandr)
+ ("sed" ,sed))) ; sctd uses "sed"
+ (home-page "https://www.umaxx.net")
+ (synopsis "Set the color temperature of the screen")
+ (description "@code{sct} is a lightweight utility to set the color
+temperature of the screen.")
+ (license license:bsd-3)))
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index 3ac01133e5..fd4c3fea2c 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -39,6 +39,7 @@
(define-module (gnu packages xml)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages gnupg)
@@ -2152,3 +2153,24 @@ It converts the procedure call into an XML document, sends it to a remote
server using HTTP, and gets back the response as XML. This library provides a
modular implementation of XML-RPC for C and C++.")
(license (list license:psfl license:expat))))
+
+(define-public python-xmltodict
+ (package
+ (name "python-xmltodict")
+ (version "0.11.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "xmltodict" version))
+ (sha256
+ (base32
+ "1pxh4yjhvmxi1h6f92skv41g4kbsws3ams57150kzn18m907v3cg"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-coverage" ,python-coverage)
+ ("python-nose" ,python-nose)))
+ (home-page "https://github.com/martinblech/xmltodict")
+ (synopsis "Work with XML like you are working with JSON")
+ (description "This package provides a Python library to convert XML to
+@code{OrderedDict}.")
+ (license license:expat)))
diff --git a/gnu/services/admin.scm b/gnu/services/admin.scm
index d7bda61ed7..a3e43dd1c1 100644
--- a/gnu/services/admin.scm
+++ b/gnu/services/admin.scm
@@ -14,7 +14,7 @@
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
-;;; You should have received a copy of thye GNU General Public License
+;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu services admin)
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index cee9898d79..67bdaef18c 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -1499,26 +1499,27 @@ starting at FIRST-UID, and under GID."
1+
1))
-(define (hydra-key-authorization key guix)
- "Return a gexp with code to register KEY, a file containing a 'guix archive'
-public key, with GUIX."
+(define (hydra-key-authorization keys guix)
+ "Return a gexp with code to register KEYS, a list of files containing 'guix
+archive' public keys, with GUIX."
#~(unless (file-exists? "/etc/guix/acl")
- (let ((pid (primitive-fork)))
- (case pid
- ((0)
- (let* ((key #$key)
- (port (open-file key "r0b")))
- (format #t "registering public key '~a'...~%" key)
- (close-port (current-input-port))
- (dup port 0)
- (execl #$(file-append guix "/bin/guix")
- "guix" "archive" "--authorize")
- (exit 1)))
- (else
- (let ((status (cdr (waitpid pid))))
- (unless (zero? status)
- (format (current-error-port) "warning: \
-failed to register public key '~a': ~a~%" key status))))))))
+ (for-each (lambda (key)
+ (let ((pid (primitive-fork)))
+ (case pid
+ ((0)
+ (let* ((port (open-file key "r0b")))
+ (format #t "registering public key '~a'...~%" key)
+ (close-port (current-input-port))
+ (dup port 0)
+ (execl #$(file-append guix "/bin/guix")
+ "guix" "archive" "--authorize")
+ (primitive-exit 1)))
+ (else
+ (let ((status (cdr (waitpid pid))))
+ (unless (zero? status)
+ (format (current-error-port) "warning: \
+failed to register public key '~a': ~a~%" key status)))))))
+ '(#$@keys))))
(define %default-authorized-guix-keys
;; List of authorized substitute keys.
@@ -1603,7 +1604,15 @@ failed to register public key '~a': ~a~%" key status))))))))
'())
#$@(if tmpdir
(list (string-append "TMPDIR=" tmpdir))
- '()))
+ '())
+
+ ;; Make sure we run in a UTF-8 locale so that 'guix
+ ;; offload' correctly restores nars that contain UTF-8
+ ;; file names such as 'nss-certs'. See
+ ;; <https://bugs.gnu.org/32942>.
+ (string-append "GUIX_LOCPATH="
+ #$glibc-utf8-locales "/lib/locale")
+ "LC_ALL=en_US.utf8")
#:log-file #$log-file))
(stop #~(make-kill-destructor))))))
@@ -1632,8 +1641,7 @@ failed to register public key '~a': ~a~%" key status))))))))
;; Optionally authorize substitute server keys.
(if authorize-key?
- #~(begin
- #$@(map (cut hydra-key-authorization <> guix) keys))
+ (hydra-key-authorization keys guix)
#~#f))))
(define* (references-file item #:optional (name "references"))
@@ -1959,7 +1967,15 @@ item of @var{packages}."
(respawn? #f)
;; We need additional modules.
(modules `((gnu build linux-boot)
- ,@%default-modules))))))))
+ ,@%default-modules))
+
+ (actions (list (shepherd-action
+ (name 'rules)
+ (documentation "Display the directory containing
+the udev rules in use.")
+ (procedure #~(lambda (_)
+ (display #$rules)
+ (newline))))))))))))
(define udev-service-type
(service-type (name 'udev)
diff --git a/gnu/services/messaging.scm b/gnu/services/messaging.scm
index 1108006411..92f86a1b83 100644
--- a/gnu/services/messaging.scm
+++ b/gnu/services/messaging.scm
@@ -22,6 +22,8 @@
(define-module (gnu services messaging)
#:use-module (gnu packages messaging)
#:use-module (gnu packages admin)
+ #:use-module (gnu packages irc)
+ #:use-module (gnu packages tls)
#:use-module (gnu services)
#:use-module (gnu services shepherd)
#:use-module (gnu services configuration)
@@ -50,7 +52,10 @@
bitlbee-configuration
bitlbee-configuration?
bitlbee-service
- bitlbee-service-type))
+ bitlbee-service-type
+
+ quassel-configuration
+ quassel-service-type))
;;; Commentary:
;;;
@@ -895,3 +900,86 @@ configuration file."
(bitlbee bitlbee)
(interface interface) (port port)
(extra-settings extra-settings))))
+
+
+;;;
+;;; Quassel.
+;;;
+
+(define-record-type* <quassel-configuration>
+ quassel-configuration make-quassel-configuration
+ quassel-configuration?
+ (quassel quassel-configuration-quassel
+ (default quassel))
+ (interface quassel-configuration-interface
+ (default "::,0.0.0.0"))
+ (port quassel-configuration-port
+ (default 4242))
+ (loglevel quassel-configuration-loglevel
+ (default "Info")))
+
+(define quassel-shepherd-service
+ (match-lambda
+ (($ <quassel-configuration> quassel interface port loglevel)
+ (with-imported-modules (source-module-closure
+ '((gnu build shepherd)
+ (gnu system file-systems)))
+ (list (shepherd-service
+ (provision '(quassel))
+ (requirement '(user-processes networking))
+ (modules '((gnu build shepherd)
+ (gnu system file-systems)))
+ (start #~(make-forkexec-constructor/container
+ (list #$(file-append quassel "/bin/quasselcore")
+ "--configdir=/var/lib/quassel"
+ "--logfile=/var/log/quassel/core.log"
+ (string-append "--loglevel=" #$loglevel)
+ (string-append "--port=" (number->string #$port))
+ (string-append "--listen=" #$interface))
+ #:mappings (list (file-system-mapping
+ (source "/var/lib/quassel")
+ (target source)
+ (writable? #t))
+ (file-system-mapping
+ (source "/var/log/quassel")
+ (target source)
+ (writable? #t)))))
+ (stop #~(make-kill-destructor))))))))
+
+(define %quassel-account
+ (list (user-group (name "quassel") (system? #t))
+ (user-account
+ (name "quasselcore")
+ (group "quassel")
+ (system? #t)
+ (comment "Quassel daemon user")
+ (home-directory "/var/lib/quassel")
+ (shell (file-append shadow "/sbin/nologin")))))
+
+(define %quassel-activation
+ #~(begin
+ (use-modules (guix build utils))
+ (mkdir-p "/var/lib/quassel")
+ (mkdir-p "/var/log/quassel")
+ (let ((cert "/var/lib/quassel/quasselCert.pem"))
+ (unless (file-exists? cert)
+ (invoke #$(file-append openssl "/bin/openssl")
+ "req" "-x509" "-nodes" "-batch" "-days" "680" "-newkey"
+ "rsa" "-keyout" cert "-out" cert)))))
+
+(define quassel-service-type
+ (service-type (name 'quassel)
+ (extensions
+ (list (service-extension shepherd-root-service-type
+ quassel-shepherd-service)
+ (service-extension profile-service-type
+ (compose list quassel-configuration-quassel))
+ (service-extension account-service-type
+ (const %quassel-account))
+ (service-extension activation-service-type
+ (const %quassel-activation))))
+ (default-value (quassel-configuration))
+ (description
+ "Run @url{https://quassel-irc.org/,quasselcore}, the backend
+for the distributed IRC client quassel, which allows you to connect from
+multiple machines simultaneously.")))
diff --git a/gnu/services/monitoring.scm b/gnu/services/monitoring.scm
index aa3b63a0e4..685641f110 100644
--- a/gnu/services/monitoring.scm
+++ b/gnu/services/monitoring.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
+;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -19,17 +20,32 @@
(define-module (gnu services monitoring)
#:use-module (gnu services)
+ #:use-module (gnu services configuration)
#:use-module (gnu services shepherd)
+ #:use-module (gnu services web)
#:use-module (gnu packages admin)
#:use-module (gnu packages monitoring)
#:use-module (gnu system shadow)
#:use-module (guix gexp)
+ #:use-module (guix packages)
#:use-module (guix records)
+ #:use-module ((guix ui) #:select (display-hint))
#:use-module (ice-9 match)
+ #:use-module (ice-9 rdelim)
+ #:use-module (srfi srfi-26)
+ #:use-module (srfi srfi-35)
#:export (darkstat-configuration
prometheus-node-exporter-configuration
darkstat-service-type
- prometheus-node-exporter-service-type))
+ prometheus-node-exporter-service-type
+
+ zabbix-server-configuration
+ zabbix-server-service-type
+ zabbix-agent-configuration
+ zabbix-agent-service-type
+ zabbix-front-end-configuration
+ zabbix-front-end-service-type
+ %zabbix-front-end-configuration-nginx))
;;;
@@ -125,3 +141,452 @@ prometheus.")
(list (service-extension
shepherd-root-service-type
(compose list prometheus-node-exporter-shepherd-service))))))
+
+
+;;;
+;;; Zabbix server
+;;;
+
+(define (uglify-field-name field-name)
+ (apply string-append
+ (map (lambda (str)
+ (if (member (string->symbol str) '(ca db ssl))
+ (string-upcase str)
+ (string-capitalize str)))
+ (string-split (string-delete #\?
+ (symbol->string field-name))
+ #\-))))
+
+(define (serialize-field field-name val)
+ (format #t "~a=~a~%" (uglify-field-name field-name) val))
+
+(define (serialize-number field-name val)
+ (serialize-field field-name (number->string val)))
+
+(define (serialize-list field-name val)
+ (if (null? val) "" (serialize-field field-name (string-join val ","))))
+
+(define (serialize-string field-name val)
+ (if (and (string? val) (string=? val ""))
+ ""
+ (serialize-field field-name val)))
+
+(define group? string?)
+
+(define serialize-group
+ (const ""))
+
+(define include-files? list?)
+
+(define (serialize-include-files field-name val)
+ (if (null? val) "" (for-each (cut serialize-field 'include <>) val)))
+
+(define extra-options? string?)
+
+(define (serialize-extra-options field-name val)
+ (if (null? val) "" (display val)))
+
+(define (nginx-server-configuration-list? val)
+ (and (list? val) (and-map nginx-server-configuration? val)))
+
+(define (serialize-nginx-server-configuration-list field-name val)
+ "")
+
+(define-configuration zabbix-server-configuration
+ (zabbix-server
+ (package zabbix-server)
+ "The zabbix-server package.")
+ (user
+ (string "zabbix")
+ "User who will run the Zabbix server.")
+ (group ;for zabbix-server-account procedure
+ (group "zabbix")
+ "Group who will run the Zabbix server.")
+ (db-host
+ (string "127.0.0.1")
+ "Database host name.")
+ (db-name
+ (string "zabbix")
+ "Database name.")
+ (db-user
+ (string "zabbix")
+ "Database user.")
+ (db-password
+ (string "")
+ "Database password. Please, use @code{include-files} with
+@code{DBPassword=SECRET} inside a specified file instead.")
+ (db-port
+ (number 5432)
+ "Database port.")
+ (log-type
+ (string "")
+ "Specifies where log messages are written to:
+@itemize
+@item @code{system} - syslog.
+@item @code{file} - file specified with @code{log-file} parameter.
+@item @code{console} - standard output.
+@end itemize\n")
+ (log-file
+ (string "/var/log/zabbix/server.log")
+ "Log file name for @code{log-type} @code{file} parameter.")
+ (pid-file
+ (string "/var/run/zabbix/zabbix_server.pid")
+ "Name of PID file.")
+ (ssl-ca-location
+ (string "/etc/ssl/certs/ca-certificates.crt")
+ "The location of certificate authority (CA) files for SSL server
+certificate verification.")
+ (ssl-cert-location
+ (string "/etc/ssl/certs")
+ "Location of SSL client certificates.")
+ (extra-options
+ (extra-options "")
+ "Extra options will be appended to Zabbix server configuration file.")
+ (include-files
+ (include-files '())
+ "You may include individual files or all files in a directory in the
+configuration file."))
+
+(define (zabbix-server-account config)
+ "Return the user accounts and user groups for CONFIG."
+ (let ((zabbix-user (zabbix-server-configuration-user config))
+ (zabbix-group (zabbix-server-configuration-group config)))
+ (list (user-group (name zabbix-group) (system? #t))
+ (user-account
+ (name zabbix-user)
+ (system? #t)
+ (group zabbix-group)
+ (comment "zabbix privilege separation user")
+ (home-directory (string-append "/var/run/" zabbix-user))
+ (shell #~(string-append #$shadow "/sbin/nologin"))))))
+
+(define (zabbix-server-config-file config)
+ "Return the zabbix-server configuration file corresponding to CONFIG."
+ (computed-file
+ "zabbix_server.conf"
+ #~(begin
+ (call-with-output-file #$output
+ (lambda (port)
+ (display "# Generated by 'zabbix-server-service'.\n" port)
+ (display #$(with-output-to-string
+ (lambda ()
+ (serialize-configuration
+ config zabbix-server-configuration-fields)))
+ port)
+ #t)))))
+
+(define (zabbix-server-activation config)
+ "Return the activation gexp for CONFIG."
+ (with-imported-modules '((guix build utils)
+ (ice-9 rdelim))
+ #~(begin
+ (use-modules (guix build utils)
+ (ice-9 rdelim))
+ (let ((user (getpw #$(zabbix-server-configuration-user config))))
+ (for-each (lambda (file)
+ (let ((directory (dirname file)))
+ (mkdir-p directory)
+ (chown directory (passwd:uid user) (passwd:gid user))
+ (chmod directory #o755)))
+ (list #$(zabbix-server-configuration-log-file config)
+ #$(zabbix-server-configuration-pid-file config)
+ "/etc/zabbix/maintenance.inc.php"))))))
+
+(define (zabbix-server-shepherd-service config)
+ "Return a <shepherd-service> for Zabbix server with CONFIG."
+ (list (shepherd-service
+ (provision '(zabbix-server))
+ (documentation "Run Zabbix server daemon.")
+ (start #~(make-forkexec-constructor
+ (list #$(file-append (zabbix-server-configuration-zabbix-server config)
+ "/sbin/zabbix_server")
+ "--config" #$(zabbix-server-config-file config)
+ "--foreground")
+ #:user #$(zabbix-server-configuration-user config)
+ #:group #$(zabbix-server-configuration-group config)
+ #:pid-file #$(zabbix-server-configuration-pid-file config)
+ #:environment-variables
+ (list "SSL_CERT_DIR=/run/current-system/profile\
+/etc/ssl/certs"
+ "SSL_CERT_FILE=/run/current-system/profile\
+/etc/ssl/certs/ca-certificates.crt")))
+ (stop #~(make-kill-destructor)))))
+
+(define zabbix-server-service-type
+ (service-type
+ (name 'zabbix-server)
+ (extensions
+ (list (service-extension shepherd-root-service-type
+ zabbix-server-shepherd-service)
+ (service-extension account-service-type
+ zabbix-server-account)
+ (service-extension activation-service-type
+ zabbix-server-activation)))
+ (default-value (zabbix-server-configuration))))
+
+(define (generate-zabbix-server-documentation)
+ (generate-documentation
+ `((zabbix-server-configuration
+ ,zabbix-server-configuration-fields))
+ 'zabbix-server-configuration))
+
+(define-configuration zabbix-agent-configuration
+ (zabbix-agent
+ (package zabbix-agentd)
+ "The zabbix-agent package.")
+ (user
+ (string "zabbix")
+ "User who will run the Zabbix agent.")
+ (group
+ (group "zabbix")
+ "Group who will run the Zabbix agent.")
+ (hostname
+ (string "Zabbix server")
+ "Unique, case sensitive hostname which is required for active checks and
+must match hostname as configured on the server.")
+ (log-type
+ (string "")
+ "Specifies where log messages are written to:
+@itemize
+@item @code{system} - syslog.
+@item @code{file} - file specified with @code{log-file} parameter.
+@item @code{console} - standard output.
+@end itemize\n")
+ (log-file
+ (string "/var/log/zabbix/agent.log")
+ "Log file name for @code{log-type} @code{file} parameter.")
+ (pid-file
+ (string "/var/run/zabbix/zabbix_agent.pid")
+ "Name of PID file.")
+ (server
+ (list '("127.0.0.1"))
+ "List of IP addresses, optionally in CIDR notation, or hostnames of Zabbix
+servers and Zabbix proxies. Incoming connections will be accepted only from
+the hosts listed here.")
+ (server-active
+ (list '("127.0.0.1"))
+ "List of IP:port (or hostname:port) pairs of Zabbix servers and Zabbix
+proxies for active checks. If port is not specified, default port is used.
+If this parameter is not specified, active checks are disabled.")
+ (extra-options
+ (extra-options "")
+ "Extra options will be appended to Zabbix server configuration file.")
+ (include-files
+ (include-files '())
+ "You may include individual files or all files in a directory in the
+configuration file."))
+
+(define (zabbix-agent-account config)
+ "Return the user accounts and user groups for CONFIG."
+ (let ((zabbix-user "zabbix")
+ (zabbix-group "zabbix"))
+ (list (user-group (name zabbix-group) (system? #t))
+ (user-account
+ (name zabbix-user)
+ (system? #t)
+ (group zabbix-group)
+ (comment "zabbix privilege separation user")
+ (home-directory (string-append "/var/run/" zabbix-user))
+ (shell #~(string-append #$shadow "/sbin/nologin"))))))
+
+(define (zabbix-agent-activation config)
+ "Return the activation gexp for CONFIG."
+ (with-imported-modules '((guix build utils)
+ (ice-9 rdelim))
+ #~(begin
+ (use-modules (guix build utils)
+ (ice-9 rdelim))
+ (let ((user
+ (getpw #$(zabbix-agent-configuration-user config))))
+ (for-each (lambda (file)
+ (let ((directory (dirname file)))
+ (mkdir-p directory)
+ (chown directory (passwd:uid user) (passwd:gid user))
+ (chmod directory #o755)))
+ (list #$(zabbix-agent-configuration-log-file config)
+ #$(zabbix-agent-configuration-pid-file config)))))))
+
+(define (zabbix-agent-config-file config)
+ "Return the zabbix-agent configuration file corresponding to CONFIG."
+ (computed-file
+ "zabbix_agent.conf"
+ #~(begin
+ (call-with-output-file #$output
+ (lambda (port)
+ (display "# Generated by 'zabbix-agent-service'.\n" port)
+ (display #$(with-output-to-string
+ (lambda ()
+ (serialize-configuration
+ config zabbix-agent-configuration-fields)))
+ port)
+ #t)))))
+
+(define (zabbix-agent-shepherd-service config)
+ "Return a <shepherd-service> for Zabbix agent with CONFIG."
+ (list (shepherd-service
+ (provision '(zabbix-agent))
+ (documentation "Run Zabbix agent daemon.")
+ (start #~(make-forkexec-constructor
+ (list #$(file-append (zabbix-agent-configuration-zabbix-agent config)
+ "/sbin/zabbix_agentd")
+ "--config" #$(zabbix-agent-config-file config)
+ "--foreground")
+ #:user #$(zabbix-agent-configuration-user config)
+ #:group #$(zabbix-agent-configuration-group config)
+ #:pid-file #$(zabbix-agent-configuration-pid-file config)
+ #:environment-variables
+ (list "SSL_CERT_DIR=/run/current-system/profile\
+/etc/ssl/certs"
+ "SSL_CERT_FILE=/run/current-system/profile\
+/etc/ssl/certs/ca-certificates.crt")))
+ (stop #~(make-kill-destructor)))))
+
+(define zabbix-agent-service-type
+ (service-type
+ (name 'zabbix-agent)
+ (extensions
+ (list (service-extension shepherd-root-service-type
+ zabbix-agent-shepherd-service)
+ (service-extension account-service-type
+ zabbix-agent-account)
+ (service-extension activation-service-type
+ zabbix-agent-activation)))
+ (default-value (zabbix-agent-configuration))))
+
+(define (generate-zabbix-agent-documentation)
+ (generate-documentation
+ `((zabbix-agent-configuration
+ ,zabbix-agent-configuration-fields))
+ 'zabbix-agent-configuration))
+
+(define %zabbix-front-end-configuration-nginx
+ (nginx-server-configuration
+ (root #~(string-append #$zabbix-server:front-end "/share/zabbix/php"))
+ (index '("index.php"))
+ (locations
+ (let ((php-location (nginx-php-location)))
+ (list (nginx-location-configuration
+ (inherit php-location)
+ (body (append (nginx-location-configuration-body php-location)
+ (list "
+fastcgi_param PHP_VALUE \"post_max_size = 16M
+ max_execution_time = 300\";
+")))))))))
+
+(define-configuration zabbix-front-end-configuration
+ ;; TODO: Specify zabbix front-end package.
+ ;; (zabbix-
+ ;; (package zabbix-front-end)
+ ;; "The zabbix-front-end package.")
+ (nginx
+ (nginx-server-configuration-list
+ (list %zabbix-front-end-configuration-nginx))
+ "NGINX configuration.")
+ (db-host
+ (string "localhost")
+ "Database host name.")
+ (db-port
+ (number 5432)
+ "Database port.")
+ (db-name
+ (string "zabbix")
+ "Database name.")
+ (db-user
+ (string "zabbix")
+ "Database user.")
+ (db-password
+ (string "")
+ "Database password. Please, use @code{db-secret-file} instead.")
+ (db-secret-file
+ (string "")
+ "Secret file which will be appended to @file{zabbix.conf.php} file. This
+file contains credentials for use by Zabbix front-end. You are expected to
+create it manually.")
+ (zabbix-host
+ (string "localhost")
+ "Zabbix server hostname.")
+ (zabbix-port
+ (number 10051)
+ "Zabbix server port."))
+
+(define zabbix-front-end-config
+ (match-lambda
+ (($ <zabbix-front-end-configuration>
+ _ db-host db-port db-name db-user db-password db-secret-file
+ zabbix-host zabbix-port)
+ (mixed-text-file "zabbix.conf.php"
+ "\
+<?php
+// Zabbix GUI configuration file.
+global $DB;
+
+$DB['TYPE'] = 'POSTGRESQL';
+$DB['SERVER'] = '" db-host "';
+$DB['PORT'] = '" (number->string db-port) "';
+$DB['DATABASE'] = '" db-name "';
+$DB['USER'] = '" db-user "';
+$DB['PASSWORD'] = '" (if (string-null? db-password)
+ (if (string-null? db-secret-file)
+ (raise (condition
+ (&message
+ (message "\
+you must provide either 'db-secret-file' or 'db-password'"))))
+ (string-trim-both
+ (with-input-from-file db-secret-file
+ read-string)))
+ (begin
+ (display-hint "\
+Consider using @code{db-secret-file} instead of @code{db-password} and unset
+@code{db-password} for security in @code{zabbix-front-end-configuration}.")
+ db-password)) "';
+
+// Schema name. Used for IBM DB2 and PostgreSQL.
+$DB['SCHEMA'] = '';
+
+$ZBX_SERVER = '" zabbix-host "';
+$ZBX_SERVER_PORT = '" (number->string zabbix-port) "';
+$ZBX_SERVER_NAME = '';
+
+$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
+"))))
+
+(define %maintenance.inc.php
+ ;; Empty php file to allow us move zabbix-frontend configs to ‘/etc/zabbix’
+ ;; directory. See ‘install-front-end’ phase in
+ ;; (@ (gnu packages monitoring) zabbix-server) package.
+ "\
+<?php
+")
+
+(define (zabbix-front-end-activation config)
+ "Return the activation gexp for CONFIG."
+ #~(begin
+ (use-modules (guix build utils))
+ (mkdir-p "/etc/zabbix")
+ (call-with-output-file "/etc/zabbix/maintenance.inc.php"
+ (lambda (port)
+ (display #$%maintenance.inc.php port)))
+ (copy-file #$(zabbix-front-end-config config)
+ "/etc/zabbix/zabbix.conf.php")))
+
+(define zabbix-front-end-service-type
+ (service-type
+ (name 'zabbix-front-end)
+ (extensions
+ (list (service-extension activation-service-type
+ zabbix-front-end-activation)
+ (service-extension nginx-service-type
+ zabbix-front-end-configuration-nginx)
+ ;; Make sure php-fpm is instantiated.
+ (service-extension php-fpm-service-type
+ (const #t))))
+ (default-value (zabbix-front-end-configuration))
+ (description
+ "Run the zabbix-front-end web interface, which allows users to interact
+with Zabbix server.")))
+
+(define (generate-zabbix-front-end-documentation)
+ (generate-documentation
+ `((zabbix-front-end-configuration
+ ,zabbix-front-end-configuration-fields))
+ 'zabbix-front-end-configuration))
diff --git a/gnu/services/shepherd.scm b/gnu/services/shepherd.scm
index 49d08cc30f..12d649f542 100644
--- a/gnu/services/shepherd.scm
+++ b/gnu/services/shepherd.scm
@@ -281,7 +281,17 @@ stored."
(start service)))
'#$(append-map shepherd-service-provision
(filter shepherd-service-auto-start?
- services)))))))
+ services)))
+
+ ;; Hang up stdin. At this point, we assume that 'start' methods
+ ;; that required user interaction on the console (e.g.,
+ ;; 'cryptsetup open' invocations, post-fsck emergency REPL) have
+ ;; completed. User interaction becomes impossible after this
+ ;; call; this avoids situations where services wrongfully lead
+ ;; PID 1 to read from stdin (the console), which users may not
+ ;; have access to (see <https://bugs.gnu.org/23697>).
+ (redirect-port (open-input-file "/dev/null")
+ (current-input-port))))))
(scheme-file "shepherd.conf" config)))
diff --git a/gnu/services/web.scm b/gnu/services/web.scm
index fcf453c248..d71fed20ed 100644
--- a/gnu/services/web.scm
+++ b/gnu/services/web.scm
@@ -142,6 +142,7 @@
php-fpm-configuration-log-file
php-fpm-configuration-process-manager
php-fpm-configuration-display-errors
+ php-fpm-configuration-timezone
php-fpm-configuration-workers-log-file
php-fpm-configuration-file
@@ -773,6 +774,8 @@ of index files."
(default (php-fpm-dynamic-process-manager-configuration)))
(display-errors php-fpm-configuration-display-errors
(default #f))
+ (timezone php-fpm-configuration-timezone
+ (default #f))
(workers-log-file php-fpm-configuration-workers-log-file
(default (string-append "/var/log/php"
(version-major (package-version php))
@@ -827,7 +830,7 @@ of index files."
(shell (file-append shadow "/sbin/nologin")))))))
(define (default-php-fpm-config socket user group socket-user socket-group
- pid-file log-file pm display-errors workers-log-file)
+ pid-file log-file pm display-errors timezone workers-log-file)
(apply mixed-text-file "php-fpm.conf"
(flatten
"[global]\n"
@@ -840,6 +843,10 @@ of index files."
"listen.owner =" socket-user "\n"
"listen.group =" socket-group "\n"
+ (if timezone
+ (string-append "php_admin_value[date.timezone] = \"" timezone "\"\n")
+ "")
+
(match pm
(($ <php-fpm-dynamic-process-manager-configuration>
pm.max-children
@@ -879,7 +886,8 @@ of index files."
(define php-fpm-shepherd-service
(match-lambda
(($ <php-fpm-configuration> php socket user group socket-user socket-group
- pid-file log-file pm display-errors workers-log-file file)
+ pid-file log-file pm display-errors
+ timezone workers-log-file file)
(list (shepherd-service
(provision '(php-fpm))
(documentation "Run the php-fpm daemon.")
@@ -890,27 +898,27 @@ of index files."
#$(or file
(default-php-fpm-config socket user group
socket-user socket-group pid-file log-file
- pm display-errors workers-log-file)))
+ pm display-errors timezone workers-log-file)))
#:pid-file #$pid-file))
(stop #~(make-kill-destructor)))))))
-(define php-fpm-activation
- (match-lambda
- (($ <php-fpm-configuration> _ _ user _ _ _ _ log-file _ _ workers-log-file _)
- #~(begin
- (use-modules (guix build utils))
- (let* ((user (getpwnam #$user))
- (touch (lambda (file-name)
- (call-with-output-file file-name (const #t))))
- (init-log-file
- (lambda (file-name)
- (when #$workers-log-file
- (when (not (file-exists? file-name))
- (touch file-name))
- (chown file-name (passwd:uid user) (passwd:gid user))
- (chmod file-name #o660)))))
- (init-log-file #$log-file)
- (init-log-file #$workers-log-file))))))
+(define (php-fpm-activation config)
+ #~(begin
+ (use-modules (guix build utils))
+ (let* ((user (getpwnam #$(php-fpm-configuration-user config)))
+ (touch (lambda (file-name)
+ (call-with-output-file file-name (const #t))))
+ (workers-log-file
+ #$(php-fpm-configuration-workers-log-file config))
+ (init-log-file
+ (lambda (file-name)
+ (when workers-log-file
+ (when (not (file-exists? file-name))
+ (touch file-name))
+ (chown file-name (passwd:uid user) (passwd:gid user))
+ (chmod file-name #o660)))))
+ (init-log-file #$(php-fpm-configuration-log-file config))
+ (init-log-file workers-log-file))))
(define php-fpm-service-type
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index ea8433af3a..b3c24746d1 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
+;;; Copyright © 2018 Timothy Sample <samplet@ngyro.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -625,7 +626,6 @@ makes the good ol' XlockMore usable."
gdm-configuration?
(gdm gdm-configuration-gdm (default gdm))
(allow-empty-passwords? gdm-configuration-allow-empty-passwords? (default #t))
- (allow-root? gdm-configuration-allow-root? (default #t))
(auto-login? gdm-configuration-auto-login? (default #f))
(default-user gdm-configuration-default-user (default #f))
(x-server gdm-configuration-x-server))
@@ -680,18 +680,15 @@ makes the good ol' XlockMore usable."
(auth (list (pam-entry
(control "required")
(module "pam_permit.so")))))
- (unix-pam-service
- "gdm-password"
- #:allow-empty-passwords? (gdm-configuration-allow-empty-passwords? config)
- #:allow-root? (gdm-configuration-allow-root? config))))
+ (unix-pam-service "gdm-password"
+ #:allow-empty-passwords?
+ (gdm-configuration-allow-empty-passwords? config))))
(define (gdm-shepherd-service config)
(list (shepherd-service
(documentation "Xorg display server (GDM)")
(provision '(xorg-server))
(requirement '(dbus-system user-processes host-name udev))
- ;; While this service isn't working properly, turn off auto-start.
- (auto-start? #f)
(start #~(lambda ()
(fork+exec-command
(list #$(file-append (gdm-configuration-gdm config)
diff --git a/gnu/system.scm b/gnu/system.scm
index 070b624b8a..95dcc14dc5 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -21,6 +21,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu system)
+ #:use-module (guix inferior)
#:use-module (guix store)
#:use-module (guix monads)
#:use-module (guix gexp)
@@ -928,10 +929,17 @@ listed in OS. The C library expects to find it under
(define (kernel->boot-label kernel)
"Return a label for the bootloader menu entry that boots KERNEL."
- (string-append "GNU with "
- (string-titlecase (package-name kernel)) " "
- (package-version kernel)
- " (beta)"))
+ (cond ((package? kernel)
+ (string-append "GNU with "
+ (string-titlecase (package-name kernel)) " "
+ (package-version kernel)
+ " (beta)"))
+ ((inferior-package? kernel)
+ (string-append "GNU with "
+ (string-titlecase (inferior-package-name kernel)) " "
+ (inferior-package-version kernel)
+ " (beta)"))
+ (else "GNU")))
(define (store-file-system file-systems)
"Return the file system object among FILE-SYSTEMS that contains the store."
diff --git a/gnu/system/examples/vm-image.tmpl b/gnu/system/examples/vm-image.tmpl
index 36e272722d..f149f67113 100644
--- a/gnu/system/examples/vm-image.tmpl
+++ b/gnu/system/examples/vm-image.tmpl
@@ -24,6 +24,8 @@ partprobe, and then 2) resizing the filesystem with resize2fs.\n"))
(timezone "Etc/UTC")
(locale "en_US.utf8")
+(firmware '())
+
;; Assuming /dev/sdX is the target hard disk, and "my-root" is
;; the label of the target root file system.
(bootloader (bootloader-configuration
diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm
index 03392cef38..8d4e218a8f 100644
--- a/gnu/tests/base.scm
+++ b/gnu/tests/base.scm
@@ -123,6 +123,21 @@ initialization step, such as entering a LUKS passphrase."
#f))))
marionette))
+ (test-eq "stdin is /dev/null"
+ 'eof
+ ;; Make sure services can no longer read from stdin once the
+ ;; system has booted.
+ (marionette-eval
+ `(begin
+ (use-modules (gnu services herd))
+ (start 'user-processes)
+ ((@@ (gnu services herd) eval-there)
+ '(let ((result (read (current-input-port))))
+ (if (eof-object? result)
+ 'eof
+ result))))
+ marionette))
+
(test-assert "shell and user commands"
;; Is everything in $PATH?
(zero? (marionette-eval '(system "
diff --git a/gnu/tests/desktop.scm b/gnu/tests/desktop.scm
index be64c4e7e5..6aa22fd49b 100644
--- a/gnu/tests/desktop.scm
+++ b/gnu/tests/desktop.scm
@@ -50,7 +50,7 @@
;; Log in as root on tty1, and check what 'loginctl' returns.
(test-equal "login on tty1"
- '(("c1" "0" "root" "seat0" "/dev/tty1") ;session
+ '(("c1" "0" "root" "seat0" "tty1") ;session
("seat0") ;seat
("0" "root")) ;user
diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm
index 4764ffffde..72e5523942 100644
--- a/gnu/tests/install.scm
+++ b/gnu/tests/install.scm
@@ -149,7 +149,7 @@ export GUIX_BUILD_OPTIONS=--no-grafts
guix build isc-dhcp
parted --script /dev/vdb mklabel gpt \\
mkpart primary ext2 1M 3M \\
- mkpart primary ext2 3M 1G \\
+ mkpart primary ext2 3M 1.2G \\
set 1 boot on \\
set 1 bios_grub on
mkfs.ext4 -L my-root /dev/vdb2
@@ -174,7 +174,7 @@ guix --version
export GUIX_BUILD_OPTIONS=--no-grafts
guix build isc-dhcp
parted --script /dev/vdb mklabel gpt \\
- mkpart ext2 1M 1G \\
+ mkpart ext2 1M 1.2G \\
set 1 legacy_boot on
mkfs.ext4 -L my-root -O '^64bit' /dev/vdb1
mount /dev/vdb1 /mnt
@@ -377,7 +377,7 @@ export GUIX_BUILD_OPTIONS=--no-grafts
guix build isc-dhcp
parted --script /dev/vda mklabel gpt \\
mkpart primary ext2 1M 3M \\
- mkpart primary ext2 3M 1G \\
+ mkpart primary ext2 3M 1.2G \\
set 1 boot on \\
set 1 bios_grub on
mkfs.ext4 -L my-root /dev/vda2
@@ -510,7 +510,7 @@ guix build isc-dhcp
parted --script /dev/vdb mklabel gpt \\
mkpart primary ext2 1M 3M \\
mkpart primary ext2 3M 100M \\
- mkpart primary ext2 100M 1G \\
+ mkpart primary ext2 100M 1.2G \\
set 1 boot on \\
set 1 bios_grub on
mkfs.ext4 -L root-fs /dev/vdb2
@@ -676,7 +676,7 @@ export GUIX_BUILD_OPTIONS=--no-grafts
ls -l /run/current-system/gc-roots
parted --script /dev/vdb mklabel gpt \\
mkpart primary ext2 1M 3M \\
- mkpart primary ext2 3M 1G \\
+ mkpart primary ext2 3M 1.2G \\
set 1 boot on \\
set 1 bios_grub on
echo -n thepassphrase | \\
diff --git a/gnu/tests/messaging.scm b/gnu/tests/messaging.scm
index 36afb987af..176e3d08cb 100644
--- a/gnu/tests/messaging.scm
+++ b/gnu/tests/messaging.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -29,7 +30,8 @@
#:use-module (guix store)
#:use-module (guix modules)
#:export (%test-prosody
- %test-bitlbee))
+ %test-bitlbee
+ %test-quassel))
(define (run-xmpp-test name xmpp-service pid-file create-account)
"Run a test of an OS running XMPP-SERVICE, which writes its PID to PID-FILE."
@@ -239,3 +241,53 @@
(name "bitlbee")
(description "Connect to a BitlBee IRC server.")
(value (run-bitlbee-test))))
+
+(define (run-quassel-test)
+ (define os
+ (marionette-operating-system
+ (simple-operating-system (service dhcp-client-service-type)
+ (service quassel-service-type))
+ #:imported-modules (source-module-closure
+ '((gnu services herd)))))
+
+ (define vm
+ (virtual-machine
+ (operating-system os)
+ (port-forwardings `((4242 . 4242)))))
+
+ (define test
+ (with-imported-modules '((gnu build marionette))
+ #~(begin
+ (use-modules (srfi srfi-64)
+ (gnu build marionette))
+
+ (define marionette
+ (make-marionette (list #$vm)))
+
+ (mkdir #$output)
+ (chdir #$output)
+
+ (test-begin "quassel")
+
+ (test-assert "service started"
+ (marionette-eval
+ '(begin
+ (use-modules (gnu services herd))
+ (start-service 'quassel))
+ marionette))
+
+ (test-assert "certificate file"
+ (marionette-eval
+ '(file-exists? "/var/lib/quassel/quasselCert.pem")
+ marionette))
+
+ (test-end)
+ (exit (= (test-runner-fail-count (test-runner-current)) 0)))))
+
+ (gexp->derivation "quassel-test" test))
+
+(define %test-quassel
+ (system-test
+ (name "quassel")
+ (description "Connect to a quassel IRC server.")
+ (value (run-quassel-test))))
diff --git a/gnu/tests/monitoring.scm b/gnu/tests/monitoring.scm
index 3320a19a77..ab72682aed 100644
--- a/gnu/tests/monitoring.scm
+++ b/gnu/tests/monitoring.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
+;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -17,13 +18,21 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu tests monitoring)
+ #:use-module (gnu packages databases)
+ #:use-module (gnu packages monitoring)
+ #:use-module (gnu packages php)
#:use-module (gnu services)
#:use-module (gnu services monitoring)
#:use-module (gnu services networking)
+ #:use-module (gnu services databases)
+ #:use-module (gnu services shepherd)
+ #:use-module (gnu services web)
#:use-module (gnu system vm)
+ #:use-module (gnu system)
#:use-module (gnu tests)
#:use-module (guix gexp)
- #:export (%test-prometheus-node-exporter))
+ #:export (%test-prometheus-node-exporter
+ %test-zabbix))
;;;
@@ -95,3 +104,224 @@
(description "Connect to a running prometheus-node-exporter server.")
(value (run-prometheus-node-exporter-server-test
name %prometheus-node-exporter-os))))
+
+
+;;;
+;;; Zabbix
+;;;
+
+(define %psql-user-create-zabbix
+ "\
+sudo -u postgres psql <<< \"create user zabbix password 'zabbix';\"
+")
+
+(define %psql-db-zabbix-create-script
+ "\
+sudo -u postgres psql --no-align <<< \\\\du
+")
+
+(define %psql-db-create-zabbix
+ "\
+sudo -u postgres createdb -O zabbix -E Unicode -T template0 zabbix
+")
+
+(define %psql-db-import-zabbix
+ #~(format #f "\
+cat ~a | sudo -u zabbix psql zabbix;
+cat ~a | sudo -u zabbix psql zabbix;
+cat ~a | sudo -u zabbix psql zabbix;
+"
+ (string-append #$zabbix-server:schema
+ "/database/postgresql/schema.sql")
+ (string-append #$zabbix-server:schema
+ "/database/postgresql/images.sql")
+ (string-append #$zabbix-server:schema
+ "/database/postgresql/data.sql")))
+
+(define* (run-zabbix-server-test name test-os)
+ "Run tests in %ZABBIX-OS, which has zabbix running."
+ (define os
+ (marionette-operating-system
+ test-os
+ #:imported-modules '((gnu services herd))))
+
+ (define vm
+ (virtual-machine
+ (operating-system os)
+ (port-forwardings '((8080 . 80)))
+ (memory-size 1024)))
+
+ (define test
+ (with-imported-modules '((gnu build marionette))
+ #~(begin
+ (use-modules (srfi srfi-11)
+ (srfi srfi-64)
+ (gnu build marionette)
+ (web client)
+ (web response)
+ (ice-9 popen)
+ (ice-9 rdelim))
+
+ (define marionette
+ (make-marionette (list #$vm)))
+
+ (mkdir #$output)
+ (chdir #$output)
+
+ (test-begin #$name)
+
+ ;; XXX: Shepherd reads the config file *before* binding its control
+ ;; socket, so /var/run/shepherd/socket might not exist yet when the
+ ;; 'marionette' service is started.
+ (test-assert "shepherd socket ready"
+ (marionette-eval
+ `(begin
+ (use-modules (gnu services herd))
+ (let loop ((i 10))
+ (cond ((file-exists? (%shepherd-socket-file))
+ #t)
+ ((> i 0)
+ (sleep 1)
+ (loop (- i 1)))
+ (else
+ 'failure))))
+ marionette))
+
+ (test-assert "postgres service running"
+ (marionette-eval
+ '(begin
+ (use-modules (gnu services herd))
+ (start-service 'postgres))
+ marionette))
+
+ (test-eq "postgres create zabbix user"
+ 0
+ (marionette-eval '(begin (system #$%psql-user-create-zabbix))
+ marionette))
+
+ (test-equal "postgres find zabbix user"
+ "List of roles
+Role name|Attributes|Member of
+postgres|Superuser, Create role, Create DB, Replication, Bypass RLS|{}
+zabbix||{}
+"
+ (marionette-eval
+ '(begin (let* ((port (open-pipe #$%psql-db-zabbix-create-script
+ OPEN_READ))
+ (output (read-string port))
+ (status (close-pipe port)))
+ output))
+ marionette))
+
+ (test-eq "postgres create zabbix db"
+ 0
+ (marionette-eval '(begin (system #$%psql-db-create-zabbix))
+ marionette))
+
+ (test-eq "postgres import zabbix db"
+ 0
+ (marionette-eval '(begin (system #$%psql-db-import-zabbix))
+ marionette))
+
+ ;; Wait for zabbix-server to be up and running.
+ (test-assert "zabbix-server running"
+ (marionette-eval
+ '(begin
+ (use-modules (gnu services herd))
+ (start-service 'zabbix-server))
+ marionette))
+
+ ;; Make sure the PID file is created.
+ (test-assert "zabbix-server PID file"
+ (marionette-eval
+ '(file-exists? "/var/run/zabbix/zabbix_server.pid")
+ marionette))
+
+ ;; Wait for zabbix-agent to be up and running.
+ (test-assert "zabbix-agent running"
+ (marionette-eval
+ '(begin
+ (use-modules (gnu services herd))
+ (start-service 'zabbix-agent))
+ marionette))
+
+ ;; Make sure the PID file is created.
+ (test-assert "zabbix-agent PID file"
+ (marionette-eval
+ '(file-exists? "/var/run/zabbix/zabbix_agent.pid")
+ marionette))
+
+ ;; Wait for php-fpm to be up and running.
+ (test-assert "php-fpm running"
+ (marionette-eval
+ '(begin
+ (use-modules (gnu services herd))
+ (start-service 'php-fpm))
+ marionette))
+
+ ;; Wait for nginx to be up and running.
+ (test-assert "nginx running"
+ (marionette-eval
+ '(begin
+ (use-modules (gnu services herd))
+ (start-service 'nginx))
+ marionette))
+
+ ;; Make sure the PID file is created.
+ (test-assert "nginx PID file"
+ (marionette-eval
+ '(file-exists? "/var/run/nginx/pid")
+ marionette))
+
+ ;; Make sure we can access pages that correspond to our repository.
+ (letrec-syntax ((test-url
+ (syntax-rules ()
+ ((_ path code)
+ (test-equal (string-append "GET " path)
+ code
+ (let-values (((response body)
+ (http-get (string-append
+ "http://localhost:8080"
+ path))))
+ (response-code response))))
+ ((_ path)
+ (test-url path 200)))))
+ (test-url "/")
+ (test-url "/does-not-exist" 404))
+
+ (test-end)
+
+ (exit (= (test-runner-fail-count (test-runner-current)) 0)))))
+
+ (gexp->derivation (string-append name "-test") test))
+
+(define %zabbix-os
+ ;; Return operating system under test.
+ (let ((base-os
+ (simple-operating-system
+ (service dhcp-client-service-type)
+ (postgresql-service)
+ (service zabbix-front-end-service-type
+ (zabbix-front-end-configuration
+ (db-password "zabbix")))
+
+ (service php-fpm-service-type
+ (php-fpm-configuration
+ (timezone "Europe/Paris")
+ (php php-with-bcmath)))
+
+ (service zabbix-server-service-type
+ (zabbix-server-configuration
+ (db-password "zabbix")
+ (log-type "console")))
+
+ (service zabbix-agent-service-type))))
+ (operating-system
+ (inherit base-os)
+ (packages (cons* postgresql (operating-system-packages base-os))))))
+
+(define %test-zabbix
+ (system-test
+ (name "zabbix")
+ (description "Connect to a running Zabbix")
+ (value (run-zabbix-server-test name %zabbix-os))))