diff --git a/doc/contributing.texi b/doc/contributing.texi index 925c584e42..0073f24518 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -333,6 +333,12 @@ distribution to make transverse changes such as applying security updates for a given software package in a single place and have them affect the whole system---something that bundled copies prevent. +@item +If the authors of the packaged software provide a cryptographic +signature for the release tarball, make an effort to verify the +authenticity of the archive. For a detached GPG signature file this +would be done with the @code{gpg --verify} command. + @item Take a look at the profile reported by @command{guix size} (@pxref{Invoking guix size}). This will allow you to notice references diff --git a/doc/guix.texi b/doc/guix.texi index 4933a98ddb..729ec081be 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -1258,12 +1258,47 @@ Assume @var{system} as the current system type. By default it is the architecture/kernel pair found at configure time, such as @code{x86_64-linux}. -@item --listen=@var{socket} -Listen for connections on @var{socket}, the file name of a Unix-domain -socket. The default socket is -@file{@var{localstatedir}/daemon-socket/socket}. This option is only -useful in exceptional circumstances, such as if you need to run several -daemons on the same machine. +@item --listen=@var{endpoint} +Listen for connections on @var{endpoint}. @var{endpoint} is interpreted +as the file name of a Unix-domain socket if it starts with +@code{/} (slash sign). Otherwise, @var{endpoint} is interpreted as a +host name or host name and port to listen to. Here are a few examples: + +@table @code +@item --listen=/gnu/var/daemon +Listen for connections on the @file{/gnu/var/daemon} Unix-domain socket, +creating it if needed. + +@item --listen=localhost +@cindex daemon, remote access +@cindex remote access to the daemon +@cindex daemon, cluster setup +@cindex clusters, daemon setup +Listen for TCP connections on the network interface corresponding to +@code{localhost}, on port 44146. + +@item --listen=128.0.0.42:1234 +Listen for TCP connections on the network interface corresponding to +@code{128.0.0.42}, on port 1234. +@end table + +This option can be repeated multiple times, in which case +@command{guix-daemon} accepts connections on all the specified +endpoints. Users can tell client commands what endpoint to connect to +by setting the @code{GUIX_DAEMON_SOCKET} environment variable +(@pxref{The Store, @code{GUIX_DAEMON_SOCKET}}). + +@quotation Note +The daemon protocol is @emph{unauthenticated and unencrypted}. Using +@code{--listen=@var{host}} is suitable on local networks, such as +clusters, where only trusted nodes may connect to the build daemon. In +other cases where remote access to the daemon is needed, we recommend +using Unix-domain sockets along with SSH. +@end quotation + +When @code{--listen} is omitted, @command{guix-daemon} listens for +connections on the Unix-domain socket located at +@file{@var{localstatedir}/daemon-socket/socket}. @end table @@ -3769,9 +3804,13 @@ These are for Unix-domain sockets. @file{/var/guix/daemon-socket/socket}. @item guix +@cindex daemon, remote access +@cindex remote access to the daemon +@cindex daemon, cluster setup +@cindex clusters, daemon setup These URIs denote connections over TCP/IP, without encryption nor -authentication of the remote host. The URI must always specify both the -host name and port number: +authentication of the remote host. The URI must specify the host name +and optionally a port number (by default port 44146 is used): @example guix://master.guix.example.org:1234 @@ -3781,6 +3820,10 @@ This setup is suitable on local networks, such as clusters, where only trusted nodes may connect to the build daemon at @code{master.guix.example.org}. +The @code{--listen} option of @command{guix-daemon} can be used to +instruct it to listen for TCP connections (@pxref{Invoking guix-daemon, +@code{--listen}}). + @item ssh @cindex SSH access to build daemons These URIs allow you to connect to a remote daemon over @@ -13907,26 +13950,21 @@ The serial number of the zone. As this is used to keep track of changes by both slaves and resolvers, it is mandatory that it @emph{never} decreases. Always increment it when you make a change in your zone. -@item @code{refresh} (default: @code{"2d"}) -The frequency at which slaves will do a zone transfer. This value can be -a number of seconds or a number of some unit between: -@itemize -@item m: minute -@item h: hour -@item d: day -@item w: week -@end itemize +@item @code{refresh} (default: @code{(* 2 24 3600)}) +The frequency at which slaves will do a zone transfer. This value is a number +of seconds. It can be computed by multiplications or with +@code{(string->duration)}. -@item @code{retry} (default: @code{"15m"}) +@item @code{retry} (default: @code{(* 15 60)}) The period after which a slave will retry to contact its master when it fails to do so a first time. -@item @code{expiry} (default: @code{"2w"}) +@item @code{expiry} (default: @code{(* 14 24 3600)}) Default TTL of records. Existing records are considered correct for at most this amount of time. After this period, resolvers will invalidate their cache and check again that it still exists. -@item @code{nx} (default: @code{"1h"}) +@item @code{nx} (default: @code{3600}) Default TTL of inexistant records. This delay is usually short because you want your new domains to reach everyone quickly. @@ -14029,17 +14067,17 @@ algorithm, but would be unsecure for other algorithms. The TTL value for DNSKEY records added into zone apex. The special @code{'default} value means same as the zone SOA TTL. -@item @code{zsk-lifetime} (default: @code{"30d"}) +@item @code{zsk-lifetime} (default: @code{(* 30 24 3600)}) The period between ZSK publication and the next rollover initiation. -@item @code{propagation-delay} (default: @code{"1d"}) +@item @code{propagation-delay} (default: @code{(* 24 3600)}) An extra delay added for each key rollover step. This value should be high enough to cover propagation of data from the master server to all slaves. -@item @code{rrsig-lifetime} (default: @code{"14d"}) +@item @code{rrsig-lifetime} (default: @code{(* 14 24 3600)}) A validity period of newly issued signatures. -@item @code{rrsig-refresh} (default: @code{"7d"}) +@item @code{rrsig-refresh} (default: @code{(* 7 24 3600)}) A period how long before a signature expiration the signature will be refreshed. @item @code{nsec3?} (default: @code{#f}) @@ -14052,7 +14090,7 @@ The number of additional times the hashing is performed. The length of a salt field in octets, which is appended to the original owner name before hashing. -@item @code{nsec3-salt-lifetime} (default: @code{"30d"}) +@item @code{nsec3-salt-lifetime} (default: @code{(* 30 24 3600)}) The validity period of newly issued salt field. @end table diff --git a/gnu/bootloader/extlinux.scm b/gnu/bootloader/extlinux.scm index 0a1263aed7..219b058e53 100644 --- a/gnu/bootloader/extlinux.scm +++ b/gnu/bootloader/extlinux.scm @@ -25,7 +25,8 @@ #:use-module (guix monads) #:use-module (guix records) #:use-module (guix utils) - #:export (extlinux-bootloader)) + #:export (extlinux-bootloader + extlinux-bootloader-gpt)) (define* (extlinux-configuration-file config entries #:key @@ -93,7 +94,7 @@ TIMEOUT ~a~%" (string-append "if=" if) (string-append "of=" of))))) -(define install-extlinux +(define (install-extlinux mbr) #~(lambda (bootloader device mount-point) (let ((extlinux (string-append bootloader "/sbin/extlinux")) (install-dir (string-append mount-point "/boot/extlinux")) @@ -103,9 +104,15 @@ TIMEOUT ~a~%" (find-files syslinux-dir "\\.c32$")) (unless (and (zero? (system* extlinux "--install" install-dir)) - (#$dd 440 1 (string-append syslinux-dir "/mbr.bin") device)) + (#$dd 440 1 (string-append syslinux-dir "/" #$mbr) device)) (error "failed to install SYSLINUX"))))) +(define install-extlinux-mbr + (install-extlinux "mbr.bin")) + +(define install-extlinux-gpt + (install-extlinux "gptmbr.bin")) + ;;; @@ -116,6 +123,11 @@ TIMEOUT ~a~%" (bootloader (name 'extlinux) (package syslinux) - (installer install-extlinux) + (installer install-extlinux-mbr) (configuration-file "/boot/extlinux/extlinux.conf") (configuration-file-generator extlinux-configuration-file))) + +(define extlinux-bootloader-gpt + (bootloader + (inherit extlinux-bootloader) + (installer install-extlinux-gpt))) diff --git a/gnu/local.mk b/gnu/local.mk index 1ae2a2d264..5328a80637 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -126,6 +126,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/ebook.scm \ %D%/packages/ed.scm \ %D%/packages/education.scm \ + %D%/packages/electronics.scm \ %D%/packages/elf.scm \ %D%/packages/elixir.scm \ %D%/packages/embedded.scm \ @@ -416,7 +417,6 @@ GNU_SYSTEM_MODULES = \ %D%/packages/xorg.scm \ %D%/packages/xfce.scm \ %D%/packages/zile.scm \ - %D%/packages/zip.scm \ \ %D%/services.scm \ %D%/services/admin.scm \ @@ -493,7 +493,6 @@ dist_patch_DATA = \ %D%/packages/patches/a2ps-CVE-2001-1593.patch \ %D%/packages/patches/a2ps-CVE-2014-0466.patch \ %D%/packages/patches/abiword-explictly-cast-bools.patch \ - %D%/packages/patches/abiword-wmf-version-lookup-fix.patch \ %D%/packages/patches/abiword-black-drawing-with-gtk322.patch \ %D%/packages/patches/acl-hurd-path-max.patch \ %D%/packages/patches/aegis-constness-error.patch \ @@ -522,7 +521,6 @@ dist_patch_DATA = \ %D%/packages/patches/byobu-writable-status.patch \ %D%/packages/patches/cairo-CVE-2016-9082.patch \ %D%/packages/patches/calibre-drop-unrar.patch \ - %D%/packages/patches/calibre-dont-load-remote-icons.patch \ %D%/packages/patches/calibre-no-updates-dialog.patch \ %D%/packages/patches/calibre-use-packaged-feedparser.patch \ %D%/packages/patches/cdparanoia-fpic.patch \ @@ -622,11 +620,15 @@ dist_patch_DATA = \ %D%/packages/patches/ghostscript-runpath.patch \ %D%/packages/patches/glib-networking-ssl-cert-file.patch \ %D%/packages/patches/glib-tests-timer.patch \ + %D%/packages/patches/glibc-CVE-2017-1000366-pt1.patch \ + %D%/packages/patches/glibc-CVE-2017-1000366-pt2.patch \ + %D%/packages/patches/glibc-CVE-2017-1000366-pt3.patch \ %D%/packages/patches/glibc-bootstrap-system.patch \ %D%/packages/patches/glibc-ldd-x86_64.patch \ %D%/packages/patches/glibc-locales.patch \ %D%/packages/patches/glibc-memchr-overflow-i686.patch \ %D%/packages/patches/glibc-o-largefile.patch \ + %D%/packages/patches/glibc-vectorized-strcspn-guards.patch \ %D%/packages/patches/glibc-versioned-locpath.patch \ %D%/packages/patches/glog-gcc-5-demangling.patch \ %D%/packages/patches/gmp-arm-asm-nothumb.patch \ @@ -649,7 +651,7 @@ dist_patch_DATA = \ %D%/packages/patches/guile-present-coding.patch \ %D%/packages/patches/guile-relocatable.patch \ %D%/packages/patches/guile-rsvg-pkgconfig.patch \ - gnu/packages/patches/guile-ssh-channel-finalization.patch \ + %D%/packages/patches/guile-ssh-channel-finalization.patch \ %D%/packages/patches/guile-ssh-double-free.patch \ %D%/packages/patches/guile-ssh-rexec-bug.patch \ %D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \ @@ -753,18 +755,6 @@ dist_patch_DATA = \ %D%/packages/patches/libunwind-CVE-2015-3239.patch \ %D%/packages/patches/libunistring-gnulib-multi-core.patch \ %D%/packages/patches/libvpx-CVE-2016-2818.patch \ - %D%/packages/patches/libwmf-CAN-2004-0941.patch \ - %D%/packages/patches/libwmf-CVE-2006-3376.patch \ - %D%/packages/patches/libwmf-CVE-2007-0455.patch \ - %D%/packages/patches/libwmf-CVE-2007-2756.patch \ - %D%/packages/patches/libwmf-CVE-2007-3472.patch \ - %D%/packages/patches/libwmf-CVE-2007-3473.patch \ - %D%/packages/patches/libwmf-CVE-2007-3477.patch \ - %D%/packages/patches/libwmf-CVE-2009-1364.patch \ - %D%/packages/patches/libwmf-CVE-2009-3546.patch \ - %D%/packages/patches/libwmf-CVE-2015-0848+CVE-2015-4588.patch \ - %D%/packages/patches/libwmf-CVE-2015-4695.patch \ - %D%/packages/patches/libwmf-CVE-2015-4696.patch \ %D%/packages/patches/libxcb-python-3.5-compat.patch \ %D%/packages/patches/libxml2-CVE-2016-4658.patch \ %D%/packages/patches/libxml2-CVE-2016-5131.patch \ @@ -941,6 +931,7 @@ dist_patch_DATA = \ %D%/packages/patches/qemu-CVE-2017-8309.patch \ %D%/packages/patches/qemu-CVE-2017-8379.patch \ %D%/packages/patches/qemu-CVE-2017-8380.patch \ + %D%/packages/patches/qemu-CVE-2017-9524.patch \ %D%/packages/patches/qt4-ldflags.patch \ %D%/packages/patches/qtscript-disable-tests.patch \ %D%/packages/patches/quickswitch-fix-dmenu-check.patch \ diff --git a/gnu/packages/abiword.scm b/gnu/packages/abiword.scm index 9a4acdc384..b00dac9a63 100644 --- a/gnu/packages/abiword.scm +++ b/gnu/packages/abiword.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014 Marek Benc ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2017 Ricardo Wurmus +;;; Copyright © 2017 Leo Famulari ;;; ;;; This file is part of GNU Guix. ;;; @@ -55,8 +56,7 @@ (sha256 (base32 "08imry821g81apdwym3gcs4nss0l9j5blqk31j5rv602zmcd9gxg")) (patches - (search-patches "abiword-wmf-version-lookup-fix.patch" - "abiword-explictly-cast-bools.patch" + (search-patches "abiword-explictly-cast-bools.patch" "abiword-black-drawing-with-gtk322.patch")))) (build-system glib-or-gtk-build-system) @@ -97,7 +97,6 @@ ("libjpeg" ,libjpeg) ("libpng" ,libpng) ("librsvg" ,librsvg) - ("libwmf" ,libwmf) ("libxml2" ,libxml2) ("libxslt" ,libxslt) ("ots" ,ots) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 3f960812a6..b9d68fc244 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -481,9 +481,9 @@ connection alive.") (define-public isc-dhcp (let* ((bind-major-version "9") (bind-minor-version "9") - (bind-patch-version "9") + (bind-patch-version "10") (bind-release-type "-P") ; for patch release, use "-P" - (bind-release-version "8") ; for patch release, e.g. "6" + (bind-release-version "1") ; for patch release, e.g. "6" (bind-version (string-append bind-major-version "." bind-minor-version @@ -599,7 +599,7 @@ connection alive.") "/bind-" bind-version ".tar.gz")) (sha256 (base32 - "1f5i64f6y4rmy61y63r5if1lifw8dw8r8dh6ns3x4002hanzrpgz")))) + "1ibbparr9k52rbs0qf0ar8jwvhhx6lja7ylxzpf32swklmhz629c")))) ;; When cross-compiling, we need the cross Coreutils and sed. ;; Otherwise just use those from %FINAL-INPUTS. @@ -2126,7 +2126,7 @@ tool for remote execution and deployment.") (define-public neofetch (package (name "neofetch") - (version "3.1.0") + (version "3.2.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/dylanaraps/neofetch/" @@ -2134,7 +2134,7 @@ tool for remote execution and deployment.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1rgznkl7a5q7lnc6zxlwvinq20b7k46n949l1hiwifarv0jgwynv")))) + "07a32rzmch51znxspzyc7zyaldmr383v70b49wmnjdjs2qfdbv3a")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; there are no tests diff --git a/gnu/packages/adns.scm b/gnu/packages/adns.scm index eece884e58..cb37635bcd 100644 --- a/gnu/packages/adns.scm +++ b/gnu/packages/adns.scm @@ -59,7 +59,7 @@ scripts.") (define-public c-ares (package (name "c-ares") - (version "1.12.0") + (version "1.13.0") (source (origin (method url-fetch) (uri (string-append @@ -67,7 +67,7 @@ scripts.") ".tar.gz")) (sha256 (base32 - "1yv5ygkd813glz8hbagykgp1hlb6450chig061hr7pyw7i0gk4l6")))) + "19qxhv9aiw903fr808y77r6l9js0fq9m3gcaqckan9jan7qhixq3")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index a6960ae79b..52a4028f46 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -207,7 +207,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.") (define-public giac-xcas (package (name "giac-xcas") - (version "1.2.3-37") + (version "1.2.3-51") (source (origin (method url-fetch) ;; "~parisse/giac" is not used because the maintainer regularly @@ -219,7 +219,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.") "source/giac_" version ".tar.gz")) (sha256 (base32 - "180146rm8fxlbd6x25x81yscf6q8qjpzr35k203r25c2xkcb7h2x")))) + "1w7d4sdjbvqiibnfkhrqy9np3smsysilfba9pry3q1qn5g5y6nrp")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm index 3f77dd756c..27db8fc559 100644 --- a/gnu/packages/assembly.scm +++ b/gnu/packages/assembly.scm @@ -34,14 +34,14 @@ (define-public nasm (package (name "nasm") - (version "2.12.02") + (version "2.13.01") (source (origin (method url-fetch) (uri (string-append "http://www.nasm.us/pub/nasm/releasebuilds/" version "/" name "-" version ".tar.xz")) (sha256 (base32 - "08a3ah791cl7xdyrlz33mwv4xzs08rxh0p902p3ypi5iq1h6p1jc")))) + "0plsvcwxc7q3llr3bz10prwq1gn4ll38aqmv0yzfqcq4iw0160ma")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl) ;for doc and test target ("texinfo" ,texinfo))) @@ -52,10 +52,10 @@ (add-after 'unpack 'dont-build-ps-pdf-outputs (lambda _ (substitute* "doc/Makefile.in" - (("info html nasmdoc.txt nasmdoc.ps nasmdoc.pdf") - "info html nasmdoc.txt") - (("nasmdoc.ps nasmdoc.pdf nasmdoc.txt \\$\\(INSTALLROOT\\)\\$\\(docdir\\)") - "nasmdoc.txt $(INSTALLROOT)$(docdir)")) + (("html nasmdoc.txt nasmdoc.pdf") + "html nasmdoc.txt") + (("\\$\\(INSTALL_DATA\\) nasmdoc.pdf") + "$(INSTALL_DATA)")) #t)) (add-after 'install 'install-info (lambda _ diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 879c6ba6a6..f5509dab10 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -108,6 +108,10 @@ systems in a FITS image header.") ("libjpeg" ,libjpeg-8) ("wcslib" ,wcslib))) (build-system gnu-build-system) + (arguments + ;; Reduce the number of required type conversions by enabling arithmetic + ;; with all the supported types. + `(#:configure-flags '("--enable-bin-op-alltypes"))) (home-page "https://www.gnu.org/software/gnuastro/") (synopsis "Astronomy utilities") (description "The GNU Astronomy Utilities (Gnuastro) is a suite of diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index dc668ce131..3e4b998b1b 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -79,7 +79,6 @@ #:use-module (gnu packages xiph) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) - #:use-module (gnu packages zip) #:use-module (srfi srfi-1)) (define-public alsa-modular-synth diff --git a/gnu/packages/avr.scm b/gnu/packages/avr.scm index 916f7983fa..aaa0428041 100644 --- a/gnu/packages/avr.scm +++ b/gnu/packages/avr.scm @@ -27,11 +27,11 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) #:use-module (gnu packages) + #:use-module (gnu packages compression) #:use-module (gnu packages cross-base) #:use-module (gnu packages flashing-tools) #:use-module (gnu packages gcc) - #:use-module (gnu packages vim) - #:use-module (gnu packages zip)) + #:use-module (gnu packages vim)) (define-public avr-binutils (package diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index b9364f81f5..e81516d23e 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -514,6 +514,7 @@ store.") (package (name "glibc") (version "2.25") + (replacement glibc-2.25-patched) (source (origin (method url-fetch) (uri (string-append "mirror://gnu/glibc/glibc-" @@ -768,6 +769,20 @@ GLIBC/HURD for a Hurd host" (define-syntax glibc (identifier-syntax (glibc-for-target))) +(define glibc-2.25-patched + (package + (inherit glibc) + (replacement #f) + (source (origin + (inherit (package-source glibc)) + (patches (search-patches "glibc-ldd-x86_64.patch" + "glibc-versioned-locpath.patch" + "glibc-o-largefile.patch" + "glibc-vectorized-strcspn-guards.patch" + "glibc-CVE-2017-1000366-pt1.patch" + "glibc-CVE-2017-1000366-pt2.patch" + "glibc-CVE-2017-1000366-pt3.patch")))))) + ;; Below are old libc versions, which we use mostly to build locale data in ;; the old format (which the new libc cannot cope with.) @@ -775,30 +790,47 @@ GLIBC/HURD for a Hurd host" (package (inherit glibc) (version "2.24") + (replacement #f) (source (origin (inherit (package-source glibc)) (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz")) (sha256 (base32 - "1lxmprg9gm73gvafxd503x70z32phwjzcy74i0adfi6ixzla7m4r")))))) + "1lxmprg9gm73gvafxd503x70z32phwjzcy74i0adfi6ixzla7m4r")) + (patches (search-patches "glibc-ldd-x86_64.patch" + "glibc-versioned-locpath.patch" + "glibc-o-largefile.patch" + "glibc-vectorized-strcspn-guards.patch" + "glibc-CVE-2017-1000366-pt1.patch" + "glibc-CVE-2017-1000366-pt2.patch" + "glibc-CVE-2017-1000366-pt3.patch")))))) (define-public glibc-2.23 (package (inherit glibc) (version "2.23") + (replacement #f) (source (origin (inherit (package-source glibc)) (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz")) (sha256 (base32 - "1s8krs3y2n6pzav7ic59dz41alqalphv7vww4138ag30wh0fpvwl")))))) + "1s8krs3y2n6pzav7ic59dz41alqalphv7vww4138ag30wh0fpvwl")) + (patches (search-patches "glibc-ldd-x86_64.patch" + "glibc-versioned-locpath.patch" + "glibc-o-largefile.patch" + "glibc-vectorized-strcspn-guards.patch" + "glibc-CVE-2017-1000366-pt1.patch" + "glibc-CVE-2017-1000366-pt2.patch" + "glibc-CVE-2017-1000366-pt3.patch")))))) (define-public glibc-2.22 (package (inherit glibc) (version "2.22") + (replacement #f) (source (origin (inherit (package-source glibc)) (uri (string-append "mirror://gnu/glibc/glibc-" @@ -806,7 +838,11 @@ GLIBC/HURD for a Hurd host" (sha256 (base32 "0j49682pm2nh4qbdw35bas82p1pgfnz4d2l7iwfyzvrvj0318wzb")) - (patches (search-patches "glibc-ldd-x86_64.patch")))) + (patches (search-patches "glibc-ldd-x86_64.patch" + "glibc-vectorized-strcspn-guards.patch" + "glibc-CVE-2017-1000366-pt1.patch" + "glibc-CVE-2017-1000366-pt2.patch" + "glibc-CVE-2017-1000366-pt3.patch")))) (arguments (substitute-keyword-arguments (package-arguments glibc) ((#:phases phases) @@ -815,25 +851,27 @@ GLIBC/HURD for a Hurd host" (lambda _ ;; Use `pwd' instead of `/bin/pwd' for glibc-2.21 (substitute* "configure" - (("/bin/pwd") "pwd")))))))))) + (("/bin/pwd") "pwd")) + #t)))))))) (define-public glibc-2.21 (package (inherit glibc-2.22) (version "2.21") + (replacement #f) (source (origin - (inherit (package-source glibc)) + (inherit (package-source glibc-2.22)) (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz")) (sha256 (base32 - "1f135546j34s9bfkydmx2nhh9vwxlx60jldi80zmsnln6wj3dsxf")) - (patches (search-patches "glibc-ldd-x86_64.patch")))))) + "1f135546j34s9bfkydmx2nhh9vwxlx60jldi80zmsnln6wj3dsxf")))))) (define-public glibc-locales (package (inherit glibc) (name "glibc-locales") + (replacement #f) (source (origin (inherit (package-source glibc)) (patches (cons (search-patch "glibc-locales.patch") (origin-patches (package-source glibc)))))) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index b9d641ec34..3db67f5427 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -50,6 +50,7 @@ #:use-module (gnu packages cpio) #:use-module (gnu packages curl) #:use-module (gnu packages documentation) + #:use-module (gnu packages databases) #:use-module (gnu packages datastructures) #:use-module (gnu packages file) #:use-module (gnu packages flex) @@ -84,6 +85,7 @@ #:use-module (gnu packages readline) #:use-module (gnu packages ruby) #:use-module (gnu packages serialization) + #:use-module (gnu packages shells) #:use-module (gnu packages statistics) #:use-module (gnu packages swig) #:use-module (gnu packages tbb) @@ -96,7 +98,6 @@ #:use-module (gnu packages web) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) - #:use-module (gnu packages zip) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26)) @@ -1384,15 +1385,13 @@ well as many of the command line options.") (define-public python2-bx-python (package (name "python2-bx-python") - (version "0.7.2") + (version "0.7.3") (source (origin (method url-fetch) - (uri (string-append - "https://pypi.python.org/packages/source/b/bx-python/bx-python-" - version ".tar.gz")) + (uri (pypi-uri "bx-python" version)) (sha256 (base32 - "0ld49idhc5zjdvbhvjq1a2qmpjj7h5v58rqr25dzmfq7g34b50xh")) + "15z2w3bvnc0n4qmb9bd6d8ylc2h2nj883x2w9iixf4x3vki9b22i")) (modules '((guix build utils))) (snippet '(substitute* "setup.py" @@ -3697,7 +3696,7 @@ trimming, pruning, condensing, drawing (ASCII graphics or SVG).") (define-public orfm (package (name "orfm") - (version "0.6.1") + (version "0.7.1") (source (origin (method url-fetch) (uri (string-append @@ -3705,7 +3704,7 @@ trimming, pruning, condensing, drawing (ASCII graphics or SVG).") version "/orfm-" version ".tar.gz")) (sha256 (base32 - "19hwp13n82isdvk16710l9m35cmzf0q3fsrcn3r8c5r67biiz39s")))) + "16iigyr2gd8x0imzkk1dr3k5xsds9bpmwg31ayvjg0f4pir9rwqr")))) (build-system gnu-build-system) (inputs `(("zlib" ,zlib))) (native-inputs @@ -9540,3 +9539,168 @@ correct interaction matrices, identify and compare the so-called interaction matrices, and finally, extract structural properties from the models. TADbit is complemented by TADkit for visualizing 3D models.") (license license:gpl3+))) + +(define-public kentutils + (package + (name "kentutils") + ;; 302.1.0 is out, but the only difference is the inclusion of + ;; pre-built binaries. + (version "302.0.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/ENCODE-DCC/kentUtils/" + "archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "134aja3k1cj32kbk1nnw0q9gxjb2krr15q6sga8qldzvc0585rmm")) + (modules '((guix build utils) + (srfi srfi-26) + (ice-9 ftw))) + (snippet + '(begin + ;; Only the contents of the specified directories are free + ;; for all uses, so we remove the rest. "hg/autoSql" and + ;; "hg/autoXml" are nominally free, but they depend on a + ;; library that is built from the sources in "hg/lib", + ;; which is nonfree. + (let ((free (list "." ".." + "utils" "lib" "inc" "tagStorm" + "parasol" "htslib")) + (directory? (lambda (file) + (eq? 'directory (stat:type (stat file)))))) + (for-each (lambda (file) + (and (directory? file) + (delete-file-recursively file))) + (map (cut string-append "src/" <>) + (scandir "src" + (lambda (file) + (not (member file free))))))) + ;; Only make the utils target, not the userApps target, + ;; because that requires libraries we won't build. + (substitute* "Makefile" + ((" userApps") " utils")) + ;; Only build libraries that are free. + (substitute* "src/makefile" + (("DIRS =.*") "DIRS =\n") + (("cd jkOwnLib.*") "") + ((" hgLib") "") + (("cd hg.*") "")) + (substitute* "src/utils/makefile" + ;; These tools depend on "jkhgap.a", which is part of the + ;; nonfree "src/hg/lib" directory. + (("raSqlQuery") "") + (("pslLiftSubrangeBlat") "") + + ;; Do not build UCSC tools, which may require nonfree + ;; components. + (("ALL_APPS =.*") "ALL_APPS = $(UTILS_APPLIST)\n")) + #t)))) + (build-system gnu-build-system) + (arguments + `( ;; There is no global test target and the test target for + ;; individual tools depends on input files that are not + ;; included. + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda _ + (substitute* "Makefile" + (("/bin/echo") (which "echo"))) + #t)) + (add-after 'unpack 'prepare-samtabix + (lambda* (#:key inputs #:allow-other-keys) + (copy-recursively (assoc-ref inputs "samtabix") + "samtabix") + #t)) + (delete 'configure) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") + "/bin"))) + (copy-recursively "bin" bin)) + #t))))) + (native-inputs + `(("samtabix" + ,(origin + (method git-fetch) + (uri (git-reference + (url "http://genome-source.cse.ucsc.edu/samtabix.git") + (commit "10fd107909c1ac4d679299908be4262a012965ba"))) + (sha256 + (base32 + "0c1nj64l42v395sa84n7az43xiap4i6f9n9dfz4058aqiwkhkmma")))))) + (inputs + `(("zlib" ,zlib) + ("tcsh" ,tcsh) + ("perl" ,perl) + ("libpng" ,libpng) + ("mysql" ,mysql) + ("openssl" ,openssl))) + (home-page "http://genome.cse.ucsc.edu/index.html") + (synopsis "Assorted bioinformatics utilities") + (description "This package provides the kentUtils, a selection of +bioinformatics utilities used in combination with the UCSC genome +browser.") + ;; Only a subset of the sources are released under a non-copyleft + ;; free software license. All other sources are removed in a + ;; snippet. See this bug report for an explanation of how the + ;; license statements apply: + ;; https://github.com/ENCODE-DCC/kentUtils/issues/12 + (license (license:non-copyleft + "http://genome.ucsc.edu/license/" + "The contents of this package are free for all uses.")))) + +(define-public f-seq + (let ((commit "6ccded34cff38cf432deed8503648b4a66953f9b") + (revision "1")) + (package + (name "f-seq") + (version (string-append "1.1-" revision "." commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/aboyle/F-seq.git") + (commit commit))) + (file-name (string-append name "-" version)) + (sha256 + (base32 + "1nk33k0yajg2id4g59bc4szr58r2q6pdq42vgcw054m8ip9wv26h")) + (modules '((guix build utils))) + ;; Remove bundled Java library archives. + (snippet + '(begin + (for-each delete-file (find-files "lib" ".*")) + #t)))) + (build-system ant-build-system) + (arguments + `(#:tests? #f ; no tests included + #:phases + (modify-phases %standard-phases + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((target (assoc-ref outputs "out")) + (doc (string-append target "/share/doc/f-seq/"))) + (mkdir-p target) + (mkdir-p doc) + (substitute* "bin/linux/fseq" + (("java") (which "java"))) + (install-file "README.txt" doc) + (install-file "bin/linux/fseq" (string-append target "/bin")) + (install-file "build~/fseq.jar" (string-append target "/lib")) + (copy-recursively "lib" (string-append target "/lib")) + #t)))))) + (inputs + `(("perl" ,perl) + ("java-commons-cli" ,java-commons-cli))) + (home-page "http://fureylab.web.unc.edu/software/fseq/") + (synopsis "Feature density estimator for high-throughput sequence tags") + (description + "F-Seq is a software package that generates a continuous tag sequence +density estimation allowing identification of biologically meaningful sites +such as transcription factor binding sites (ChIP-seq) or regions of open +chromatin (DNase-seq). Output can be displayed directly in the UCSC Genome +Browser.") + (license license:gpl3+)))) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index c4be211f1a..2d8d89f754 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -91,11 +91,15 @@ ;; Make the font visible. (copy-file (assoc-ref inputs "unifont") "unifont.bdf.gz") (system* "gunzip" "unifont.bdf.gz") - #t))) - - ;; We suspect there are race conditions when running tests in parallel: - ;; . - #:parallel-tests? #f)) + #t)) + (add-before 'check 'disable-flaky-test + (lambda _ + ;; This test is unreliable. For more information, see: + ;; . + (substitute* "Makefile.in" + (("grub_cmd_date grub_cmd_set_date grub_cmd_sleep") + "grub_cmd_date grub_cmd_sleep")) + #t))))) (inputs `(("gettext" ,gettext-minimal) diff --git a/gnu/packages/busybox.scm b/gnu/packages/busybox.scm index 988154eed4..6ef7200f9d 100644 --- a/gnu/packages/busybox.scm +++ b/gnu/packages/busybox.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 John Darrington -;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016, 2017 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,13 +24,13 @@ #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages admin) - #:use-module (gnu packages perl) - #:use-module (gnu packages zip)) + #:use-module (gnu packages compression) + #:use-module (gnu packages perl)) (define-public busybox (package (name "busybox") - (version "1.26.0") + (version "1.26.2") (source (origin (method url-fetch) (uri (string-append @@ -38,44 +38,44 @@ version ".tar.bz2")) (sha256 (base32 - "0k0g3hk58m99c2sfq97ngnixb2rv2wzyhv3z00lxaw78bqvjglis")))) + "05mg6rh5smkzfwqfcazkpwy6h6555llsazikqnvwkaf17y8l8gns")))) (build-system gnu-build-system) (arguments - `(#:phases + '(#:phases (modify-phases %standard-phases (replace 'configure (lambda _ (zero? (system* "make" "defconfig")))) (replace 'check (lambda _ - (substitute* '("testsuite/du/du-s-works" - "testsuite/du/du-works") + (substitute* '("testsuite/du/du-s-works" + "testsuite/du/du-works") (("/bin") "/etc")) ; there is no /bin but there is a /etc - ;; There is no /usr/bin or /bin - replace it with /gnu/store - (substitute* "testsuite/cpio.tests" + ;; There is no /usr/bin or /bin - replace it with /gnu/store + (substitute* "testsuite/cpio.tests" (("/usr/bin") (%store-directory)) (("usr") (car (filter (negate string-null?) - (string-split (%store-directory) #\/))))) + (string-split (%store-directory) #\/))))) - (substitute* "testsuite/date/date-works-1" + (substitute* "testsuite/date/date-works-1" (("/bin/date") (which "date"))) - ;; The pidof tests assume that pid 1 is called "init" but that is not - ;; true in guix build environment - (substitute* "testsuite/pidof.tests" + ;; The pidof tests assume that pid 1 is called "init" but that is not + ;; true in guix build environment + (substitute* "testsuite/pidof.tests" (("-s init") "-s $(cat /proc/1/comm)")) + + ;; This test cannot possibly pass. + ;; It is trying to test that "which ls" returns "/bin/ls" when PATH is not set. + ;; However, this relies on /bin/ls existing. Which it does not in guix. + (delete-file "testsuite/which/which-uses-default-path") + (rmdir "testsuite/which") - ;; This test cannot possibly pass. - ;; It is trying to test that "which ls" returns "/bin/ls" when PATH is not set. - ;; However, this relies on /bin/ls existing. Which it does not in guix. - (delete-file "testsuite/which/which-uses-default-path") - (rmdir "testsuite/which") - - (zero? (system* "make" - ;; "V=1" - "SKIP_KNOWN_BUGS=1" - "SKIP_INTERNET_TESTS=1" - "check")))) + (zero? (system* "make" + ;; "V=1" + "SKIP_KNOWN_BUGS=1" + "SKIP_INTERNET_TESTS=1" + "check")))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 15329b3109..704e8ad36d 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -37,7 +37,6 @@ #:use-module (gnu packages audio) #:use-module (gnu packages bison) #:use-module (gnu packages compression) - #:use-module (gnu packages zip) #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) #:use-module (gnu packages gettext) diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index c26d02f175..e2cb712bf1 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -39,7 +39,6 @@ #:use-module (gnu packages version-control) #:use-module (gnu packages web) #:use-module (gnu packages xml) - #:use-module (gnu packages zip) #:use-module (guix build-system gnu)) (define-public hydra diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index f672ef45eb..a15484643b 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès ;;; Copyright © 2014 Andreas Enge ;;; Copyright © 2012 Nikita Karetnikov -;;; Copyright © 2014, 2015 Mark H Weaver +;;; Copyright © 2014, 2015, 2017 Mark H Weaver ;;; ;;; This file is part of GNU Guix. ;;; @@ -467,7 +467,7 @@ the bootstrap environment." ;; built just below; the only difference is that this one uses the ;; bootstrap Bash. (package-with-bootstrap-guile - (package (inherit glibc) + (package/inherit glibc (name "glibc-intermediate") (arguments `(#:guile ,%bootstrap-guile @@ -633,7 +633,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" (define glibc-final ;; The final glibc, which embeds the statically-linked Bash built above. - (package (inherit glibc-final-with-bootstrap-bash) + (package/inherit glibc-final-with-bootstrap-bash (name "glibc") (inputs `(("static-bash" ,static-bash-for-glibc) ,@(alist-delete diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index c7b6ccc8ab..a4d922b743 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2016 Marius Bakke ;;; Copyright © 2017 ng0 ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis +;;; Copyright © 2017 Theodoros Foradis ;;; ;;; This file is part of GNU Guix. ;;; @@ -54,7 +55,6 @@ #:use-module (gnu packages python) #:use-module (gnu packages tls) #:use-module (gnu packages valgrind) - #:use-module (gnu packages zip) #:use-module (ice-9 match) #:use-module ((srfi srfi-1) #:select (last))) @@ -1331,3 +1331,189 @@ as is the decompression of data compressed in this manner. Data compressed by other implementations will only be decompressed by two threads: one performing the actual decompression, the other input and output.") (license (package-license zstd)))) + +(define-public zip + (package + (name "zip") + (version "3.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/infozip" + "/Zip%203.x%20%28latest%29/3.0/zip30.tar.gz")) + (sha256 + (base32 + "0sb3h3067pzf3a7mlxn1hikpcjrsvycjcnj9hl9b1c3ykcgvps7h")))) + (build-system gnu-build-system) + (inputs `(("bzip2" ,bzip2))) + (arguments + `(#:tests? #f ; no test target + #:make-flags (let ((out (assoc-ref %outputs "out"))) + (list "-f" "unix/Makefile" + (string-append "prefix=" out) + (string-append "MANDIR=" out "/share/man/man1"))) + #:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-1)) + #:phases + (modify-phases %standard-phases + (replace 'build + (lambda* (#:key (make-flags '()) #:allow-other-keys) + (zero? (apply system* "make" "generic_gcc" make-flags)))) + (delete 'configure)))) + (home-page "http://www.info-zip.org/Zip.html") + (synopsis "Compression and file packing utility") + (description + "Zip is a compression and file packaging/archive utility. Zip is useful +for packaging a set of files for distribution, for archiving files, and for +saving disk space by temporarily compressing unused files or directories. +Zip puts one or more compressed files into a single ZIP archive, along with +information about the files (name, path, date, time of last modification, +protection, and check information to verify file integrity). An entire +directory structure can be packed into a ZIP archive with a single command. + +Zip has one compression method (deflation) and can also store files without +compression. Zip automatically chooses the better of the two for each file. +Compression ratios of 2:1 to 3:1 are common for text files.") + (license (license:non-copyleft "file://LICENSE" + "See LICENSE in the distribution.")))) + +(define-public unzip + (package (inherit zip) + (name "unzip") + (version "6.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/infozip" + "/UnZip%206.x%20%28latest%29/UnZip%206.0/unzip60.tar.gz")) + (sha256 + (base32 + "0dxx11knh3nk95p2gg2ak777dd11pr7jx5das2g49l262scrcv83")) + (patches (search-patches "unzip-CVE-2014-8139.patch" + "unzip-CVE-2014-8140.patch" + "unzip-CVE-2014-8141.patch" + "unzip-CVE-2014-9636.patch" + "unzip-CVE-2015-7696.patch" + "unzip-CVE-2015-7697.patch" + "unzip-allow-greater-hostver-values.patch" + "unzip-initialize-symlink-flag.patch" + "unzip-remove-build-date.patch" + "unzip-attribs-overflow.patch" + "unzip-overflow-on-invalid-input.patch" + "unzip-format-secure.patch" + "unzip-overflow-long-fsize.patch")))) + (build-system gnu-build-system) + ;; no inputs; bzip2 is not supported, since not compiled with BZ_NO_STDIO + (arguments + `(#:phases (modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda* (#:key make-flags #:allow-other-keys) + (zero? (apply system* "make" + `("-j" ,(number->string + (parallel-job-count)) + ,@make-flags + "generic_gcc")))))) + #:make-flags (list "-f" "unix/Makefile" + (string-append "prefix=" %output) + (string-append "MANDIR=" %output "/share/man/man1")))) + (home-page "http://www.info-zip.org/UnZip.html") + (synopsis "Decompression and file extraction utility") + (description + "UnZip is an extraction utility for archives compressed in .zip format, +also called \"zipfiles\". + +UnZip lists, tests, or extracts files from a .zip archive. The default +behaviour (with no options) is to extract into the current directory, and +subdirectories below it, all files from the specified zipfile. UnZip +recreates the stored directory structure by default.") + (license (license:non-copyleft "file://LICENSE" + "See LICENSE in the distribution.")))) + +(define-public zziplib + (package + (name "zziplib") + (version "0.13.62") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/zziplib/zziplib13/" + version "/zziplib-" + version ".tar.bz2")) + (patches (search-patches "zziplib-CVE-2017-5974.patch" + "zziplib-CVE-2017-5975.patch" + "zziplib-CVE-2017-5976.patch" + "zziplib-CVE-2017-5978.patch" + "zziplib-CVE-2017-5979.patch" + "zziplib-CVE-2017-5981.patch")) + (sha256 + (base32 + "0nsjqxw017hiyp524p9316283jlf5piixc1091gkimhz38zh7f51")))) + (build-system gnu-build-system) + (inputs + `(("zlib" ,zlib))) + (native-inputs `(("perl" ,perl) ; for the documentation + ("pkg-config" ,pkg-config) + ;; for the documentation; Python 3 not supported, + ;; http://forums.gentoo.org/viewtopic-t-863161-start-0.html + ("python" ,python-2) + ("zip" ,zip))) ; to create test files + (arguments + `(#:parallel-tests? #f)) ; since test files are created on the fly + (home-page "http://zziplib.sourceforge.net/") + (synopsis "Library for accessing zip files") + (description + "ZZipLib is a library based on zlib for accessing zip files.") + (license license:lgpl2.0+))) + +(define-public perl-zip + (package + (name "perl-zip") + (version "1.59") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/A/AD/ADAMK/Archive-Zip-" + version ".tar.gz")) + (sha256 + (base32 + "0m31qlppg65vh32pwxkwjby02q70abx49d2yk6vfd4585fqb27cx")))) + (build-system perl-build-system) + (synopsis "Provides an interface to ZIP archive files") + (description "The Archive::Zip module allows a Perl program to create, +manipulate, read, and write Zip archive files.") + (home-page "http://search.cpan.org/~adamk/Archive-Zip-1.30/") + (license license:perl-license))) + +(define-public libzip + (package + (name "libzip") + (version "1.2.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://nih.at/libzip/libzip-" version ".tar.gz")) + (sha256 + (base32 + "17vxj2ffsxwh8lkc6801ppmwj15jp8q58rin76znxfbx88789ybc")))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'patch-perl + (lambda _ + (substitute* "regress/runtest.in" + (("/usr/bin/env perl") (which "perl")))))))) + (native-inputs + `(("perl" ,perl))) + (inputs + `(("zlib" ,zlib))) + (build-system gnu-build-system) + (home-page "https://nih.at/libzip/index.html") + (synopsis "C library for reading, creating, and modifying zip archives") + (description "Libzip is a C library for reading, creating, and modifying +zip archives. Files can be added from data buffers, files, or compressed data +copied directly from other zip archives. Changes made without closing the +archive can be reverted.") + (license license:bsd-3))) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index a05ba6b726..dcaba0a866 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2017 Marius Bakke ;;; Copyright © 2017 Thomas Danckaert ;;; Copyright © 2017 Arun Isaac +;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -1356,8 +1357,17 @@ trees (LSM), for sustained throughput under random insert workloads.") (("/usr/local") (assoc-ref outputs "out"))) #t))))) (home-page "https://symas.com/products/lightning-memory-mapped-database") - (synopsis "Lightning memory-mapped database library") - (description "Lightning memory-mapped database library.") + (synopsis "Lightning Memory-Mapped Database library") + (description + "The @dfn{Lightning Memory-Mapped Database} (LMDB) is a high-performance +transactional database. Unlike more complex relational databases, LMDB handles +only key-value pairs (stored as arbitrary byte arrays) and relies on the +underlying operating system for caching and locking, keeping the code small and +simple. +The use of ‘zero-copy’ memory-mapped files combines the persistence of classic +disk-based databases with high read performance that scales linearly over +multiple cores. The size of each database is limited only by the size of the +virtual address space — not physical RAM.") (license license:openldap2.8))) (define-public libpqxx @@ -1539,3 +1549,49 @@ file format to other databases such as MySQL, Oracle, Sybase, PostgreSQL, etc., and an SQL engine for performing simple SQL queries.") (license (list license:lgpl2.0 license:gpl2+)))) + +(define-public python-lmdb + (package + (name "python-lmdb") + (version "0.92") + (source (origin + (method url-fetch) + (uri (pypi-uri "lmdb" version)) + (sha256 + (base32 + "01nw6r08jkipx6v92kw49z34wmwikrpvc5j9xawdiyg1n2526wrx")) + (modules '((guix build utils))) + (snippet + ;; Delete bundled lmdb source files. + '(for-each delete-file (list "lib/lmdb.h" + "lib/mdb.c" + "lib/midl.c" + "lib/midl.h"))))) + (build-system python-build-system) + (inputs + `(("lmdb" ,lmdb))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'build 'use-system-lmdb + (lambda* (#:key inputs #:allow-other-keys) + (let ((lmdb (assoc-ref inputs "lmdb"))) + (setenv "LMDB_FORCE_SYSTEM" "set") + (setenv "LMDB_INCLUDEDIR" (string-append lmdb "/include")) + (setenv "LMDB_LIBDIR" (string-append lmdb "/lib")) + #t)))) + ;; Tests fail with: ‘lmdb.tool: Please specify environment (--env)’. + #:tests? #f)) + (home-page "https://github.com/dw/py-lmdb") + (synopsis "Python binding for the ‘Lightning’ database (LMDB)") + (description + "python-lmdb or py-lmdb is a Python binding for the @dfn{Lightning +Memory-Mapped Database} (LMDB), a high-performance key-value store.") + (license + (list license:openldap2.8 + ;; ‘lib/win32/inttypes.h’ and ‘lib/win32-stdint/stdint.h’ are BSD-3, + ;; but not actually needed on platforms currently supported by Guix. + license:bsd-3)))) + +(define-public python2-lmdb + (package-with-python2 python-lmdb)) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 2e4d8fd18e..514acee271 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice ;;; Copyright © 2016 Marius Bakke ;;; Copyright © 2017 Vasile Dumitrascu +;;; Copyright © 2017 Gregor Giesen ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,6 +32,7 @@ #:use-module (gnu packages databases) #:use-module (gnu packages crypto) #:use-module (gnu packages datastructures) + #:use-module (gnu packages flex) #:use-module (gnu packages glib) #:use-module (gnu packages groff) #:use-module (gnu packages groff) @@ -42,12 +44,16 @@ #:use-module (gnu packages nettle) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages protobuf) + #:use-module (gnu packages python) + #:use-module (gnu packages swig) #:use-module (gnu packages tls) #:use-module (gnu packages web) #:use-module (gnu packages xml) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix utils) #:use-module (guix build-system gnu)) (define-public dnsmasq @@ -275,6 +281,165 @@ asynchronous fashion.") (license:non-copyleft "file://LICENSE") ; includes.h license:openssl)))) +(define-public unbound + (package + (name "unbound") + (version "1.6.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.unbound.net/downloads/unbound-" + version ".tar.gz")) + (sha256 + (base32 + "0pw4m4z5qspsagxzbjb61xq5bhd57amw26xqvqzi6b8d3mf6azjc")))) + (build-system gnu-build-system) + (outputs '("out" "python")) + (native-inputs + `(("flex" ,flex) + ("swig" ,swig))) + (inputs + `(("expat" ,expat) + ("libevent" ,libevent) + ("protobuf" ,protobuf) + ("python" ,python-3) + ("python-wrapper" ,python-wrapper) + ("openssl" ,openssl))) + (arguments + `(#:configure-flags + (list "--disable-static" ;save space and non-determinism in libunbound.a + (string-append + "--with-ssl=" (assoc-ref %build-inputs "openssl")) + (string-append + "--with-libevent=" (assoc-ref %build-inputs "libevent")) + (string-append + "--with-libexpat=" (assoc-ref %build-inputs "expat")) + "--with-pythonmodule" "--with-pyunbound") + #:phases + (modify-phases %standard-phases + (add-after 'configure 'fix-python-site-package-path + ;; Move python modules into their own output. + (lambda* (#:key outputs #:allow-other-keys) + (let ((pyout (assoc-ref outputs "python")) + (ver ,(version-major+minor (package-version python)))) + (substitute* "Makefile" + (("^PYTHON_SITE_PKG=.*$") + (string-append + "PYTHON_SITE_PKG=" + pyout "/lib/python-" ver "/site-packages\n")))) + #t)) + (add-before 'check 'fix-missing-nss-for-tests + ;; Unfortunately, the package's unittests involve some checks + ;; looking up protocols and services which are not provided + ;; by the minimalistic build environment, in particular, + ;; /etc/protocols and /etc/services are missing. + ;; Also, after plain substitution of protocol and service names + ;; in the test data, the tests still fail because the + ;; corresponding Resource Records have been signed by + ;; RRSIG records. + ;; The following LD_PRELOAD library overwrites the glibc + ;; functions ‘get{proto,serv}byname’, ‘getprotobynumber’ and + ;; ‘getservbyport’ providing the few records required for the + ;; unit tests to pass. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((source (assoc-ref %build-inputs "source")) + (gcc (assoc-ref %build-inputs "gcc"))) + (call-with-output-file "/tmp/nss_preload.c" + (lambda (port) + (display "#include +#include +#include + +#include + +struct protoent *getprotobyname(const char *name) { + struct protoent *p = malloc(sizeof(struct protoent)); + p->p_aliases = malloc(sizeof(char*)); + if (strcasecmp(name, \"tcp\") == 0) { + p->p_name = \"tcp\"; + p->p_proto = 6; + p->p_aliases[0] = \"TCP\"; + } else if (strcasecmp(name, \"udp\") == 0) { + p->p_name = \"udp\"; + p->p_proto = 17; + p->p_aliases[0] = \"UDP\"; + } else + p = NULL; + return p; +} + +struct protoent *getprotobynumber(int proto) { + struct protoent *p = malloc(sizeof(struct protoent)); + p->p_aliases = malloc(sizeof(char*)); + switch(proto) { + case 6: + p->p_name = \"tcp\"; + p->p_proto = 6; + p->p_aliases[0] = \"TCP\"; + break; + case 17: + p->p_name = \"udp\"; + p->p_proto = 17; + p->p_aliases[0] = \"UDP\"; + break; + default: + p = NULL; + break; + } + return p; +} + +struct servent *getservbyname(const char *name, const char *proto) { + struct servent *s = malloc(sizeof(struct servent)); + char* buf = malloc((strlen(proto)+1)*sizeof(char)); + strcpy(buf, proto); + s->s_aliases = malloc(sizeof(char*)); + s->s_aliases[0] = NULL; + if (strcasecmp(name, \"domain\") == 0) { + s->s_name = \"domain\"; + s->s_port = htons(53); + s->s_proto = buf; + } else + s = NULL; + return s; +} + +struct servent *getservbyport(int port, const char *proto) { + char buf[32]; + struct servent *s = malloc(sizeof(struct servent)); + strcpy(buf, proto); + s->s_aliases = malloc(sizeof(char*)); + s->s_aliases[0] = NULL; + switch(port) { + case 53: + s->s_name = \"domain\"; + s->s_port = 53; + s->s_proto = \"udp\"; + break; + default: + s = NULL; + break; + } + return s; +}" port))) + (system* (string-append gcc "/bin/gcc") + "-shared" "-fPIC" "-o" "/tmp/nss_preload.so" + "/tmp/nss_preload.c") + ;; The preload library only affects the unittests. + (substitute* "Makefile" + (("./unittest") + "LD_PRELOAD=/tmp/nss_preload.so ./unittest"))) + #t))))) + (home-page "https://www.unbound.net") + (synopsis "Validating, recursive, and caching DNS resolver") + (description + "Unbound is a recursive-only caching DNS server which can perform DNSSEC +validation of results. It implements only a minimal amount of authoritative +service to prevent leakage to the root nameservers: forward lookups for +localhost, reverse for @code{127.0.0.1} and @code{::1}, and NXDOMAIN for zones +served by AS112. Stub and forward zones are supported.") + (license license:bsd-4))) + (define-public yadifa (package (name "yadifa") @@ -321,14 +486,14 @@ Extensions} (DNSSEC).") (define-public knot (package (name "knot") - (version "2.4.4") + (version "2.5.2") (source (origin (method url-fetch) (uri (string-append "https://secure.nic.cz/files/knot-dns/" name "-" version ".tar.xz")) (sha256 (base32 - "0g2n5r2n03bqz322xlwdw4bqhj8l4n8q0hzrqngi4rgmk4rp97ly")) + "1sgmw8k9qccc7bgxbwrvahdinj1bjq90iza55rxj199mxsj72ri8")) (modules '((guix build utils))) (snippet '(begin @@ -353,7 +518,11 @@ Extensions} (DNSSEC).") ("liburcu" ,liburcu) ("lmdb" ,lmdb) ("ncurses" ,ncurses) - ("nettle" ,nettle))) + ("nettle" ,nettle) + + ;; For ‘pykeymgr’, needed to migrate keys from versions <= 2.4. + ("python" ,python-2) + ("python-lmdb" ,python2-lmdb))) (arguments `(#:phases (modify-phases %standard-phases @@ -370,11 +539,18 @@ Extensions} (DNSSEC).") (zero? (system* "make" (string-append "config_dir=" etc) - "install")))))) + "install"))))) + (add-after 'install 'wrap-python-scripts + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (path (getenv "PYTHONPATH"))) + (wrap-program (string-append out "/sbin/pykeymgr") + `("PYTHONPATH" ":" prefix (,path)))) + #t))) #:configure-flags (list "--sysconfdir=/etc" "--localstatedir=/var" - "--enable-rosedb" ; serve static records from a database + "--with-module-rosedb=yes" ; serve static records from a database (string-append "--with-bash-completions=" (assoc-ref %outputs "out") "/etc/bash_completion.d")))) diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm index 067ad1c3b0..7a309b0bc9 100644 --- a/gnu/packages/docbook.scm +++ b/gnu/packages/docbook.scm @@ -31,8 +31,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system trivial) - #:use-module (guix build-system python) - #:autoload (gnu packages zip) (unzip)) + #:use-module (guix build-system python)) (define-public docbook-xml (package diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm index ba8eea3931..5d3d6f170b 100644 --- a/gnu/packages/documentation.scm +++ b/gnu/packages/documentation.scm @@ -37,8 +37,7 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages perl) - #:use-module (gnu packages xml) - #:autoload (gnu packages zip) (unzip)) + #:use-module (gnu packages xml)) (define-public asciidoc (package diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm index 1d64e9b69f..bbb127a7d9 100644 --- a/gnu/packages/ebook.scm +++ b/gnu/packages/ebook.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016, 2017 Alex Griffin ;;; Copyright © 2017 Brendan Tildesley +;;; Copyright © 2017 Roel Janssen ;;; ;;; This file is part of GNU Guix. ;;; @@ -65,7 +66,7 @@ (define-public calibre (package (name "calibre") - (version "2.85.1") + (version "3.0.0") (source (origin (method url-fetch) @@ -74,7 +75,7 @@ version ".tar.xz")) (sha256 (base32 - "1g8s0kp1gj05yysfgqpp2lgrxvzc0fsny1hwzx5jh9hvqn0b53cc")) + "1zhk7bvgr973dd18x4wp48kzai29qqqi5qcy72sxc4wcbk2sbnkw")) ;; Remove non-free or doubtful code, see ;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html (modules '((guix build utils))) @@ -84,13 +85,11 @@ (delete-file-recursively "src/unrar") (delete-file "src/odf/thumbnail.py") (delete-file-recursively "resources/fonts/liberation") - (delete-file-recursively "src/chardet") (substitute* (find-files "." "\\.py") (("calibre\\.ebooks\\.markdown") "markdown")) #t)) (patches (search-patches "calibre-drop-unrar.patch" "calibre-use-packaged-feedparser.patch" - "calibre-dont-load-remote-icons.patch" "calibre-no-updates-dialog.patch")))) (build-system python-build-system) (native-inputs @@ -132,6 +131,7 @@ ("python2-pygments" ,python2-pygments) ("python2-pyqt" ,python2-pyqt) ("python2-sip" ,python2-sip) + ("python2-regex" ,python2-regex) ("sqlite" ,sqlite))) (arguments `(#:python ,python-2 @@ -148,6 +148,12 @@ ;; We can't use the uninstaller in Guix. Don't build it. (("self\\.create_uninstaller()") "")) #t)) + (add-after 'unpack 'dont-load-remote-icons + (lambda _ + (substitute* "setup/plugins_mirror.py" + (("href=\"//calibre-ebook.com/favicon.ico\"") + "href=\"favicon.ico\"")) + #t)) (add-before 'build 'configure (lambda* (#:key inputs #:allow-other-keys) (let ((podofo (assoc-ref inputs "podofo")) diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm new file mode 100644 index 0000000000..8a9f625dc5 --- /dev/null +++ b/gnu/packages/electronics.scm @@ -0,0 +1,253 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2017 Theodoros Foradis +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages electronics) + #:use-module (guix utils) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix build-system gnu) + #:use-module (guix build-system cmake) + #:use-module (gnu packages) + #:use-module (gnu packages boost) + #:use-module (gnu packages check) + #:use-module (gnu packages compression) + #:use-module (gnu packages documentation) + #:use-module (gnu packages glib) + #:use-module (gnu packages graphviz) + #:use-module (gnu packages libftdi) + #:use-module (gnu packages libusb) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) + #:use-module (gnu packages qt) + #:use-module (gnu packages sdcc)) + +(define-public libserialport + (package + (name "libserialport") + (version "0.1.1") + (source (origin + (method url-fetch) + (uri (string-append + "http://sigrok.org/download/source/libserialport/libserialport-" + version ".tar.gz")) + (sha256 + (base32 + "17ajlwgvyyrap8z7f16zcs59pksvncwbmd3mzf98wj7zqgczjaja")))) + (build-system gnu-build-system) + (home-page "http://sigrok.org/wiki/Libserialport") + (synopsis "Library for using serial ports") + (description "Libserialport is a minimal shared library written in C that is intended +to take care of the OS-specific details when writing software that uses serial ports.") + (license license:lgpl3+))) + +(define-public libsigrokdecode + (package + (name "libsigrokdecode") + (version "0.5.0") + (source (origin + (method url-fetch) + (uri (string-append + "http://sigrok.org/download/source/libsigrokdecode/libsigrokdecode-" + version ".tar.gz")) + (sha256 + (base32 + "1hfigfj1976qk11kfsgj75l20qvyq8c9p2h4mjw23d59rsg5ga2a")))) + (outputs '("out" "doc")) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'build 'build-doc + (lambda _ + (zero? (system* "doxygen")))) + (add-after 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (copy-recursively "doxy/html-api" + (string-append (assoc-ref outputs "doc") + "/share/doc/libsigrokdecode")) + #t))))) + (native-inputs + `(("check" ,check) + ("doxygen" ,doxygen) + ("graphviz" ,graphviz) + ("pkg-config" ,pkg-config))) + ;; libsigrokdecode.pc lists "python" in Requires.private, and "glib" in Requires. + (propagated-inputs + `(("glib" ,glib) + ("python" ,python))) + (build-system gnu-build-system) + (home-page "http://www.sigrok.org/wiki/Libsigrokdecode") + (synopsis "Library providing (streaming) protocol decoding functionality") + (description "Libsigrokdecode is a shared library written in C, which provides +(streaming) protocol decoding functionality.") + (license license:gpl3+))) + +(define-public sigrok-firmware-fx2lafw + (package + (name "sigrok-firmware-fx2lafw") + (version "0.1.5") + (source (origin + (method url-fetch) + (uri (string-append + "http://sigrok.org/download/source/sigrok-firmware-fx2lafw/" + "sigrok-firmware-fx2lafw-" version ".tar.gz")) + (sha256 + (base32 + "0bbdgy4rpc00jl0l0744m2ibjlqi26bhrkjr7vplivdsjdmhjx6a")))) + (native-inputs + `(("sdcc" ,sdcc))) + (build-system gnu-build-system) + (home-page "http://www.sigrok.org/wiki/Fx2lafw") + (synopsis "Firmware for Cypress FX2 chips") + (description "Fx2lafw is free firmware for Cypress FX2 chips which makes them usable +as simple logic analyzer and/or oscilloscope hardware.") + (license license:gpl2+))) + +(define-public libsigrok + (package + (name "libsigrok") + (version "0.5.0") + (source (origin + (method url-fetch) + (uri (string-append + "http://sigrok.org/download/source/libsigrok/libsigrok-" + version ".tar.gz")) + (sha256 + (base32 + "197kr5ip98lxn7rv10zs35d1w0j7265s0xvckx0mq2l8kdvqd32c")))) + (outputs '("out" "doc")) + (arguments + `(#:tests? #f ; tests need usb access + #:phases + (modify-phases %standard-phases + (add-before 'configure 'change-udev-group + (lambda _ + (let ((file "contrib/z60_libsigrok.rules")) + (substitute* file + (("plugdev") "dialout")) + (rename-file file "contrib/60-libsigrok.rules") + #t))) + (add-after 'build 'build-doc + (lambda _ + (zero? (system* "doxygen")))) + (add-after 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (copy-recursively "doxy/html-api" + (string-append (assoc-ref outputs "doc") + "/share/doc/libsigrok")) + #t)) + (add-after 'install-doc 'install-udev-rules + (lambda* (#:key outputs #:allow-other-keys) + (install-file "contrib/60-libsigrok.rules" + (string-append + (assoc-ref outputs "out") + "/lib/udev/rules.d/")))) + (add-after 'install-udev-rules 'install-fw + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((fx2lafw (assoc-ref inputs "sigrok-firmware-fx2lafw")) + (out (assoc-ref outputs "out")) + (dir-suffix "/share/sigrok-firmware/") + (input-dir (string-append fx2lafw dir-suffix)) + (output-dir (string-append out dir-suffix))) + (mkdir-p output-dir) + (for-each + (lambda (file) + (install-file file output-dir)) + (find-files input-dir "."))) + #t))))) + (native-inputs + `(("check" ,check) + ("doxygen" ,doxygen) + ("graphviz" ,graphviz) + ("sigrok-firmware-fx2lafw" ,sigrok-firmware-fx2lafw) + ("pkg-config" ,pkg-config))) + (inputs + `(("python" ,python) + ("zlib" ,zlib))) + ;; libsigrokcxx.pc lists "glibmm" in Requires + ;; libsigrok.pc lists "libserialport", "libusb", "libftdi" and "libzip" in + ;; Requires.private and "glib" in Requires + (propagated-inputs + `(("glib" ,glib) + ("glibmm" ,glibmm) + ("libserialport" ,libserialport) + ("libusb" ,libusb) + ("libftdi" ,libftdi) + ("libzip" ,libzip))) + (build-system gnu-build-system) + (home-page "http://www.sigrok.org/wiki/Libsigrok") + (synopsis "Library which provides the basic hardware access drivers for logic +analyzers") + (description "@code{libsigrok} is a shared library written in C which provides the basic hardware +access drivers for logic analyzers and other supported devices, as well as input/output file +format support.") + (license license:gpl3+))) + +(define-public sigrok-cli + (package + (name "sigrok-cli") + (version "0.7.0") + (source (origin + (method url-fetch) + (uri (string-append + "http://sigrok.org/download/source/sigrok-cli/sigrok-cli-" + version ".tar.gz")) + (sha256 + (base32 + "072ylscp0ppgii1k5j07hhv7dfmni4vyhxnsvxmgqgfyq9ldjsan")))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("glib" ,glib) + ("libsigrok" ,libsigrok) + ("libsigrokdecode" ,libsigrokdecode))) + (build-system gnu-build-system) + (home-page "http://sigrok.org/wiki/Sigrok-cli") + (synopsis "Command-line frontend for sigrok") + (description "Sigrok-cli is a command-line frontend for sigrok.") + (license license:gpl3+))) + +(define-public pulseview + (package + (name "pulseview") + (version "0.4.0") + (source (origin + (method url-fetch) + (uri (string-append + "http://sigrok.org/download/source/pulseview/pulseview-" + version ".tar.gz")) + (sha256 + (base32 + "1f8f2342d5yam98mmcb8f9g2vslcwv486bmi4x45pxn68l82ky3q")))) + (arguments + `(#:configure-flags '("-DCMAKE_CXX_FLAGS=-fext-numeric-literals"))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("boost" ,boost) + ("glib" ,glib) + ("glibmm" ,glibmm) + ("qt" ,qt) + ("libsigrok" ,libsigrok) + ("libsigrokdecode" ,libsigrokdecode))) + (build-system cmake-build-system) + (home-page "http://www.sigrok.org/wiki/PulseView") + (synopsis "Qt based logic analyzer, oscilloscope and MSO GUI for sigrok") + (description "PulseView is a Qt based logic analyzer, oscilloscope and MSO GUI +for sigrok.") + (license license:gpl3+))) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 99b9b06011..ecb6fed6aa 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -26,6 +26,7 @@ ;;; Copyright © 2017 George Clemmer ;;; Copyright © 2017 Feng Shu ;;; Copyright © 2017 Jan Nieuwenhuizen +;;; Copyright © 2017 Oleg Pykhalov ;;; ;;; This file is part of GNU Guix. ;;; @@ -3641,14 +3642,14 @@ passive voice.") (define-public emacs-org (package (name "emacs-org") - (version "20170606") + (version "20170622") (source (origin (method url-fetch) (uri (string-append "http://elpa.gnu.org/packages/org-" version ".tar")) (sha256 (base32 - "0m2gln3wz9v3aflyxxy2317808yy05rrzrjx35spw2d90d10hmkz")))) + "0922lcbr2r7bkswljqzbm5y3ny1n67qfrmf7h7z9hsw2wy0505dp")))) (build-system emacs-build-system) (home-page "http://orgmode.org/") (synopsis "Outline-based notes management and organizer") @@ -4896,3 +4897,78 @@ running a customisable handler command (@code{ignore} by default). ") from within Emacs. Restclient runs queries from a plan-text query sheet, displays results pretty-printed in XML or JSON with @code{restclient-mode}") (license license:public-domain)))) + +(define-public emacs-dired-hacks + (let ((commit "eda68006ce73bbf6b9b995bfd70d08bec8cade36") + (revision "1")) + (package + (name "emacs-dired-hacks") + (version (string-append "0.0.1-" revision "." + (string-take commit 7))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Fuco1/dired-hacks.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1w7ssl9zssn5rcha6apf4h8drkd02k4xgvs203bdbqyqp9wz9brx")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-f" ,emacs-f) + ("emacs-s" ,emacs-s))) + (home-page "https://github.com/Fuco1/dired-hacks") + (synopsis + "Collection of useful dired additions") + (description + "Collection of Emacs dired mode additions: +@itemize +@item dired-avfs +@item dired-columns +@item dired-filter +@item dired-hacks-utils +@item dired-images +@item dired-list +@item dired-narrow +@item dired-open +@item dired-rainbow +@item dired-ranger +@item dired-subtree +@item dired-tagsistant +@end itemize\n") + (license license:gpl3+)))) + +(define-public emacs-which-key + (package + (name "emacs-which-key") + (version "3.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/justbur/emacs-which-key/archive/v" + version ".tar.gz")) + (sha256 + (base32 + "0zc9yivdkbxmcllhlbbcvsbj8g8nzzgs0xib488s08p4s0l7xs8m")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'install 'check + (lambda _ + (zero? (system* "emacs" "--batch" "-L" "." + "-l" "which-key-tests.el" + "-f" "ert-run-tests-batch-and-exit"))))))) + (home-page "https://github.com/justbur/emacs-which-key") + (synopsis "Display available key bindings in popup") + (description "@code{emacs-which-key} is a minor mode for Emacs that +displays the key bindings following your currently entered incomplete command +(a prefix) in a popup. For example, after enabling the minor mode if you +enter C-x and wait for the default of 1 second, the minibuffer will expand +with all of the available key bindings that follow C-x (or as many as space +allows given your settings).") + (license license:gpl3+))) diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index e0e1793db1..29a3e543e5 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -452,7 +452,7 @@ with a layered architecture of JTAG interface and TAP support.") ("dejagnu" ,dejagnu) ,@(package-native-inputs xbinutils)))))) -(define-public propeller-gcc +(define-public propeller-gcc-6 (let ((xgcc (cross-gcc "propeller-elf" #:xbinutils propeller-binutils)) (commit "b4f45a4725e0b6d0af59e594c4e3e35ca4105867") @@ -489,7 +489,7 @@ with a layered architecture of JTAG interface and TAP support.") (synopsis "GCC for the Parallax Propeller")))) (define-public propeller-gcc-4 - (let ((xgcc propeller-gcc) + (let ((xgcc propeller-gcc-6) (commit "f1b01001b760d691a91ff1db4830d41bb712557f") (revision "1")) (package (inherit xgcc) @@ -511,6 +511,11 @@ with a layered architecture of JTAG interface and TAP support.") "gcc-cross-environment-variables.patch"))))) (home-page "https://github.com/dbetz/propgcc-gcc")))) +;; Version 6 is experimental and may not work correctly. This is why we +;; default to version 4, which is also used in the binary toolchain bundle +;; provided by Parallax Inc. +(define-public propeller-gcc propeller-gcc-4) + ;; There is no release, so we take the latest version as referenced from here: ;; https://github.com/dbetz/propeller-gcc (define-public proplib diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index c171e2629a..650ac2b89c 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 David Thompson ;;; Copyright © 2016, 2017 Ludovic Courtès -;;; Copyright © 2016 Theodoros Foradis +;;; Copyright © 2016, 2017 Theodoros Foradis ;;; ;;; This file is part of GNU Guix. ;;; @@ -45,6 +45,7 @@ #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) + #:use-module (gnu packages gcc) #:use-module (gnu packages gd) #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) @@ -63,6 +64,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages qt) + #:use-module (gnu packages readline) #:use-module (gnu packages swig) #:use-module (gnu packages tcl) #:use-module (gnu packages tls) @@ -843,3 +845,171 @@ interface to select the best such procedures to use on a given system.") (synopsis "Serial terminal emulator") (description "@code{minicom} is a serial terminal emulator.") (license license:gpl2+))) + +(define-public harminv + (package + (name "harminv") + (version "1.4") + (source (origin + (method url-fetch) + (uri + (string-append + "http://ab-initio.mit.edu/harminv/harminv-" + version ".tar.gz")) + (sha256 + (base32 + "1pmm8d6fx9ahhnk7w12bfa6zx3afbkg4gkvlvgwhpjxbcrvrp3jk")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'fix-tests + (lambda _ + (substitute* "./sines-test.sh" + ; change test frequency range - default fails + (("0\\.15") "0.16")) + #t))))) + (native-inputs + `(("fortran" ,gfortran))) + (inputs + `(("lapack" ,lapack))) + (home-page "http://ab-initio.mit.edu/wiki/index.php/Harminv") + (synopsis "Harmonic inversion solver") + (description + "Harminv is a free program (and accompanying library) to solve the problem of +harmonic inversion — given a discrete-time, finite-length signal that consists of a sum +of finitely-many sinusoids (possibly exponentially decaying) in a given bandwidth, it +determines the frequencies, decay constants, amplitudes, and phases of those sinusoids.") + (license license:gpl2+))) + +(define-public guile-libctl + (package + (name "guile-libctl") + (version "3.2.2") + (source (origin + (method url-fetch) + (uri + (string-append + "http://ab-initio.mit.edu/libctl/libctl-" + version ".tar.gz")) + (sha256 + (base32 + "1g7gqybq20jhdnw5vg18bgbj9jz0408gfmjvs8b4xs30pic8pgca")))) + (build-system gnu-build-system) + (native-inputs + `(("fortran" ,gfortran))) + (inputs + `(("guile" ,guile-2.2))) + (home-page "http://ab-initio.mit.edu/wiki/index.php/Libctl") + (synopsis "Flexible control files implementation for scientific simulations") + (description + "Libctl is a Guile-based library implementing flexible control files +for scientific simulations.") + (license license:gpl2+))) + +(define-public mpb + (package + (name "mpb") + (version "1.5") + (source (origin + (method url-fetch) + (uri + (string-append + "http://ab-initio.mit.edu/mpb/mpb-" + version ".tar.gz")) + (sha256 + (base32 + "1mqb2d8jq957nksayjygq58iy8i42vjryzg9iy5fpfay31wzxsix")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list (string-append "--with-libctl=" + (assoc-ref %build-inputs "libctl") + "/share/libctl")))) + (native-inputs + `(("fortran" ,gfortran) + ("pkg-config" ,pkg-config) + ("swig" ,swig))) + (inputs + `(("fftw" ,fftw) + ("gsl" ,gsl) + ("guile" ,guile-2.2) + ("hdf5" ,hdf5) + ("lapack" ,lapack) + ("libctl" ,guile-libctl) + ("readline" ,readline) + ("zlib" ,zlib))) + (home-page "http://ab-initio.mit.edu/wiki/index.php/MIT_Photonic_Bands") + (synopsis "Computes band structures and electromagnetic modes of dielectric +structures") + (description + "MIT Photonic-Bands (MPB) computes definite-frequency eigenstates (harmonic modes) +of Maxwell's equations in periodic dielectric structures for arbitrary wavevectors, using +fully-vectorial and three-dimensional methods.") + (license license:gpl2+))) + +(define-public meep + (package + (name "meep") + (version "1.3") + (source (origin + (method url-fetch) + (uri + (string-append + "http://ab-initio.mit.edu/meep/meep-" + version ".tar.gz")) + (sha256 + (base32 + "0f6lbw2hrksg7xscwdqs78jc9nmzx9fs8j0hz1y4i8qknkqiyk2n")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list (string-append "--with-libctl=" + (assoc-ref %build-inputs "libctl") + "/share/libctl")))) + (native-inputs + `(("fortran" ,gfortran) + ("pkg-config" ,pkg-config) + ("swig" ,swig))) + (inputs + `(("fftw" ,fftw) + ("gsl" ,gsl) + ("guile" ,guile-2.0) ; doesn't build with guile-2.2 + ("harminv" ,harminv) + ("hdf5" ,hdf5) + ("lapack" ,lapack) + ("libctl" ,guile-libctl) + ("mpb" ,mpb) + ("zlib" ,zlib))) + (home-page "http://ab-initio.mit.edu/wiki/index.php/Meep") + (synopsis "Finite-difference time-domain (FDTD) simulation software") + (description + "Meep is a finite-difference time-domain (FDTD) simulation software package +developed at MIT to model electromagnetic systems.") + (license license:gpl2+))) + +(define-public adms + (package + (name "adms") + (version "2.3.6") + (source (origin + (method url-fetch) + (uri + (string-append + "mirror://sourceforge/mot-adms/adms-source/" + (version-major+minor version) "/adms-" version ".tar.gz")) + (sha256 + (base32 + "1rn98l6jxcjhi6ai5f7p588khra9z80m0m0lql4n4sb7773fh1vk")))) + (build-system gnu-build-system) + (native-inputs + `(("flex" ,flex) + ("bison" ,bison))) + (home-page "https://sourceforge.net/projects/mot-adms") + (synopsis "Automatic device model synthesizer") + (description + "ADMS is a code generator that converts electrical compact device models +specified in high-level description language into ready-to-compile C code for +the API of spice simulators. Based on transformations specified in XML +language, ADMS transforms Verilog-AMS code into other target languages.") + (license license:gpl3))) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 50da8c8d2f..866db9687c 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -86,15 +86,18 @@ ("libtiff" ,libtiff) ("libwebp" ,libwebp) ("libx11" ,libx11) + ("libxau" ,libxau) ("libxcomposite" ,libxcomposite) ("libxcursor" ,libxcursor) + ("libxdamage" ,libxdamage) ("libxdmcp" ,libxdmcp) ("libxext" ,libxext) ("libxi" ,libxi) - ("libxkbfile" ,libxkbfile) + ("libxfixes" ,libxfixes) ("libxinerama" ,libxinerama) ("libxp" ,libxp) ("libxrandr" ,libxrandr) + ("libxrender" ,libxrender) ("libxscrnsaver" ,libxscrnsaver) ("libxtst" ,libxtst) ("lz4" ,lz4) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 4d61f0fccf..297094ce06 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -53,8 +53,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) - #:use-module (gnu packages xorg) - #:use-module (gnu packages zip)) + #:use-module (gnu packages xorg)) (define-public font-inconsolata (package @@ -1045,51 +1044,28 @@ monospace, slab-serif fonts.") (define-public font-google-material-design-icons (package - (name "font-google-material-design-icons") - (version "3.0.1") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/google/material-design-icons/archive/" + (name "font-google-material-design-icons") + (version "3.0.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/google/material-design-icons/archive/" version ".tar.gz")) - (sha256 - (base32 - "183n0qv3q8w6n27libarq1fhc4mqv2d3sasbfmbn7x9r5pw9c6ga")) - (file-name (string-append name "-" version ".tar.gz")))) - (build-system trivial-build-system) - (native-inputs - `(("tar" ,tar) - ("gzip" ,gzip))) - (arguments - `(#:modules ((guix build utils)) - #:builder (begin - (use-modules (guix build utils)) - (let* ((font-dir (string-append %output - "/share/fonts/truetype")) - (source (assoc-ref %build-inputs "source")) - (font-filename "MaterialIcons-Regular.ttf") - (src-ttf-file (string-append "material-design-icons-" - ,version - "/iconfont/" - font-filename)) - (dest-ttf-file (string-append font-dir font-filename)) - (gzip (assoc-ref %build-inputs "gzip")) - (tar (assoc-ref %build-inputs "tar"))) - (setenv "PATH" (string-append gzip "/bin:" - tar "/bin:")) - (system* "tar" "xf" source) - (mkdir-p font-dir) - (copy-file src-ttf-file dest-ttf-file))))) - (home-page "http://google.github.io/material-design-icons") - (synopsis "Icon font of Google Material Design icons") - (description - "Material design system icons are simple, modern, friendly, and sometimes + (sha256 + (base32 + "183n0qv3q8w6n27libarq1fhc4mqv2d3sasbfmbn7x9r5pw9c6ga")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system font-build-system) + (home-page "http://google.github.io/material-design-icons") + (synopsis "Icon font of Google Material Design icons") + (description + "Material design system icons are simple, modern, friendly, and sometimes quirky. Each icon is created using our design guidelines to depict in simple and minimal forms the universal concepts used commonly throughout a UI. Ensuring readability and clarity at both large and small sizes, these icons have been optimized for beautiful display on all common platforms and display resolutions.") - (license license:asl2.0))) + (license license:asl2.0))) (define-public font-mathjax (package diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm index 0b98e2db0d..420d0aff28 100644 --- a/gnu/packages/fpga.scm +++ b/gnu/packages/fpga.scm @@ -25,6 +25,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module (gnu packages) + #:use-module (gnu packages compression) #:use-module (gnu packages pkg-config) #:use-module (gnu packages tcl) #:use-module (gnu packages readline) @@ -35,7 +36,6 @@ #:use-module (gnu packages graphviz) #:use-module (gnu packages libffi) #:use-module (gnu packages linux) - #:use-module (gnu packages zip) #:use-module (gnu packages perl) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gperf) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 18ce2ae4a4..b8b110c9aa 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -35,6 +35,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (gnu packages) + #:use-module (gnu packages boost) #:use-module (gnu packages curl) #:use-module (gnu packages databases) #:use-module (gnu packages documentation) @@ -51,7 +52,6 @@ #:use-module (gnu packages qt) #:use-module (gnu packages video) #:use-module (gnu packages compression) - #:use-module (gnu packages zip) #:use-module (gnu packages gl) #:use-module (gnu packages linux) #:use-module (gnu packages xorg) @@ -147,6 +147,65 @@ conversions (for example, from PPM to Doom picture format). In addition, DeuTex has functions such as merging wads, etc.") (license license:gpl2+))) +(define-public grfcodec + (package + (name "grfcodec") + (version "6.0.6") + (source (origin + (method url-fetch) + (uri (string-append "http://binaries.openttd.org/extra/" + name "/" version "/" name "-" version + "-source.tar.xz")) + (sha256 + (base32 + "08admgnpqcsifpicbm56apgv360fxapqpbbsp10qyk8i22w1ivsk")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ; no check target + #:phases + (modify-phases %standard-phases + (delete 'configure) ; no configure script + (replace 'install ; no install target + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (doc (string-append out "/share/doc")) + (man (string-append out "/share/man/man1"))) + (for-each (lambda (file) + (install-file file bin)) + '("grfcodec" "grfid" "grfstrip" "nforenum")) + (install-file "COPYING" doc) + (with-directory-excursion "docs" + (for-each (lambda (file) + (install-file (string-append file ".txt") doc)) + '("auto_correct" "commands" "grf" "grfcodec" "grftut" + "readme" "readme.rpn")) + (for-each (lambda (file) + (install-file file man)) + (find-files "." "\\.1")))) + #t))))) + (inputs + `(("boost" ,boost) + ("libpng" ,libpng) + ("zlib" ,zlib))) + (synopsis "GRF development tools") + (description + "The @dfn{Graphics Resource File} (GRF) development tools are a set of +tools for developing (New)GRFs. It includes a number of smaller programs, each +with a specific task: +@enumerate +@item @code{grfcodec} decodes and encodes GRF files for OpenTTD. +@item @code{grfid} extracts the so-called \"GRF ID\" from a GRF. +@item @code{grfstrip} strips all sprites from a GRF. +@item @code{nforenum} checks NFO code for errors, making corrections when +necessary. +@end enumerate") + (home-page "http://dev.openttdcoop.org/projects/grfcodec") + ;; GRFCodec, GRFID, and GRFStrip are exclusively under the GPL2. + ;; NFORenum is under the GPL2+. + ;; The MD5 implementation contained in GRFID is under the zlib license. + (license (list license:gpl2 license:gpl2+ license:zlib)))) + (define-public gzochi (package (name "gzochi") @@ -189,21 +248,46 @@ and network communications. A very thin client library can be embedded to provide connectivity for client applications written in any language.") (license license:gpl3+))) +(define-public nml + (package + (name "nml") + (version "0.4.4") + (source + (origin + (method url-fetch) + (uri (string-append "http://bundles.openttdcoop.org/nml/releases/" + version "/nml-" version ".tar.gz")) + (sha256 + (base32 + "0wk9ls5qyjwkra54rkj1gg94xbwzi7b84a5fh1ma1q7pbimi8rmg")))) + (build-system python-build-system) + (propagated-inputs + `(("python-pillow" ,python-pillow) + ("python-ply" ,python-ply))) + (home-page "http://dev.openttdcoop.org/projects/nml") + (synopsis "NML compiler") + (description + "@dfn{NewGRF Meta Language} (NML) is a python-based compiler, capable of +compiling NML files (along with their associated language, sound and graphic +files) into @file{.grf} and/or @file{.nfo} files.") + (license license:gpl2+))) + (define-public python-sge-pygame (package (name "python-sge-pygame") - (version "1.4.4") + (version "1.5") (source (origin (method url-fetch) (uri (pypi-uri "sge-pygame" version)) (sha256 (base32 - "1qhrcja1igqkjjn1w425ni5f41mijdq5dpq0ymkhl29xxrf8hnx8")))) + "0g0n722md6nfayiqzadwf0dh821hzqv0alp4by0vjfwr1xzv49mc")))) (build-system python-build-system) (propagated-inputs `(("python-pygame" ,python-pygame) - ("python-six" ,python-six))) + ("python-six" ,python-six) + ("python-uniseg" ,python-uniseg))) (home-page "http://stellarengine.nongnu.org") (synopsis "2D game engine for Python") (description @@ -255,14 +339,14 @@ levels.") (define-public python-xsge (package (name "python-xsge") - (version "2017.04.10") + (version "2017.06.09") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/xsge/xsge-" version ".tar.gz")) (sha256 (base32 - "04il5yx0py6kchxxw6ydbbx0wpiyjf9dgkwsdynirpkczlnid3am")))) + "1vy7c2y7ihvmggs93zgfv2h3049s384wid8a5snzrrba8bhbb89p")))) (build-system python-build-system) (arguments '(#:phases diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 2c5294737f..603687d08f 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -31,6 +31,7 @@ ;;; Copyright © 2017 Clément Lassieur ;;; Copyright © 2017 Marius Bakke ;;; Copyright © 2017 Rutger Helling +;;; Copyright © 2017 Roel Janssen ;;; ;;; This file is part of GNU Guix. ;;; @@ -73,6 +74,7 @@ #:use-module (gnu packages game-development) #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) + #:use-module (gnu packages gimp) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) @@ -110,7 +112,6 @@ #:use-module (gnu packages compression) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages linux) - #:use-module (gnu packages zip) #:use-module (gnu packages xiph) #:use-module (gnu packages curl) #:use-module (gnu packages lua) @@ -136,6 +137,35 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system trivial)) +(define-public armagetronad + (package + (name "armagetronad") + (version "0.2.8.3.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/" name "/stable/" + version "/" name "-" version ".src.tar.gz")) + (sha256 + (base32 + "1pgy0r80z702qdv94aw3ywdn4ynnr4cdi86ml558pljfc5ygasj4")))) + (build-system gnu-build-system) + (inputs + `(("libxml2" ,libxml2) + ("sdl" ,sdl) + ("sdl-image" ,sdl-image) + ("freeglut" ,freeglut) + ("libpng" ,libpng) + ("libjpeg-turbo" ,libjpeg-turbo))) + (home-page "http://www.armagetronad.org") + (synopsis "Tron clone in 3D") + (description "Armagetron is a multiplayer game in 3d that attempts to +emulate and expand on the lightcycle sequence from the movie Tron. It's +an old school arcade game slung into the 21st century. Highlights include +a customizable playing arena, HUD, unique graphics, and AI bots. For the +more advanced player there are new game modes and a wide variety of physics +settings to tweak as well.") + (license license:gpl2+))) + (define-public cataclysm-dda (package (name "cataclysm-dda") @@ -409,6 +439,64 @@ Chess). It is similar to standard chess but this variant is far more complicate "PrBoom+ is a Doom source port developed from the original PrBoom project.") (license license:gpl2+))) +(define-public retux + (package + (name "retux") + (version "1.3.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://savannah/retux/" + (version-major+minor version) "/retux-" + version "-src.tar.gz")) + (sha256 + (base32 + "1wgvh3q96kfgymb2jpd58xsms9hmckhhc4fq7v2k61gh2l11cvdj")))) + (build-system python-build-system) + (arguments + `(#:tests? #f ; no check target + #:phases + (modify-phases %standard-phases + ;; no setup.py script + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (data (string-append out "/share/retux")) + (doc (string-append out "/share/doc/retux"))) + (mkdir-p bin) + + (substitute* "retux.py" + ;; Use the correct data directory. + (("os\\.path\\.join\\(os\\.path\\.dirname\\(__file__\\), \"data\"\\),") + (string-append "\"" data "\",")) + ;; Use Python 3 so the patch-shebangs phase works properly. + ((".*python2.*") "#!/usr/bin/python3")) + + (copy-file "retux.py" (string-append bin "/retux")) + + (copy-recursively "data" data) + + (install-file "COPYING" doc))))))) + (inputs + `(("python-sge-pygame" ,python-sge-pygame) + ("python-six" ,python-six) + ("python-xsge" ,python-xsge))) + (home-page "http://retux.nongnu.org") + (synopsis "Action platformer game") + (description + "ReTux is an action platformer loosely inspired by the Mario games, +utilizing the art assets from the @code{SuperTux} project.") + ;; GPL version 3 or later is the license for the code and some art. + ;; The rest of the licenses are for the art exclusively, as listed in + ;; data/LICENSES. + (license (list license:cc0 + license:cc-by3.0 + license:cc-by-sa3.0 + license:cc-by-sa4.0 + license:gpl2+ + license:gpl3+)))) + (define-public xshogi (package (name "xshogi") @@ -1175,7 +1263,7 @@ either by Infocom or created using the Inform compiler.") (define-public retroarch (package (name "retroarch") - (version "1.6.0") + (version "1.6.1") (source (origin (method url-fetch) @@ -1183,7 +1271,7 @@ either by Infocom or created using the Inform compiler.") version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "01h9mswlfjk3zpdxwk1ciy5qkq6xq925gvk6wrh8k066b2wx8f8k")))) + (base32 "121h9j57gvjr155vvm4f7ybphfvqrdz2ib059kfi444xcxz19sl0")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no tests @@ -1219,7 +1307,7 @@ either by Infocom or created using the Inform compiler.") (native-inputs `(("pkg-config" ,pkg-config) ("which" ,which))) - (home-page "http://www.libretro.com/") + (home-page "https://www.libretro.com/") (synopsis "Reference frontend for the libretro API") (description "Libretro is a simple but powerful development interface that allows for @@ -2299,10 +2387,85 @@ engine. When you start it you will be prompted to download a graphics set.") ;; 'openttd' a wrapper around them. The engine is playable by itself, ;; but it asks a user to download graphics if it's not found. +(define openttd-opengfx + (package + (name "openttd-opengfx") + (version "0.5.2") + (source + (origin + (method url-fetch) + (uri (string-append "http://binaries.openttd.org/extra/opengfx/" + version "/opengfx-" version "-source.tar.xz")) + (sha256 + (base32 + "0iz66q7p1mf00njfjbc4vibh3jaybki7armkl18iz7p6x4chp9zv")))) + (build-system gnu-build-system) + (arguments + '(#:make-flags (list "CC=gcc" + (string-append "INSTALL_DIR=" + (assoc-ref %outputs "out") + "/share/openttd/baseset")) + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda _ + ;; Make sure HOME is writable for GIMP. + (setenv "HOME" (getcwd)) + + ;; Redirect stdout, not stderr, to /dev/null. This prevents + ;; dos2unix from receiving its version information as a flag. + (substitute* "Makefile" + (("\\$\\(UNIX2DOS\\) -q --version 2>/dev/null") + "$(UNIX2DOS) -q --version 1>/dev/null"))))) + ;; The check phase for this package only checks the md5sums of the built + ;; GRF files against the md5sums of the release versions. Because we use + ;; different software versions than upstream does, some of the md5sums + ;; are different. However, the package is still reproducible, it's safe + ;; to disable this test. + #:tests? #f)) + (native-inputs `(("dos2unix" ,dos2unix) + ("gimp" ,gimp) + ("grfcodec" ,grfcodec) + ("nml" ,nml) + ("python" ,python-2))) + (home-page "http://dev.openttdcoop.org/projects/opengfx") + (synopsis "Base graphics set for OpenTTD") + (description + "The OpenGFX projects is an implementation of the OpenTTD base grahics +set that aims to ensure the best possible out-of-the-box experience. + +OpenGFX provides you with... +@enumerate +@item All graphics you need to enjoy OpenTTD. +@item Uniquely drawn rail vehicles for every climate. +@item Completely snow-aware rivers. +@item Different river and sea water. +@item Snow-aware buoys. +@end enumerate") + (license license:gpl2))) + (define-public openttd (package (inherit openttd-engine) - (name "openttd"))) + (name "openttd") + (arguments + (substitute-keyword-arguments (package-arguments openttd-engine) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'install 'install-data + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* + ((opengfx (assoc-ref inputs "opengfx")) + (out (assoc-ref outputs "out")) + (gfx-dir + (string-append out + "/share/games/openttd/baseset/opengfx"))) + (mkdir-p gfx-dir) + (copy-recursively opengfx gfx-dir)) + #t)))))) + (native-inputs + `(("opengfx" ,openttd-opengfx) + ,@(package-native-inputs openttd-engine))))) (define-public pinball (package @@ -2626,7 +2789,7 @@ Red Eclipse provides fast paced and accessible gameplay.") (define-public higan (package (name "higan") - (version "101") + (version "103") (source (origin (method url-fetch) @@ -2635,7 +2798,7 @@ Red Eclipse provides fast paced and accessible gameplay.") version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0qavwkmzc63p6qplmxii4gc541z5mcs8gjwh3m4y7i576r7rcbk9")) + (base32 "013r0lcm0qw8zwavz977mqk2clg80gngkjijr3n0q8snpc1727r7")) (patches (search-patches "higan-remove-march-native-flag.patch")))) (build-system gnu-build-system) (native-inputs diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index edb26247a3..ed5eaf09af 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -45,7 +45,6 @@ #:use-module (gnu packages xdisorg) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) - #:use-module (gnu packages zip) #:use-module (guix download) #:use-module (guix build utils) #:use-module (guix build-system gnu) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 32e3e37562..322611858d 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -132,7 +132,6 @@ #:use-module (gnu packages readline) #:use-module (gnu packages fonts) #:use-module (gnu packages qemu) - #:use-module (gnu packages zip) #:use-module (gnu packages speech) #:use-module (srfi srfi-1)) @@ -920,6 +919,9 @@ some form of information without getting in the user's way.") ("glib:bin" ,glib "bin") ("gobject-introspection" ,gobject-introspection) ("intltool" ,intltool))) + (propagated-inputs + ;; The .pc file "Requires" gobject-introspection. + `(("gobject-introspection" ,gobject-introspection))) (home-page "https://wiki.gnome.org/Libpeas") (synopsis "GObject plugin system") (description @@ -3648,6 +3650,51 @@ supports playlists, song ratings, and any codecs installed through gstreamer.") supports image conversion, rotation, and slideshows.") (license license:gpl2+))) +(define-public eog-plugins + ;; Note: EOG looks for its plugins (via libpeas) in ~/.local as well as + ;; $DATA/lib/eog/plugins, where DATA is one of the entries in + ;; $XDG_DATA_DIRS. Thus, for EOG to find these, you have to have + ;; 'XDG_DATA_DIRS' appropriately set. + (package + (name "eog-plugins") + (version "3.25.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0an04z8v83qa6j950rbwdzf1s86y7zd8h1r4p2x36fwbkk1m617q")))) + (build-system gnu-build-system) + (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins") + (synopsis "Extensions for the Eye of GNOME image viewer") + (native-inputs + `(("pkg-config" ,pkg-config) + ("gettext" ,gnu-gettext))) + (inputs + `(("eog" ,eog) + ("glib" ,glib) + ("gtk+" ,gtk+) + ("libpeas" ,libpeas) + ("libexif" ,libexif) + ("libchamplain" ,libchamplain))) + (description + "This package provides plugins for the Eye of GNOME (EOG) image viewer, +notably: + +@itemize +@item @dfn{EXIF Display}, which displays camera (EXIF) information; +@item @dfn{Map}, which displays a map of where the picture was taken on the +side panel; +@item @dfn{Slideshow Shuffle}, to shuffle images in slideshow mode. +@end itemize\n") + + ;; XXX: eog-postasa-plugin-resources.c (which we don't build) contains a + ;; long suspicious byte stream that goes to a + ;; ".gresource.eog_postasa_plugin" ELF section. + (license license:gpl2+))) + (define-public libgudev (package (name "libgudev") @@ -3859,6 +3906,7 @@ work and the interface is well tested.") (inputs `(("avahi" ,avahi) ("gcr" ,gcr) + ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files ("glib-networking" ,glib-networking) ("gnome-desktop" ,gnome-desktop) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 6809a696a0..37adc3bbd6 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -58,7 +58,6 @@ #:use-module (gnu packages icu4c) #:use-module (gnu packages video) #:use-module (gnu packages xdisorg) - #:use-module (gnu packages zip) #:use-module (gnu packages readline)) (define-public mozjs diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 4fa4033246..6c813e8a37 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -62,8 +62,7 @@ #:use-module (gnu packages sdl) #:use-module (gnu packages video) #:use-module (gnu packages xml) - #:use-module (gnu packages xorg) - #:use-module (gnu packages zip)) + #:use-module (gnu packages xorg)) (define-public blender (package diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 5c3b3c5f3b..6c0eda99c8 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -98,7 +98,7 @@ arrays of data.") (define-public gstreamer (package (name "gstreamer") - (version "1.12.0") + (version "1.12.1") (source (origin (method url-fetch) @@ -107,7 +107,7 @@ arrays of data.") version ".tar.xz")) (sha256 (base32 - "00j3zwm22582fwyzh316mnh6ghicv4ya93yk52kz4avx57wfxm8l")))) + "1lm6lcr0rv0mzsdl9vjdnf3vb136qmcslvz3m5zlai7zngcbji4h")))) (build-system gnu-build-system) (outputs '("out" "doc")) (arguments @@ -146,7 +146,7 @@ This package provides the core library and elements.") (define-public gst-plugins-base (package (name "gst-plugins-base") - (version "1.12.0") + (version "1.12.1") (source (origin (method url-fetch) @@ -154,7 +154,7 @@ This package provides the core library and elements.") name "-" version ".tar.xz")) (sha256 (base32 - "0k9nckvzk2hhhg7w4gzmd7is0lbswdmrkwmcgblvdf2lgy3wcprl")))) + "0r84krn8dpimp6kk9cf38danrbbsypx6j6ykr6rl1a3lnnnrzkhc")))) (build-system gnu-build-system) (outputs '("out" "doc")) (propagated-inputs @@ -201,7 +201,7 @@ for the GStreamer multimedia library.") (define-public gst-plugins-good (package (name "gst-plugins-good") - (version "1.12.0") + (version "1.12.1") (source (origin (method url-fetch) @@ -210,7 +210,7 @@ for the GStreamer multimedia library.") name "-" version ".tar.xz")) (sha256 (base32 - "1g1f6xyj0f06nmsl01xhr32x2rwyb857yjkrig1013iknx6p67ca")))) + "0jzm5jp22238y3rb0j1dsxyp77dq0wk03gn9kvq25rphlx38w7hj")))) (build-system gnu-build-system) (inputs `(("aalib" ,aalib) @@ -266,14 +266,14 @@ developers consider to have good quality code and correct functionality.") (define-public gst-plugins-bad (package (name "gst-plugins-bad") - (version "1.12.0") + (version "1.12.1") (source (origin (method url-fetch) (uri (string-append "https://gstreamer.freedesktop.org/src/" name "/" name "-" version ".tar.xz")) (sha256 (base32 - "0d45zgdnflwpwvlb1fmgj35yfds9m1g46mhppvlsh5dky7zkrdqi")))) + "15svf3d4n13r1c18mx9ya3ymibv0vbx9s593j0cm0kn4s54q1vvx")))) (outputs '("out" "doc")) (build-system gnu-build-system) (arguments @@ -343,7 +343,7 @@ par compared to the rest.") (define-public gst-plugins-ugly (package (name "gst-plugins-ugly") - (version "1.12.0") + (version "1.12.1") (source (origin (method url-fetch) @@ -351,7 +351,7 @@ par compared to the rest.") name "/" name "-" version ".tar.xz")) (sha256 (base32 - "1mhasi20kvi9p72kh4qyfzync509wqqkk8fp2xxyhgp88r8bls2y")))) + "0s8hiv4asqd6nwnksqv6cwpzan41zd0nd8nhlm7s64wp0lyi5hlg")))) (build-system gnu-build-system) (inputs `(("gst-plugins-base" ,gst-plugins-base) @@ -382,7 +382,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.") (define-public gst-libav (package (name "gst-libav") - (version "1.12.0") + (version "1.12.1") (source (origin (method url-fetch) (uri (string-append @@ -390,7 +390,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.") name "-" version ".tar.xz")) (sha256 (base32 - "1i2h0ymh9jy0rnkcan2rdsdfq7l02rmp33g712q81s9fcizlgl9r")))) + "0xshib0hsn8yjmd12ipsrbrvxa5qnhnz7zmdj7lms6b3vwzq5msm")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--with-system-libav") @@ -420,7 +420,7 @@ compression formats through the use of the libav library.") (define-public python-gst (package (name "python-gst") - (version "1.12.0") + (version "1.12.1") (source (origin (method url-fetch) (uri (string-append @@ -428,7 +428,7 @@ compression formats through the use of the libav library.") "gst-python-" version ".tar.xz")) (sha256 (base32 - "01wwbn6z3771ad55ljl9gs6irrs9a8p186zrgrkmzs91kxmxwcxy")))) + "18bq03xdc0jgrza4114lrcj82yai4azkjzfxflqagc0y417vw88p")))) (build-system gnu-build-system) (arguments ;; XXX: Factorize python-sitedir with python-build-system. diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 85faec6c47..1fb759fc20 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -36,6 +36,7 @@ #:use-module (gnu packages aspell) #:use-module (gnu packages bash) #:use-module (gnu packages bdw-gc) + #:use-module (gnu packages compression) #:use-module (gnu packages gawk) #:use-module (gnu packages gperf) #:use-module (gnu packages libffi) @@ -62,7 +63,6 @@ #:use-module (gnu packages version-control) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg) - #:use-module (gnu packages zip) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 9d03e5600f..a672092342 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -46,7 +46,6 @@ #:use-module (gnu packages sdl) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) - #:use-module (gnu packages zip) #:use-module (guix build-system gnu) #:use-module (guix build-system haskell) #:use-module (guix download) @@ -1633,14 +1632,14 @@ environment variables.") (define-public ghc-x11 (package (name "ghc-x11") - (version "1.6.1.2") + (version "1.8") (source (origin (method url-fetch) (uri (string-append "https://hackage.haskell.org/package/X11/" "X11-" version ".tar.gz")) (sha256 - (base32 "1kzjcynm3rr83ihqx2y2d852jc49da4p18gv6jzm7g87z22x85jj")))) + (base32 "13lxq36856fzp61y4api78vssykyh8fm2aplr0nsj18ymdm1c6sl")))) (build-system haskell-build-system) (inputs `(("libx11" ,libx11) diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index 7a0080b27b..da7b780162 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -104,14 +104,18 @@ actions.") "0gzc82sy66pbsmq7lnmq4y37zqad1zfwfls3ik3dmfm8s5nmcvsb")))) (build-system gnu-build-system) (arguments - `(#:phases + `(;; Enable support for a "map" pane using GPS data. + #:configure-flags '("--enable-map") + + #:phases (modify-phases %standard-phases (add-after 'unpack 'autogen (lambda _ (setenv "NOCONFIGURE" "true") (zero? (system* "sh" "autogen.sh"))))))) (inputs - `(;; ("libchamplain" ,libchamplain) + `(("clutter" ,clutter) + ("libchamplain" ,libchamplain) ("lcms" ,lcms) ("exiv2" ,exiv2) ("libpng" ,libpng) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 7c4a18a4af..149b45de56 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -55,7 +55,6 @@ #:use-module (gnu packages python) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) - #:use-module (gnu packages zip) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) @@ -366,52 +365,6 @@ collection of tools for doing simple manipulations of TIFF images.") "See COPYRIGHT in the distribution.")) (home-page "http://www.simplesystems.org/libtiff/"))) -(define-public libwmf - (package - (name "libwmf") - (version "0.2.8.4") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/wvware/" - name "/" version - "/" name "-" version ".tar.gz")) - (sha256 - (base32 "1y3wba4q8pl7kr51212jwrsz1x6nslsx1gsjml1x0i8549lmqd2v")) - (patches - (search-patches "libwmf-CAN-2004-0941.patch" - "libwmf-CVE-2006-3376.patch" - "libwmf-CVE-2007-0455.patch" - "libwmf-CVE-2007-2756.patch" - "libwmf-CVE-2007-3472.patch" - "libwmf-CVE-2007-3473.patch" - "libwmf-CVE-2007-3477.patch" - "libwmf-CVE-2009-1364.patch" - "libwmf-CVE-2009-3546.patch" - "libwmf-CVE-2015-0848+CVE-2015-4588.patch" - "libwmf-CVE-2015-4695.patch" - "libwmf-CVE-2015-4696.patch")))) - - (build-system gnu-build-system) - (inputs - `(("freetype" ,freetype) - ("libjpeg" ,libjpeg) - ("libpng",libpng) - ("libxml2" ,libxml2) - ("zlib" ,zlib))) - (native-inputs - `(("pkg-config" ,pkg-config))) - (synopsis "Library for reading images in the Microsoft WMF format") - (description - "libwmf is a library for reading vector images in Microsoft's native -Windows Metafile Format (WMF) and for either (a) displaying them in, e.g., an X -window; or (b) converting them to more standard/free file formats such as, e.g., -the W3C's XML-based Scaleable Vector Graphic (SVG) format.") - (home-page "http://wvware.sourceforge.net/libwmf.html") - - ;; 'COPYING' is the GPLv2, but file headers say LGPLv2.0+. - (license license:lgpl2.0+))) - (define-public leptonica (package (name "leptonica") diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index a0ca4528f9..c543655fb8 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -46,14 +46,14 @@ ;; The 7 release series has an incompatible API, while the 6 series is still ;; maintained. Don't update to 7 until we've made sure that the ImageMagick ;; users are ready for the 7-series API. - (version "6.9.8-9") + (version "6.9.8-10") (source (origin (method url-fetch) (uri (string-append "mirror://imagemagick/ImageMagick-" version ".tar.xz")) (sha256 (base32 - "0wr6wcmvaw62f6pkgnpqnjmp331wfwmds9wmqzr4zv53s9k1lkzn")))) + "040qs7nwcm84bjd9wryvd58zqfykbmn3y3qfc90lnldww7v6ihlg")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch") diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm index ad167a6e99..896e993a9a 100644 --- a/gnu/packages/irc.scm +++ b/gnu/packages/irc.scm @@ -142,14 +142,14 @@ SILC and ICB protocols via plugins.") (define-public weechat (package (name "weechat") - (version "1.8") + (version "1.9") (source (origin (method url-fetch) (uri (string-append "https://weechat.org/files/src/weechat-" version ".tar.xz")) (sha256 (base32 - "05z0qmlmdm0zgkzhi6cy6snxdz37h1n5z2s460df76akjr7capxn")) + "1zvxz98krq98y7jh3yrjbardg3yxp6y2031rvb7rp5ssk8lyp1fc")) (patches (search-patches "weechat-python.patch")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 7bdf97f98a..e81ee40d38 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -60,7 +60,6 @@ #:use-module (gnu packages kerberos) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) - #:use-module (gnu packages zip) #:use-module (gnu packages texinfo) #:use-module ((srfi srfi-1) #:select (fold alist-delete)) #:use-module (srfi srfi-11) diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm index 6746ad1d22..43bc0bbf6d 100644 --- a/gnu/packages/javascript.scm +++ b/gnu/packages/javascript.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Arun Isaac +;;; Copyright © 2017 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -83,3 +84,53 @@ and AsciiMath notation that works in all modern browsers. It requires no plugins or software to be installed on the browser. So the page author can write web documents that include mathematics and be confident that readers will be able to view it naturally and easily."))) + +(define-public js-respond + (package + (name "js-respond") + (version "1.4.2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/scottjehl/Respond/" + "archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ds1ya2a185jp93mdn07159c2x8zczwi960ykrawpp62bwk2n93d")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils) + (ice-9 match) + (ice-9 popen) + (srfi srfi-26)) + (set-path-environment-variable + "PATH" '("bin") (map (match-lambda + ((_ . input) + input)) + %build-inputs)) + (let ((install-directory (string-append %output + "/share/javascript/respond/"))) + (system* "tar" "xvf" + (assoc-ref %build-inputs "source") + "--strip" "1") + (mkdir-p install-directory) + (let* ((file "src/respond.js") + (installed (string-append install-directory "respond.min.js"))) + (let ((minified (open-pipe* OPEN_READ "uglify-js" file))) + (call-with-output-file installed + (cut dump-port minified <>))))) + #t))) + (home-page "https://github.com/scottjehl/Respond") + (native-inputs + `(("uglify-js" ,uglify-js) + ("source" ,source) + ("gzip" ,gzip) + ("tar" ,tar))) + (synopsis "Polyfill for min/max-width CSS3 Media Queries") + (description "The goal of this script is to provide a fast and lightweight +script to enable responsive web designs in browsers that don't support CSS3 +Media Queries.") + (license license:expat))) diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index 722e3ed138..4a0e13afa3 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -46,8 +46,8 @@ #:use-module (ice-9 match)) (define libuv-julia - (let ((commit "8d5131b6c1595920dd30644cd1435b4f344b46c8") - (revision "4")) + (let ((commit "52d72a52cc7ccd570929990f010ed16e2ec604c8") + (revision "5")) (package (inherit libuv) (name "libuv-julia") (version (string-append "1.9.0-" revision "." (string-take commit 8))) @@ -59,7 +59,7 @@ (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1fq0vhiprdryw8iisxxwyld3xdr5za6y8458p22ff56al98h22fv")))) + "1daxh6ci6q7znxxajr3bm16dd53ragm0d681wf4kzg542qnjq3lh")))) (build-system gnu-build-system) (arguments (substitute-keyword-arguments (package-arguments libuv) @@ -83,7 +83,7 @@ (define-public julia (package (name "julia") - (version "0.5.1") + (version "0.6.0") (source (origin (method url-fetch) (uri (string-append @@ -91,7 +91,7 @@ version "/julia-" version ".tar.gz")) (sha256 (base32 - "1a9m7hzzrwk71gvwwrd1p45s64yid61i41n95gm5pzbry6p9fpl0")))) + "0rd6lcc9sic10q1j3c6f9qr901i1c4554m93n2sz5b3mh37byqhw")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -122,12 +122,19 @@ (copy-file (string-append (assoc-ref inputs "virtualenv") "/bin/virtualenv") "julia-env") + (copy-file (assoc-ref inputs "unicode-data") + "doc/UnicodeData.txt") #t)) - (add-after 'unpack 'fix-llvm-flag + ;; FIXME: Building the documentation requires Julia packages that + ;; would be downloaded from the Internet. We should build them in a + ;; separate build phase. + (add-after 'unpack 'disable-documentation (lambda _ - (substitute* "src/Makefile" - (("-lLLVM-\\$\\(shell \\$\\(LLVM_CONFIG_HOST\\) --version\\)") - "$(shell $(LLVM_CONFIG_HOST) --libs)")) + (substitute* "Makefile" + (("(install: .*) \\$\\(BUILDROOT\\)/doc/_build/html/en/index.html" _ line) + (string-append line "\n")) + (("src ui doc deps") + "src ui deps")) #t)) (add-before 'check 'set-home ;; Some tests require a home directory to be set. @@ -156,16 +163,16 @@ ("gmp" "libgmp" "libgmp.so") ("openlibm" "libopenlibm" "libopenlibm.so") ("openspecfun" "libopenspecfun" "libopenspecfun.so") - ("fftw" "libfftw3" "libfftw3.so") - ("fftwf" "libfftw3f" "libfftw3f.so")))))) + ("fftw" "libfftw3" "libfftw3_threads.so") + ("fftwf" "libfftw3f" "libfftw3f_threads.so")))))) (substitute* "base/fft/FFTW.jl" (("const libfftw = Base.libfftw_name") (string-append "const libfftw = \"" - (assoc-ref inputs "fftw") "/lib/libfftw3.so" + (assoc-ref inputs "fftw") "/lib/libfftw3_threads.so" "\"")) (("const libfftwf = Base.libfftwf_name") (string-append "const libfftwf = \"" - (assoc-ref inputs "fftwf") "/lib/libfftw3f.so" + (assoc-ref inputs "fftwf") "/lib/libfftw3f_threads.so" "\""))) (substitute* "base/math.jl" (("const libm = Base.libm_name") @@ -228,7 +235,14 @@ (("\"backtrace\",") "") (("\"compile\",") "") (("\"replutil\",") "") - (("\"cmdlineargs\",") "")) + (("\"cmdlineargs\",") "") + ;; FIXME: This test fails with the following error: + ;; Error in testset file: + ;; Test Failed + ;; Expression: download("ba\0d", "good") + ;; Expected: ArgumentError + ;; Thrown: Base.UVError + (("\"file\",") "")) #t))) #:make-flags (list @@ -268,6 +282,8 @@ (assoc-ref %build-inputs "utf8proc") "/include") "USE_SYSTEM_LLVM=1" + "USE_LLVM_SHLIB=0" ; FIXME: fails when set to 1 + "USE_SYSTEM_LIBUNWIND=1" "USE_SYSTEM_LIBUV=1" (string-append "LIBUV=" @@ -339,7 +355,14 @@ ("perl" ,perl) ("patchelf" ,patchelf) ("pkg-config" ,pkg-config) - ("python" ,python-2))) + ("python" ,python-2) + ("unicode-data" + ,(origin + (method url-fetch) + (uri "http://www.unicode.org/Public/9.0.0/ucd/UnicodeData.txt") + (sha256 + (base32 + "13zfannnr6sa6s27ggvcvzmh133ndi38pfyxsssvjmw2s8ac9pv8")))))) ;; Julia is not officially released for ARM and MIPS. ;; See https://github.com/JuliaLang/julia/issues/10639 (supported-systems '("i686-linux" "x86_64-linux")) diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index 061d5f1b2e..c8a65af790 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -68,8 +68,7 @@ #:use-module (gnu packages xiph) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) - #:use-module (gnu packages assembly) - #:use-module (gnu packages zip)) + #:use-module (gnu packages assembly)) (define-public crossguid (let ((commit "8f399e8bd4252be9952f3dfa8199924cc8487ca4")) diff --git a/gnu/packages/ldc.scm b/gnu/packages/ldc.scm index 5707b9476b..918843c077 100644 --- a/gnu/packages/ldc.scm +++ b/gnu/packages/ldc.scm @@ -35,8 +35,7 @@ #:use-module (gnu packages libedit) #:use-module (gnu packages llvm) #:use-module (gnu packages python) - #:use-module (gnu packages textutils) - #:use-module (gnu packages zip)) + #:use-module (gnu packages textutils)) (define-public rdmd (package diff --git a/gnu/packages/libffcall.scm b/gnu/packages/libffcall.scm index e4babfed2c..a8b4135caf 100644 --- a/gnu/packages/libffcall.scm +++ b/gnu/packages/libffcall.scm @@ -20,27 +20,22 @@ (define-module (gnu packages libffcall) #:use-module ((guix licenses) #:prefix l:) - #:use-module (guix utils) ; string-replace-substring #:use-module (guix packages) #:use-module (guix download) - #:use-module (guix git-download) #:use-module (guix build-system gnu)) (define-public libffcall (package (name "libffcall") - (version "1.12") + (version "1.13") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://git.savannah.gnu.org/r/libffcall.git") - (commit (string-append - "ffcall-" (string-replace-substring version "." "-"))))) - (file-name (string-append name "-" version "-checkout")) + (method url-fetch) + (uri (string-append + "mirror://gnu/libffcall/libffcall-" version ".tar.gz")) (sha256 (base32 - "0p7gg5k4ifcqpmrmdfmr2r4x909cn35g87iff539p6i8891fdfxf")))) + "1rxwkfr0p7vdv6q6x8nmn13611nsq0lnk9cspqdpzxdvgmqcw1qp")))) (build-system gnu-build-system) (arguments `(#:parallel-build? #f)) (synopsis "Foreign function calls from interpreters") @@ -48,5 +43,4 @@ "GNU Libffcall is a collection of libraries that can be used to build foreign function call interfaces in embedded interpreters.") (home-page "https://www.gnu.org/software/libffcall/") - (supported-systems (delete "aarch64-linux" %supported-systems)) (license l:gpl2+))) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 809e28e27b..bdbf3f850c 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -65,8 +65,7 @@ #:use-module (gnu packages tls) #:use-module (gnu packages version-control) #:use-module (gnu packages xml) - #:use-module (gnu packages xorg) - #:use-module (gnu packages zip)) + #:use-module (gnu packages xorg)) (define-public ixion (package diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 93b29ed781..73e376fdd3 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -25,6 +25,7 @@ ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2017 Clément Lassieur ;;; Copyright © 2017 Rutger Helling +;;; Copyright © 2017 nee ;;; ;;; This file is part of GNU Guix. ;;; @@ -62,6 +63,7 @@ #:use-module (gnu packages documentation) #:use-module (gnu packages elf) #:use-module (gnu packages flex) + #:use-module (gnu packages file) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) @@ -420,7 +422,17 @@ https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/patch %linux-libre-hash '("armhf-linux") #:defconfig "multi_v7_defconfig" - #:extra-version "arm-generic")) + #:extra-version "arm-generic" + #:patches + (list %boot-logo-patch + (origin + (method url-fetch) + (uri "\ +https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/patch/?id=167ec8235f978d7af78c73e9490dae1af3fee67f") + (file-name "linux-libre-4.11-CVE-2017-1000364.patch") + (sha256 + (base32 + "0hv3lxjgpssvsldkydg5q7znnzxv5ncpzrk6g11q01k3gkl0q689")))))) ;;; @@ -595,6 +607,27 @@ block devices, UUIDs, TTYs, and many other tools.") (license (list license:gpl3+ license:gpl2+ license:gpl2 license:lgpl2.0+ license:bsd-4 license:public-domain)))) +(define-public ddate + (package + (name "ddate") + (version "0.2.2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/bo0ts/ddate/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1bbqqq8mswj4bp9083gxjaky5ysfznax4cynsqwmy125z053yg6m")))) + (build-system cmake-build-system) + (arguments '(#:tests? #f)) + (home-page "https://github.com/bo0ts/ddate") + (synopsis "PERPETUAL DATE CONVERTER FROM GREGORIAN TO POEE CALENDAR") + (description + "ddate displays the Discordian date and holidays of a given date. +The Discordian calendar was made popular by the \"Illuminatus!\" trilogy +by Robert Shea and Robert Anton Wilson.") + (license license:public-domain))) + (define-public procps (package (name "procps") @@ -1061,6 +1094,61 @@ package also includes ip6tables. ip6tables is used for configuring the IPv6 packet filter.") (license license:gpl2+))) +(define-public ebtables + (package + (name "ebtables") + (version "2.0.10-4") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://netfilter.org/ebtables/ebtables-v" + version ".tar.gz")) + (sha256 + (base32 + "0pa5ljlk970yfyhpf3iqwfpbc30j8mgn90fapw9cfz909x47nvyw")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ; no test suite + #:make-flags + (let* ((out (assoc-ref %outputs "out")) + (bin (string-append out "/sbin")) + (lib (string-append out "/lib")) + (man (string-append out "/share/man")) + (iptables (assoc-ref %build-inputs "iptables")) + (ethertypes (string-append iptables "/etc/ethertypes"))) + (list (string-append "LIBDIR=" lib) + (string-append "MANDIR=" man) + (string-append "BINDIR=" bin) + (string-append "ETHERTYPESFILE=" ethertypes) + ;; With the default CFLAGS, it falis with: + ;; communication.c:259:58: error: variable ‘ret’ set but not + ;; used [-Werror=unused-but-set-variable] + "CFLAGS=-Wall")) + #:phases + (modify-phases %standard-phases + (replace 'configure + ;; no configure script + (lambda _ + (substitute* "Makefile" + ;; Remove user and group options from install commands, + ;; otherwise it fails with: invalid user 'root'. + (("-o root -g root") "") + ;; Remove 'ethertypes' from the install target. + (("install: .*") + "install: $(MANDIR)/man8/ebtables.8 exec scripts\n")) + #t))))) + (inputs + `(("perl" ,perl) + ("iptables" ,iptables))) + (synopsis "Ethernet bridge frame table administration") + (home-page "http://ebtables.netfilter.org/") + (description + "ebtables is an application program used to set up and maintain the +tables of rules (inside the Linux kernel) that inspect Ethernet frames. It is +analogous to the iptables application, but less complicated, due to the fact +that the Ethernet protocol is much simpler than the IP protocol.") + (license license:gpl2+))) + (define-public iproute (package (name "iproute2") @@ -4061,3 +4149,30 @@ from the CPUID instruction, and also determines the exact model of CPU(s). It supports Intel, AMD, and VIA CPUs, as well as older Transmeta, Cyrix, UMC, NexGen, Rise, and SiS CPUs.") (license license:gpl2+))) + +(define-public jmtpfs + (package + (name "jmtpfs") + (version "0.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/JasonFerrara/jmtpfs/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "10v8d7mmx8b8123x5f9y9zaaa428ms6wkngwn2ra71n5a53wrjn0")))) + (build-system gnu-build-system) + (inputs + `(("file" ,file) + ("fuse" ,fuse) + ("libmtp" ,libmtp))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://github.com/JasonFerrara/jmtpfs") + (synopsis "Use a FUSE filesystem to access data over MTP") + (description "jmtpfs uses FUSE (filesystem in userspace) to provide access +to data over the Media Transfer Protocol (MTP). Unprivileged users can mount +the MTP device as a filesystem.") + (license license:gpl3))) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 4f16853a97..019b556c9c 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -2335,5 +2335,5 @@ tools and applications: (description "Balsa is a highly configurable and robust mail client for the GNOME desktop. It supports both POP3 and IMAP servers as well as the mbox, maildir and mh local mailbox formats. Balsa also supports SMTP and/or -the use of a local MTA such as Sendemail.") +the use of a local MTA such as Sendmail.") (license gpl3+))) diff --git a/gnu/packages/markup.scm b/gnu/packages/markup.scm index cd883b23ec..4afe8c3c0e 100644 --- a/gnu/packages/markup.scm +++ b/gnu/packages/markup.scm @@ -26,10 +26,10 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) #:use-module (guix build-system cmake) + #:use-module (gnu packages compression) #:use-module (gnu packages perl) #:use-module (gnu packages python) - #:use-module (gnu packages web) - #:use-module (gnu packages zip)) + #:use-module (gnu packages web)) (define-public hoedown (package diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 014ad5d7d5..e7205655c3 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -96,7 +96,6 @@ #:use-module (gnu packages tls) #:use-module (gnu packages wxwidgets) #:use-module (gnu packages xml) - #:use-module (gnu packages zip) #:use-module (srfi srfi-1)) (define-public aris @@ -259,19 +258,18 @@ semiconductors.") (define-public gsl (package (name "gsl") - (version "2.3") + (version "2.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gsl/gsl-" version ".tar.gz")) (sha256 (base32 - "1yxdzqjwmi2aid650fa9zyr8llw069x7lm489wx9nnfdi6vh09an")) + "16yfs5n444s03np1naj6yp1fsysd42kdscxzkg0k2yvfjixx0ijd")) (patches (search-patches "gsl-test-i686.patch")))) (build-system gnu-build-system) (arguments - `(#:parallel-tests? #f - ;; Currently there are numerous tests that fail on "exotic" + `(;; Currently there are numerous tests that fail on "exotic" ;; architectures such as aarch64 and ppc64le. ,@(if (string-prefix? "aarch64-linux" (or (%current-target-system) (%current-system))) @@ -610,12 +608,13 @@ incompatible with HDF5.") (define-public hdf5 (package (name "hdf5") - (version "1.8.18") + (version "1.8.19") (source (origin (method url-fetch) - (uri (list (string-append "http://www.hdfgroup.org/ftp/HDF5/releases/" - "hdf5-" version "/src/hdf5-" + (uri (list (string-append "https://support.hdfgroup.org/ftp/HDF5/releases/" + "hdf5-" (version-major+minor version) + "/hdf5-" version "/src/hdf5-" version ".tar.bz2") (string-append "https://support.hdfgroup.org/ftp/HDF5/" "current" @@ -623,7 +622,7 @@ incompatible with HDF5.") (take (string-split version #\.) 2)) "/src/hdf5-" version ".tar.bz2"))) (sha256 - (base32 "13542vrnl1p35n8vbq0wzk40vddmm33q5nh04j98c7r1yjnxxih1")) + (base32 "0f3jfbqpaaq21ighi40qzs52nb52kc2d2yjk541rjmsx20b3ih2r")) (patches (list (search-patch "hdf5-config-date.patch"))))) (build-system gnu-build-system) (inputs diff --git a/gnu/packages/mc.scm b/gnu/packages/mc.scm index bae12439f1..0770304a28 100644 --- a/gnu/packages/mc.scm +++ b/gnu/packages/mc.scm @@ -31,7 +31,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages check) #:use-module (gnu packages perl) - #:use-module (gnu packages zip)) + #:use-module (gnu packages compression)) (define-public mc (package diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm index ac80a6bb9d..c136265c52 100644 --- a/gnu/packages/monitoring.scm +++ b/gnu/packages/monitoring.scm @@ -27,8 +27,7 @@ #:use-module (gnu packages gd) #:use-module (gnu packages image) #:use-module (gnu packages mail) - #:use-module (gnu packages perl) - #:use-module (gnu packages zip)) + #:use-module (gnu packages perl)) (define-public nagios (package diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index 11ca2d1979..5692ff6766 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -117,8 +117,7 @@ interfacing MPD in the C, C++ & Objective C languages.") ("pulseaudio" ,pulseaudio) ("sqlite" ,sqlite) ("zlib" ,zlib))) - (native-inputs `(("gcc" ,gcc-5) ; Fails to build with GCC@4. - ("pkg-config" ,pkg-config))) + (native-inputs `(("pkg-config" ,pkg-config))) ;; Missing optional inputs: ;; libyajl ;; libcdio_paranoia diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 186dc276be..b62d953067 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -105,7 +105,6 @@ #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (gnu packages xiph) - #:use-module (gnu packages zip) #:use-module ((srfi srfi-1) #:select (last))) (define-public aria-maestosa @@ -1080,7 +1079,7 @@ users to select LV2 plugins and run them with jalv.") (define-public synthv1 (package (name "synthv1") - (version "0.8.2") + (version "0.8.3") (source (origin (method url-fetch) (uri @@ -1088,7 +1087,7 @@ users to select LV2 plugins and run them with jalv.") "/synthv1-" version ".tar.gz")) (sha256 (base32 - "0lmblhk0728bxi7cixc2j9p6gisicy6alybga9vwmg453snrsybr")))) + "1yqh7jx431q01f15b3h4dh038yvmc4jcsr3vn2175kqgwfj9jqcg")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; There are no tests. @@ -1098,9 +1097,12 @@ users to select LV2 plugins and run them with jalv.") `(("jack" ,jack-1) ("lv2" ,lv2) ("alsa-lib" ,alsa-lib) + ("non-session-manager" ,non-session-manager) ("liblo" ,liblo) ("qtbase" ,qtbase) ("qttools" ,qttools))) + (native-inputs + `(("pkg-config" ,pkg-config))) (home-page "http://synthv1.sourceforge.net") (synopsis "Polyphonic subtractive synthesizer") (description @@ -1111,7 +1113,7 @@ oscillators and stereo effects.") (define-public drumkv1 (package (name "drumkv1") - (version "0.8.2") + (version "0.8.3") (source (origin (method url-fetch) (uri @@ -1119,7 +1121,7 @@ oscillators and stereo effects.") "/drumkv1-" version ".tar.gz")) (sha256 (base32 - "0lf9x99gmmk64xq73lcwpwqznh8s79qy2fjjjzzw6sbw99w8qyz4")))) + "0rvdvc81j4b4n64i7jmk58khry28al8p73g71srdv1kw7j65f2zv")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; There are no tests. @@ -1130,6 +1132,7 @@ oscillators and stereo effects.") ("lv2" ,lv2) ("libsndfile" ,libsndfile) ("alsa-lib" ,alsa-lib) + ("non-session-manager" ,non-session-manager) ("liblo" ,liblo) ("qtbase" ,qtbase))) (native-inputs @@ -1145,7 +1148,7 @@ effects.") (define-public samplv1 (package (name "samplv1") - (version "0.8.2") + (version "0.8.3") (source (origin (method url-fetch) (uri @@ -1153,7 +1156,7 @@ effects.") "/samplv1-" version ".tar.gz")) (sha256 (base32 - "11mxn3ff9g0x1rl4jl5rngmwlb8dmkbzsjhxb8gqhmlpfj24wl7l")))) + "1lbxrn24fg1z659zbaakzq6z8gbax6z16di9v9bhhslk8w2mndik")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; There are no tests. @@ -1164,6 +1167,7 @@ effects.") ("lv2" ,lv2) ("libsndfile" ,libsndfile) ("alsa-lib" ,alsa-lib) + ("non-session-manager" ,non-session-manager) ("liblo" ,liblo) ("qtbase" ,qtbase))) (native-inputs diff --git a/gnu/packages/nano.scm b/gnu/packages/nano.scm index 61ff3ced06..093adaae0a 100644 --- a/gnu/packages/nano.scm +++ b/gnu/packages/nano.scm @@ -29,7 +29,7 @@ (define-public nano (package (name "nano") - (version "2.8.4") + (version "2.8.5") (source (origin (method url-fetch) @@ -37,7 +37,7 @@ version ".tar.xz")) (sha256 (base32 - "04bvmimrw40cbcnm3xm5l5lir0qy7cncfkmwrlzg8jiy1x7jdky7")))) + "1hl9gni3qmblr062a7w6vz16gvxbswgc5c19c923ja0bk48vyhyb")))) (build-system gnu-build-system) (inputs `(("gettext" ,gettext-minimal) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index ed0420b422..06a2c8be6e 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2017 Leo Famulari ;;; Copyright © 2017 Efraim Flashner +;;; Copyright © 2017 Rutger Helling ;;; ;;; This file is part of GNU Guix. ;;; @@ -66,6 +67,7 @@ #:use-module (gnu packages textutils) #:use-module (gnu packages tls) #:use-module (gnu packages valgrind) + #:use-module (gnu packages xml) #:use-module (ice-9 match)) (define-public macchanger @@ -1095,6 +1097,44 @@ which PID is causing this. This makes it easy to identify programs that have gone wild and are suddenly taking up your bandwidth.") (license license:gpl2+))) +(define-public nzbget + (package + (name "nzbget") + (version "18.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/nzbget/nzbget/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1a8wmbhc1si1n8axzrr8ysmrd3gr643lbh6pvzmr0hnd65fixmx5")))) + (arguments + `(#:configure-flags + (list + (string-append "--with-libcurses-includes=" (assoc-ref +%build-inputs "ncurses") "/include") + (string-append "--with-libcurses-libraries=" (assoc-ref +%build-inputs "ncurses") "/lib") + (string-append "--with-tlslib=GnuTLS")))) + (build-system gnu-build-system) + (inputs `(("gnutls", gnutls) + ("libxml2", libxml2) + ("ncurses", ncurses) + ("zlib", zlib))) + (native-inputs `(("pkg-config", pkg-config))) + (home-page "https://github.com/nzbget/nzbget") + (synopsis "Usenet binary file downloader") + (description + "NZBGet is a binary newsgrabber, which downloads files from Usenet based +on information given in @code{nzb} files. NZBGet can be used in standalone +and in server/client modes. In standalone mode, you pass NZBGet @command{nzb} +files as command-line parameters and it downloads them and exits. NZBGet also +contains a Web interface. Its server can be controlled through remote +procedure calls (RPCs).") + (license license:gpl2+))) + (define-public openvswitch (package (name "openvswitch") diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm index 23859b85c2..86d1ce9978 100644 --- a/gnu/packages/openstack.scm +++ b/gnu/packages/openstack.scm @@ -113,32 +113,33 @@ manner.") (define-public python-hacking (package (name "python-hacking") - (version "0.10.2") + (version "0.13.0") (source (origin (method url-fetch) (uri (pypi-uri "hacking" version)) (sha256 (base32 - "1a310k3dv04jg7zvmk37h2ql7y9kf4hvdxb74bjlwdxgmy6h4wap")))) + "1s1wq2sds6fjp8rwz31vkp33kjl9nyk5y2g2pri8shic75dr00h4")))) (build-system python-build-system) - (arguments - ;; TODO: Requires unpackaged 'eventlet'. - '(#:tests? #f)) (propagated-inputs - `(("python-flake8-2.2.4" ,python-flake8-2.2.4) - ("python-mccabe-0.2.1" ,python-mccabe-0.2.1) - ("python-pbr" ,python-pbr) - ("python-pep8-1.5.7" ,python-pep8-1.5.7) - ("python-pyflakes-0.8.1" ,python-pyflakes-0.8.1) - ("python-six" ,python-six))) + `(("python-flake8" ,python-flake8) + ("python-mccabe-0.2.1" ,python-mccabe-0.2.1) + ("python-pbr" ,python-pbr) + ("python-pep8-1.5.7" ,python-pep8-1.5.7) + ("python-pyflakes-0.8.1" ,python-pyflakes-0.8.1) + ("python-six" ,python-six))) (native-inputs - `(;; Tests - ("python-testscenarios" ,python-testscenarios))) + `( ;; Tests + ("python-eventlet" ,python-eventlet) + ("python-mock" ,python-mock) + ("python-reno" ,python-reno) + ("python-testrepository" ,python-testrepository) + ("python-testscenarios" ,python-testscenarios))) (home-page "https://github.com/openstack-dev/hacking") (synopsis "OpenStack hacking guideline enforcement") (description - "Python-hacking is a set of flake8 plugins that test and enforce the + "Python-hacking is a set of flake8 plugins that test and enforce the @uref{http://docs.openstack.org/developer/hacking/, OpenStack style guidelines}.") (license asl2.0))) diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index f6af6a6519..08591d1086 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -9,6 +9,8 @@ ;;; Copyright © 2016 Alex Griffin ;;; Copyright © 2017 Leo Famulari ;;; Copyright © 2017 Clément Lassieur +;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017 Jelle Licht ;;; ;;; This file is part of GNU Guix. ;;; @@ -36,6 +38,7 @@ #:use-module (gnu packages aidc) #:use-module (gnu packages base) #:use-module (gnu packages compression) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages glib) #:use-module (gnu packages gnupg) #:use-module (gnu packages gtk) @@ -186,14 +189,15 @@ and vice versa.") (home-page "https://github.com/cracklib/cracklib") (description "CrackLib is a library containing a C function which may be used in a -passwd like program. The idea is simple: try to prevent users from choosing -passwords that could be guessed by crack by filtering them out, at source.") +@command{passwd}-like program. The idea is simple: try to prevent users from +choosing passwords that could easily be guessed (or \"cracked\") by filtering +them out, at the source.") (license license:lgpl2.1))) (define-public libpwquality (package (name "libpwquality") - (version "1.3.0") + (version "1.4.0") (source (origin (method url-fetch) (uri (list @@ -205,7 +209,7 @@ passwords that could be guessed by crack by filtering them out, at source.") name "-" version ".tar.bz2"))) (sha256 (base32 - "0aidriag6h0syfm33nzdfdsqgrnsgihwjv3a5lgkqch3w68fmlkl")))) + "0syyz8r54l8mqmbb0mw19qz4z2cx8gdgidicb8k2s5zjdh2gzrhx")))) (build-system gnu-build-system) (arguments ;; XXX: have RUNPATH issue. @@ -408,3 +412,37 @@ Password Scheme\"} by Niels Provos and David Mazieres.") (define-public python2-bcrypt (package-with-python2 python-bcrypt)) + +(define-public pass-git-helper + (package + (name "pass-git-helper") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/languitar/pass-git-helper/archive/release-" + version ".tar.gz")) + (sha256 + (base32 + "0lz5ncy44pz7z1j2nnyildx8sq33zi3xvg5nkwg25n11nasqh2xn")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'build 'patch-pass-path + (lambda* (#:key inputs #:allow-other-keys) + (let* ((password-store (assoc-ref inputs "password-store")) + (pass (string-append password-store "/bin/pass"))) + (substitute* "pass-git-helper" + (("'pass'") (string-append "'" pass "'"))) + #t)))))) + (inputs + `(("python-pyxdg" ,python-pyxdg) + ("password-store" ,password-store))) + (home-page "https://github.com/languitar/pass-git-helper") + (synopsis "Git credential helper interfacing with pass") + (description "pass-git-helper is a git credential helper which allows to +use pass, the standard unix password manager, as the credential backend for +your git repositories. This is achieved by explicitly defining mappings +between hosts and entries in the password store.") + (license license:lgpl3+))) diff --git a/gnu/packages/patches/abiword-wmf-version-lookup-fix.patch b/gnu/packages/patches/abiword-wmf-version-lookup-fix.patch deleted file mode 100644 index f27f32f30b..0000000000 --- a/gnu/packages/patches/abiword-wmf-version-lookup-fix.patch +++ /dev/null @@ -1,28 +0,0 @@ -The way the configure script determines the version of libwmf is by temporarily -making dots separator characters, but since the file name of the program which -returns the version contains dots in Guix (the version in the store entry name), -doing it this way will always fail. - -This is a simple guix-specific fix for the problem. - ---- a/configure 2010-06-13 23:17:37.000000000 +0200 -+++ b/configure 2014-09-08 17:31:52.102371800 +0200 -@@ -21140,13 +21140,11 @@ - $as_echo "$as_me: WARNING: wmf plugin: program libwmf-config not found in path" >&2;} - fi - else -- IFS_old="$IFS" -- IFS='.' -- set -- `$libwmfconfig --version` -- libwmf_major_found="${1}" -- libwmf_minor_found="${2}" -- libwmf_micro_found="${3}" -- IFS="$IFS_old" -+ libwmf_fullver_found=`$libwmfconfig --version` -+ libwmf_major_found=$(echo $libwmf_fullver_found | cut -d . -f 1) -+ libwmf_minor_found=$(echo $libwmf_fullver_found | cut -d . -f 2) -+ libwmf_micro_found=$(echo $libwmf_fullver_found | cut -d . -f 3) -+ - if test "$libwmf_major_found" -gt "$libwmf_major_req"; then - wmf_deps="yes" - elif test "$libwmf_major_found" -eq "$libwmf_major_req" && diff --git a/gnu/packages/patches/calibre-dont-load-remote-icons.patch b/gnu/packages/patches/calibre-dont-load-remote-icons.patch deleted file mode 100644 index 2168263072..0000000000 --- a/gnu/packages/patches/calibre-dont-load-remote-icons.patch +++ /dev/null @@ -1,45 +0,0 @@ -From: Martin Pitt -Date: Mon, 14 Nov 2016 22:41:24 +0100 -Subject: content-server: Don't load external URLs for privacy - -Spotted by lintian. ---- - resources/content_server/browse/browse.html | 4 +--- - resources/content_server/index.html | 2 +- - 2 files changed, 2 insertions(+), 4 deletions(-) - -diff --git a/resources/content_server/browse/browse.html b/resources/content_server/browse/browse.html -index 36f7199..e615707 100644 ---- a/resources/content_server/browse/browse.html -+++ b/resources/content_server/browse/browse.html -@@ -7,7 +7,7 @@ - ..:: calibre {library} ::.. {title} - - -- -+ - - - -@@ -63,8 +63,6 @@ - -- - - - -diff --git a/resources/content_server/index.html b/resources/content_server/index.html -index 51cc33a..e71d0e8 100644 ---- a/resources/content_server/index.html -+++ b/resources/content_server/index.html -@@ -9,7 +9,7 @@ - - - -- -+ - - -