Merge branch 'master' into core-updates

This commit is contained in:
Marius Bakke 2018-10-21 18:06:02 +02:00
commit ffddb42d6c
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
60 changed files with 3097 additions and 439 deletions

View File

@ -45,6 +45,7 @@
(eval . (put 'manifest-pattern 'scheme-indent-function 0)) (eval . (put 'manifest-pattern 'scheme-indent-function 0))
(eval . (put 'substitute-keyword-arguments 'scheme-indent-function 1)) (eval . (put 'substitute-keyword-arguments 'scheme-indent-function 1))
(eval . (put 'with-store 'scheme-indent-function 1)) (eval . (put 'with-store 'scheme-indent-function 1))
(eval . (put 'with-external-store 'scheme-indent-function 1))
(eval . (put 'with-error-handling 'scheme-indent-function 0)) (eval . (put 'with-error-handling 'scheme-indent-function 0))
(eval . (put 'with-mutex 'scheme-indent-function 1)) (eval . (put 'with-mutex 'scheme-indent-function 1))
(eval . (put 'with-atomic-file-output 'scheme-indent-function 1)) (eval . (put 'with-atomic-file-output 'scheme-indent-function 1))

View File

@ -11000,6 +11000,12 @@ Return a service that runs a syslog daemon according to @var{config}.
information on the configuration file syntax. information on the configuration file syntax.
@end deffn @end deffn
@defvr {Scheme Variable} guix-service-type
This is the type of the service that runs the build daemon,
@command{guix-daemon} (@pxref{Invoking guix-daemon}). Its value must be a
@code{guix-configuration} record as described below.
@end defvr
@anchor{guix-configuration-type} @anchor{guix-configuration-type}
@deftp {Data Type} guix-configuration @deftp {Data Type} guix-configuration
This data type represents the configuration of the Guix build daemon. This data type represents the configuration of the Guix build daemon.
@ -11060,11 +11066,6 @@ A directory path where the @command{guix-daemon} will perform builds.
@end table @end table
@end deftp @end deftp
@deffn {Scheme Procedure} guix-service @var{config}
Return a service that runs the Guix build daemon according to
@var{config}.
@end deffn
@deffn {Scheme Procedure} udev-service [#:udev @var{eudev} #:rules @code{'()}] @deffn {Scheme Procedure} udev-service [#:udev @var{eudev} #:rules @code{'()}]
Run @var{udev}, which populates the @file{/dev} directory dynamically. Run @var{udev}, which populates the @file{/dev} directory dynamically.
udev rules can be provided as a list of files through the @var{rules} udev rules can be provided as a list of files through the @var{rules}
@ -11545,10 +11546,11 @@ The @code{(gnu services networking)} module provides services to configure
the network interface. the network interface.
@cindex DHCP, networking service @cindex DHCP, networking service
@deffn {Scheme Procedure} dhcp-client-service [#:dhcp @var{isc-dhcp}] @defvr {Scheme Variable} dhcp-client-service-type
Return a service that runs @var{dhcp}, a Dynamic Host Configuration This is the type of services that run @var{dhcp}, a Dynamic Host Configuration
Protocol (DHCP) client, on all the non-loopback network interfaces. Protocol (DHCP) client, on all the non-loopback network interfaces. Its value
@end deffn is the DHCP client package to use, @code{isc-dhcp} by default.
@end defvr
@deffn {Scheme Procedure} dhcpd-service-type @deffn {Scheme Procedure} dhcpd-service-type
This type defines a service that runs a DHCP daemon. To create a This type defines a service that runs a DHCP daemon. To create a
@ -11815,20 +11817,37 @@ objects}).
@end table @end table
@end deftp @end deftp
@cindex NTP @cindex NTP (Network Time Protocol), service
@cindex real time clock @cindex real time clock
@deffn {Scheme Procedure} ntp-service [#:ntp @var{ntp}] @ @defvr {Scheme Variable} ntp-service-type
[#:servers @var{%ntp-servers}] @ This is the type of the service running the the @uref{http://www.ntp.org,
[#:allow-large-adjustment? #f] Network Time Protocol (NTP)} daemon, @command{ntpd}. The daemon will keep the
Return a service that runs the daemon from @var{ntp}, the system clock synchronized with that of the specified NTP servers.
@uref{http://www.ntp.org, Network Time Protocol package}. The daemon will
keep the system clock synchronized with that of @var{servers}. The value of this service is an @code{ntpd-configuration} object, as described
@var{allow-large-adjustment?} determines whether @command{ntpd} is allowed to below.
make an initial adjustment of more than 1,000 seconds. @end defvr
@end deffn
@deftp {Data Type} ntp-configuration
This is the data type for the NTP service configuration.
@table @asis
@item @code{servers} (default: @code{%ntp-servers})
This is the list of servers (host names) with which @command{ntpd} will be
synchronized.
@item @code{allow-large-adjustment?} (default: @code{#f})
This determines whether @command{ntpd} is allowed to make an initial
adjustment of more than 1,000 seconds.
@item @code{ntp} (default: @code{ntp})
The NTP package to use.
@end table
@end deftp
@defvr {Scheme Variable} %ntp-servers @defvr {Scheme Variable} %ntp-servers
List of host names used as the default NTP servers. List of host names used as the default NTP servers. These are servers of the
@uref{https://www.ntppool.org/en/, NTP Pool Project}.
@end defvr @end defvr
@cindex OpenNTPD @cindex OpenNTPD
@ -17167,7 +17186,7 @@ A helper function to quickly add php to an @code{nginx-server-configuration}.
A simple services setup for nginx with php can look like this: A simple services setup for nginx with php can look like this:
@example @example
(services (cons* (dhcp-client-service) (services (cons* (service dhcp-client-service-type)
(service php-fpm-service-type) (service php-fpm-service-type)
(service nginx-service-type (service nginx-service-type
(nginx-server-configuration (nginx-server-configuration

View File

@ -886,7 +886,6 @@ dist_patch_DATA = \
%D%/packages/patches/libgdata-glib-duplicate-tests.patch \ %D%/packages/patches/libgdata-glib-duplicate-tests.patch \
%D%/packages/patches/libgnome-encoding.patch \ %D%/packages/patches/libgnome-encoding.patch \
%D%/packages/patches/libgnomeui-utf8.patch \ %D%/packages/patches/libgnomeui-utf8.patch \
%D%/packages/patches/libgxps-CVE-2017-11590.patch \
%D%/packages/patches/libffi-3.2.1-complex-alpha.patch \ %D%/packages/patches/libffi-3.2.1-complex-alpha.patch \
%D%/packages/patches/libjxr-fix-function-signature.patch \ %D%/packages/patches/libjxr-fix-function-signature.patch \
%D%/packages/patches/libjxr-fix-typos.patch \ %D%/packages/patches/libjxr-fix-typos.patch \
@ -1150,6 +1149,7 @@ dist_patch_DATA = \
%D%/packages/patches/slim-login.patch \ %D%/packages/patches/slim-login.patch \
%D%/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch \ %D%/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch \
%D%/packages/patches/sooperlooper-build-with-wx-30.patch \ %D%/packages/patches/sooperlooper-build-with-wx-30.patch \
%D%/packages/patches/soundconverter-remove-gconf-dependency.patch \
%D%/packages/patches/soundtouch-CVE-2018-14044-14045.patch \ %D%/packages/patches/soundtouch-CVE-2018-14044-14045.patch \
%D%/packages/patches/soundtouch-CVE-2018-1000223.patch \ %D%/packages/patches/soundtouch-CVE-2018-1000223.patch \
%D%/packages/patches/steghide-fixes.patch \ %D%/packages/patches/steghide-fixes.patch \

View File

@ -14,6 +14,7 @@
;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Brett Gilio <brettg@posteo.net> ;;; Copyright © 2018 Brett Gilio <brettg@posteo.net>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -1041,7 +1042,7 @@ follower.")
(define-public fluidsynth (define-public fluidsynth
(package (package
(name "fluidsynth") (name "fluidsynth")
(version "1.1.11") (version "2.0.1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1050,7 +1051,7 @@ follower.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"0n75jq3xgq46hfmjkaaxz3gic77shs4fzajq40c8gk043i84xbdh")))) "1mqyym5qkh8xd1rqj3yhfxbw5dxjcrljb6nkfqzvcarlv4h6rjn7"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:tests? #f ; no check target '(#:tests? #f ; no check target
@ -1082,6 +1083,22 @@ device. It is the software analogue of a MIDI synthesizer. FluidSynth can
also play midifiles using a Soundfont.") also play midifiles using a Soundfont.")
(license license:lgpl2.1+))) (license license:lgpl2.1+)))
;; gzdoom@3.3.0 and lmms@1.1.3 requires this version. Remove once no longer
;; needed.
(define-public fluidsynth-1
(package
(inherit fluidsynth)
(version "1.1.11")
(source (origin
(inherit (package-source fluidsynth))
(uri (git-reference
(url "https://github.com/FluidSynth/fluidsynth")
(commit (string-append "v" version))))
(file-name (git-file-name "fluidsynth" version))
(sha256
(base32
"0n75jq3xgq46hfmjkaaxz3gic77shs4fzajq40c8gk043i84xbdh"))))))
(define-public faad2 (define-public faad2
(package (package
(name "faad2") (name "faad2")
@ -1912,7 +1929,7 @@ lv2-c++-tools.")
(define-public openal (define-public openal
(package (package
(name "openal") (name "openal")
(version "1.19.0") (version "1.19.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -1920,7 +1937,7 @@ lv2-c++-tools.")
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1mhf5bsb58s1xk6hvxl7ly7rd4rpl9z8h07xl1q94brywykg7bgi")))) "1sdjhkz2gd6lbnwphi1b6aw3br4wv2lik5vnqh6mxfc8a7zqfbsw"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f ; no check target `(#:tests? #f ; no check target
@ -2761,7 +2778,7 @@ interface.")
(define-public qsynth (define-public qsynth
(package (package
(name "qsynth") (name "qsynth")
(version "0.5.2") (version "0.5.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -2769,7 +2786,7 @@ interface.")
"/qsynth-" version ".tar.gz")) "/qsynth-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1rfkaxq1pyc4hv3l0i6wicianbcbm1wp53kh9i5d4jsljgisd1dv")))) "1jghczmmva7cyavg1q0j8nr3hmjpzzglzi5ckg92ax4ji8gpks9c"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; no "check" phase `(#:tests? #f ; no "check" phase

View File

@ -1,6 +1,6 @@
# #
# Automatically generated file; DO NOT EDIT. # Automatically generated file; DO NOT EDIT.
# Linux/arm64 4.18.0-gnu Kernel Configuration # Linux/arm64 4.18.14-gnu Kernel Configuration
# #
CONFIG_ARM64=y CONFIG_ARM64=y
CONFIG_64BIT=y CONFIG_64BIT=y
@ -481,7 +481,7 @@ CONFIG_HOTPLUG_PCI=y
CONFIG_HOTPLUG_PCI_ACPI=y CONFIG_HOTPLUG_PCI_ACPI=y
CONFIG_HOTPLUG_PCI_ACPI_IBM=m CONFIG_HOTPLUG_PCI_ACPI_IBM=m
CONFIG_HOTPLUG_PCI_CPCI=y CONFIG_HOTPLUG_PCI_CPCI=y
# CONFIG_HOTPLUG_PCI_SHPC is not set CONFIG_HOTPLUG_PCI_SHPC=y
# #
# PCI controller drivers # PCI controller drivers

View File

@ -136,24 +136,23 @@
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'configure) (delete 'configure)
(replace 'build (replace 'build
(lambda _ (lambda _
(zero? (system* "gcc" (invoke "gcc"
"-O3" "-O3"
"-ffast-math" "-ffast-math"
"-finline-functions" "-finline-functions"
"-o" "-o"
"aragorn" "aragorn"
(string-append "aragorn" ,version ".c"))))) (string-append "aragorn" ,version ".c"))
#t))
(replace 'install (replace 'install
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")) (bin (string-append out "/bin"))
(man (string-append out "/share/man/man1"))) (man (string-append out "/share/man/man1")))
(mkdir-p bin) (install-file "aragorn" bin)
(install-file "aragorn" bin) (install-file "aragorn.1" man))
(mkdir-p man) #t)))))
(install-file "aragorn.1" man))
#t)))))
(home-page "http://mbio-serv2.mbioekol.lu.se/ARAGORN") (home-page "http://mbio-serv2.mbioekol.lu.se/ARAGORN")
(synopsis "Detect tRNA, mtRNA and tmRNA genes in nucleotide sequences") (synopsis "Detect tRNA, mtRNA and tmRNA genes in nucleotide sequences")
(description (description
@ -168,15 +167,16 @@ structure of the predicted RNA.")
(name "bamm") (name "bamm")
(version "1.7.3") (version "1.7.3")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
;; BamM is not available on pypi. ;; BamM is not available on pypi.
(uri (string-append (uri (git-reference
"https://github.com/Ecogenomics/BamM/archive/" (url "https://github.com/Ecogenomics/BamM.git")
version ".tar.gz")) (commit version)
(file-name (string-append name "-" version ".tar.gz")) (recursive? #t)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1f35yxp4pc8aadsvbpg6r4kg2jh4fkjci0iby4iyljm6980sac0s")) "1p83ahi984ipslxlg4yqy1gdnya9rkn1v71z8djgxkm9d2chw4c5"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
`(begin `(begin
@ -198,11 +198,12 @@ structure of the predicted RNA.")
(lambda _ (lambda _
(with-directory-excursion "c" (with-directory-excursion "c"
(let ((sh (which "sh"))) (let ((sh (which "sh")))
(for-each make-file-writable (find-files "." ".*"))
;; Use autogen so that 'configure' works. ;; Use autogen so that 'configure' works.
(substitute* "autogen.sh" (("/bin/sh") sh)) (substitute* "autogen.sh" (("/bin/sh") sh))
(setenv "CONFIG_SHELL" sh) (setenv "CONFIG_SHELL" sh)
(substitute* "configure" (("/bin/sh") sh)) (invoke "./autogen.sh")))
(zero? (system* "./autogen.sh")))))) #t))
(delete 'build) (delete 'build)
;; Run tests after installation so compilation only happens once. ;; Run tests after installation so compilation only happens once.
(delete 'check) (delete 'check)
@ -230,7 +231,8 @@ structure of the predicted RNA.")
;; There are 2 errors printed, but they are safe to ignore: ;; There are 2 errors printed, but they are safe to ignore:
;; 1) [E::hts_open_format] fail to open file ... ;; 1) [E::hts_open_format] fail to open file ...
;; 2) samtools view: failed to open ... ;; 2) samtools view: failed to open ...
(zero? (system* "nosetests"))))))) (invoke "nosetests")
#t)))))
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
("automake" ,automake) ("automake" ,automake)
@ -335,15 +337,16 @@ transparently with both VCFs and BCFs, both uncompressed and BGZF-compressed.")
(define-public bedops (define-public bedops
(package (package
(name "bedops") (name "bedops")
(version "2.4.33") (version "2.4.35")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/bedops/bedops/archive/v" (uri (git-reference
version ".tar.gz")) (url "https://github.com/bedops/bedops.git")
(file-name (string-append name "-" version ".tar.gz")) (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0kx4awrwby8f33wqyx8w7ms7v25xhf0d421csgf96a3hfzn2mb0m")))) "0mmgsgwz5r9w76hzgxkxc9s9lkdhhaf7vr6i02b09vbswvs1fyqx"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:tests? #f '(#:tests? #f
@ -365,9 +368,9 @@ transparently with both VCFs and BCFs, both uncompressed and BGZF-compressed.")
;; Unpack the tarballs to benefit from shebang patching. ;; Unpack the tarballs to benefit from shebang patching.
(with-directory-excursion "third-party" (with-directory-excursion "third-party"
(and (zero? (system* "tar" "xvf" "jansson-2.6.tar.bz2")) (invoke "tar" "xvf" "jansson-2.6.tar.bz2")
(zero? (system* "tar" "xvf" "zlib-1.2.7.tar.bz2")) (invoke "tar" "xvf" "zlib-1.2.7.tar.bz2")
(zero? (system* "tar" "xvf" "bzip2-1.0.6.tar.bz2")))) (invoke "tar" "xvf" "bzip2-1.0.6.tar.bz2"))
;; Disable unpacking of tarballs in Makefile. ;; Disable unpacking of tarballs in Makefile.
(substitute* "system.mk/Makefile.linux" (substitute* "system.mk/Makefile.linux"
(("^\tbzcat .*") "\t@echo \"not unpacking\"\n") (("^\tbzcat .*") "\t@echo \"not unpacking\"\n")
@ -453,6 +456,20 @@ BED, GFF/GTF, VCF.")
(find-files "bin" ".*"))) (find-files "bin" ".*")))
#t))))))) #t)))))))
;; Needed for pybedtools.
(define-public bedtools-2.26
(package (inherit bedtools)
(name "bedtools")
(version "2.26.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/arq5x/bedtools2/releases/"
"download/v" version "/"
"bedtools-" version ".tar.gz"))
(sha256
(base32
"0jhavwifnf7lmkb11h9y7dynr8d699h0rd2l52j1pfgircr2zwv5"))))))
(define-public ribotaper (define-public ribotaper
(package (package
(name "ribotaper") (name "ribotaper")
@ -582,29 +599,54 @@ input/output delimiter. When the new functionality is not used, bioawk is
intended to behave exactly the same as the original BWK awk.") intended to behave exactly the same as the original BWK awk.")
(license license:x11))) (license license:x11)))
(define-public python2-pybedtools (define-public python-pybedtools
(package (package
(name "python2-pybedtools") (name "python-pybedtools")
(version "0.6.9") (version "0.7.10")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (pypi-uri "pybedtools" version))
"https://pypi.python.org/packages/source/p/pybedtools/pybedtools-"
version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1ldzdxw1p4y3g2ignmggsdypvqkcwqwzhdha4rbgpih048z5p4an")))) "0l2b2wrnj85azfqgr0zwr60f7j58vlla1hcgxvr9rwikpl8j72ji"))))
(build-system python-build-system) (build-system python-build-system)
(arguments `(#:python ,python-2)) ; no Python 3 support (arguments
(inputs `(#:phases
`(("python-matplotlib" ,python2-matplotlib))) (modify-phases %standard-phases
;; See https://github.com/daler/pybedtools/issues/261
(add-after 'unpack 'disable-broken-tests
(lambda _
;; This test (pybedtools.test.test_scripts.test_venn_mpl) needs a
;; graphical environment.
(substitute* "pybedtools/test/test_scripts.py"
(("def test_venn_mpl")
"def _do_not_test_venn_mpl"))
;; Requires internet access.
(substitute* "pybedtools/test/test_helpers.py"
(("def test_chromsizes")
"def _do_not_test_chromsizes"))
;; FIXME: these two fail for no good reason.
(substitute* "pybedtools/test/test1.py"
(("def test_issue_157")
"def _do_not_test_issue_157")
(("def test_to_dataframe")
"def _do_not_test_to_dataframe"))
#t)))))
(propagated-inputs (propagated-inputs
`(("bedtools" ,bedtools) ;; Tests don't pass with Bedtools 2.27.1.
("samtools" ,samtools))) ;; See https://github.com/daler/pybedtools/issues/260
`(("bedtools" ,bedtools-2.26)
("samtools" ,samtools)
("python-matplotlib" ,python-matplotlib)
("python-pysam" ,python-pysam)
("python-pyyaml" ,python-pyyaml)))
(native-inputs (native-inputs
`(("python-cython" ,python2-cython) `(("python-numpy" ,python-numpy)
("python-pyyaml" ,python2-pyyaml) ("python-pandas" ,python-pandas)
("python-nose" ,python2-nose))) ("python-cython" ,python-cython)
("python-nose" ,python-nose)
("kentutils" ,kentutils) ; for bedGraphToBigWig
("python-six" ,python-six)))
(home-page "https://pythonhosted.org/pybedtools/") (home-page "https://pythonhosted.org/pybedtools/")
(synopsis "Python wrapper for BEDtools programs") (synopsis "Python wrapper for BEDtools programs")
(description (description
@ -614,6 +656,36 @@ pybedtools extends BEDTools by offering feature-level manipulations from with
Python.") Python.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public python2-pybedtools
(let ((pkg (package-with-python2 python-pybedtools)))
(package (inherit pkg)
(arguments
`(#:modules ((ice-9 ftw)
(srfi srfi-1)
(srfi srfi-26)
(guix build utils)
(guix build python-build-system))
;; See https://github.com/daler/pybedtools/issues/192
,@(substitute-keyword-arguments (package-arguments pkg)
((#:phases phases)
`(modify-phases ,phases
(replace 'check
(lambda _
(let ((cwd (getcwd)))
(setenv "PYTHONPATH"
(string-append cwd "/build/"
(find (cut string-prefix? "lib" <>)
(scandir (string-append cwd "/build")))
":" (getenv "PYTHONPATH"))))
;; The tests need to be run from elsewhere...
(mkdir-p "/tmp/test")
(copy-recursively "pybedtools/test" "/tmp/test")
(with-directory-excursion "/tmp/test"
(invoke "nosetests"
;; This test fails for unknown reasons
"--exclude=.*test_getting_example_beds"))
#t))))))))))
(define-public python-biom-format (define-public python-biom-format
(package (package
(name "python-biom-format") (name "python-biom-format")
@ -999,15 +1071,12 @@ package provides command line tools using the Bio++ library.")
#:parallel-build? #f ; not supported #:parallel-build? #f ; not supported
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before (add-before 'configure 'set-HOME
'configure 'set-HOME
;; $HOME needs to be set at some point during the configure phase ;; $HOME needs to be set at some point during the configure phase
(lambda _ (setenv "HOME" "/tmp") #t)) (lambda _ (setenv "HOME" "/tmp") #t))
(add-after (add-after 'unpack 'enter-dir
'unpack 'enter-dir
(lambda _ (chdir "c++") #t)) (lambda _ (chdir "c++") #t))
(add-after (add-after 'enter-dir 'fix-build-system
'enter-dir 'fix-build-system
(lambda _ (lambda _
(define (which* cmd) (define (which* cmd)
(cond ((string=? cmd "date") (cond ((string=? cmd "date")
@ -1055,31 +1124,31 @@ package provides command line tools using the Bio++ library.")
(("action=/bin/") "action=") (("action=/bin/") "action=")
(("export PATH") ":")) (("export PATH") ":"))
#t)) #t))
(replace (replace 'configure
'configure (lambda* (#:key inputs outputs #:allow-other-keys)
(lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))
(let ((out (assoc-ref outputs "out")) (lib (string-append (assoc-ref outputs "lib") "/lib"))
(lib (string-append (assoc-ref outputs "lib") "/lib")) (include (string-append (assoc-ref outputs "include")
(include (string-append (assoc-ref outputs "include") "/include/ncbi-tools++")))
"/include/ncbi-tools++"))) ;; The 'configure' script doesn't recognize things like
;; The 'configure' script doesn't recognize things like ;; '--enable-fast-install'.
;; '--enable-fast-install'. (invoke "./configure.orig"
(zero? (system* "./configure.orig" (string-append "--with-build-root=" (getcwd) "/build")
(string-append "--with-build-root=" (getcwd) "/build") (string-append "--prefix=" out)
(string-append "--prefix=" out) (string-append "--libdir=" lib)
(string-append "--libdir=" lib) (string-append "--includedir=" include)
(string-append "--includedir=" include) (string-append "--with-bz2="
(string-append "--with-bz2=" (assoc-ref inputs "bzip2"))
(assoc-ref inputs "bzip2")) (string-append "--with-z="
(string-append "--with-z=" (assoc-ref inputs "zlib"))
(assoc-ref inputs "zlib")) (string-append "--with-pcre="
(string-append "--with-pcre=" (assoc-ref inputs "pcre"))
(assoc-ref inputs "pcre")) ;; Each library is built twice by default, once
;; Each library is built twice by default, once ;; with "-static" in its name, and again
;; with "-static" in its name, and again ;; without.
;; without. "--without-static"
"--without-static" "--with-dll")
"--with-dll")))))))) #t))))))
(outputs '("out" ; 21 MB (outputs '("out" ; 21 MB
"lib" ; 226 MB "lib" ; 226 MB
"include")) ; 33 MB "include")) ; 33 MB
@ -1204,15 +1273,16 @@ errors at the end of reads.")
(define-public bowtie (define-public bowtie
(package (package
(name "bowtie") (name "bowtie")
(version "2.3.2") (version "2.3.4.3")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/BenLangmead/bowtie2/archive/v" (uri (git-reference
version ".tar.gz")) (url "https://github.com/BenLangmead/bowtie2.git")
(file-name (string-append name "-" version ".tar.gz")) (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0hwa5r9qbglppb7sz5z79rlmmddr3n51n468jb3wh8rwjgn3yr90")) "1zl3cf327y2p7p03cavymbh7b00djc7lncfaqih33n96iy9q8ibp"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -1222,14 +1292,6 @@ errors at the end of reads.")
(("-DBUILD_TIME=.*") "-DBUILD_TIME=\"\\\"0\\\"\"")) (("-DBUILD_TIME=.*") "-DBUILD_TIME=\"\\\"0\\\"\""))
#t)))) #t))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs
`(("perl" ,perl)
("perl-clone" ,perl-clone)
("perl-test-deep" ,perl-test-deep)
("perl-test-simple" ,perl-test-simple)
("python" ,python-2)
("tbb" ,tbb)
("zlib" ,zlib)))
(arguments (arguments
'(#:make-flags '(#:make-flags
(list "allall" (list "allall"
@ -1239,11 +1301,21 @@ errors at the end of reads.")
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'configure) (delete 'configure)
(replace 'check (replace 'check
(lambda* (#:key outputs #:allow-other-keys) (lambda _
(zero? (system* "perl" (invoke "perl"
"scripts/test/simple_tests.pl" "scripts/test/simple_tests.pl"
"--bowtie2=./bowtie2" "--bowtie2=./bowtie2"
"--bowtie2-build=./bowtie2-build"))))))) "--bowtie2-build=./bowtie2-build")
#t)))))
(inputs
`(("tbb" ,tbb)
("zlib" ,zlib)
("python" ,python-wrapper)))
(native-inputs
`(("perl" ,perl)
("perl-clone" ,perl-clone)
("perl-test-deep" ,perl-test-deep)
("perl-test-simple" ,perl-test-simple)))
(home-page "http://bowtie-bio.sourceforge.net/bowtie2/index.shtml") (home-page "http://bowtie-bio.sourceforge.net/bowtie2/index.shtml")
(synopsis "Fast and sensitive nucleotide sequence read aligner") (synopsis "Fast and sensitive nucleotide sequence read aligner")
(description (description
@ -1638,29 +1710,35 @@ databases.")
(define-public clipper (define-public clipper
(package (package
(name "clipper") (name "clipper")
(version "1.1") (version "1.2.1")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append (uri (git-reference
"https://github.com/YeoLab/clipper/archive/" (url "https://github.com/YeoLab/clipper.git")
version ".tar.gz")) (commit version)))
(file-name (string-append name "-" version ".tar.gz")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0pflmsvhbf8izbgwhbhj1i7349sw1f55qpqj8ljmapp16hb0p0qi")) "0fja1rj84wp9vpj8rxpj3n8zqzcqq454m904yp9as1w4phccirjb"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
;; remove unnecessary setup dependency ;; remove unnecessary setup dependency
(substitute* "setup.py" (substitute* "setup.py"
(("setup_requires = .*") "")) (("setup_requires = .*") ""))
(for-each delete-file
'("clipper/src/peaks.so"
"clipper/src/readsToWiggle.so"))
(delete-file-recursively "dist/")
#t)))) #t))))
(build-system python-build-system) (build-system python-build-system)
(arguments `(#:python ,python-2)) ; only Python 2 is supported (arguments
`(#:python ,python-2 ; only Python 2 is supported
#:phases
(modify-phases %standard-phases
;; This is fixed in upstream commit
;; f6c2990198f906bf97730d95695b4bd5a6d01ddb.
(add-after 'unpack 'fix-typo
(lambda _
(substitute* "clipper/src/readsToWiggle.pyx"
(("^sc.*") ""))
#t)))))
(inputs (inputs
`(("htseq" ,python2-htseq) `(("htseq" ,python2-htseq)
("python-pybedtools" ,python2-pybedtools) ("python-pybedtools" ,python2-pybedtools)
@ -1985,7 +2063,21 @@ trees (phylogenies) and characters.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public python2-dendropy (define-public python2-dendropy
(package-with-python2 python-dendropy)) (let ((base (package-with-python2 python-dendropy)))
(package
(inherit base)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'remove-failing-test
(lambda _
;; This test fails when the full test suite is run, as documented
;; at https://github.com/jeetsukumaran/DendroPy/issues/74
(substitute* "tests/test_dataio_nexml_reader_tree_list.py"
(("test_collection_comments_and_annotations")
"do_not_test_collection_comments_and_annotations"))
#t)))
,@(package-arguments base))))))
(define-public python-py2bit (define-public python-py2bit
(package (package

View File

@ -10,6 +10,7 @@
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -854,3 +855,36 @@ public-key cryptography. Asignify is designed to be portable and self-contained
with zero external dependencies. Asignify can verify OpenBSD signatures, but it with zero external dependencies. Asignify can verify OpenBSD signatures, but it
cannot sign messages in OpenBSD format yet.") cannot sign messages in OpenBSD format yet.")
(license license:bsd-2)))) (license license:bsd-2))))
(define-public enchive
(package
(name "enchive")
(version "3.4")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/skeeto/" name "/archive/"
version ".tar.gz"))
(sha256
(base32
"17hrxpp4cpn10bk48sfvfjc8hghky34agsnypam1v9f36kbalqfk"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no check target '
#:make-flags (list "CC=gcc" "PREFIX=$(out)")
#:phases (modify-phases %standard-phases
(delete 'configure)
(add-after 'install 'post-install
(lambda _
(let* ((out (assoc-ref %outputs "out"))
(lisp (string-append out "/share/emacs/site-lisp")))
(install-file "enchive-mode.el" lisp)
#t))))))
(synopsis "Encrypted personal archives")
(description
"Enchive is a tool to encrypt files to yourself for long-term
archival. It's a focused, simple alternative to more complex solutions such as
GnuPG or encrypted filesystems. Enchive has no external dependencies and is
trivial to build for local use. Portability is emphasized over performance.")
(home-page "https://github.com/skeeto/enchive")
(license license:unlicense)))

View File

@ -1783,19 +1783,32 @@ trees (LSM), for sustained throughput under random insert workloads.")
;; configure.ac: WiredTiger requires a 64-bit build. ;; configure.ac: WiredTiger requires a 64-bit build.
(supported-systems '("x86_64-linux" "mips64el-linux" "aarch64-linux")))) (supported-systems '("x86_64-linux" "mips64el-linux" "aarch64-linux"))))
(define-public wiredtiger-3
(package
(inherit wiredtiger)
(name "wiredtiger")
(version "3.1.0")
(source (origin
(method url-fetch)
(uri (string-append "http://source.wiredtiger.com/releases/wiredtiger-"
version ".tar.bz2"))
(sha256
(base32
"014awypv579ascg4jbx4pndj2wld337m79yyzrzyr7hxrff139jx"))))))
(define-public guile-wiredtiger (define-public guile-wiredtiger
(package (package
(name "guile-wiredtiger") (name "guile-wiredtiger")
(version "0.6.3") (version "0.7.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://framagit.org/a-guile-mind/guile-wiredtiger.git") (url "https://framagit.org/a-guile-mind/guile-wiredtiger.git")
(commit "070ed68139d99c279f058a6c293f00292d35dbd7"))) (commit "340ad4bc2ff4dcc6216a2f5c6f9172ca320ac66b")))
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"14rna97wsylajzxfif95wnblq85csgcfc666gh5dl0ssgd7x8llh")))) "15j36bvxxzil7qpwlmh1rffqpva3ynvrcpqhhqbj2c9208ayz595"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:parallel-tests? #f ;; tests can't be run in parallel, yet. '(#:parallel-tests? #f ;; tests can't be run in parallel, yet.
@ -1803,21 +1816,19 @@ trees (LSM), for sustained throughput under random insert workloads.")
(list (string-append "--with-libwiredtiger-prefix=" (list (string-append "--with-libwiredtiger-prefix="
(assoc-ref %build-inputs "wiredtiger"))) (assoc-ref %build-inputs "wiredtiger")))
#:make-flags '("GUILE_AUTO_COMPILE=0"))) #:make-flags '("GUILE_AUTO_COMPILE=0")))
;; TODO: Remove microkanren.scm when we have a separate package
;; for it.
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
("automake" ,automake) ("automake" ,automake)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(inputs (inputs
`(("wiredtiger" ,wiredtiger) `(("wiredtiger" ,wiredtiger-3)
("guile" ,guile-2.2))) ("guile" ,guile-2.2)))
(propagated-inputs (propagated-inputs
`(("guile-lib" ,guile-lib))) ;for (htmlprag) `(("guile-bytestructures" ,guile-bytestructures)))
(synopsis "WiredTiger bindings for GNU Guile") (synopsis "WiredTiger bindings for GNU Guile")
(description (description
"This package provides Guile bindings to the WiredTiger ``NoSQL'' "This package provides Guile bindings to the WiredTiger ``NoSQL''
database. Various higher level database abstractions.") database.")
(home-page "https://framagit.org/a-guile-mind/guile-wiredtiger") (home-page "https://framagit.org/a-guile-mind/guile-wiredtiger")
(license license:gpl3+))) (license license:gpl3+)))

View File

@ -1376,7 +1376,7 @@ environment set through Direnv.")
(define-public emacs-ggtags (define-public emacs-ggtags
(package (package
(name "emacs-ggtags") (name "emacs-ggtags")
(version "0.8.12") (version "0.8.13")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1384,7 +1384,7 @@ environment set through Direnv.")
version ".el")) version ".el"))
(sha256 (sha256
(base32 (base32
"0ny3llk021g6r0s75xdm4hzpbxv393ddm2r6f2xdk8kqnq4gnirp")))) "1qa7lcrcmf76sf6dy8sxbg4adq7rg59fm0n5848w3qxgsr0h45fg"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://github.com/leoliu/ggtags") (home-page "https://github.com/leoliu/ggtags")
(synopsis "Frontend to the GNU Global source code tagging system") (synopsis "Frontend to the GNU Global source code tagging system")
@ -2162,7 +2162,7 @@ keep pressing the key until it selects what you want. There's also
(define-public emacs-fill-column-indicator (define-public emacs-fill-column-indicator
(package (package
(name "emacs-fill-column-indicator") (name "emacs-fill-column-indicator")
(version "1.81") (version "1.89")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -2171,7 +2171,7 @@ keep pressing the key until it selects what you want. There's also
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1xwyqbjbbicmvhlb85vg4j5snwy1vd7rfk89ws4viws5ljkhhyg8")))) "09ab01np14bdcsr38xf95kpnvxzqr46mdjmphg3pigwnx39a3jvg"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://www.emacswiki.org/emacs/FillColumnIndicator") (home-page "https://www.emacswiki.org/emacs/FillColumnIndicator")
(synopsis "Graphically indicate the fill column") (synopsis "Graphically indicate the fill column")
@ -2512,7 +2512,7 @@ snippets for yasnippet.")
(define-public emacs-smart-mode-line (define-public emacs-smart-mode-line
(package (package
(name "emacs-smart-mode-line") (name "emacs-smart-mode-line")
(version "2.10.1") (version "2.12.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -2521,7 +2521,7 @@ snippets for yasnippet.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0i9wajabrrsjzwd842q0m2611kf0q31p9hg1pdj81177gynkw8l8")))) "1hn8s6laijmg7w1bgwdfrki6h9vxkbgr8rmmssvd5yqyad5w2sba"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-rich-minority" ,emacs-rich-minority))) `(("emacs-rich-minority" ,emacs-rich-minority)))
@ -3091,7 +3091,7 @@ an Emacs minor mode that complements the standard @command{lisp-mode}.
While lisp-mode supports editing Lisp source files, @command{slime-mode} While lisp-mode supports editing Lisp source files, @command{slime-mode}
adds support for interacting with a running Common Lisp process adds support for interacting with a running Common Lisp process
for compilation, debugging, documentation lookup, and so on.") for compilation, debugging, documentation lookup, and so on.")
(license license:gpl2+))) (license (list license:gpl2+ license:public-domain))))
(define-public emacs-popup (define-public emacs-popup
(package (package
@ -4757,14 +4757,14 @@ of its name.")
(define-public emacs-rainbow-mode (define-public emacs-rainbow-mode
(package (package
(name "emacs-rainbow-mode") (name "emacs-rainbow-mode")
(version "0.13") (version "1.0.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"http://elpa.gnu.org/packages/rainbow-mode-" version ".el")) "http://elpa.gnu.org/packages/rainbow-mode-" version ".el"))
(sha256 (sha256
(base32 (base32
"1d3aamx6qgqqpqijwsr02ggwrh67gfink1bir0692alfkm3zdddl")))) "0cpga4ax635rfpj7y2vmh7ank0yw00dcy20gjg1mj74r97by8csf"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "http://elpa.gnu.org/packages/rainbow-mode.html") (home-page "http://elpa.gnu.org/packages/rainbow-mode.html")
(synopsis "Colorize color names in buffers") (synopsis "Colorize color names in buffers")
@ -5599,7 +5599,7 @@ This package contains the library runtime.")
(define-public emacs-nginx-mode (define-public emacs-nginx-mode
(package (package
(name "emacs-nginx-mode") (name "emacs-nginx-mode")
(version "1.1.4") (version "1.1.9")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -5609,7 +5609,7 @@ This package contains the library runtime.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1lvkj07kq0jkskr2f61vqb5rlrbnaz9a76ikq40w6925i2r970rr")))) "0bzyrj6zz1hm67bkhw23bam7qc869s3zg7m1rb1c3aa4n0aw90cq"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://github.com/ajc/nginx-mode") (home-page "https://github.com/ajc/nginx-mode")
(synopsis "Emacs major mode for editing nginx config files") (synopsis "Emacs major mode for editing nginx config files")
@ -5814,7 +5814,7 @@ mode-line.")
(define-public emacs-yasnippet (define-public emacs-yasnippet
(package (package
(name "emacs-yasnippet") (name "emacs-yasnippet")
(version "0.12.2") (version "0.13.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/joaotavora/yasnippet/" (uri (string-append "https://github.com/joaotavora/yasnippet/"
@ -5822,7 +5822,7 @@ mode-line.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"01jabaz0g67bsziayrxgv74px55fx4nlrcl0csl8f1by2102pwc5")) "12ls2x17agzbrj1xynjbmfa11igqxia4hj4fv6fpr66yci2r1plc"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -7243,7 +7243,7 @@ or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
(define-public emacs-which-key (define-public emacs-which-key
(package (package
(name "emacs-which-key") (name "emacs-which-key")
(version "3.0.2") (version "3.3.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -7252,7 +7252,7 @@ or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1xvd70cwq9n31f28viyjxmr3nn8l153gsy6scpszvgvjxkiikv24")) "1lsj314111cp2hjjwnv3f46ws1za6bm39rgy3l19044xf6a68j5w"))
(file-name (string-append name "-" version ".tar.gz")))) (file-name (string-append name "-" version ".tar.gz"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
@ -7421,7 +7421,7 @@ created by @code{git format-patch}, from @code{magit}, @code{dired} and
(define-public emacs-erc-hl-nicks (define-public emacs-erc-hl-nicks
(package (package
(name "emacs-erc-hl-nicks") (name "emacs-erc-hl-nicks")
(version "1.3.2") (version "1.3.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -7430,7 +7430,7 @@ created by @code{git format-patch}, from @code{magit}, @code{dired} and
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"01svpl9bps5kx4y1wnymakxya2cznqmlynvqv2r500wpnbxczrbs")))) "1a1r2kc3688g8c2ybkpwh88kgmnqhg3h3032g2yn4zr9m0n3vpkr"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(synopsis "Nickname highlighting for Emacs ERC") (synopsis "Nickname highlighting for Emacs ERC")
(description "@code{erc-hl-nicks} highlights nicknames in ERC, an IRC (description "@code{erc-hl-nicks} highlights nicknames in ERC, an IRC
@ -9736,7 +9736,7 @@ documentation.")
(define-public emacs-hy-mode (define-public emacs-hy-mode
(package (package
(name "emacs-hy-mode") (name "emacs-hy-mode")
(version "1.0.2") (version "1.0.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -9745,7 +9745,7 @@ documentation.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0sbga36zkyhzrzcczsyjzll7b9qsa215pnlw51m4li2irm23jh17")))) "0b4pvbr2hf77bq2vsyfsv653q0dab7qzq85wc7kdziw7687jdf2z"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-dash" ,emacs-dash) `(("emacs-dash" ,emacs-dash)

View File

@ -246,8 +246,8 @@ canyons and wait for the long I-shaped block to clear four rows at a time.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public cataclysm-dda (define-public cataclysm-dda
(let ((commit "ad3b0c3d521292d119f97a83390e7acfe9e9e7f7") (let ((commit "0b2c194e5c6a06f4fbf14a0ec1260e0f3cf2567c")
(revision "1")) (revision "2"))
(package (package
(name "cataclysm-dda") (name "cataclysm-dda")
;; This denotes the version released after the 0.C release. ;; This denotes the version released after the 0.C release.
@ -260,7 +260,7 @@ canyons and wait for the long I-shaped block to clear four rows at a time.")
(commit commit))) (commit commit)))
(sha256 (sha256
(base32 (base32
"1kdgbl8zqd53f5yilm2c9nyq3w6585yxl5jvgxy65dlpzxcqqj7y")) "1yzsn0y2g27bvbxjvivjyjhkmf2w5na1qqw5qfkswcfqqwym2y33"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
@ -1000,7 +1000,7 @@ Every puzzle has a complete solution, although there may be more than one.")
(define-public retux (define-public retux
(package (package
(name "retux") (name "retux")
(version "1.3.5") (version "1.3.6")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://savannah/retux/" (uri (string-append "mirror://savannah/retux/"
@ -1008,7 +1008,7 @@ Every puzzle has a complete solution, although there may be more than one.")
version "-src.tar.gz")) version "-src.tar.gz"))
(sha256 (sha256
(base32 (base32
"1pcrh3z16fl412r3k7xccrgika19ahb1xh90jihgl8yy7zza2i6p")))) "01bidh4zisjp3nc436x0g85v60dvwb3ig37i7y01sa71j8fm4fmb"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:tests? #f ; no check target `(#:tests? #f ; no check target
@ -2137,7 +2137,7 @@ falling, themeable graphics and sounds, and replays.")
(define-public wesnoth (define-public wesnoth
(package (package
(name "wesnoth") (name "wesnoth")
(version "1.14.4") (version "1.14.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/wesnoth/wesnoth-" (uri (string-append "mirror://sourceforge/wesnoth/wesnoth-"
@ -2146,7 +2146,7 @@ falling, themeable graphics and sounds, and replays.")
name "-" version ".tar.bz2")) name "-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1hw1ap8xxpdwyx1sf8fm1g75p6724y3hwb4kpvyqbsq7bwfwsb9i")))) "1kgpj2f22nnx4mwd1zis3s5ny2983aasgqsmz7wnqaq7n6a7ac85"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f)) ; no check target `(#:tests? #f)) ; no check target
@ -5355,7 +5355,7 @@ You can save humanity and get programming skills!")
(build-system cmake-build-system) (build-system cmake-build-system)
(inputs `(("bzip2" ,bzip2) (inputs `(("bzip2" ,bzip2)
("fluid-3" ,fluid-3) ("fluid-3" ,fluid-3)
("fluidsynth" ,fluidsynth) ("fluidsynth" ,fluidsynth-1) ;XXX: try using 2.x when updating
("gtk+3" ,gtk+) ("gtk+3" ,gtk+)
("libgme" ,libgme) ("libgme" ,libgme)
("libjpeg" ,libjpeg) ("libjpeg" ,libjpeg)

View File

@ -787,7 +787,7 @@ programming langauage. It also contains the utility
(define-public appstream-glib (define-public appstream-glib
(package (package
(name "appstream-glib") (name "appstream-glib")
(version "0.7.12") (version "0.7.14")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://people.freedesktop.org/~hughsient/" (uri (string-append "https://people.freedesktop.org/~hughsient/"
@ -795,7 +795,7 @@ programming langauage. It also contains the utility
"appstream-glib-" version ".tar.xz")) "appstream-glib-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1jcb2bggcic3iczr2hn8zp8a3c2hl1xjij0aawr7kwqmzh9b3jms")))) "0n0s99jmx2sx5895lcvmfjwa9r0f06i71495dpn9v9frz4asvk3d"))))
(build-system meson-build-system) (build-system meson-build-system)
(native-inputs (native-inputs
`(("gettext" ,gettext-minimal) `(("gettext" ,gettext-minimal)

View File

@ -398,28 +398,30 @@ access the common Google services, and has full asynchronous support.")
(define-public libgxps (define-public libgxps
(package (package
(name "libgxps") (name "libgxps")
(version "0.2.5") (version "0.3.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/" (version-major+minor version) "/"
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(patches (search-patches "libgxps-CVE-2017-11590.patch"))
(sha256 (sha256
(base32 (base32
"184r06s8g20cfigg7m169n42jjsc9wmzzlycr4g1fxxhr72r8x9y")))) "1bhgrpb6ndlp11qwr95g9piklmjcsca7bi04f8gy9ziipm1i6as1"))))
(build-system gnu-build-system) (build-system meson-build-system)
(native-inputs (native-inputs
`(("gobject-introspection" ,gobject-introspection) `(("gobject-introspection" ,gobject-introspection)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(inputs (inputs
`(("cairo" ,cairo) `(("gtk+" ,gtk+)
("glib" ,glib) ("libjpeg" ,libjpeg-turbo)
("libarchive" ,libarchive)
("libjpeg" ,libjpeg)
("lcms" ,lcms) ("lcms" ,lcms)
("libtiff" ,libtiff) ("libtiff" ,libtiff)
("nettle" ,nettle))) ("nettle" ,nettle)))
(propagated-inputs
;; In Requires of libgxps.pc.
`(("cairo" ,cairo)
("glib" ,glib)
("libarchive" ,libarchive)))
(home-page "https://wiki.gnome.org/Projects/libgxps") (home-page "https://wiki.gnome.org/Projects/libgxps")
(synopsis "GObject-based library for handling and rendering XPS documents") (synopsis "GObject-based library for handling and rendering XPS documents")
(description (description
@ -7226,6 +7228,71 @@ It supports ripping to any audio codec supported by a GStreamer plugin, such as
mp3, Ogg Vorbis and FLAC") mp3, Ogg Vorbis and FLAC")
(license license:gpl2+))) (license license:gpl2+)))
(define-public soundconverter
(package
(name "soundconverter")
(version "3.0.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://launchpad.net/soundconverter/trunk/"
version "/+download/"
"soundconverter-" version ".tar.xz"))
(sha256
(base32
"1wrxf5py54xplrf97qp24pzbis0cvax5c6k0c7vr3z3ry8r7gd7c"))
(patches
(search-patches
"soundconverter-remove-gconf-dependency.patch"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:imported-modules ((guix build python-build-system)
(guix build glib-or-gtk-build-system)
,@%gnu-build-system-modules)
#:modules ((guix build glib-or-gtk-build-system)
(guix build utils)
((guix build gnu-build-system) #:prefix gnu:)
((guix build python-build-system) #:prefix python:))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-POTFILES.in
(lambda _
(substitute* "po/POTFILES.in"
;; This file doesn't exist, so without removing it, the 'check
;; phase fails for the po directory
(("soundconverter/gconfstore\\.py") ""))))
(add-after 'install 'wrap-soundconverter-for-python
(assoc-ref python:%standard-phases 'wrap))
(add-after 'install 'wrap-soundconverter
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(gi-typelib-path (getenv "GI_TYPELIB_PATH"))
(gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
(wrap-program (string-append out "/bin/soundconverter")
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
`("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
#t)))))
(native-inputs
`(("intltool" ,intltool)
("pkg-config" ,pkg-config)
("glib:bin" ,glib "bin")))
(inputs
`(("gtk+" ,gtk+)
("python" ,python)
("python-pygobject" ,python-pygobject)
("gstreamer" ,gstreamer)
("gst-plugins-base" ,gst-plugins-base)))
(home-page "http://soundconverter.org/")
(synopsis "Convert between audio formats with a graphical interface")
(description
"SoundConverter supports converting between many audio formats including
Opus, Ogg Vorbis, FLAC and more. It supports parallel conversion, and
configurable file renaming. ")
(license license:gpl3)))
(define-public workrave (define-public workrave
(let ((commit "v1_10_21")) (let ((commit "v1_10_21"))
(package (package

View File

@ -1948,27 +1948,43 @@ designs.")
license:asl2.0 license:asl2.0
license:cpl1.0))))) license:cpl1.0)))))
(define-public javacc (define-public javacc-4
(package (package
(name "javacc") (name "javacc")
(version "7.0.3") (version "4.1")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/javacc/javacc/" (uri (git-reference
"archive/" version ".tar.gz")) (url "https://github.com/javacc/javacc.git")
(file-name (string-append "javacc-" version ".tar.gz")) (commit "release_41")))
(file-name (string-append "javacc-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"111xc9mnmc5a6qz6x3xbhqc07y1lg2b996ggzw0hrblg42zya9xf")))) "07ysav7j8r1c6h8qxrgqk6lwdp74ly0ad1935lragxml0qqc3ka0"))
(modules '((guix build utils)))
;; delete bundled jars
(snippet '(begin (delete-file-recursively "lib") #t))))
(build-system ant-build-system) (build-system ant-build-system)
;; Tests fail with
;; /tmp/guix-build-javacc-4.1.drv-0/source/test/javacodeLA/build.xml:60:
;; JAVACODE failed
(arguments (arguments
`(#:test-target "test" `(#:tests? #f
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'delete-bundled-libs ;; Delete tests to avoid build failure (we don't run them anyway).
(add-after 'unpack 'delete-tests
(lambda _ (lambda _
(delete-file-recursively "lib") #t)) (for-each delete-file
(replace 'install (install-jars "target"))))) '("src/org/javacc/JavaCCTestCase.java"
"src/org/javacc/parser/ExpansionTest.java"
"src/org/javacc/parser/OptionsTest.java"
"src/org/javacc/jjtree/JJTreeOptionsTest.java"))
(for-each delete-file-recursively
'("src/org/javacc/parser/test"
"src/org/javacc/jjdoc/test"))
#t))
(replace 'install (install-jars "bin/lib")))))
(home-page "https://javacc.org/") (home-page "https://javacc.org/")
(synopsis "Java parser generator") (synopsis "Java parser generator")
(description "Java Compiler Compiler (JavaCC) is the most popular parser (description "Java Compiler Compiler (JavaCC) is the most popular parser
@ -1980,29 +1996,34 @@ as tree building (via a tool called JJTree included with JavaCC), actions,
debugging, etc.") debugging, etc.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public javacc-4 (define-public javacc
(package (inherit javacc) (package
(version "4.1") (inherit javacc-4)
(version "7.0.3")
(source (origin (source (origin
(method git-fetch) (method url-fetch)
(uri (git-reference (uri (string-append "https://github.com/javacc/javacc/"
(url "https://github.com/javacc/javacc.git") "archive/" version ".tar.gz"))
(commit "release_41"))) (file-name (string-append "javacc-" version ".tar.gz"))
(file-name (string-append "javacc-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"07ysav7j8r1c6h8qxrgqk6lwdp74ly0ad1935lragxml0qqc3ka0")))) "111xc9mnmc5a6qz6x3xbhqc07y1lg2b996ggzw0hrblg42zya9xf"))
;; Tests fail with (modules '((guix build utils)))
;; /tmp/guix-build-javacc-4.1.drv-0/source/test/javacodeLA/build.xml:60: ;; delete bundled jars
;; JAVACODE failed (snippet '(begin (for-each delete-file-recursively
'("bootstrap" "lib"))
#t))))
(arguments (arguments
`(#:tests? #f `(#:make-flags ; bootstrap from javacc-4
(list (string-append "-Dbootstrap-jar="
(assoc-ref %build-inputs "javacc")
"/share/java/javacc.jar"))
#:test-target "test"
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'delete-bundled-libs (replace 'install (install-jars "target")))))
(lambda _ (native-inputs
(delete-file-recursively "lib") #t)) `(("javacc" ,javacc-4)))))
(replace 'install (install-jars "bin/lib")))))))
;; This is the last 3.x release of ECJ ;; This is the last 3.x release of ECJ
(define-public java-ecj-3 (define-public java-ecj-3

View File

@ -317,6 +317,11 @@ generator library for C++.")
(string-append (assoc-ref inputs "tzdata") (string-append (assoc-ref inputs "tzdata")
"/share/zoneinfo"))) "/share/zoneinfo")))
;; Don't phone home to check for updates.¬
(substitute* "system/addon-manifest.xml"¬
(("<addon optional=\\\"true\\\">service.xbmc.versioncheck</addon>")
""))
;; Let's disable some tests that are known not to work here. ;; Let's disable some tests that are known not to work here.
;; Doing this later while in the cmake "../build" directory ;; Doing this later while in the cmake "../build" directory
;; is trickier. ;; is trickier.

View File

@ -399,8 +399,8 @@ It has been modified to remove all non-free binary blobs.")
;; supports qemu "virt" machine and possibly a large number of ARM boards. ;; supports qemu "virt" machine and possibly a large number of ARM boards.
;; See : https://wiki.debian.org/DebianKernel/ARMMP. ;; See : https://wiki.debian.org/DebianKernel/ARMMP.
(define %linux-libre-version "4.18.14") (define %linux-libre-version "4.18.15")
(define %linux-libre-hash "1gwwx8l283w8v1zylw2haqahvjns5dzqxx9li2586nnl8cfmfnwc") (define %linux-libre-hash "0v6xs85qn1iy2dj3m6s3cfnhbwb1mjy21d9lagjni8dg3jic26hf")
(define %linux-libre-4.18-patches (define %linux-libre-4.18-patches
(list %boot-logo-patch (list %boot-logo-patch
@ -430,8 +430,8 @@ It has been modified to remove all non-free binary blobs.")
#:patches %linux-libre-4.18-patches #:patches %linux-libre-4.18-patches
#:configuration-file kernel-config)) #:configuration-file kernel-config))
(define %linux-libre-4.14-version "4.14.76") (define %linux-libre-4.14-version "4.14.77")
(define %linux-libre-4.14-hash "1y5zqf84ngb6f5f85xpd4bdy6mlxr52x19bx3mdrp82awc9fvr7q") (define %linux-libre-4.14-hash "18y81rga2lhsk7bjckglxz52pvnzf103ar0z2zj611g37wyf83r5")
(define-public linux-libre-4.14 (define-public linux-libre-4.14
(make-linux-libre %linux-libre-4.14-version (make-linux-libre %linux-libre-4.14-version
@ -440,8 +440,8 @@ It has been modified to remove all non-free binary blobs.")
#:configuration-file kernel-config)) #:configuration-file kernel-config))
(define-public linux-libre-4.9 (define-public linux-libre-4.9
(make-linux-libre "4.9.133" (make-linux-libre "4.9.134"
"1vr94czdv5alzsgm2k1r6wqm01r2zafrayjn10l6kdr4g7aga488" "0f5qif27k0mhc57d98arbfkq7zlvg0ra2gz6g5fasblyjz3j7w7h"
%intel-compatible-systems %intel-compatible-systems
#:configuration-file kernel-config)) #:configuration-file kernel-config))
@ -3671,7 +3671,7 @@ The collection contains a set of bandwidth and latency benchmark such as:
(package (package
(name "rng-tools") (name "rng-tools")
(home-page "https://github.com/nhorman/rng-tools") (home-page "https://github.com/nhorman/rng-tools")
(version "6.5") (version "6.6")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (url home-page) (uri (git-reference (url home-page)
@ -3679,7 +3679,7 @@ The collection contains a set of bandwidth and latency benchmark such as:
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"11kw1rcgzmgzwk7g1w2g0nzjraqb0pf24gxpy50k4ls2qxslw3rk")))) "0c32sxfvngdjzfmxn5ngc5yxwi8ij3yl216nhzyz9r31qi3m14v7"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(;; Avoid using OpenSSL, curl, and libxml2, reducing the closure by 166 MiB. `(;; Avoid using OpenSSL, curl, and libxml2, reducing the closure by 166 MiB.

File diff suppressed because it is too large Load Diff

View File

@ -763,14 +763,14 @@ invoking @command{notifymuch} from the post-new hook.")
(define-public notmuch (define-public notmuch
(package (package
(name "notmuch") (name "notmuch")
(version "0.27") (version "0.28")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://notmuchmail.org/releases/notmuch-" (uri (string-append "https://notmuchmail.org/releases/notmuch-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0xh8vq2sa7r07xb3n13drc6gdiqhcgl0pj0za5xj43qkiwpikls0")))) "0dqarmjc8544m2w7bqrqmvsfy55fw82707z3lz9cql8nr777bjmc"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:modules ((guix build gnu-build-system) `(#:modules ((guix build gnu-build-system)

View File

@ -2659,7 +2659,7 @@ to BMP, JPEG or PNG image formats.")
(define-public maxima (define-public maxima
(package (package
(name "maxima") (name "maxima")
(version "5.41.0") (version "5.42.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -2667,7 +2667,7 @@ to BMP, JPEG or PNG image formats.")
version "-source/" name "-" version ".tar.gz")) version "-source/" name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0x0n81z0s4pl8nwpf7ivlsbvsdphm9w42250g7qdkizl0132by6s")) "0d5pdihvcbwb7r4i4qs5qqgsz46hxlq33qj8is053llrgn9ylpyn"))
(patches (search-patches "maxima-defsystem-mkdir.patch")))) (patches (search-patches "maxima-defsystem-mkdir.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs

View File

@ -3568,7 +3568,7 @@ are a C compiler and glib. Full API documentation and examples are included.")
("fltk" ,fltk) ("fltk" ,fltk)
("libogg" ,libogg) ("libogg" ,libogg)
("libsamplerate" ,libsamplerate) ("libsamplerate" ,libsamplerate)
("fluidsynth" ,fluidsynth) ("fluidsynth" ,fluidsynth-1) ;XXX: try using 2.x when updating
("libvorbis" ,libvorbis) ("libvorbis" ,libvorbis)
("alsa-lib" ,alsa-lib) ("alsa-lib" ,alsa-lib)
("portaudio" ,portaudio) ("portaudio" ,portaudio)

View File

@ -160,7 +160,7 @@ index 5e4cdfd..690f180 100644
/* Try to make this image bootable using the EFI Boot Manager, if available. */ /* Try to make this image bootable using the EFI Boot Manager, if available. */
if (!efi_distributor || efi_distributor[0] == '\0') if (!efi_distributor || efi_distributor[0] == '\0')
@@ -1887,8 +1892,11 @@ main (int argc, char *argv[]) @@ -1887,7 +1892,10 @@ main (int argc, char *argv[])
efidir_grub_dev->disk->name, efidir_grub_dev->disk->name,
(part ? ",": ""), (part ? : "")); (part ? ",": ""), (part ? : ""));
grub_free (part); grub_free (part);
@ -173,4 +173,25 @@ index 5e4cdfd..690f180 100644
+ strerror (ret)); + strerror (ret));
} }
break; break;
Below is a followup to the patch above: the uninitialized variable could lead
grub-install to error out when it shouldnt (seen on an AArch64 box where
grub_install_remove_efi_entries_by_distributor didn't have any entry to
remove):
grub-install: error: efibootmgr failed to register the boot entry: Unknown error 65535.
See <http://lists.gnu.org/archive/html/bug-grub/2018-10/msg00006.html>.
--- grub-2.02/grub-core/osdep/unix/platform.c 2018-10-17 22:21:53.015284846 +0200
+++ grub-2.02/grub-core/osdep/unix/platform.c 2018-10-17 22:21:55.595271222 +0200
@@ -85,7 +85,7 @@ grub_install_remove_efi_entries_by_distr
pid_t pid = grub_util_exec_pipe ((const char * []){ "efibootmgr", NULL }, &fd);
char *line = NULL;
size_t len = 0;
- int rc;
+ int rc = 0;
if (!pid)
{

View File

@ -1,48 +0,0 @@
Fix CVE-2017-11590:
https://bugzilla.gnome.org/show_bug.cgi?id=785479
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-11590
Patch copied from upstream source repository:
https://git.gnome.org/browse/libgxps/commit/?id=9d5d292055250ed298f3b89dc332d6db4003a031
From 9d5d292055250ed298f3b89dc332d6db4003a031 Mon Sep 17 00:00:00 2001
From: Marek Kasik <mkasik@redhat.com>
Date: Wed, 26 Jul 2017 16:23:37 +0200
Subject: archive: Check for pathname being NULL before dereferencing
Check whether "archive_entry_pathname ()" returns a non-NULL pathname
before using it to avoid a NULL pointer being dereferenced.
https://bugzilla.gnome.org/show_bug.cgi?id=785479
---
libgxps/gxps-archive.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/libgxps/gxps-archive.c b/libgxps/gxps-archive.c
index acf8d7d..e763773 100644
--- a/libgxps/gxps-archive.c
+++ b/libgxps/gxps-archive.c
@@ -257,6 +257,7 @@ gxps_archive_initable_init (GInitable *initable,
GXPSArchive *archive;
ZipArchive *zip;
struct archive_entry *entry;
+ const gchar *pathname;
archive = GXPS_ARCHIVE (initable);
@@ -281,7 +282,9 @@ gxps_archive_initable_init (GInitable *initable,
while (gxps_zip_archive_iter_next (zip, &entry)) {
/* FIXME: We can ignore directories here */
- g_hash_table_add (archive->entries, g_strdup (archive_entry_pathname (entry)));
+ pathname = archive_entry_pathname (entry);
+ if (pathname != NULL)
+ g_hash_table_add (archive->entries, g_strdup (pathname));
archive_read_data_skip (zip->archive);
}
--
cgit v0.12

View File

@ -1,31 +1,17 @@
Fix "Hostname" parsing in OpenSSH config files, as reported It does not handle the case for the unsupported opcode (-1)
at <https://red.libssh.org/issues/260>.
From: Niels Ole Salscheider <niels_ole@salscheider-online.de>
Date: Mon, 8 May 2017 17:36:13 +0200
Subject: [PATCH] Fix reading of the first parameter
This is a fixup for 7b8b5eb4eac314a3a29be812bef0264c6611f6e7.
Previously, it would return as long as the parameter was _not_ seen
before. It also did not handle the case for the unsupported opcode (-1)
which would cause a segfault when accessing the "seen" array. which would cause a segfault when accessing the "seen" array.
---
src/config.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/config.c b/src/config.c diff --git a/src/config.c b/src/config.c
index 7c03b27..238a655 100644 index c5313ec8..72e07639 100644
--- a/src/config.c --- a/src/config.c
+++ b/src/config.c +++ b/src/config.c
@@ -218,8 +218,9 @@ static int ssh_config_parse_line(ssh_session session, const char *line, @@ -218,7 +218,8 @@ static int ssh_config_parse_line(ssh_session session, const char *line,
} }
opcode = ssh_config_get_opcode(keyword); opcode = ssh_config_get_opcode(keyword);
- if (*parsing == 1 && opcode != SOC_HOST) { - if (*parsing == 1 && opcode != SOC_HOST) {
- if (seen[opcode] == 0) {
+ if (*parsing == 1 && opcode != SOC_HOST && + if (*parsing == 1 && opcode != SOC_HOST &&
+ opcode > SOC_UNSUPPORTED && opcode < SOC_END) { + opcode > SOC_UNSUPPORTED && opcode < SOC_END) {
+ if (seen[opcode] == 1) { if (seen[opcode] != 0) {
return 0; return 0;
} }
seen[opcode] = 1;

View File

@ -0,0 +1,83 @@
From: Sebastian Ramacher <sebastian@ramacher.at>
Date: Fri, 6 Apr 2018 13:25:35 +0200
Subject: Only fetch profiles if GConf is still available
---
bin/soundconverter.py | 1 -
soundconverter/gstreamer.py | 44 ++++++++++++++++++++++++--------------------
2 files changed, 24 insertions(+), 21 deletions(-)
diff --git a/bin/soundconverter.py b/bin/soundconverter.py
index 39055ce..5198443 100644
--- a/bin/soundconverter.py
+++ b/bin/soundconverter.py
@@ -66,7 +66,6 @@ def _check_libs():
import gi
gi.require_version('Gst', '1.0')
gi.require_version('Gtk', '3.0')
- gi.require_version('GConf', '2.0')
from gi.repository import GObject
# force GIL creation - see https://bugzilla.gnome.org/show_bug.cgi?id=710447
import threading
diff --git a/soundconverter/gstreamer.py b/soundconverter/gstreamer.py
index 23aaa9b..211b052 100644
--- a/soundconverter/gstreamer.py
+++ b/soundconverter/gstreamer.py
@@ -25,7 +25,7 @@ from urllib.parse import urlparse
from gettext import gettext as _
import gi
-from gi.repository import Gst, Gtk, GObject, GConf, Gio
+from gi.repository import Gst, Gtk, GObject, Gio
from soundconverter.fileoperations import vfs_encode_filename, file_encode_filename
from soundconverter.fileoperations import unquote_filename, vfs_makedirs, vfs_unlink
@@ -66,25 +66,29 @@ _GCONF_PROFILE_LIST_PATH = "/system/gstreamer/1.0/audio/global/profile_list"
audio_profiles_list = []
audio_profiles_dict = {}
-_GCONF = GConf.Client.get_default()
-profiles = _GCONF.all_dirs(_GCONF_PROFILE_LIST_PATH)
-for name in profiles:
- if _GCONF.get_bool(_GCONF_PROFILE_PATH + name + "/active"):
- # get profile
- description = _GCONF.get_string(_GCONF_PROFILE_PATH + name + "/name")
- extension = _GCONF.get_string(_GCONF_PROFILE_PATH + name + "/extension")
- pipeline = _GCONF.get_string(_GCONF_PROFILE_PATH + name + "/pipeline")
- # check profile validity
- if not extension or not pipeline:
- continue
- if not description:
- description = extension
- if description in audio_profiles_dict:
- continue
- # store
- profile = description, extension, pipeline
- audio_profiles_list.append(profile)
- audio_profiles_dict[description] = profile
+try:
+ from gi.repository import GConf
+ _GCONF = GConf.Client.get_default()
+ profiles = _GCONF.all_dirs(_GCONF_PROFILE_LIST_PATH)
+ for name in profiles:
+ if _GCONF.get_bool(_GCONF_PROFILE_PATH + name + "/active"):
+ # get profile
+ description = _GCONF.get_string(_GCONF_PROFILE_PATH + name + "/name")
+ extension = _GCONF.get_string(_GCONF_PROFILE_PATH + name + "/extension")
+ pipeline = _GCONF.get_string(_GCONF_PROFILE_PATH + name + "/pipeline")
+ # check profile validity
+ if not extension or not pipeline:
+ continue
+ if not description:
+ description = extension
+ if description in audio_profiles_dict:
+ continue
+ # store
+ profile = description, extension, pipeline
+ audio_profiles_list.append(profile)
+ audio_profiles_dict[description] = profile
+except ImportError:
+ pass
required_elements = ('decodebin', 'fakesink', 'audioconvert', 'typefind', 'audiorate')
for element in required_elements:

View File

@ -131,14 +131,14 @@ data as produced by digital cameras.")
(define-public libgphoto2 (define-public libgphoto2
(package (package
(name "libgphoto2") (name "libgphoto2")
(version "2.5.18") (version "2.5.19")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/gphoto/libgphoto/" (uri (string-append "mirror://sourceforge/gphoto/libgphoto/"
version "/libgphoto2-" version ".tar.bz2")) version "/libgphoto2-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1v57ayp17j88bj79nl7rf4iyajbxx00kgb4l5k3kbv50gjfvh5sv")))) "0qrcc6kajbfb237paxrl904vvwl7hd8mnqvjw00j6m5qwd93wlk2"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config))) (native-inputs `(("pkg-config" ,pkg-config)))
(inputs (inputs

View File

@ -10131,14 +10131,14 @@ functionality in the command line.")
(define-public python-glances (define-public python-glances
(package (package
(name "python-glances") (name "python-glances")
(version "2.7.1") (version "3.0.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "Glances" version)) (uri (pypi-uri "Glances" version))
(sha256 (sha256
(base32 (base32
"11jbq40g8alsbirnd4kiagznqg270247i0m8qhi48ldf2i5xppxg")))) "09fxysfp1n16csqvzvawy74qm6a94nvwjf3vcf5gkqp4i6k4vjjy"))))
(build-system python-build-system) (build-system python-build-system)
(propagated-inputs (propagated-inputs
`(("python-psutil" ,python-psutil))) `(("python-psutil" ,python-psutil)))

View File

@ -29,7 +29,7 @@
(define-public re2 (define-public re2
(package (package
(name "re2") (name "re2")
(version "2018-09-01") (version "2018-10-01")
(home-page "https://github.com/google/re2") (home-page "https://github.com/google/re2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -37,7 +37,7 @@
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0hygr88hvy7if1i45m5r6x60zf73439j2fwzw7wwcw9gb01v690l")))) "10fsxsj3yip34hp2zl5rw8h2x2lgnp83fwrh7m0qfd9m99qrf4x3"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:modules ((guix build gnu-build-system) `(#:modules ((guix build gnu-build-system)

View File

@ -65,40 +65,36 @@
#:use-module (srfi srfi-1)) #:use-module (srfi srfi-1))
(define-public libssh (define-public libssh
;; This commit from the 'v0-7' branch contains 7 memory-management-related (package
;; bug fixes that we'd rather have. (name "libssh")
(let ((commit "239d0f75b5f909174c2ef7fb08d23bcfa6b20ba0") (version "0.7.6")
(revision "0")) (source (origin
(package (method git-fetch)
(name "libssh") (uri (git-reference
(version (git-version "0.7.5" revision commit)) (url "https://git.libssh.org/projects/libssh.git")
(source (origin (commit (string-append "libssh-" version))))
(method git-fetch) (patches (search-patches "libssh-hostname-parser-bug.patch"))
(uri (git-reference (sha256
(url "https://git.libssh.org/projects/libssh.git") (base32
(commit commit))) "0slwqa36mhyb6brdv2jvb9fxp7rvsv3ziv67kaxx615jxn52l5pa"))
(sha256 (file-name (git-file-name name version))))
(base32 (build-system cmake-build-system)
"01w72w1jsgs9ilj3n1gp6qkmdxr9n74i5h2nipi3x1vzm7bv8na1")) (outputs '("out" "debug"))
(patches (search-patches "libssh-hostname-parser-bug.patch")) (arguments
(file-name (git-file-name name version)))) '(#:configure-flags '("-DWITH_GCRYPT=ON")
(build-system cmake-build-system)
(outputs '("out" "debug"))
(arguments
'(#:configure-flags '("-DWITH_GCRYPT=ON")
;; TODO: Add 'CMockery' and '-DWITH_TESTING=ON' for the test suite. ;; TODO: Add 'CMockery' and '-DWITH_TESTING=ON' for the test suite.
#:tests? #f)) #:tests? #f))
(inputs `(("zlib" ,zlib) (inputs `(("zlib" ,zlib)
("libgcrypt" ,libgcrypt))) ("libgcrypt" ,libgcrypt)))
(synopsis "SSH client library") (synopsis "SSH client library")
(description (description
"libssh is a C library implementing the SSHv2 and SSHv1 protocol for "libssh is a C library implementing the SSHv2 and SSHv1 protocol for client
client and server implementations. With libssh, you can remotely execute and server implementations. With libssh, you can remotely execute programs,
programs, transfer files, and use a secure and transparent tunnel for your transfer files, and use a secure and transparent tunnel for your remote
remote applications.") applications.")
(home-page "https://www.libssh.org") (home-page "https://www.libssh.org")
(license license:lgpl2.1+)))) (license license:lgpl2.1+)))
(define-public libssh2 (define-public libssh2
(package (package

View File

@ -4506,3 +4506,248 @@ including:
It also ensures compatibility with the @code{media9} and @code{animate} packages.") It also ensures compatibility with the @code{media9} and @code{animate} packages.")
(license license:lppl))) (license license:lppl)))
(define-public texlive-latex-ms
(package
(name "texlive-latex-ms")
(version (number->string %texlive-revision))
(source (origin
(method svn-fetch)
(uri (texlive-ref "latex" "ms"))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0m4wx3yjb5al1qsv995z8fii8xxy96mcfihbnlx43lpgayiwz35s"))))
(build-system texlive-build-system)
(arguments
'(#:tex-directory "latex/ms"
#:tex-format "latex"))
(home-page "https://ctan.org/pkg/ms")
(synopsis "Various LATEX packages by Martin Schröder")
(description
"A bundle of LATEX packages by Martin Schröder; the collection comprises:
@itemize
@item @command{count1to}, make use of fixed TEX counters;
@item @command{everysel}, set commands to execute every time a font is selected;
@item @command{everyshi}, set commands to execute whenever a page is shipped out;
@item @command{multitoc}, typeset the table of contents in multiple columns;
@item @command{prelim2e}, mark typeset pages as preliminary; and
@item @command{ragged2e}, typeset ragged text and allow hyphenation.
@end itemize\n")
(license license:lppl1.3c+)))
(define-public texlive-latex-needspace
(package
(name "texlive-latex-needspace")
(version (number->string %texlive-revision))
(source (origin
(method svn-fetch)
(uri (texlive-ref "latex" "needspace"))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0kw80f5jh4gdpa2ka815abza3gr5z8b929w0745vrlc59pl0017y"))))
(build-system texlive-build-system)
(arguments
'(#:tex-directory "latex/needspace"
#:tex-format "latex"))
(inputs
`(("texlive-latex-filecontents" ,texlive-latex-filecontents)))
(home-page "https://www.ctan.org/pkg/needspace")
(synopsis "Insert pagebreak if not enough space")
(description
"Provides commands to disable pagebreaking within a given vertical
space. If there is not enough space between the command and the bottom of the
page, a new page will be started.")
(license license:lppl)))
(define-public texlive-latex-eukdate
(package
(name "texlive-latex-eukdate")
(version (number->string %texlive-revision))
(source
(origin
(method svn-fetch)
(uri (svn-reference
(url (string-append "svn://www.tug.org/texlive/tags/"
%texlive-tag "/Master/texmf-dist/"
"/tex/latex/eukdate"))
(revision %texlive-revision)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"18xan116l8w47v560bkw6nbhkrml7g04xrlzk3jrpc7qsyf3n5fz"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let ((target (string-append (assoc-ref %outputs "out")
"/share/texmf-dist/tex/latex/eukdate")))
(mkdir-p target)
(copy-recursively (assoc-ref %build-inputs "source") target)
#t))))
(home-page "https://www.ctan.org/pkg/eukdate")
(synopsis "UK format dates, with weekday")
(description
"The package is used to change the format of @code{\\today}s date,
including the weekday, e.g., \"Saturday, 26 June 2008\", the 'UK format', which
is preferred in many parts of the world, as distinct from that which is used in
@code{\\maketitle} of the article class, \"June 26, 2008\", the 'US format'.")
(license license:lppl)))
(define-public texlive-generic-ulem
(package
(name "texlive-generic-ulem")
(version (number->string %texlive-revision))
(source
(origin
(method svn-fetch)
(uri (svn-reference
(url (string-append "svn://www.tug.org/texlive/tags/"
%texlive-tag "/Master/texmf-dist/"
"/tex/generic/ulem"))
(revision %texlive-revision)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1rzdniqq9zk39w8ch8ylx3ywh2mj87s4ivchrsk2b8nx06jyn797"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let ((target (string-append (assoc-ref %outputs "out")
"/share/texmf-dist/tex/generic/ulem")))
(mkdir-p target)
(copy-recursively (assoc-ref %build-inputs "source") target)
#t))))
(home-page "https://www.ctan.org/pkg/ulem")
(synopsis "Underline text in TeX")
(description
"The package provides an @code{\\ul} (underline) command which will break
over line ends; this technique may be used to replace @code{\\em} (both in that
form and as the @code{\\emph} command), so as to make output look as if it comes
from a typewriter. The package also offers double and wavy underlining, and
striking out (line through words) and crossing out (/// over words).")
(license license:lppl1.3c+)))
(define-public texlive-latex-pgf
(package
(name "texlive-latex-pgf")
(version (number->string %texlive-revision))
(source
(origin
(method svn-fetch)
(uri (svn-reference
(url (string-append "svn://www.tug.org/texlive/tags/"
%texlive-tag "/Master/texmf-dist/"
"/tex/latex/pgf"))
(revision %texlive-revision)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1dq8p10pz8wn0vx412m7d7d5gj1syxly3yqdqvf7lv2xl8zndn5h"))))
(build-system trivial-build-system)
(native-inputs
`(("texlive-latex-pgf-generic"
,(origin
(method svn-fetch)
(uri (svn-reference
(url (string-append "svn://www.tug.org/texlive/tags/"
%texlive-tag "/Master/texmf-dist/"
"/tex/generic/pgf"))
(revision %texlive-revision)))
(file-name (string-append "texlive-latex-pgf-generic" version "-checkout"))
(sha256
(base32
"0xkxw26sjzr5npjpzpr28yygwdbhzpdd0hsk80gjpidhcxmz393i"))))))
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let ((target-generic (string-append (assoc-ref %outputs "out")
"/share/texmf-dist/tex/generic/pgf"))
(target-latex (string-append (assoc-ref %outputs "out")
"/share/texmf-dist/tex/latex/pgf")))
(mkdir-p target-generic)
(mkdir-p target-latex)
(copy-recursively (assoc-ref %build-inputs "texlive-latex-pgf-generic") target-generic)
(copy-recursively (assoc-ref %build-inputs "source") target-latex)
#t))))
(home-page "https://www.ctan.org/pkg/tikz")
(synopsis "Create PostScript and PDF graphics in TeX")
(description
"PGF is a macro package for creating graphics. It is platform- and
format-independent and works together with the most important TeX backend
drivers, including pdfTeX and dvips. It comes with a user-friendly syntax layer
called TikZ.
Its usage is similar to pstricks and the standard picture environment. PGF
works with plain (pdf-)TeX, (pdf-)LaTeX, and ConTeXt. Unlike pstricks, it can
produce either PostScript or PDF output.")
(license license:lppl1.3c+)))
(define-public texlive-latex-koma-script
(package
(name "texlive-latex-koma-script")
(version (number->string %texlive-revision))
(source (origin
(method svn-fetch)
(uri (svn-reference
(url (string-append "svn://www.tug.org/texlive/tags/"
%texlive-tag "/Master/texmf-dist/"
"/tex/latex/koma-script"))
(revision %texlive-revision)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1g8qg796hc6s092islnybaxs115ldsqwp2vxkk3gpy6vh7wc9r50"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils)
(ice-9 match))
#:builder
(begin
(use-modules (guix build utils)
(ice-9 match))
(let ((root (string-append (assoc-ref %outputs "out")
"/share/texmf-dist/"))
(pkgs '(("source" . "tex/latex/koma-script"))))
(for-each (match-lambda
((pkg . dir)
(let ((target (string-append root dir)))
(mkdir-p target)
(copy-recursively (assoc-ref %build-inputs pkg)
target))))
pkgs)
#t))))
(home-page "https://www.ctan.org/pkg/koma-script")
(synopsis "Bundle of versatile classes and packages")
(description
"The KOMA-Script bundle provides replacements for the article, report, and
book classes with emphasis on typography and versatility. There is also a
letter class.
The bundle also offers:
@itemize
@item a package for calculating type areas in the way laid down by the
typographer Jan Tschichold,
@item packages for easily changing and defining page styles,
@item a package scrdate for getting not only the current date but also the name
of the day, and
@item a package scrtime for getting the current time.
@end itemize
All these packages may be used not only with KOMA-Script classes but also with
the standard classes.
Since every package has its own version number, the version number quoted only
refers to the version of scrbook, scrreprt, scrartcl, scrlttr2 and
typearea (which are the main parts of the bundle).")
(license license:lppl1.3+)))

View File

@ -34,7 +34,7 @@
(define-public tmux (define-public tmux
(package (package
(name "tmux") (name "tmux")
(version "2.7") (version "2.8")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -42,7 +42,7 @@
version "/tmux-" version ".tar.gz")) version "/tmux-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0lnlhnafvi5700afr69g6gr62pblnd440jj0hxdbrxhk0c87vvcx")))) "1fm22wva2znkcs5jczrnlxrpzsk2jlwdwy4dhzzyrbsgccsz6svz"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("libevent" ,libevent) `(("libevent" ,libevent)

View File

@ -427,7 +427,7 @@ everything from small to very large projects with speed and efficiency.")
(define-public libgit2 (define-public libgit2
(package (package
(name "libgit2") (name "libgit2")
(version "0.26.6") (version "0.26.7")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/libgit2/libgit2/" (uri (string-append "https://github.com/libgit2/libgit2/"
@ -435,7 +435,7 @@ everything from small to very large projects with speed and efficiency.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0qjn1v5q282v8jih8rqjdqxr5v4n4manr0c8i3nnrf6sxd3xssbn")) "1vy4dnbvhcq3pw8n8zz6clnsv2xnkrichl8k96w3lb6yyk0lln35"))
(patches (search-patches "libgit2-mtime-0.patch")) (patches (search-patches "libgit2-mtime-0.patch"))
;; Remove bundled software. ;; Remove bundled software.

View File

@ -1268,7 +1268,7 @@ access to mpv's powerful playback capabilities.")
(define-public youtube-dl (define-public youtube-dl
(package (package
(name "youtube-dl") (name "youtube-dl")
(version "2018.09.18") (version "2018.10.05")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://yt-dl.org/downloads/" (uri (string-append "https://yt-dl.org/downloads/"
@ -1276,7 +1276,7 @@ access to mpv's powerful playback capabilities.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0mlsdmddmyy3xaqy366k48xds14g17l81al3kglndjkbrrji63sb")))) "1iq02kwxdgh07bf0w0fvbsjbdshs4kja35gy8m70ji9cj10l1mbw"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
;; The problem here is that the directory for the man page and completion ;; The problem here is that the directory for the man page and completion

View File

@ -163,7 +163,7 @@ interpretation of the specifications for these languages.")
(define-public vulkan-headers (define-public vulkan-headers
(package (package
(name "vulkan-headers") (name "vulkan-headers")
(version "1.1.82.0") (version "1.1.85.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -172,7 +172,7 @@ interpretation of the specifications for these languages.")
"archive/sdk-" version ".tar.gz")) "archive/sdk-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1rbra47f1dkw5bjzvm0k9s2f89c2x80j904ply4bxks7sl3xlwyz")))) "166hqqb97kjg6h9vp8yxb1cq02i1kqaxvl693482gf8v21fl7ink"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f)) ; No tests. `(#:tests? #f)) ; No tests.
@ -195,7 +195,7 @@ interpretation of the specifications for these languages.")
"archive/sdk-" version ".tar.gz")) "archive/sdk-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"032vfysb8mi19c2lx08vc6k9mbzxmiy17wp7a22vpgwwv69kxkc6")))) "04d53ynlc0ww8r67hv4sxwg5sirjhpr1laaa9hc6j4niliw0166n"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f ;FIXME: 23/39 tests fail. Try "tests/run_all_tests.sh". `(#:tests? #f ;FIXME: 23/39 tests fail. Try "tests/run_all_tests.sh".
@ -251,7 +251,7 @@ and the ICD.")
"archive/sdk-" version ".tar.gz")) "archive/sdk-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"175qhfg9lxxfm5zks6jxaybcxamwd9q5kvjq8ikf2dbmskgybr92")))) "0r26px9rh09giddajlmafv21rx1la1y3bbnjgnpai8aw98wvq9mm"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(inputs (inputs
`(("glslang" ,glslang) `(("glslang" ,glslang)

View File

@ -17,6 +17,7 @@
;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr> ;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -233,6 +234,46 @@ from scratch. i3 is primarily targeted at advanced users and
developers.") developers.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public i3blocks
(let ((commit "37f23805ff886639163fbef8aedba71c8071eff8")
(revision "1"))
(package
(name "i3blocks")
(version (string-append "1.4-" revision "."
(string-take commit 7)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/vivien/i3blocks.git")
(commit commit)))
(sha256
(base32
"15rnrcajzyrmhlz1a21qqsjlj3dkib70806dlb386fliylc2kisb"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output))
#:phases (modify-phases %standard-phases
(add-after 'unpack 'autogen
(lambda _ (invoke "sh" "autogen.sh")))
(add-after 'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(man1 (string-append out "/share/man/man1")))
(install-file "docs/i3blocks.1" man1)
#t))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)))
(home-page "https://github.com/vivien/i3blocks")
(synopsis "Minimalist scheduler for status bar scripts")
(description "i3blocks executes your command lines and generates a
status line from their output. The generated line is meant to be displayed by
the i3 window manager through its i3bar component, as an alternative to
i3status.")
(license license:gpl3+))))
(define-public perl-anyevent-i3 (define-public perl-anyevent-i3
(package (package
(name "perl-anyevent-i3") (name "perl-anyevent-i3")

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com> ;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
@ -996,7 +996,7 @@ as expected.")))
(elogind-service) (elogind-service)
(dbus-service) (dbus-service)
(ntp-service) (service ntp-service-type)
x11-socket-directory-service x11-socket-directory-service

View File

@ -53,6 +53,7 @@
static-networking-service-type) static-networking-service-type)
#:export (%facebook-host-aliases #:export (%facebook-host-aliases
dhcp-client-service dhcp-client-service
dhcp-client-service-type
dhcpd-service-type dhcpd-service-type
dhcpd-configuration dhcpd-configuration
@ -202,9 +203,10 @@ fe80::1%lo0 apps.facebook.com\n")
"-pf" #$pid-file ifaces)))) "-pf" #$pid-file ifaces))))
(and (zero? (cdr (waitpid pid))) (and (zero? (cdr (waitpid pid)))
(read-pid-file #$pid-file))))) (read-pid-file #$pid-file)))))
(stop #~(make-kill-destructor)))))) (stop #~(make-kill-destructor))))
isc-dhcp))
(define* (dhcp-client-service #:key (dhcp isc-dhcp)) (define* (dhcp-client-service #:key (dhcp isc-dhcp)) ;deprecated
"Return a service that runs @var{dhcp}, a Dynamic Host Configuration "Return a service that runs @var{dhcp}, a Dynamic Host Configuration
Protocol (DHCP) client, on all the non-loopback network interfaces." Protocol (DHCP) client, on all the non-loopback network interfaces."
(service dhcp-client-service-type dhcp)) (service dhcp-client-service-type dhcp))
@ -295,7 +297,8 @@ Protocol (DHCP) client, on all the non-loopback network interfaces."
ntp-configuration? ntp-configuration?
(ntp ntp-configuration-ntp (ntp ntp-configuration-ntp
(default ntp)) (default ntp))
(servers ntp-configuration-servers) (servers ntp-configuration-servers
(default %ntp-servers))
(allow-large-adjustment? ntp-allow-large-adjustment? (allow-large-adjustment? ntp-allow-large-adjustment?
(default #f))) (default #f)))
@ -368,9 +371,10 @@ restrict -6 ::1\n"))
(description (description
"Run the @command{ntpd}, the Network Time Protocol (NTP) "Run the @command{ntpd}, the Network Time Protocol (NTP)
daemon of the @uref{http://www.ntp.org, Network Time Foundation}. The daemon daemon of the @uref{http://www.ntp.org, Network Time Foundation}. The daemon
will keep the system clock synchronized with that of the given servers."))) will keep the system clock synchronized with that of the given servers.")
(default-value (ntp-configuration))))
(define* (ntp-service #:key (ntp ntp) (define* (ntp-service #:key (ntp ntp) ;deprecated
(servers %ntp-servers) (servers %ntp-servers)
allow-large-adjustment?) allow-large-adjustment?)
"Return a service that runs the daemon from @var{ntp}, the "Return a service that runs the daemon from @var{ntp}, the
@ -1062,10 +1066,10 @@ networking."))))
#~("-u") #~("-u")
#~()) #~())
#$@(if interface #$@(if interface
#~(string-append "-i" #$interface) #~((string-append "-i" #$interface))
#~()) #~())
#$@(if config-file #$@(if config-file
#~(string-append "-c" #$config-file) #~((string-append "-c" #$config-file))
#~()) #~())
#$@extra-options) #$@extra-options)
#:pid-file #$pid-file)) #:pid-file #$pid-file))

View File

@ -44,7 +44,7 @@
;; Add services to the baseline: a DHCP client and ;; Add services to the baseline: a DHCP client and
;; an SSH server. ;; an SSH server.
(services (cons* (dhcp-client-service) (services (cons* (service dhcp-client-service-type)
(service openssh-service-type (service openssh-service-type
(openssh-configuration (openssh-configuration
(port-number 2222))) (port-number 2222)))

View File

@ -45,7 +45,7 @@
;; Globally-installed packages. ;; Globally-installed packages.
(packages (cons* screen openssh %base-packages)) (packages (cons* screen openssh %base-packages))
(services (cons* (dhcp-client-service) (services (cons* (service dhcp-client-service-type)
;; mingetty does not work on serial lines. ;; mingetty does not work on serial lines.
;; Use agetty with board-specific serial parameters. ;; Use agetty with board-specific serial parameters.
(agetty-service (agetty-service

View File

@ -181,7 +181,7 @@ fi
alias ls='ls -p --color=auto' alias ls='ls -p --color=auto'
alias ll='ls -l' alias ll='ls -l'
alias grep='grep --color=auto'\n")) alias grep='grep --color=auto'\n"))
(zlogin (plain-file "zlogin" "\ (zprofile (plain-file "zprofile" "\
# Honor system-wide environment variables # Honor system-wide environment variables
source /etc/profile\n")) source /etc/profile\n"))
(guile-wm (computed-file "guile-wm" copy-guile-wm)) (guile-wm (computed-file "guile-wm" copy-guile-wm))
@ -197,7 +197,10 @@ set debug-file-directory ~/.guix-profile/lib/debug
set auto-load safe-path /gnu/store/*/lib\n"))) set auto-load safe-path /gnu/store/*/lib\n")))
`((".bash_profile" ,profile) `((".bash_profile" ,profile)
(".bashrc" ,bashrc) (".bashrc" ,bashrc)
(".zlogin" ,zlogin) ;; Zsh sources ~/.zprofile before ~/.zshrc, and it sources ~/.zlogin
;; after ~/.zshrc. To avoid interfering with any customizations a user
;; may have made in their ~/.zshrc, put this in .zprofile, not .zlogin.
(".zprofile" ,zprofile)
(".nanorc" ,(plain-file "nanorc" "\ (".nanorc" ,(plain-file "nanorc" "\
# Include all the syntax highlighting modules. # Include all the syntax highlighting modules.
include /run/current-system/profile/share/nano/*.nanorc\n")) include /run/current-system/profile/share/nano/*.nanorc\n"))

View File

@ -673,7 +673,7 @@ non-ASCII names from /tmp.")
(name-service-switch %mdns-host-lookup-nss) (name-service-switch %mdns-host-lookup-nss)
(services (cons* (avahi-service #:debug? #t) (services (cons* (avahi-service #:debug? #t)
(dbus-service) (dbus-service)
(dhcp-client-service) ;needed for multicast (service dhcp-client-service-type) ;needed for multicast
;; Enable heavyweight debugging output. ;; Enable heavyweight debugging output.
(modify-services (operating-system-user-services (modify-services (operating-system-user-services

View File

@ -35,7 +35,7 @@
(define %memcached-os (define %memcached-os
(simple-operating-system (simple-operating-system
(dhcp-client-service) (service dhcp-client-service-type)
(service memcached-service-type))) (service memcached-service-type)))
(define* (run-memcached-test #:optional (port 11211)) (define* (run-memcached-test #:optional (port 11211))
@ -130,7 +130,7 @@
(operating-system (operating-system
(inherit (inherit
(simple-operating-system (simple-operating-system
(dhcp-client-service) (service dhcp-client-service-type)
(service mongodb-service-type))) (service mongodb-service-type)))
(packages (cons* mongodb (packages (cons* mongodb
%base-packages)))) %base-packages))))

View File

@ -34,7 +34,7 @@
(define %dicod-os (define %dicod-os
(simple-operating-system (simple-operating-system
(dhcp-client-service) (service dhcp-client-service-type)
(service dicod-service-type (service dicod-service-type
(dicod-configuration (dicod-configuration
(interfaces '("0.0.0.0")) (interfaces '("0.0.0.0"))

View File

@ -36,7 +36,7 @@
(define %opensmtpd-os (define %opensmtpd-os
(simple-operating-system (simple-operating-system
(dhcp-client-service) (service dhcp-client-service-type)
(service opensmtpd-service-type (service opensmtpd-service-type
(opensmtpd-configuration (opensmtpd-configuration
(config-file (config-file
@ -155,7 +155,7 @@ accept from any for local deliver to mbox
(define %exim-os (define %exim-os
(simple-operating-system (simple-operating-system
(dhcp-client-service) (service dhcp-client-service-type)
(service mail-aliases-service-type '()) (service mail-aliases-service-type '())
(service exim-service-type (service exim-service-type
(exim-configuration (exim-configuration
@ -283,7 +283,7 @@ acl_check_data:
(define %dovecot-os (define %dovecot-os
(simple-operating-system (simple-operating-system
(dhcp-client-service) (service dhcp-client-service-type)
(dovecot-service #:config (dovecot-service #:config
(dovecot-configuration (dovecot-configuration
(disable-plaintext-auth? #f) (disable-plaintext-auth? #f)

View File

@ -35,7 +35,7 @@
"Run a test of an OS running XMPP-SERVICE, which writes its PID to PID-FILE." "Run a test of an OS running XMPP-SERVICE, which writes its PID to PID-FILE."
(define os (define os
(marionette-operating-system (marionette-operating-system
(simple-operating-system (dhcp-client-service) (simple-operating-system (service dhcp-client-service-type)
xmpp-service) xmpp-service)
#:imported-modules '((gnu services herd)))) #:imported-modules '((gnu services herd))))
@ -167,7 +167,7 @@
(define (run-bitlbee-test) (define (run-bitlbee-test)
(define os (define os
(marionette-operating-system (marionette-operating-system
(simple-operating-system (dhcp-client-service) (simple-operating-system (service dhcp-client-service-type)
(service bitlbee-service-type (service bitlbee-service-type
(bitlbee-configuration (bitlbee-configuration
(interface "0.0.0.0")))) (interface "0.0.0.0"))))

View File

@ -85,7 +85,7 @@
(define %prometheus-node-exporter-os (define %prometheus-node-exporter-os
(simple-operating-system (simple-operating-system
(dhcp-client-service) (service dhcp-client-service-type)
(service prometheus-node-exporter-service-type (service prometheus-node-exporter-service-type
(prometheus-node-exporter-configuration)))) (prometheus-node-exporter-configuration))))

View File

@ -39,7 +39,7 @@
(define %inetd-os (define %inetd-os
;; Operating system with 2 inetd services. ;; Operating system with 2 inetd services.
(simple-operating-system (simple-operating-system
(dhcp-client-service) (service dhcp-client-service-type)
(service inetd-service-type (service inetd-service-type
(inetd-configuration (inetd-configuration
(entries (list (entries (list
@ -463,7 +463,7 @@ COMMIT
(define os (define os
(marionette-operating-system (marionette-operating-system
(simple-operating-system (simple-operating-system
(dhcp-client-service) (service dhcp-client-service-type)
(service inetd-service-type (service inetd-service-type
(inetd-configuration (inetd-configuration
(entries (list (entries (list

View File

@ -55,7 +55,7 @@
(services (cons* (services (cons*
(service rpcbind-service-type (service rpcbind-service-type
(rpcbind-configuration)) (rpcbind-configuration))
(dhcp-client-service) (service dhcp-client-service-type)
%base-services)))) %base-services))))
(define (run-nfs-test name socket) (define (run-nfs-test name socket)

View File

@ -111,7 +111,7 @@ PORT."
;; Return operating system under test. ;; Return operating system under test.
(let ((base-os (let ((base-os
(simple-operating-system (simple-operating-system
(dhcp-client-service) (service dhcp-client-service-type)
(service rsync-service-type)))) (service rsync-service-type))))
(operating-system (operating-system
(inherit base-os) (inherit base-os)

View File

@ -39,7 +39,7 @@ empty-password logins.
When SFTP? is true, run an SFTP server test." When SFTP? is true, run an SFTP server test."
(define os (define os
(marionette-operating-system (marionette-operating-system
(simple-operating-system (dhcp-client-service) ssh-service) (simple-operating-system (service dhcp-client-service-type) ssh-service)
#:imported-modules '((gnu services herd) #:imported-modules '((gnu services herd)
(guix combinators)))) (guix combinators))))
(define vm (define vm

View File

@ -92,7 +92,7 @@
;; Operating system under test. ;; Operating system under test.
(let ((base-os (let ((base-os
(simple-operating-system (simple-operating-system
(dhcp-client-service) (service dhcp-client-service-type)
(service cgit-service-type (service cgit-service-type
(cgit-configuration (cgit-configuration
(nginx %cgit-configuration-nginx))) (nginx %cgit-configuration-nginx)))
@ -237,7 +237,7 @@ HTTP-PORT."
(define %git-http-os (define %git-http-os
(simple-operating-system (simple-operating-system
(dhcp-client-service) (service dhcp-client-service-type)
(service fcgiwrap-service-type) (service fcgiwrap-service-type)
(service nginx-service-type %git-nginx-configuration) (service nginx-service-type %git-nginx-configuration)
%test-repository-service)) %test-repository-service))
@ -328,7 +328,7 @@ HTTP-PORT."
(define %gitolite-os (define %gitolite-os
(simple-operating-system (simple-operating-system
(dhcp-client-service) (service dhcp-client-service-type)
(service openssh-service-type) (service openssh-service-type)
(service gitolite-service-type (service gitolite-service-type
(gitolite-configuration (gitolite-configuration

View File

@ -32,7 +32,7 @@
(define %libvirt-os (define %libvirt-os
(simple-operating-system (simple-operating-system
(dhcp-client-service) (service dhcp-client-service-type)
(dbus-service) (dbus-service)
(polkit-service) (polkit-service)
(service libvirt-service-type))) (service libvirt-service-type)))

View File

@ -125,7 +125,7 @@ HTTP-PORT."
(define %httpd-os (define %httpd-os
(simple-operating-system (simple-operating-system
(dhcp-client-service) (service dhcp-client-service-type)
(service httpd-service-type (service httpd-service-type
(httpd-configuration (httpd-configuration
(config (config
@ -154,7 +154,7 @@ HTTP-PORT."
(define %nginx-os (define %nginx-os
;; Operating system under test. ;; Operating system under test.
(simple-operating-system (simple-operating-system
(dhcp-client-service) (service dhcp-client-service-type)
(service nginx-service-type (service nginx-service-type
(nginx-configuration (nginx-configuration
(log-directory "/var/log/nginx") (log-directory "/var/log/nginx")
@ -188,7 +188,7 @@ sub vcl_synth {
(define %varnish-os (define %varnish-os
(simple-operating-system (simple-operating-system
(dhcp-client-service) (service dhcp-client-service-type)
;; Pretend to be a web server that serves %index.html-contents. ;; Pretend to be a web server that serves %index.html-contents.
(service varnish-service-type (service varnish-service-type
(varnish-configuration (varnish-configuration
@ -237,7 +237,7 @@ echo(\"Computed by php:\".((string)(2+3)));
(define %php-fpm-os (define %php-fpm-os
;; Operating system under test. ;; Operating system under test.
(simple-operating-system (simple-operating-system
(dhcp-client-service) (service dhcp-client-service-type)
(service php-fpm-service-type) (service php-fpm-service-type)
(service nginx-service-type (service nginx-service-type
(nginx-configuration (nginx-configuration
@ -392,7 +392,7 @@ HTTP-PORT, along with php-fpm."
(define %hpcguix-web-os (define %hpcguix-web-os
(simple-operating-system (simple-operating-system
(dhcp-client-service) (service dhcp-client-service-type)
(service hpcguix-web-service-type (service hpcguix-web-service-type
(hpcguix-web-configuration (hpcguix-web-configuration
(specs %hpcguix-web-specs))))) (specs %hpcguix-web-specs)))))
@ -407,7 +407,7 @@ HTTP-PORT, along with php-fpm."
(define %tailon-os (define %tailon-os
;; Operating system under test. ;; Operating system under test.
(simple-operating-system (simple-operating-system
(dhcp-client-service) (service dhcp-client-service-type)
(service tailon-service-type (service tailon-service-type
(tailon-configuration (tailon-configuration
(config-file (config-file

View File

@ -50,7 +50,7 @@
"Return a URI string for the Python package hosted on the Python Package "Return a URI string for the Python package hosted on the Python Package
Index (PyPI) corresponding to NAME and VERSION. EXTENSION is the file name Index (PyPI) corresponding to NAME and VERSION. EXTENSION is the file name
extension, such as '.tar.gz'." extension, such as '.tar.gz'."
(string-append "https://pypi.io/packages/source/" (string-append "https://pypi.org/packages/source/"
(string-take name 1) "/" name "/" (string-take name 1) "/" name "/"
name "-" version extension)) name "-" version extension))

View File

@ -438,6 +438,14 @@ This is the declarative counterpart of 'gexp->file'."
(base file-append-base) ;<package> | <derivation> | ... (base file-append-base) ;<package> | <derivation> | ...
(suffix file-append-suffix)) ;list of strings (suffix file-append-suffix)) ;list of strings
(define (write-file-append file port)
(match file
(($ <file-append> base suffix)
(format port "#<file-append ~s ~s>" base
(string-join suffix)))))
(set-record-type-printer! <file-append> write-file-append)
(define (file-append base . suffix) (define (file-append base . suffix)
"Return a <file-append> object that expands to the concatenation of BASE and "Return a <file-append> object that expands to the concatenation of BASE and
SUFFIX." SUFFIX."

View File

@ -330,7 +330,7 @@ VERSION, SOURCE-URL, HOME-PAGE, SYNOPSIS, DESCRIPTION, and LICENSE."
(define (pypi-url? url) (define (pypi-url? url)
(or (string-prefix? "https://pypi.org/" url) (or (string-prefix? "https://pypi.org/" url)
(string-prefix? "https://pypi.python.org/" url) (string-prefix? "https://pypi.python.org/" url)
(string-prefix? "https://pypi.io/packages" url))) (string-prefix? "https://pypi.org/packages" url)))
(let ((source-url (and=> (package-source package) origin-uri)) (let ((source-url (and=> (package-source package) origin-uri))
(fetch-method (and=> (package-source package) origin-method))) (fetch-method (and=> (package-source package) origin-method)))

View File

@ -198,8 +198,11 @@ added to the pack."
(with-directory-excursion %root (with-directory-excursion %root
(exit (exit
(zero? (apply system* "tar" (zero? (apply system* "tar"
"-I" #+@(if (compressor-command compressor)
(string-join '#+(compressor-command compressor)) #~("-I"
(string-join
'#+(compressor-command compressor)))
#~())
"--format=gnu" "--format=gnu"
;; Avoid non-determinism in the archive. Use ;; Avoid non-determinism in the archive. Use

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -17,6 +17,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix tests) (define-module (guix tests)
#:use-module ((guix config) #:select (%storedir %localstatedir))
#:use-module (guix store) #:use-module (guix store)
#:use-module (guix derivations) #:use-module (guix derivations)
#:use-module (guix packages) #:use-module (guix packages)
@ -30,6 +31,7 @@
#:use-module (ice-9 binary-ports) #:use-module (ice-9 binary-ports)
#:use-module (web uri) #:use-module (web uri)
#:export (open-connection-for-tests #:export (open-connection-for-tests
with-external-store
random-text random-text
random-bytevector random-bytevector
file=? file=?
@ -74,6 +76,39 @@
store))) store)))
(define (call-with-external-store proc)
"Call PROC with an open connection to the external store or #f it there is
no external store to talk to."
(parameterize ((%daemon-socket-uri
(string-append %localstatedir
"/guix/daemon-socket/socket"))
(%store-prefix %storedir))
(define store
(catch #t
(lambda ()
(open-connection))
(const #f)))
(dynamic-wind
(const #t)
(lambda ()
;; Since we're using a different store we must clear the
;; package-derivation cache.
(hash-clear! (@@ (guix packages) %derivation-cache))
(proc store))
(lambda ()
(when store
(close-connection store))))))
(define-syntax-rule (with-external-store store exp ...)
"Evaluate EXP with STORE bound to the external store rather than the
temporary test store, or #f if there is no external store to talk to.
This is meant to be used for tests that need to build packages that would be
too expensive to build entirely in the test store."
(call-with-external-store (lambda (store) exp ...)))
(define (random-seed) (define (random-seed)
(or (and=> (getenv "GUIX_TESTS_RANDOM_SEED") (or (and=> (getenv "GUIX_TESTS_RANDOM_SEED")
number->string) number->string)

View File

@ -1,5 +1,6 @@
# GNU Guix --- Functional package management for GNU # GNU Guix --- Functional package management for GNU
# Copyright © 2018 Chris Marusich <cmmarusich@gmail.com> # Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
# Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
# #
# This file is part of GNU Guix. # This file is part of GNU Guix.
# #
@ -28,26 +29,33 @@ fi
guix pack --version guix pack --version
# FIXME: Starting from commit 66e9944e078cbb9e0d618377dd6df6e639640efa, # Starting from commit 66e9944e078cbb9e0d618377dd6df6e639640efa, 'guix pack'
# '--bootstrap' is mostly ineffective since 'guix pack' produces derivations # produces derivations that refer to guile-sqlite3 and libgcrypt. To make
# that refer to guile-sqlite3 and libgcrypt. For now we just skip the test. # that relatively inexpensive, run the test in the user's global store if
exit 77 # possible, on the grounds that binaries may already be there or can be built
# or downloaded inexpensively.
# Use --no-substitutes because we need to verify we can do this ourselves. NIX_STORE_DIR="`guile -c '(use-modules (guix config))(display %storedir)'`"
GUIX_BUILD_OPTIONS="--no-substitutes" localstatedir="`guile -c '(use-modules (guix config))(display %localstatedir)'`"
export GUIX_BUILD_OPTIONS GUIX_DAEMON_SOCKET="$localstatedir/guix/daemon-socket/socket"
export NIX_STORE_DIR GUIX_DAEMON_SOCKET
if ! guile -c '(use-modules (guix)) (exit (false-if-exception (open-connection)))'
then
exit 77
fi
# Build a tarball with no compression. # Build a tarball with no compression.
guix pack --compression=none --bootstrap guile-bootstrap guix pack --compression=none guile-bootstrap
# Build a tarball (with compression). Check that '-e' works as well. # Build a tarball (with compression). Check that '-e' works as well.
out1="`guix pack --bootstrap guile-bootstrap`" out1="`guix pack guile-bootstrap`"
out2="`guix pack --bootstrap -e '(@ (gnu packages bootstrap) %bootstrap-guile)'`" out2="`guix pack -e '(@ (gnu packages bootstrap) %bootstrap-guile)'`"
test -n "$out1" test -n "$out1"
test "$out1" = "$out2" test "$out1" = "$out2"
# Build a tarball with a symlink. # Build a tarball with a symlink.
the_pack="`guix pack --bootstrap -S /opt/gnu/bin=bin guile-bootstrap`" the_pack="`guix pack -S /opt/gnu/bin=bin guile-bootstrap`"
# Try to extract it. Note: we cannot test whether /opt/gnu/bin/guile itself # Try to extract it. Note: we cannot test whether /opt/gnu/bin/guile itself
# exists because /opt/gnu/bin may be an absolute symlink to a store item that # exists because /opt/gnu/bin may be an absolute symlink to a store item that

View File

@ -153,8 +153,8 @@ cat > "$tmpfile" <<EOF
(operating-system (operating-system
$OS_BASE $OS_BASE
(services (cons* (dhcp-client-service) (services (cons* (service dhcp-client-service-type)
(dhcp-client-service) ;twice! (service dhcp-client-service-type) ;twice!
%base-services))) %base-services)))
EOF EOF

View File

@ -29,15 +29,12 @@
#:use-module (gnu packages bootstrap) #:use-module (gnu packages bootstrap)
#:use-module (srfi srfi-64)) #:use-module (srfi srfi-64))
(define %store
(open-connection-for-tests))
;; Globally disable grafts because they can trigger early builds. ;; Globally disable grafts because they can trigger early builds.
(%graft? #f) (%graft? #f)
(define-syntax-rule (test-assertm name exp) (define-syntax-rule (test-assertm name store exp)
(test-assert name (test-assert name
(run-with-store %store exp (run-with-store store exp
#:guile-for-build (%guile-for-build)))) #:guile-for-build (%guile-for-build))))
(define %gzip-compressor (define %gzip-compressor
@ -51,37 +48,43 @@
(test-begin "pack") (test-begin "pack")
;; FIXME: The following test would rebuild the world (and likely fail) as a ;; The following test needs guile-sqlite3, libgcrypt, etc. as a consequence of
;; consequence of commit c45477d2a1a651485feede20fe0f3d15aec48b39 (and related ;; commit c45477d2a1a651485feede20fe0f3d15aec48b39 and related changes. Thus,
;; changes) that made guile-sqlite3 a dependency of the derivation. ;; run it on the user's store, if it's available, on the grounds that these
;; See <https://bugs.gnu.org/32184>. ;; dependencies may be already there, or we can get substitutes or build them
(test-skip 1) ;; quite inexpensively; see <https://bugs.gnu.org/32184>.
(test-assertm "self-contained-tarball" (with-external-store store
(mlet* %store-monad (unless store (tests-skip 1))
((profile (profile-derivation (packages->manifest (test-assertm "self-contained-tarball" store
(list %bootstrap-guile)) (mlet* %store-monad
#:hooks '() ((profile (profile-derivation (packages->manifest
#:locales? #f)) (list %bootstrap-guile))
(tarball (self-contained-tarball "pack" profile #:hooks '()
#:symlinks '(("/bin/Guile" #:locales? #f))
-> "bin/guile")) (tarball (self-contained-tarball "pack" profile
#:compressor %gzip-compressor #:symlinks '(("/bin/Guile"
#:archiver %tar-bootstrap)) -> "bin/guile"))
(check (gexp->derivation #:compressor %gzip-compressor
"check-tarball" #:archiver %tar-bootstrap))
#~(let ((bin (string-append "." #$profile "/bin"))) (check (gexp->derivation
(setenv "PATH" "check-tarball"
(string-append #$%tar-bootstrap "/bin")) #~(let ((bin (string-append "." #$profile "/bin")))
(system* "tar" "xvf" #$tarball) (setenv "PATH"
(mkdir #$output) (string-append #$%tar-bootstrap "/bin"))
(exit (system* "tar" "xvf" #$tarball)
(and (file-exists? (string-append bin "/guile")) (mkdir #$output)
(string=? (string-append #$%bootstrap-guile "/bin") (exit
(readlink bin)) (and (file-exists? (string-append bin "/guile"))
(string=? (string-append ".." #$profile (string=? (string-append #$%bootstrap-guile "/bin")
"/bin/guile") (readlink bin))
(readlink "bin/Guile")))))))) (string=? (string-append ".." #$profile
(built-derivations (list check)))) "/bin/guile")
(readlink "bin/Guile"))))))))
(built-derivations (list check)))))
(test-end) (test-end)
;; Local Variables:
;; eval: (put 'test-assertm 'scheme-indent-function 2)
;; End:

View File

@ -81,7 +81,7 @@ baz > 13.37")
(dummy-package "foo" (dummy-package "foo"
(source (dummy-origin (source (dummy-origin
(uri (uri
"https://pypi.io/packages/source/p/psutil/psutil-4.3.0.tar.gz")))))) "https://pypi.org/packages/source/p/psutil/psutil-4.3.0.tar.gz"))))))
(test-equal "guix-package->pypi-name, new URL style" (test-equal "guix-package->pypi-name, new URL style"
"certbot" "certbot"